µ¥Æ¬»úµç»ú²âÊÔϵͳµÄÑÐÖÆ-ÉÏλ»ú¼à¿ØÏµÍ³Éè¼Æ(4)

2019-02-15 16:06

Î人¹¤³Ì´óѧ±ÏÒµÉè¼Æ£¨ÂÛÎÄ£©ËµÃ÷Êé

Áбí¿òÁгöÁËÓû§¿ÉÑ¡ÔñµÄ¶Ë¿ÚºÅ£¬¡°´ò¿ª´®¿Ú¡±¿ª¹Ø°´Å¥ÓÃÓÚ´ò¿ªºÍ¹Ø±Õ´®¿ÚͨÐÅÒ²¼´Æô¶¯ºÍ¹Ø±ÕϵͳµÄ°´Å¥£¬Ôڸð´Å¥µÄ»Øµ÷º¯ÊýÀïÓÃgetº¯Êý»ñÈ¡¡°ÉÏλ»ú²ÉÑùÖÜÆÚ¡±Îı¾¿ò¡°string¡±ÊôÐÔÖµÒÔÉ趨´®¿ÚʼþÖ®TimerʼþµÄ¶¨Ê±Ê±¼ä¼ä¸ô£»ÓÃgetº¯Êý»ñÈ¡¡°¶Ë¿ÚÑ¡Ôñ¡±Áбí¿ò¡°value¡±ÊôÐÔÖµÒÔÉ趨´®¿Ú¶ÔÏóµÄ¶Ë¿ÚºÅ£»ÓÃgetº¯Êý»ñÈ¡¡°´ò¿ª´®¿Ú¡±¿ª¹Ø°´Å¥¡°value¡±ÊôÐÔÖµ£¬ÆäֵΪ0ʱÓÃfclseº¯Êý¹Ø±Õ´®¿Ú¶ÔÏ󣬲»Îª0ʱÓÃfopenº¯Êý´ò¿ª´®¿Ú¶ÔÏó¡£

3£®µç»úÔËÐÐ״̬¿ØÖÆ

ÓÃÓÚ¿ØÖƵç»úµÄÕýת¡¢·´×ªºÍÍ£Ö¹¡£ÕâÊÇÒ»×éÏ໥ÅųâµÄµ¥Ñ¡°´Å¥£¬µ±µã»÷ÆäÖÐÒ»¸öʱÁíÍâÁ½¸ö°´Å¥ÎÞЧ¡£ÓÃÁ½¸ö×Ö½ÚÊý¾Ý±íʾµç»úÔËÐÐ״̬£¬£¨0 255£©±íʾÕýת£¬£¨255 255£©±íʾÕýת£¬£¨255 0£©±íʾֹͣת£¬ÔÚ¡°Õýת°´Å¥¡±ÏìÓ¦º¯ÊýÀォ£¨0 255£©´æÈëcommandµÄµÚ6¡¢7λ¼´Íê³ÉÓû§·¢²¼ÕýתÃüÁîµÄ´æ´¢£»ÒÔ´ËÀàÍÆ£¬¼´¿ÉÍê³ÉÓû§·¢²¼µÄ¡°·´×ª¡±»ò¡°Í£Ö¹¡±ÃüÁîµÄ´æ´¢¡£

4£®ÊµÊ±×ªËÙÏÔʾ

ÎÞÂÛÊÇתËٵı仯ÇúÏßÔÚ×ø±êÖáÉϵÄÏÔʾ»¹ÊÇʵʱתËÙÖµÔÚ¾²Ì¬Îı¾¿òÀïµÄÏÔʾ¶¼ÊÇÔÚEveBytesAvailable´®¿ÚʼþµÄÖжϺ¯ÊýÀïʵÏÖ¡£Ã¿µ±ÏÂλ»ú·¢ËÍÀ´Îå¸ö×Ö½ÚÊý¾Ýʱ¾Í»á´¥·¢EveBytesAvailableʼþ£¬ÏµÍ³½«Ö´ÐÐEveBytesAvailableCallbackº¯Êý£¬ÓÃPlotº¯Êý¶Ô´®¿Ú½ÓÊÕµ½µÄʵʱתËÙÖµ¡¢Óû§¸ø¶¨µÄתËÙÖµÒÔ¼°ÏµÍ³µÄʵ¼Êʱ¼äÔÚ×ø±êÖá»æÍ¼£¬²¢ÓÃsetº¯Êý½«ÊµÊ±×ªËÙÖµºÍPIDµ÷½ÚÊä³öµÄתËÙÖµÏÔʾÔÚ¡°Êµ¼ÊתËÙ¡±¾²Ì¬Îı¾¿òºÍ¡°PIDµ÷½ÚÆ÷Êä³öתËÙ¡±¾²Ì¬Îı¾¿ò¡£

3.2²âËÙ³ÌÐòÉè¼Æ

#include

#define XTAL 11059200 // CUP ¾§ÕñƵÂÊ #define baudrate 9600 // ͨÐŲ¨ÌØÂÊ #define uchar unsigned char #define uint unsigned int

sbit DQ = P3^3; // ¶¨ÒåËÙ¶È´«¸Ð¶Ë¿ÚDQ

13

Î人¹¤³Ì´óѧ±ÏÒµÉè¼Æ£¨ÂÛÎÄ£©ËµÃ÷Êé

sbit BEEP = P3^7; unsigned char presence ;

unsigned char code LEDData1[ ]

={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0xff}£»

unsigned char code LEDData[ ] =

{0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};

unsigned char data temp_data[2] = {0x00,0x00};

unsigned char data display[5] = {0x00,0x00,0x00,0x00,0x00};

unsignedchar code ditab[16] ={0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04, 0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};

void beep();

sbit DIN = P0^7; // СÊýµã bit flash=0; // ÏÔʾ¿ª¹Ø±ê¼Ç bit flag_zf=0; // Õý¸º×ªËÙ±êÖ¾

/**********************************************************/ void Delay(unsigned int num)// ÑÓʱº¯Êý {

while( --num ); }

/**********************************************************/ uchar Init_DS18B20(void) // ³õʼ»¯ds1820 {

DQ = 1; // DQ¸´Î» Delay(8); // ÉÔ×öÑÓʱ DQ = 0; // µ¥Æ¬»ú½«DQÀ­µÍ Delay(90); // ¾«È·ÑÓʱ ´óÓÚ 480us DQ = 1; // À­¸ß×ÜÏß

14

Î人¹¤³Ì´óѧ±ÏÒµÉè¼Æ£¨ÂÛÎÄ£©ËµÃ÷Êé

Delay(8);

presence = DQ; // Èç¹û=0Ôò³õʼ»¯³É¹¦ =1Ôò³õʼ»¯Ê§°Ü Delay(100); DQ = 1;

return(presence); // ·µ»ØÐźţ¬0=presence,1= no presence }

/**********************************************************/ uchar ReadOneChar(void) // ¶ÁÒ»¸ö×Ö½Ú {

unsigned char i = 0; unsigned char dat = 0; for (i = 8; i > 0; i--) {

DQ = 0; // ¸øÂö³åÐźŠdat >>= 1;

DQ = 1; // ¸øÂö³åÐźŠif(DQ) dat |= 0x80; Delay(4); }

return (dat); }

/**********************************************************/ void WriteOneChar(unsigned char dat) // дһ¸ö×Ö½Ú {

unsigned char i = 0; for (i = 8; i > 0; i--)

15

Î人¹¤³Ì´óѧ±ÏÒµÉè¼Æ£¨ÂÛÎÄ£©ËµÃ÷Êé

{ DQ = 0; DQ = dat&0x01; Delay(5); DQ = 1; dat>>=1; } }

/*********************************************************/ void Read_SPEED(void)// ¶ÁȡתËÙ {

Init_DS18B20(); if(presence==1) { beep(); flash=1;

} // DS²»Õý³££¬·äÃùÆ÷±¨¾¯ else { flash=0;

WriteOneChar(0xCC); // Ìø¹ý¶ÁÐòºÅÁкŵIJÙ×÷ WriteOneChar(0x44); // Æô¶¯×ªËÙת»» Init_DS18B20();

WriteOneChar(0xCC); // Ìø¹ý¶ÁÐòºÅÁкŵIJÙ×÷ WriteOneChar(0xBE); // ¶ÁȡתËټĴæÆ÷ temp_data[0] = ReadOneChar(); // תËÙµÍ8λ temp_data[1] = ReadOneChar(); // תËÙ¸ß8λ }

16

Î人¹¤³Ì´óѧ±ÏÒµÉè¼Æ£¨ÂÛÎÄ£©ËµÃ÷Êé

}

/*********************************************************/ void Disp_SPEED()// ÏÔʾתËÙ {

unsigned char n=0; display[4]=temp_data[0]&0x0f;

display[0]=ditab[display[4]]; // ²é±íµÃСÊýλµÄÖµ

display[4]=((temp_data[0]&0xf0)>>4)|((temp_data[1]&0x0f)<<4); display[3]=display[4]/100; display[1]=display[4]0; display[2]=display[1]/10; display[1]=display[1];

if(!display[3]) // ¸ßλΪ0£¬²»ÏÔʾ {

display[3]=0x0a;

if(!display[2]) // ´Î¸ßλΪ0£¬²»ÏÔʾ display[2]=0x0a; }

P0 = 0xc6; // ÏÔʾ C

P2 = 0xfe; // λѡÏßΪP2.7¿Ú£¬LEDΪ¹²Ñô¼«ÏÔʾ£¬

µ±Î»Ñ¡ÏßΪµÍµçƽʱѡͨ

Delay(300);

P0 = 0x9c; // ÏÔʾ ¡ã P2 = 0xfd; // Ñ¡ÖÐP2.6¿Ú Delay(300);

17


µ¥Æ¬»úµç»ú²âÊÔϵͳµÄÑÐÖÆ-ÉÏλ»ú¼à¿ØÏµÍ³Éè¼Æ(4).doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ ÏÂÔØÊ§°Ü»òÕßÎĵµ²»ÍêÕû£¬ÇëÁªÏµ¿Í·þÈËÔ±½â¾ö£¡

ÏÂһƪ£º°²È«¼ì²é±íÓ¦ÓÃÅàѵ¼Æ»®ºÍÄÚÈÝ - ͼÎÄ

Ïà¹ØÔĶÁ
±¾ÀàÅÅÐÐ
¡Á ×¢²á»áÔ±Ãâ·ÑÏÂÔØ£¨ÏÂÔØºó¿ÉÒÔ×ÔÓɸ´ÖƺÍÅŰ棩

ÂíÉÏ×¢²á»áÔ±

×¢£ºÏÂÔØÎĵµÓпÉÄÜ¡°Ö»ÓÐĿ¼»òÕßÄÚÈݲ»È«¡±µÈÇé¿ö£¬ÇëÏÂÔØÖ®Ç°×¢Òâ±æ±ð£¬Èç¹ûÄúÒѸ¶·ÑÇÒÎÞ·¨ÏÂÔØ»òÄÚÈÝÓÐÎÊÌ⣬ÇëÁªÏµÎÒÃÇЭÖúÄã´¦Àí¡£
΢ÐÅ£º QQ£º