POP A POP B
´ð£º¹¦ÄÜÊÇA¡¢BÄÚÈÝ»¥»»
3.12ÒÑÖª³ÌÐòÖ´ÐÐǰÓÐA=02H£¬SP=52H£¬£¨51H£©=FFH£¬£¨52H£©=FFH¡£ÏÂÁгÌÐòÖ´ÐÐºó£º POP DPH MOV A,B POP DPL INC A MOV DPTR,#4000H MOVC A,@A+DPTR RL A PUSH A MOV B,A RET MOVC A,@A+DPTR ORG 4000H PUSH A DB 10H,80H,30H,50H,30H,50H A=50H SP=50H£¨51H£©=30H£¨52H£©=50H PC=5030H
3.13д³öÍê³ÉÈçÏÂÒªÇóµÄÖ¸Áµ«ÊDz»ÄܸıäÎ´Éæ¼°Î»µÄÄÚÈÝ¡£ £¨A£©°ÑAcc.3£¬Acc.4£¬Acc.5ºÍAcc.6Çå0¡£ ½â£ºANL A£¬#87H
£¨B£©°ÑÀÛ¼ÓÆ÷AµÄÖмä4λÇå0¡£ ½â£ºANL A£¬#C3H
£¨C£©Ê¹Acc.2ºÍAcc.3ÖÃ1¡£ ½â£ºORL A£¬#0CH 3.14¼Ù¶¨A=83H£¬£¨R0£©=17H£¬£¨17H£©=34H£¬Ö´ÐÐÒÔÏÂÖ¸Á ANL A£¬#17H ORL 17H£¬A XRL A£¬@R0 CPL A
ºó£¬AµÄÄÚÈÝΪ£¨0CBH£©
3.15¼ÙÉèA=55H£¬R3=0AAH£¬ÔÚÖ´ÐÐÖ¸ÁîºóANL A£¬R3ºó£¬A=£¨00H£©£¬R3=£¨0AAH£© 3.16Èç¹ûDPTR=507BH£¬SP=32H£¬£¨30H£©=50H£¬£¨31H£©=5FH£¬£¨32H£©=3CH£¬ÔòÖ´ÐÐÏÂÁÐÖ¸Áîºó£º POP DPH POP DPL POP SP
Ôò£ºDPH=£¨3CH£©DPL=£¨5FH£©SP=£¨4FH£©
3.17¼Ù¶¨SP=60H£¬A=30H£¬B=70H£¬Ö´ÐÐÏÂÁÐÖ¸Á PUSH A PUSH B
ºó£¬SPµÄÄÚÈÝΪ£¨62H£©£¬61Hµ¥ÔªµÄÄÚÈÝΪ£¨30H£©£¬62Hµ¥ÔªµÄÄÚÈÝΪ£¨70H£©¡£ 3.18½èÖú±¾ÊéÖеÄÖ¸Áî±í£º±í3-3~±í3-7¶ÔÈçϵÄÖ¸Áî´úÂ루16½øÖÆ£©½øÐÐÊÖ¹¤·´»ã±à¡£ FF C0 E0 E5 F0 F0 ½â£º²é±í¿ÉÖª FF MOV R7£¬A C0 E0 PUSH 0E0H E5 F0 MOV A£¬0F0H F0 MOVX @DPTR, A
µÚÎåÕÂ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 SETB EX1 AJMP MAIN SETB EA ORG 0013H HERE: AJMP HERE AJMP PINT1 PINT1: RETI ORG 0100H END MAIN: SETB IT1
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.14ijϵͳÓÐ3¸öÍⲿÖжÏÔ´1¡¢2¡¢3£¬µ±Ä³Ò»ÖжÏÔ´±äΪµÍµçƽʱ£¬±ãÒªÇóCPU½øÐд¦Àí£¬ËüÃǵÄÓÅÏÈ´¦Àí´ÎÐòÓɸߵ½µÍÒÀ´ÎΪ3¡¢2¡¢1£¬Öжϴ¦Àí³ÌÐòµÄÈë¿ÚµØÖ··Ö±ðΪ1000H£¬1100H£¬1200H¡£ÊÔ±àдÖ÷³ÌÐò¼°ÖжϷþÎñ³ÌÐò£¨×ªÖÁÏàÓ¦µÄÖжϴ¦Àí³ÌÐòµÄÈë¿Ú¼´¿É£©¡£ ORG 0000H PINTIR: POP A AJMP MAIN POP PSW ORG 0003H RETI LJMP PINT0 IR3: LJMP IR3INT ORG 0100H IR2: LJMP IR2INT MAIN: SETB IT0 IR1: LJMP IR1INT SETB EX0 ORG 1000H SETB EA IR3INT: LJMP PINTIR HERE: SJMP HERE ORG 1100H PINT0: PUSH PSW IR2INT: LJMP PINTIR PUSH A ORG 1200H JNB P1.3,IR3 IR1INT: LJMP PINTIR JNB P1.2,IR2 END JNB P1.1,IR1
µÚÁùÕÂMCS-51µÄ¶¨Ê±Æ÷/¼ÆÊýÆ÷
6.1Èç¹û²ÉÓõľ§ÕñµÄƵÂÊΪ3MHZ£¬¶¨Ê±Æ÷/¼ÆÊýÆ÷¹¤×÷ÔÚ·½Ê½0¡¢1¡¢2Ï£¬Æä×î´óµÄ¶¨Ê±Ê±¼ä¸÷Ϊ¶àÉÙ£¿
´ð£º·½Ê½0 213*4us=32.768 ·½Ê½1 216*4us=262.144 ·½Ê½2 28*4us=1.024
6.2¶¨Ê±Æ÷/¼ÆÊýÆ÷ÓÃ×÷¶¨Ê±Æ÷ʱ£¬Æä¼ÆÊýÂö³åÓÉËÌṩ£¿¶¨Ê±Ê±¼äÓëÄÄЩÒòËØÓйأ¿
´ð£º¶¨Ê±Æ÷/¼ÆÊýÆ÷±»Ñ¡¶¨Îª¶¨Ê±Æ÷¹¤×÷ģʽʱ£¬¼ÆÊýÊäÈëÐźÅÊÇÄÚ²¿Ê±ÖÓÂö³å£¬Ã¿¸ö»úÆ÷ÖÜÆÚ²úÉú1¸öÂö³åʹ¼ÆÊýÆ÷Ôö1£¬Òò´Ë£¬¶¨Ê±Æ÷/¼ÆÊýÆ÷µÄÊäÈëÂö³åµÄÖÜÆÚÓë»úÆ÷ÖÜÆÚÒ»Ñù£¬ÎªÊ±ÖÓÕñµ´ÆµÂʵÄ1/2¡£
6.3¶¨Ê±Æ÷/¼ÆÊýÆ÷×÷¼ÆÊýÆ÷ʹÓÃʱ£¬¶ÔÍâ½ç¼ÆÊýƵÂÊÓкÎÏÞÖÆ£¿
´ð£º¶¨Ê±Æ÷/¼ÆÊýÆ÷ÓÃ×÷¼ÆÊýÆ÷ʱ£¬¼ÆÊýÂö³åÀ´×ÔÏàÓ¦µÄÍⲿÊäÈëÒý½ÅT0»òT1¡£¶ÔÍâ½ç¼ÆÊýƵÂÊÒªÇóΪÆä×î¸ßƵÂÊΪϵͳÕñµ´ÆµÂʵÄ1/24¡£ 6.4²ÉÓö¨Ê±Æ÷/¼ÆÊýÆ÷T0¶ÔÍⲿÂö³å½øÐмÆÊý£¬Ã¿¼ÆÊý100¸öÂö³åºó£¬T0תΪ¶¨Ê±¹¤×÷·½Ê½¡£¶¨Ê±1msºó£¬ÓÖתΪ¼ÆÊý·½Ê½£¬Èç´ËÑ»·²»Ö¹¡£¼Ù¶¨MCS---51µ¥Æ¬»úµÄ¾§ÌåÕðµ´Æ÷µÄƵÂÊΪ6MHZ£¬ÇëʹÓ÷½Ê½1ʵÏÖ£¬ÒªÇó±àд³ö³ÌÐò¡£
ORG 0000H HERE: AJMP HERE AJMP MAIN PT0J: JB F0,PT0D ORG 000BH MOV TMOD,#01H;00000001 LJMP PT0J MOV TH0,#0FEH;X=65036 ORG 0100H MOV TL0,#0CH MAIN: MOV TMOD,#05H;00000001 SETB F0 MOV TH0,#0FFH;X=65436 RETI PT0D: CLR F0 MOV TL0,#9CH MOV TMOD,#05H CLR F0 MOV TH0,#0FFH SETB TR0 MOV TL0,#9CH SETB ET0 RETI SETB EA END
6.5¶¨Ê±Æ÷/¼ÆÊýÆ÷µÄ¹¤×÷·½Ê½2ÓÐÊ²Ã´ÌØµã£¿ÊÊÓÃÓÚÄÄЩӦÓó¡ºÏ£¿
´ð£º¹¤×÷·½Ê½2Ϊ×Ô¶¯»Ö¸´³õÖµµÄ£¨³õÖµ×Ô¶¯×°È룩8λ¶¨Ê±Æ÷/¼ÆÊýÆ÷£¬TLX×÷Ϊ³£Êý»º³åÆ÷£¬µ±TLX¼ÆÊýÒç³öʱ£¬ÔÚÖÃ1Òç³ö±êÖ¾TFXµÄͬʱ£¬»¹×Ô¶¯µÄ½«THXÖеijõÖµËÍÖÁTLX£¬Ê¹TLX´Ó³õÖµ¿ªÊ¼ÖØÐ¼ÆÊý£¨X=0£¬1£©¡£
6.6±àд³ÌÐò£¬ÒªÇóʹÓÃT0£¬²ÉÓ÷½Ê½2¶¨Ê±£¬ÔÚP1¡£0Êä³öÖÜÆÚΪ400΢Ã룬ռ¿Õ±ÈΪ1£º10µÄ¾ØÐÎÂö³å¡£ ORG 0000H SETB ET0 AJMP MAIN SETB EA ORG 000BH HERE: SJMP HERE AJMP PT0 PT0: CJNE R2,#09H,PT01 ORG 0100H SETB P1.0 MAIN: MOV R2,#00H MOV R2,#00H MOV TMOD,#02H RETI MOV TH0,#0ECH;X=236 PT01: CLR P1.0 MOV TL0,#0ECH INC R2 SETB P1.0 RETI SETB TR0 END 6.7Ò»¸ö¶¨Ê±Æ÷µÄ¶¨Ê±Ê±¼äÓÐÏÞ£¬ÈçºÎʵÏÖÁ½¸ö¶¨Ê±Æ÷µÄ´®Ðж¨Ê±£¬À´ÊµÏֽϳ¤Ê±¼äµÄ¶¨Ê±£¿ ´ð£ºµÚÒ»¸ö¶¨Ê±Òç³öÆô¶¯µÚ¶þ¸ö¶¨Ê±¼ÆÊý£¬ÊµÐд®Ðж¨Ê±
6.8µ±¶¨Ê±Æ÷T0ÓÃÓÚ·½Ê½3ʱ£¬Ó¦¸ÃÈçºÎ¿ØÖƶ¨Ê±Æ÷T1µÄÆô¶¯ºÍ¹Ø±Õ£¿ ´ð£º¿ØÖÆÐźÅC/TºÍM1 M0¡£
6.9¶¨Ê±Æ÷/¼ÆÊýÆ÷²âÁ¿Ä³ÕýÂö³åµÄ¿í¶È£¬²ÉÓúÎÖÖ·½Ê½¿ÉµÃµ½×î´óÁ¿³Ì£¿ÈôʱÖÓÆµÂÊΪ6MHZ£¬ÇóÔÊÐí²âÁ¿µÄ×î´óÂö³å¿í¶ÈÊǶàÉÙ£¿
´ð£ºÉÏÉýÑØ´Ó0¿ªÊ¼¼ÆÊý£¬¼ÆÂú»Øµ½Ï½µÑØ¡£×î´óÂö³å¿í¶ÈTw=131.072us 6.10±àдһ¶Î³ÌÐò£¬¹¦ÄÜÒªÇóΪ£ºµ±P1.0Òý½ÅµÄµçƽÕýÌø±äʱ£¬¶ÔP1.1µÄÊäÈëÂö³å½øÐмÆÊý£»µ±P1.2Òý½ÅµÄµçƽ¸ºÌø±äʱ£¬Í£Ö¹¼ÆÊý£¬²¢½«¼ÆÊýֵдÈëR0¡¢R1£¨¸ßλ´æR1£¬µÍλ´æR0£©¡£ ORG 0000H LJMP MAIN LOOP1: JB P1.0,LOOP1 MAIN: ORG 0100H LOOP2: JNB P1.0,LOOP2 MOV R0,#00H SETB TR0 MOV R1,#00H LOOP3: JNB P1.2,LOOP3 MOV TL0,#00H LOOP4: JB P1.2,LOOP4 MOV TH0,#00H CLR TR0
MOV R1,TH0 END MOV R0,TL0
6.11 THXÓëTLX£¨X=0£¬1£©ÊÇÆÕͨ¼Ä´æÆ÷»¹ÊǼÆÊýÆ÷£¿ÆäÄÚÈÝ¿ÉÒÔËæÊ±ÓÃÖ¸Áî¸ü¸ÄÂ𣿸ü¸ÄºóµÄÐÂÖµÊÇÁ¢¼´Ë¢Ð»¹Êǵȵ±Ç°¼ÆÊýÆ÷¼ÆÂúÖ®ºó²ÅÄܸüУ¿
´ð£ºTHXÓëTLX£¨X=0£¬1£©ÊǼÆÊýÆ÷,ÄÜÓÃÖ¸Áî¸ü¸Ä£»ÄÜÁ¢¼´Ë¢Ð¡£ 6.12ÅжÏÏÂÁÐ˵·¨ÊÇ·ñÕýÈ·£¿
£¨1£©ÌØÊ⹦ÄܼĴæÆ÷SCON£¬Ó붨ʱÆ÷/¼ÆÊýÆ÷µÄ¿ØÖÆÎ޹ء£ £¨¡Ì£© £¨2£©ÌØÊ⹦ÄܼĴæÆ÷TCON£¬Ó붨ʱÆ÷/¼ÆÊýÆ÷µÄ¿ØÖÆÎÞ¹Ø £¨¡Á£© £¨3£©ÌØÊ⹦ÄܼĴæÆ÷IE£¬Ó붨ʱÆ÷/¼ÆÊýÆ÷µÄ¿ØÖÆÎÞ¹Ø £¨¡Á£© £¨4£©ÌØÊ⹦ÄܼĴæÆ÷TMOD£¬Ó붨ʱÆ÷/¼ÆÊýÆ÷µÄ¿ØÖÆÎÞ¹Ø
£¨¡Á£©