µ¥Æ¬»úÔ­ÀíºÍÓ¦Óõڶþ°æÕÅÒã¸Õ¿ÎºóϰÌâ´ð°¸½âÎö ÏÂÔØ±¾ÎÄ

MOV A£¬@R1 SJMP LOOP2

MOV A,R3 DJNZ R2, LOOP

LOOP1: LOOP2:

MOV @R0,A RET

10£®´ð£º

£¨1£©SP=SP+1=61H

SP=SP+1=62H

(61H)=PCµÄµÍ×Ö½Ú=03H (62H)=PCµÄ¸ß×Ö½Ú=20H

£¨2£©PC=3456H £¨3£©²»¿ÉÒÔ

£¨4£©2KB£½2048 Byte

11£®´ð£º¿É¶Ô³ÌÐò×öÈçÏÂÐ޸ģº

ORG 0100H MOV R7, #200

MOV R6, #123 DJNZ R6, DEL2

£»Ôö¼ÓµÄÖ¸Áî

£»½«Ô­À´µÄÁ¢¼´Êý125¸ÄΪ123

DEL: DEL1: DEL2:

NOP DJNZ R7, DEL1 RET

³ÌÐòÐ޸ĺóµÄÑÓʱʱ¼äΪ£º1+(1+123*2+1+2)*200+2=50003us=50.003ms

µÚ5Õ AT89S51µÄÖжÏϵͳ

²Î¿¼´ð°¸

1£®´ð£º0013H£»001BH 2£®´ð£ºÍⲿÖжÏ1£¬¶¨Ê±Æ÷T1

3£® ´ð£ºRETIÖ¸ÁîÔÚ·µ»ØµÄͬʱÇå³ýÏàÓ¦µÄÓÅÏȼ¶´¥·¢Æ÷£¬ÒÔÔÊÐíÏ´ÎÖжϣ¬¶øRETÖ¸ÁîÔòûÓÐÕâ¸ö²Ù×÷¡£³ýÁËÕâÒ»µãÁ½ÌõÖ¸ÁͬÍ⣬ÆäËü²Ù×÷¶¼Ïàͬ¡£

4£®´ð£ºD

5£® ´ð£ºÔÚÒ»¸öµ¥Ò»ÖжϵÄϵͳÀAT89S51µ¥Æ¬»ú¶ÔÍⲿÖжÏÇëÇóµÄÏìӦʱ¼ä×ÜÊÇÔÚ3¡«8¸ö»úÆ÷ÖÜÆÚÖ®¼ä¡£

ÔÚÏÂÊöÈýÖÖÇé¿öÏ£¬AT89S51½«ÍƳٶÔÍⲿÖжÏÇëÇóµÄÏìÓ¦£º £¨1£©AT89S51ÕýÔÚ´¦Àíͬ¼¶»ò¸ü¸ßÓÅÏȼ¶µÄÖжϡ£

£¨2£©Ëù²éѯµÄ»úÆ÷ÖÜÆÚ²»Êǵ±Ç°ÕýÔÚÖ´ÐÐÖ¸ÁîµÄ×îºóÒ»¸ö»úÆ÷ÖÜÆÚ¡£ £¨3£©ÕýÔÚÖ´ÐеÄÖ¸ÁîÊÇRETI»òÊÇ·ÃÎÊIE»òIPµÄÖ¸Áî¡£

Èç¹û´æÔÚÉÏÊöÈýÖÖÇé¿öÖ®Ò»£¬AT89S51½«¶ªÆúÖжϲéѯ½á¹û£¬½«ÍƳٶÔÍⲿÖжÏÇëÇóµÄÏìÓ¦¡£

6£®´ð£ºD

7£®´ð£ºPC¡¢PC¡¢³ÌÐò´æ´¢Æ÷ 8£®´ð: ²Î¿¼³ÌÐò¶ÎÈçÏ£º

SETB IT1

SETB EX1 SETB EA

9£®´ð£º£¨A£©

10£®´ð£ºÒ»¸öÖжÏÔ´µÄÖжÏÇëÇó±»ÏìÓ¦£¬±ØÐëÂú×ãÒÔϱØÒªÌõ¼þ£º £¨1£©×ÜÖжÏÔÊÐí¿ª¹Ø½Óͨ£¬¼´IE¼Ä´æÆ÷ÖеÄÖжÏ×ÜÔÊÐíλEA=1¡£ £¨2£©¸ÃÖжÏÔ´·¢³öÖжÏÇëÇ󣬼´¸ÃÖжÏÔ´¶ÔÓ¦µÄÖжÏÇëÇó±ê־Ϊ¡°1¡±¡£ £¨3£©¸ÃÖжÏÔ´µÄÖжÏÔÊÐíλ=1£¬¼´¸ÃÖжϱ»ÔÊÐí¡£ £¨4£©ÎÞͬ¼¶»ò¸ü¸ß¼¶ÖжÏÕýÔÚ±»·þÎñ¡£ 11£®´ð£º£¨A£©¡¢£¨C£©¡¢£¨D£©

12£®´ð£º²Î¼ûµç·Èçͼ5-10£¬²Î¿¼³ÌÐòÈçÏ£º

ORG 0000H LJMP MAIN ORG 0013H LJMP INT_EX1 ORG 0030H CLR

IT0

£»²ÉÓÃµçÆ½´¥·¢£¬µÍµçƽÓÐЧÖÐ¶Ï £»ÔÊÐíÍⲿÖжÏ1

MAIN:

SETB EX1 SETB EA

£»²åÈëÒ»¶ÎÓû§³ÌÐò

WAIT: MOV PCON,#01H £»µ¥Æ¬»ú½øÈëÐÝÃß·½Ê½µÈ´ýÖжÏ

NOP LJMP WAIT

£»ÒÔÏÂΪÍⲿÖжÏ1·þÎñ×Ó³ÌÐò INT_EX1£º

JB P1.2£¬NEXT1

£»ÅжÏÊDz»ÊÇ3ºÅÖжÏ

LJMP INT_IR3 £»Ìø×ªµ½3ºÅÖжϴ¦Àí³ÌÐò

NEXT1: JB P1.1£¬NEXT2

LJMP INT_IR2

£»ÅжÏÊDz»ÊÇ2ºÅÖÐ¶Ï £»Ìø×ªµ½2ºÅÖжϴ¦Àí³ÌÐò £»Ìø×ªµ½1ºÅÖжϴ¦Àí³ÌÐò

NEXT2: LJMP INT_IR1

ORG 1000H

INT_IR3: ÏàÓ¦Öжϴ¦Àí³ÌÐò

RETI

£»ÖжϷµ»Ø

ORG 1100H

INT_IR2: ÏàÓ¦Öжϴ¦Àí³ÌÐò

RETI

£»ÖжϷµ»Ø

ORG 1200H

INT_IR1: ÏàÓ¦Öжϴ¦Àí³ÌÐò

RETI

£»ÖжϷµ»Ø

µÚ6Õ AT89S51µÄ¶¨Ê±/¼ÆÊýÆ÷

²Î¿¼´ð°¸

1£®´ð£º£¨A£©¶Ô£»£¨B£©´í£»£¨C£©´í£»£¨D£©´í£» 2£®´ð£ºÒòΪ»úÆ÷ÖÜÆÚ£º

1212 Tcy???4(?s)6fOSC3?10

ËùÒÔ¶¨Ê±Æ÷/¼ÆÊýÆ÷¹¤×÷·½Ê½0Ï£¬Æä×î´ó¶¨Ê±Ê±¼äΪ

TMAX?213?TC?213?4?10?6?8.192(ms)

ͬÑù¿ÉÒÔÇóµÃ·½Ê½1ϵÄ×î´ó¶¨Ê±Ê±¼äΪ262.144ms£»·½Ê½2ϵÄ×î´ó¶¨Ê±Ê±¼äΪ1024ms¡£

3£®´ð£º¶¨Ê±/¼ÆÊýÆ÷×÷¶¨Ê±Ê±£¬Æä¼ÆÊýÂö³åÓÉϵͳÕñµ´Æ÷²úÉúµÄÄÚ²¿Ê±ÖÓÐźÅ12·ÖƵºóÌṩ¡£¶¨Ê±Ê±¼äÓëʱÖÓÆµÂʺͶ¨Ê±³õÖµÓйء£