µ¥Æ¬»úDS18B20Êý×ÖζȼÆÉè¼Æ - ͼÎÄ ÏÂÔØ±¾ÎÄ

L ÉèÖÃ×Ö¿âCGRAMµØÖ· ÏÔʾ»º³åÇøDDRAMµØÖ· ¶Áȡæ±êÖ¾ºÍµØÖ· дÊý¾Ýµ½RAM ¶Á³öRAMµÄÖµ 1 1 Êý¾Ý 1 0 0 1 BF Êý¾Ý 0 0 1 0 0 0 1 E ×÷RE=0: »ù±¾Ö¸Áî²Ù×÷ CGRAMµÄµØÖ· É趨CGRAM µØÖ· DDRAMµÄµØÖ· É趨DDRAM µØÖ·£¨ÏÔʾλַ£©µÚÒ»ÐУº80H£­87HµÚ¶þÐУº90H£­97H ACµÄÖµ ¶Áȡæ±êÖ¾(BF)¿ÉÒÔÈ·ÈÏÄÚ²¿¶¯×÷ÊÇ·ñÍê³É,ͬʱ¿ÉÒÔ¶Á³öµØÖ·¼ÆÊýÆ÷(AC)µÄÖµ ½«Êý¾ÝD7¡ª¡ªD0дÈëµ½ÄÚ²¿µÄRAM (DDRAM/CGRAM/IRAM/GRAM) ´ÓÄÚ²¿RAM¶ÁÈ¡Êý¾ÝD7¡ª¡ªD0(DDRAM/CGRAM/IRAM/GRAM)

3.3.4LCD1602×Ö·û¼¯

1602Òº¾§Ä£¿éÄÚ²¿µÄ×Ö·û·¢Éú´æ´¢Æ÷£¨CGROM)ÒѾ­´æ´¢ÁË160¸ö²»Í¬µÄµãÕó×Ö·ûͼÐΣ¬ÕâЩ×Ö·ûÓУº°¢À­²®Êý×Ö¡¢Ó¢ÎÄ×ÖĸµÄ´óСд¡¢³£ÓõķûºÅ¡¢ºÍÈÕÎļÙÃûµÈ£¬Ã¿Ò»¸ö×Ö·û¶¼ÓÐÒ»¸ö¹Ì¶¨µÄ´úÂ룬¶ÁµÄʱºò£¬ÏȶÁ×ó±ßÄÇÁУ¬ÔÙ¶ÁÉÏÃæÄÇÐУ¬È磺¸Ð̾ºÅ£¡Îª0x21£¬×ÖĸBΪ0x42¡£ÒÔÏÂÊÇ1602µÄ·ûºÅÓë´úÂëת»»Í¼£º

ͼ3.3.2 1602×Ö·ûÓë´úÂëת»»Í¼

14

3.3.5LCD1602µç·

LCD1602ÏÔʾµç·ԭÀíͼÈçͼ3.3.3Ëùʾ

ͼ3.3.3 LCD1602ÏÔʾµç·ԭÀíͼ

´Ë²¿·ÖΪLCD1602ÏÔʾµç·£¬Óõ¥Æ¬»úµÄP0¿ÚÓë1602´«ÊäÊý¾Ý£¬Í¨¹ý1K¿Éµ÷µç×è¿ÉÒÔµ÷½Ú1602±³¹âÏÔʾÁÁ¶È¡£P0¿Ú½ÓÒ»¸ö10KµÄÉÏÀ­ÅÅ×裬Ìá¸ßÇý¶¯1602µÄÄÜÁ¦¡£

3.4Éù¹â±¨¾¯µç·

µ±Íâ½çζȳ¬¹ý±¨¾¯ÉÏÏÂÏÞζÈʱ£¬Îª¸ü¼ÓÓÐЧµÄÒýÆðÓû§µÄ×¢Ò⣬¼°Ê±¹Ø×¢Î¶ȵı仯£¬±¾ÏµÍ³Éè¼ÆÁËÉù¹â±¨¾¯µç·¡£¸Ãµç·ÓÉÈý¼«¹Ü¡¢·äÃùÆ÷ºÍLDE×é³É£¬¾ßÌåµç·ÈçͼËùʾ¡£

ͼ3.4.1 ±¨¾¯µç·ͼ

µ±P1.3¿ÚÊä³öµÍµçƽʱ£¬PN½áµ¼Í¨£¬¼¯µç¼«²úÉúµçÁ÷ʹ·äÃùÆ÷ºÍLEDµÆ¹¤×÷£¬Í¨ÖªÓû§Î¶ÈÒì³£¡£

15

3.5¶ÀÁ¢°´¼üµç·

±¾ÏµÍ³³ý¸´Î»°´¼üÍâ¹²ÓÐ4¸ö¶ÀÁ¢°´¼ü£¬¾ßÌåµç·ͼÈçÏ£º

ͼ3.5.1 ¶ÀÁ¢°´¼ü

S4¡«S7ÊÇÓÃÀ´É趨±¨¾¯ÉÏÏÂÏÞζȵġ£S4ÓÃÓÚÔö¼Ó±¨¾¯ÉÏÏÞζȣ¬S5ÓÃÓÚ¼õС±¨¾¯ÉÏÏÞζȣ¬S6ÓÃÓÚÔö¼Ó±¨¾¯ÏÂÏßζȣ¬S7ÓÃÓÚ¼õС±¨¾¯ÏÂÏÞζȡ£

3.6ϵͳ×ܵç·ͼ

ͼ3.7.1 ϵͳ×ܵç·ͼ

ÔÚʵÑéÏäÉϵÄÁ¬ÏßÈçÏ£º

£¨1£©DS18B20µÄDQ¶ËÁ¬½Óµ½µ¥Æ¬»úµÄP1.0¿Ú¡£

£¨2£©LCDµÄD0¡«D7Ó뵥Ƭ»úµÄP0¿ÚÏàÁ¬½Ó£»¿ØÖƶËËĸöÒý½Å½ÓÖÁP2.0¡«P2.3¡£ £¨3£©LED0ºÍLED1Ó뵥Ƭ»úµÄP2.4ºÍP2.5¿ÚÁ¬½Ó¡£ £¨4£©·äÃùÆ÷ºÃLED7Ó뵥Ƭ»úµÄP1.3Á¬½Ó¡£ £¨5£©ROW1½ÓµØ£¬COL1¡ªCOL4½ÓP1.4¡ªP1.7¿Ú¡£

16

ͼ3.7.2 ʵÎïÁ¬½Óͼ

µÚËÄÕ Èí¼þÉè¼Æ

4.1Ö÷³ÌÐòÉè¼Æ

ÓÉÓÚ±¾ÏµÍ³¹²Óõ½ÁËÈçϼ¸¸öÄ£¿é£ºDS18B20²âÎÂÄ£¿é£¬LCD1602ÏÔʾģ¿é£¬´®ÐпÚÄ£¿é¡£Òò´ËÔÚº¯Êý¿ªÊ¼ÒªÊ×ÏȶÔÕâЩģ¿é½øÐгõʼ»¯¡£È»ºóÔÙÑ­»·²âΡ¢ÏÔʾÓë¼ì²éÒì³£¡£Ö÷³ÌÐòÁ÷³Ìͼ¼ûͼ4.1.1¡£

void main() { init_cxk(); init_1602(); init_18b20(); EA=1; //¿ª×ÜÖÐ¶Ï EX0=1; //¿ªÍⲿÖжÏ0 EX1=1; //¿ªÍⲿÖжÏ1 while(1) { bj=1; //ÔÚеÄÒ»´Î²âΣ¬·äÃùÆ÷ÎÞЧ flag=0; //ÔÚеÄÒ»´Î²âΣ¬flagÇåÁã read_temp(); //¶ÁDS18B20ÎÂ¶È convert_temp();//ת»»ÎÂ¶È display(); //ÏÔʾÎÂ¶È test_temp(); //¼ì²âζÈÊÇ·ñÒì³£ }

17