µ¥Æ¬»úÔ­Àí¼°Ó¦Óô𰸣¨ÕÅÒã¸Õ£© ÏÂÔØ±¾ÎÄ

LOOP: MOV A,@R0 CJNE A,#0AAH,NOT MOV 51H,#01H SJMP DEND NOT: INC R0 DJNZ R2,LOOP MOV 51H,#00H DEND: SJMP DEND

4.11 ÊÔ±àд³ÌÐò£¬²éÕÒÔÚÄÚ²¿ RAM µÄ 20H~40H µ¥ÔªÖгöÏÖ¡°00H¡±ÕâÒ»Êý¾ÝµÄ´ÎÊý¡£²¢ ½«²éÕÒµ½µÄ½á¹û´æÈë 41Hµ¥Ôª¡£ ORG 0000H MOV R0,#20H

MOV R2,#21H MOV 41H,#00H LOOP: MOV A,@R0 CJNE A,#00H,NOTE INC 41H NOTE: INC R0 DJNZ R2,LOOP END

4.12 Èô SP=60H£¬±êºÅ LABEL ËùÔڵĵØÖ·Îª 3456H¡£LCALL Ö¸ÁîµÄµØÖ·Îª 2000H£¬Ö´ÐÐ

ÈçÏÂÖ¸Á 2000H LCALL LABEL ºó£¬¶ÑÕ»Ö¸Õë SPºÍ¶ÑÕ»ÄÚÈÝ·¢ÉúÁËʲô±ä»¯£¿PC

µÄÖµµÈÓÚʲô£¿Èç¹û½«Ö¸Áî LCALL Ö±½Ó»»³É ACLAA ÊÇ·ñ¿ÉÒÔ£¿Èç¹û»»³É ACALL Ö¸Á ¿Éµ÷ÓõĵØÖ··¶Î§ÊÇʲô£¿

´ð£º¶ÑÕ»Ö¸Õë SP µÄÄÚÈÝΪ 62H£¬¶ÑÕ»ÄÚÈÝ£¨61H£©=03H£¬£¨62H£©=20H£»PC ֵΪ 3456H,

²»Äܽ« LCALL »»Îª ACALL£¬ÒòΪ LCALL ¿Éµ÷Óà 64KB ·¶Î§ÄÚµÄ×Ó³ÌÐò£¬¶ø ACALL Ëùµ÷

ÓõÄ×Ó³ÌÐòµØÖ·±ØÐëÓë ACALL Ö¸ÁîÏÂÒ»ÌõÖ¸ÁîµÄµÚÒ»¸ö×Ö½ÚÔÚͬһ¸ö 2KB ÇøÄÚ(¼´ 16 λ

µØÖ·ÖÐµÄ¸ß 5 λµØÖ·Ïàͬ¡£Èç¹û»»Îª ACALL£¬¿Éµ÷ÓõĵØÖ··¶Î§Îª 2002H-27FFH¡£

µÚÎåÕ MCS-51 µÄÖжÏϵͳ 5.1 ʲôÊÇÖжÏϵͳ£¿

´ð£ºÄܹ»ÊµÏÖÖжϴ¦Àí¹¦ÄܵIJ¿¼þ³ÆÎªÖжÏϵͳ¡£

5.3 ʲôÊÇÖжÏÔ´£¿MCS-51 ÓÐÄÄЩÖжÏÔ´£¿¸÷ÓÐÊ²Ã´ÌØµã£¿

´ð£º²úÉúÖжϵÄÇëÇóÔ´³ÆÎªÖжÏÔ´¡£MCS----51ÖжÏϵͳ¹²ÓÐ 5 ¸öÖжÏÇëÇóÔ´£º£¨1£©ÍⲿÖÐ

¶ÏÇëÇó 0£¬ÖжÏÇëÇó±ê־Ϊ IE0¡££¨2£©ÍⲿÖжÏÇëÇó 1£¬ÖжÏÇëÇó±ê־Ϊ IE1¡££¨3£©¶¨Ê±Æ÷/

¼ÆÊýÆ÷ T0 Òç³öÖжÏÇëÇó£¬ÖжÏÇëÇó±ê־Ϊ TF0¡££¨4£©¶¨Ê±Æ÷/¼ÆÊýÆ÷ T1 Òç³öÖжÏÇëÇó£¬ÖÐ

¶ÏÇëÇó±ê־Ϊ TF1¡££¨5£©´®ÐпÚÖжÏÇëÇó£¬ÖжÏÇëÇó±ê־Ϊ TI »ò RI¡£Ìص㣺2 ¸öÍⲿÖжÏ

Ô´£¬3 ¸öÄÚ²¿ÖжÏÔ´¡£

5.4 ÍⲿÖжÏ1 Ëù¶ÔÓ¦µÄÖжÏÈë¿ÚµØÖ·Îª£¨0013H£©¡£ 5.5 ÏÂÁÐ˵·¨´íÎóµÄÊÇ£º£¨A£¬B£¬C£©

£¨A£©¸÷ÖжÏÔ´·¢³öµÄÖжÏÇëÇóÐźţ¬¶¼»á±ê¼ÇÔÚ MCS-51ϵͳµÄ IE ¼Ä´æÆ÷ÖС£

£¨B£©¸÷ÖжÏÔ´·¢³öµÄÖжÏÇëÇóÐźţ¬¶¼»á±ê¼ÇÔÚ MCS-51ϵͳµÄ TMOD ¼Ä´æÆ÷ÖС£ £¨C£©¸÷ÖжÏÔ´·¢³öµÄÖжÏÇëÇóÐźţ¬¶¼»á±ê¼ÇÔÚ MCS-51ϵͳµÄ IP¼Ä´æÆ÷ÖС£

£¨D£©¸÷ÖжÏÔ´·¢³öµÄÖжÏÇëÇóÐźţ¬¶¼»á±ê¼ÇÔÚ MCS-51ϵͳµÄ TCON ºÍ SCON ¼Ä´æÆ÷ÖС£

5.6 MCS-51µ¥Æ¬»úÏìÓ¦ÍⲿÖжϵĵäÐÍʱ¼äÊǶàÉÙ£¿ÔÚÄÄЩÇé¿öÏ£¬CPU½«ÍƳٶÔÍⲿÖÐ ¶ÏÇëÇóµÄÏìÓ¦£¿ ´ð£ºµäÐÍʱ¼äÊÇ 3-8 ¸ö»úÆ÷ÖÜÆÚ¡£ÔÚÏÂÁÐÈýÖÖÇé¿öÏ£¬CPU ½«ÍƳٶÔÍⲿÖжÏÇëÇóµÄÏìÓ¦£º £¨1£©CPUÕýÔÚ´¦Àíͬ¼¶µÄ»ò¸ü¸ß¼¶ÓÅÏȼ¶µÄÖжÏ

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

5.7 ÖжϲéѯȷÈϺó£¬ÔÚÏÂÁи÷ÖÖ 8031 µ¥Æ¬»úÔËÐÐÇé¿öÖУ¬ÄÜÁ¢¼´½øÐÐÏìÓ¦µÄÊÇ£¨D£© £¨A£©µ±Ç°ÕýÔÚ½øÐиßÓÅÏȼ¶Öжϴ¦Àí £¨B£©µ±Ç°ÕýÔÚÖ´ÐÐ RETIÖ¸Áî

£¨C£©µ±Ç°Ö¸ÁîÊÇ DIVÖ¸ÁÇÒÕý´¦ÓÚȡָÁîµÄ»úÆ÷ÖÜÆÚ £¨D£©µ±Ç°Ö¸ÁîÊÇ MOV A£¬R3 5.8 8031 µ¥Æ¬»úÏìÓ¦ÖжϺ󣬲úÉú³¤µ÷ÓÃÖ¸Áî LCALL£¬Ö´ÐÐÖ¸ÁîµÄ¹ý³Ì°üÀ¨£ºÊ×ÏȰѣ¨PC£© µÄÄÚÈÝѹÈë¶ÑÕ»£¬ÒÔ½øÐжϵ㱣»¤£¬È»ºó°Ñ³¤µ÷ÓÃÖ¸ÁîµÄ 16 λµØÖ·ËÍ£¨PC£©£¬Ê¹³ÌÐòÖ´ÐРתÏò£¨ÏìÓ¦ÖжÏÇëÇóµÄÖжÏÈë¿ÚµÄµØÖ·£©ÖеÄÖжϵØÖ·Çø¡£

5.9 ±àд³öÍⲿÖÐ¶Ï 1 ÎªÌøÑØ´¥·¢µÄÖжϳõʼ»¯³ÌÐò¡£ ORG 0000H AJMP MAIN ORG 0013H AJMP PINT1 ORG 0100H MAIN: SETB IT1 SETB EX1 SETB EA HERE: AJMP HERE PINT1: RETI END

5.10 ÔÚ MCS-51 ÖУ¬ÐèÒªÍâ¼Óµç·ʵÏÖÖжϳ·³ýµÄÊÇ£¨D£©

£¨A£©¶¨Ê±ÖжÏ

£¨B£©Âö³å·½Ê½µÄÍⲿÖÐ¶Ï £¨C£©Íⲿ´®ÐÐÖжÏ

£¨D£©µçƽ·½Ê½µÄÍⲿÖжÏ

5.11 MCS-51ÓÐÄļ¸ÖÖÀ©Õ¹ÍⲿÖжÏÔ´µÄ·½·¨£¿

´ð£ºÀ©Õ¹ÍⲿÖжÏÔ´µÄ·½·¨ÓУº¶¨Ê±Æ÷/¼ÆÊýÆ÷×÷ΪÍⲿÖжÏÔ´µÄʹÓ÷½·¨£»ÖжϺͲéѯ½áºÏµÄ·½·¨¡£

5.12 ÏÂÁÐ˵·¨ÕýÈ·µÄÊÇ£¨C D£©

£¨A£©Í¬Ò»¼¶±ðµÄÖжÏÇëÇó°´Ê±¼äµÄÏȺó˳Ðò˳ÐòÏìÓ¦¡£

£¨B£©Í¬Ò»Ê±¼äͬһ¼¶±ðµÄ¶àÖжÏÇëÇ󣬽«ÐγÉ×èÈû£¬ÏµÍ³ÎÞ·¨ÏìÓ¦¡£

£¨C£©µÍÓÅÏȼ¶ÖжÏÇëÇó²»ÄÜÖжϸßÓÅÏȼ¶ÖжÏÇëÇ󣬵«ÊǸßÓÅÏȼ¶ÖжÏÇëÇóÄÜÖжϵÍÓÅÏÈ ¼¶ÖжÏÇëÇó

£¨D£©Í¬¼¶Öжϲ»ÄÜǶÌס£

5.13 ÖжϷþÎñ×Ó³ÌÐò·µ»ØÖ¸Áî RETIºÍÆÕͨ×Ó³ÌÐò·µ»ØÖ¸Áî RET ÓÐÊ²Ã´Çø±ð£¿

´ð£ºÁ½ÕßµÄÇø±ðÔÚÓÚ£¬RETI Çå³ýÁËÖжÏÏìӦʱ£¬±»Öà 1 µÄ MCS-51 ÄÚ²¿ÖжÏÓÅÏȼ¶¼Ä´æÆ÷

µÄÓÅÏȼ¶×´Ì¬¡£

5.14 ijϵͳÓÐ 3 ¸öÍⲿÖжÏÔ´ 1¡¢2¡¢3£¬µ±Ä³Ò»ÖжÏÔ´±äΪµÍµçƽʱ£¬±ãÒªÇó CPU ½øÐд¦ Àí£¬ËüÃǵÄÓÅÏÈ´¦Àí´ÎÐòÓɸߵ½µÍÒÀ´ÎΪ 3¡¢2¡¢1£¬Öжϴ¦Àí³ÌÐòµÄÈë¿ÚµØÖ··Ö±ðΪ 1000H£¬ 1100H£¬1200H¡£ÊÔ±àдÖ÷³ÌÐò¼°ÖжϷþÎñ³ÌÐò£¨×ªÖÁÏàÓ¦µÄÖжϴ¦Àí³ÌÐòµÄÈë¿Ú¼´¿É£©¡£ ORG 0000H

AJMP MAIN ORG 0003H LJMP PINT0 ORG 0100H MAIN: SETB IT0 SETB EX0 SETB EA HERE: SJMP HERE PINT0: PUSH PSW PUSH A

JNB P1.3,IR3 JNB P1.2,IR2 JNB P1.1,IR1 PINTIR: POP A POP PSW RETI

IR3: LJMP IR3INT IR2: LJMP IR2INT IR1: LJMP IR1INT ORG 1000H IR3INT: LJMP PINTIR ORG 1100H