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