
Öб±´óѧ±ÏÒµÂÛÎÄ
ͼ 3-8 DS18B20 ζȲâÁ¿µç·
3.3.1 LCDÏÔʾ²¿·Ö
±¾Éè¼ÆÏÔʾ²¿·Ö²ÉÓÃ×Ö·ûÐÍTC1602Òº¾§ÏÔʾËù²â¾àÀëÖµ¡£TC1602ÏÔʾµÄÈÝÁ¿Îª2ÐÐ16¸ö×Ö¡£Òº¾§ÏÔʾÆÁÓÐ΢¹¦ºÄ¡¢Ìå»ýС¡¢ÏÔʾÄÚÈݷḻ¡¢³¬±¡ÇáÇÉ¡¢Ê¹Ó÷½±ãµÈÖî¶àÓŵ㣬ÓëÊýÂë¹ÜÏà±È£¬ÏԵøüרҵ¡¢ÃÀ¹Û¡£Ê¹ÓÃʱ£¬¿É½«P0ÓëLCDµÄÊý¾ÝÏßÏàÁ¬£¬P2¿ÚÓëLCDµÄ¿ØÖÆÏßÏàÁ¬£¬ÈçͼËùʾ¡£
ͼ 3-9 TC1602Òº¾§ÏÔʾµç·
ÆäÖУ¬TC1602µÚ4½ÅRSΪ¼Ä´æÆ÷Ñ¡Ôñ£¬µÚ5½ÅRWΪ¶ÁдÐźÅÏߣ¬µÚ6½ÅEΪʹÄܶˡ£µÚ7¡«14½Å£ºD0¡«D7Ϊ8λ˫ÏòÊý¾ÝÏß¡£ÕâÀïҪעÒâµÄÊÇ£¬ÎªÁ˲¼Ïß·½±ã£¬µ¥Æ¬»ú¶ËµÄD0¡«D7Êǽӵ½LCD£¯602µÄD1¡«D0£¬ÕýºÃÏà·´£¬Òò´ËÔÚ±àдÈí¼þʱÐèÒª×ö´¦Àí£¬Ê¹¶ÁÈ¡ÕýÈ·¡£
21
Öб±´óѧ±ÏÒµÂÛÎÄ
3.3.2±¨¾¯²¿·Ö
²ÉÓÃÒ»¸ö·äÃùÆ÷£¬ÓÉP1.2Êä³öÒ»¶¨ÆµÂʵÄÐźţ¬ÔÚÁ¬½Óµ½·äÃùÆ÷֮ǰ£¬¾¹ýÒ»¸öÈý¼«¹Ü9012µÄ·Å´ó¡£±¨¾¯²¿·ÖµÄÁ¬Ïߣ¬Èçͼ3-10Ëùʾ¡£
ͼ3-10±¨¾¯µç·
3.4±¾ÕÂС½á
±¾ÕÂÖ÷Òª½éÉÜÁË»ùÓÚµ¥Æ¬»úµÄ³¬Éù²â¾àϵͳµÄ¾ßÌåÓ²¼þÉè¼Æµç·¡£¶ÔÆäÖÐÖ÷ÒªÓ²¼þµ¥Ôª:·¢Éäµç·¡¢½ÓÊյ緡¢¼ì²âµç·ÒÔ¼°ÏÔʾµç·µÄÉè¼Æ¸ø³öÔÀíͼ²¢½øÐÐÁË·ÖÎö¼ÆËã¡£
22
Öб±´óѧ±ÏÒµÂÛÎÄ
µÚ4Õ Èí¼þÉè¼ÆºÍ²âÁ¿½á¹û·ÖÎö
4.1ϵͳÈí¼þÉè¼Æ
ϵͳ³ÌÐò½á¹¹£º
(1)DS18B20ζȴ«¸ÐÆ÷½Ó¿ÚÄ£¿é£¬·ÖΪ³õʼ»¯³ÌÐò¡¢Ð´ÈëÃüÁîÒÔ¼°¶ÁÈ¡×Ó³ÌÐòµÈ²¿·Ö£»
(2)»ùÓÚYB1602µÄÏÔʾģ¿é£¬·ÖΪ³õʼ»¯×Ó³ÌÐò¡¢Ð´Èë×Ó³ÌÐòÒÔ¼°ÏÔʾ×Ó³ÌÐò£» (3)ζȲ¹³¥Óë¾àÀë¼ÆËãÄ£¿é¡¢·ÖΪ³¬Éù²¨·¢ËÍ¿ØÖƳÌÐò¡¢½ÓÊÕ´¦Àí³ÌÐò¡¢Î¶Ȳ¹³¥×Ó³ÌÐòµÈ£»
(4)±¾´ÎÉè¼ÆÊ¹ÓÃCÓïÑÔ±àд³ÌÐò£¬CÓïÑÔÏà±È»ã±àÓÐÐí¶àµÄÓÅÊÆ£»±àÒëÆ÷ʹÓÃKeil
?Version2½øÐгÌÐò±àÒ룬Keil¹¦ÄÜÇ¿´óʹÓ÷½±ã¡£
Ö÷³ÌÐò£¬·ÖΪϵͳ³õʼ»¯¡¢°´¼ü´¦ÀíÒÔ¼°¸÷¸ö×Ó³ÌÐòµÄµ÷¶È¹ÜÀíµÈ²¿·Ö¡£ Èçͼ4-1ËùʾÃèÊöÁ˸÷¸öÄ£¿éµÄ¹ØÏµ£º
ͼ 4-1ϵͳÈí¼þ·½¿òͼ
ϵͳÖ÷³ÌÐò£º
23
Öб±´óѧ±ÏÒµÂÛÎÄ
±¾Éè¼ÆÖ÷³ÌÐòµÄ˼ÏëÈçÏ£º
(1)ζÈΪÁ½Î»ÏÔʾ£¬¾àÀëΪËÄλÏÔʾµ¥Î»Îªmm£»
(2)ζÈÿ¸ô900ms²ÉÑùÒ»´Î£¬DS18B20ÔÚ12λ¾«¶ÈÏÂת»»ÖÜÆÚΪ750ms ,¹Ê900msÂú×ã¸ÃËÙ¶ÈÒªÇó£»³¬Éù²¨Ã¿¸ô60ms·¢ËÍÒ»´Î¡£
(3)°´¼üSΪ²âÁ¿Æô¶¯¼ü£»
(4)ϵͳ²ÉÓÃAT89S52µÄÄÚʱÖÓ£º12MHz£» (5)ûÓÐʹÓÿ´ÃŹ·¹¦ÄÜ£»
(6)³¬Éù²¨·¢ËÍÒ»¶¨Ê±¼äºó²Å¿ªÊ¼Æô¶¯¼ì²â£¬±ÜÃâÖ±´ïÐźÅÔì³ÉÎóÅС£ËùÒÔϵͳ×îС²âÁ¿Ô¼Îª112mm£»
ϵͳÖ÷³ÌÐòÈçÏ£º void main(void) { uchar i,j;
for(i=0;i<255;i++)
for(j=0;j<255;j++); //ÑÓʱ£¬µÈ´ýϵͳÍâΧ¸´Î»Íê³É sys_init(); //³õʼ»¯ display(); //ÏÔʾ sta_flag=0; //±ê×¼¸´Î» waitforstarting: //¼ì²â°´¼ü while(START); for(i=0;i<20;i++) delay1ms(); if(START)
24
Öб±´óѧ±ÏÒµÂÛÎÄ
goto waitforstarting;
BUZZER=0; //·äÃùÆ÷ÃùÒôÒ»´ÎÌáʾ°´¼ü°´Ï i=100000; while(i--); BUZZER=1; i=100000; while(i--);
TR0=1; ET0=1;
testtemp(); while(1) {
if(sta_flag) {
while(0==CSBIN); TR1=0;
jsh=TH1; jsl=TL1;
if(15==count) {
temp=wd(); count=0;
//Æô¶¯¶¨Ê±Æ÷0 //Æô¶¯Î¶Èת»» //60MSµ½ÁË£¬³¬Éù²¨ÒѾ·¢ËÍ //µÈ´ý³¬Éù²¨·µ»Ø //Í£Ö¹¼ÆÊý //1Sµ½£¬¼ì²âÎÂ¶È 25
°Ù¶ÈËÑË÷¡°77cn¡±»ò¡°Ãâ·Ñ·¶ÎÄÍø¡±¼´¿ÉÕÒµ½±¾Õ¾Ãâ·ÑÔĶÁÈ«²¿·¶ÎÄ¡£Êղر¾Õ¾·½±ãÏ´ÎÔĶÁ£¬Ãâ·Ñ·¶ÎÄÍø£¬Ìṩ¾µäС˵×ÛºÏÎÄ¿â»ùÓÚ51µ¥Æ¬»úµÄ³¬Éù²¨²â¾àϵͳµÄ±ÏÒµÉè¼Æ(6)ÔÚÏßÈ«ÎÄÔĶÁ¡£
Ïà¹ØÍÆ¼ö£º
