»ùÓÚµ¥Æ¬»úµÄ8·ÇÀ´ðÆ÷µÄÉè¼Æ ÏÂÔØ±¾ÎÄ

Ö÷³ÌÐòЭµ÷Èý¸öÖжÏÒ»Æð¹¤×÷£¬ÊµÏÖÇÀ´ð¹¦ÄÜ,ÆäÁ÷³ÌͼÈçÏ£º Y ÌáÐÑ·¢Éù N N N N µ¹¼ÆÊ±´óÓÚ5s? N µ¹¼ÆÊ±ÏÔʾ ÏÔʾ·¨¹æºÅÂë °´¼ü·¢Éù Y ×¼±¸×´Ì¬£¬ÏÔʾFFF ³ÌÐò³õʼ»¯ ¿ªÊ¼¼ü°´Ï£¿ N ·Ç·¨ÇÀ´ð? µ¹¼ÆÊ±¿ªÊ¼ °´¼ü·¢Éù Y Í£Ö¹¼ü°´ÏÂ? Y µ¹¼ÆÊ±½áÊø? Y Í£Ö¹¼ü°´ÏÂ? ÏÔʾÇÀ´ðºÅ£¬Ê£Óàʱ¼ä N Í£Ö¹¼ü°´ÏÂ? Y ÇÀ´ð¼ü°´ÏÂ? Y °´¼ü·¢Éù ͼ4-5 Ö÷³ÌÐòÁ÷³Ìͼ

- 8 -

¸½Â¼£º ³ÌÐò´úÂ룺

P3.0Ϊ¿ªÊ¼ÇÀ´ð£¬P3.1Ϊֹͣ£¬P1.0-P1.7Ϊ°Ë·ÇÀ´ðÊäÈ룬ÊýÂë¹Ü¶ÎÑ¡P0¿Ú£¬Î»Ñ¡P2µÄµÍÈýλ¿Ú£¬·äÃùÆ÷Êä³öΪP3.6¿Ú¡£ ORG 0000H AJMP MAIN ORG 0003H AJMP INT0SUB ORG 000BH AJMP T0INT ORG 001BH AJMP T1INT

OK EQU 20H ; ÇÀ´ð¿ªÊ¼±ê־λ RING EQU 22H ; ÏìÁå±ê־λ

ORG 0040H

MAIN: MOV R1,#0FH; ³õÉèÇÀ´ðʱ¼äΪ15s MOV R2,#0AH; ³õÉè´ðÌâʱ¼äΪ10s MOV TMOD,#11H; ÉèÖÃδ¶¨Ê±Æ÷/ģʽ1 MOV TH0,#0F0H

MOV TL0,#0FFH; Ô½¸ß·¢ÉùƵÂÊÔ½¸ß,Ô½¼â MOV TH1,#3CH

MOV TL1,#0B0H; 50msΪһ´ÎÒç³öÖÐ¶Ï SETB EA SETB ET0 SETB ET1 SETB EX0

SETB EX1; ÔÊÐíËĸöÖжÏ,T0/T1/INT0/INT1 CLR OK CLR RING SETB TR1

- 9 -

SETB TR0; Ò»¿ªÊ¼¾ÍÔËÐж¨Ê±Æ÷,ÒÔ¿ªÊ¼ÏÔʾFFF.Èç¹ûÏëÖØÐ¼ÆÊý,ÖØÖÃTH1/TL1¾Í¿ÉÒÔÁË ²éѯ³ÌÐò:

START: MOV R5,#0BH MOV R4,#0BH MOV R3,#0BH

ACALL DISPLAY; δ¿ªÊ¼ÇÀ´ðʱºòÏÔʾFFF JB P3.0,NEXT ACALL DELAY

JB P3.0,NEXT;È¥¶¶¶¯,Èç¹û\¿ªÊ¼¼ü\°´Ï¾ÍÏòÏÂÖ´ÐÐ,·ñÕßÌøµ½·Ç·¨

ÇÀ´ð²éѯ

ACALL BARK;°´¼ü·¢Éù MOV A,R1

MOV R6,A; ËÍR1->R6,ÒòΪR1Öб£´æÁËÇÀ´ðʱ¼ä

SETB OK; ÇÀ´ð±ê־λ,ÓÃÓÚCOUNTÖ»³ÌÐòÖÐÅжÏÊÇ·ñ²éѯÇÀ´ð MOV R3,#0AH; ÇÀ´ðÖ»ÏÔʾ¼ÆÊ±,ÃðºÅÊý

AJMP COUNT;½øÈëµ¹¼ÆÊ±³ÌÐò,\²éѯÓÐЧÇÀ´ðµÄ³ÌÐò\ÔÚCOUNTÀïÃæ NEXT: JNB P1.0,FALSE1

JNB P1.1,FALSE2 JNB P1.2,FALSE3 JNB P1.3,FALSE4 JNB P1.4,FALSE5 JNB P1.5,FALSE6 JNB P1.6,FALSE7

JNB P1.7,FALSE8

AJMP START ·Ç·¨ÇÀ´ð´¦Àí³ÌÐò:

FALSE1: ACALL BARK; °´¼ü·¢Éù MOV R3,#01H AJMP ERROR

- 10 -

FALSE2: ACALL BARK MOV R3,#02H AJMP ERROR FALSE3: ACALL BARK MOV R3,#03H AJMP ERROR FALSE4: ACALL BARK MOV R3,#04H AJMP ERROR FALSE5: ACALL BARK MOV R3,#05H AJMP ERROR FALSE6: ACALL BARK MOV R3,#06H AJMP ERROR FALSE7: ACALL BARK MOV R3,#07H AJMP ERROR FALSE8: ACALL BARK MOV R3,#08H AJMP ERROR

µ¹¼ÆÊ±³ÌÐò(°üÀ¨ÓÐЧÇÀ´ð³ÌÐò):

COUNT: MOV R0,#00H; ÖØÖö¨Ê±Æ÷ÖжϴÎÊý MOV TH1,#3CH

MOV TL1,#0B0H£» ÖØÖö¨Ê±Æ÷

RECOUNT: MOV A,R6; R6±£´æÁ˵¹¼ÆÊ±µÄʱ¼ä MOV B,#0AH

DIV AB; ³ýÊ®·Ö³ö¸öλ/ʮλ MOV 30H,A; ʮλ´æÓÚ(30H) MOV 31H,B; ¸öλ´æÓÚ(31H)

- 11 -