»ùÓÚµ¥Æ¬»úζȿØÖÆÏµÍ³µÄÉè¼Æ ÏÂÔØ±¾ÎÄ

±ÏÒµÂÛÎÄÉè¼Æ

;Èë¿Ú²ÎÊý:KEY_BUF_G,KEY_BUF_S,KEY_BUF_B ;³ö¿Ú²ÎÊý:DIS_BUF_G,DIS_BUF_S,DIS_BUF_B PRO_UP:

CALL K_DELAY

JB K_UP,K_LOOP ;°´Å¥¶¶¶¯´¦Àí INC KEY_BUF_G ;¸öλÔöÒ» MOV A,KEY_BUF_G

CJNE A,#0AH,UPNEXT ;¸öλÔö¼Óµ½10£¬»Ø0 MOV KEY_BUF_G,#00H INC KEY_BUF_S ;ʮλ¼ÓÒ» MOV A,KEY_BUF_S

CJNE A,#0AH,UPNEXT ;ʮ볬¹ý99£¬Òç³öÁË MOV R0,#200

ERROR1: LCALL ERR ;³ö´í£¬ÏÔʾ8888

DJNZ R0,ERROR1

DEC KEY_BUF_S ;ÍË»Ø99 MOV KEY_BUF_G,#09H

UPNEXT:

MOV DIS_BUF_G,KEY_BUF_G MOV DIS_BUF_S,KEY_BUF_S MOV DIS_BUF_B,KEY_BUF_B CALL K_DELAY

RET ;³ÌÐòÃû³Æ:PRO_DOWN ;¹¦ÄÜ:Êýֵϵ÷´¦Àí

;Èë¿Ú²ÎÊý:KEY_BUF_G,KEY_BUF_S,KEY_BUF_B ;³ö¿Ú²ÎÊý:DIS_BUF_G,DIS_BUF_S,DIS_BUF_B PRO_DOWN:

CALL K_DELAY

JB K_DOWN,K_LOOP ;°´Å¥¶¶¶¯´¦Àí DEC KEY_BUF_G ;¸öλ¼õÒ» MOV A,KEY_BUF_G

CJNE A,#0FFH,DOWNNEXT ;¸öλ¼õµ½0£¬»Øµ½9 MOV KEY_BUF_G,#09H

DEC KEY_BUF_S ;ʮλ¼õÒ» MOV A,KEY_BUF_S

CJNE A,#0FFH,DOWNNEXT;ʮλµÍÓÚ0£¬Òç³öÁË MOV R0,#200

ERROR2: LCALL ERR ;³ö´í£¬ÏÔʾ8888

DJNZ R0,ERROR2

INC KEY_BUF_S ;ÍË»Ø00 MOV KEY_BUF_G,#00H

DOWNNEXT:

MOV DIS_BUF_G,KEY_BUF_G ;Ôö¼ÓÍê³Éºó£¬¸³ÖµÍ˳ö£¬È»ºóDISPLAY

;ÏÔʾ³öÀ´

MOV DIS_BUF_S,KEY_BUF_S

µÚ 45 Ò³ ¹² 48 Ò³

±ÏÒµÂÛÎÄÉè¼Æ

MOV DIS_BUF_B,KEY_BUF_B CALL K_DELAY RET

K_DELAY: ;¼üÅ̶¶¶¯ÑÓʱ×Ó³ÌÐò

MOV R6,#250

DL20MS_1:

MOV R7,#200 DJNZ R7,$

DJNZ R6, DL20MS_1 RET

;¿É¿Ø¹è¿ØÖÆ SWITCH:

MOV A,KEY_BUF_G ;Èý¸öBuffer¶¼ÊÇ0µÄ»°£¬ËµÃ÷»¹Ã»ÓÐÊäÈëÊýÖµ£¬Ö±

;½ÓÍ˳ö

JNZ SNEXT

MOV A,KEY_BUF_S JNZ SNEXT

MOV A,KEY_BUF_B

JZ SQUIT

SNEXT: CALL SET_DIS_BUF

MOV A,KEY_BUF_S SUBB A,DIS_BUF_S JC COOL

JNZ HOT ;ʮλÈç¹ûÏàµÈ£¬ÄÇô¼ÌÐø±È½Ï¸öλ MOV A,KEY_BUF_G SUBB A,DIS_BUF_G JC COOL

HOT: CLR P_SWITCH ;P_SWITCHΪ0˵Ã÷µ±Ç°Î¶ÈСÓÚÉ趨ζȣ¬ÒªÉýΣ¬

;ËùÒÔ½Óµç×èË¿

SETB P1.3 ;±¨¾¯ SJMP SQUIT

COOL: SETB P_SWITCH ;P_SWITCH Ϊ1˵Ã÷µ±Ç°Î¶ȴóÓÚÉ趨ÎÂ¶È SETB P1.3 ;±¨¾¯ SQUIT: RET

;³ÌÐòÃû³Æ:SET_DIS_BUF

;¹¦ÄÜ:¸³Öµ¸øDIS_BUF_G, DIS_BUF_S, DIS_BUF_B ;Èë¿Ú²ÎÊý:TEMPERATURE_LC,TEMPERATURE_HC ;³ö¿Ú²ÎÊý:DIS_BUF_G, DIS_BUF_S, DIS_BUF_B

SET_DIS_BUF:

MOV A,TEMPERATURE_LC ANL A,#0FH

MOV DIS_BUF_X,A ;СÊýλ MOV A,TEMPERATURE_LC SWAP A

µÚ 46 Ò³ ¹² 48 Ò³

±ÏÒµÂÛÎÄÉè¼Æ

ANL A,#0FH

MOV DIS_BUF_G,A ;¸öλ MOV A,TEMPERATURE_HC ANL A,#0FH

MOV DIS_BUF_S,A ;ʮλ MOV A,TEMPERATURE_HC SWAP A ANL A,#0FH

MOV DIS_BUF_B,A ;°Ùλ MOV A,TEMPERATURE_HC ANL A,#0F0H

CJNE A,#010H,NEXT0 SJMP NEXT1

NEXT0: MOV A,TEMPERATURE_HC ANL A,#0FH

JNZ NEXT1 ;ʮλÊýÊÇ0

MOV A,TEMPERATURE_HC SWAP A ANL A,#0FH

MOV 73H,#0AH ;·ûºÅλ²»ÏÔʾ MOV 72H,A ;ʮλÊýÏÔʾ·ûºÅ

NEXT1: RET ;³ÌÐòÃû³Æ:DISPLAY

;¹¦ÄÜ:ÏÔʾÊý¾Ýµ½ÊýÂë¹ÜÖС£

;Èë¿Ú²ÎÊý:DIS_BUF_G, DIS_BUF_S, DIS_BUF_B ;³ö¿Ú²ÎÊý:ÎÞ DISPLAY:

MOV DPTR,#DISTAB MOV R3,#0FEH

MOV R1,#DIS_BUF_B

DPLOP: MOV A,@R1

MOVC A,@A+DPTR MOV P2,R3 MOV P0,A

CJNE R3,#0FBH,DPNEXT CLR P0.7

DPNEXT: MOV A,R3

RL A

MOV R3,A DEC R1

CALL DS1M

CJNE R3,#0EFH,DPLOP

MOV P0,#0FFH ;Ò»´ÎÏÔʾ½áÊø£¬P0¿Ú¸´Î» MOV P2,#0FFH ;P2¿Ú¸´Î» RET

µÚ 47 Ò³ ¹² 48 Ò³

±ÏÒµÂÛÎÄÉè¼Æ

DS1M: MOV R7,#0FFH

DJNZ R7,$ RET

;ÊýÂë¹ÜTAB DISTAB:

DB 0C0H ;0 DB 0F9H ;1 DB 0A4H ;2 DB 0B0H ;3 DB 099H ;4 DB 092H ;5 DB 082H ;6 DB 0F8H ;7 DB 080H ;8 DB 090H ;9

DB 0FFH ;NONE END

µÚ 48 Ò³ ¹² 48 Ò³