MCS-51ÄÚ²¿³ÌÐò´æ´¢Æ÷
MCS-51µÄ³ÌÐò´æ´¢Æ÷ÓÃÓÚ´æ·Å±àºÃµÄ³ÌÐòºÍ±í¸ñ³£Êý¡£8051ƬÄÚÓÐ4 KBµÄROM£¬8751ƬÄÚÓÐ4 KBµÄEPROM£¬8031ƬÄÚÎÞ³ÌÐò´æ´¢Æ÷¡£ MCS-51µÄƬÍâ×î¶àÄÜÀ©Õ¹64 KB³ÌÐò´æ´¢Æ÷£¬Æ¬ÄÚÍâµÄROMÊÇͳһ±àÖ·µÄ¡£Èç¶Ë±£³Ö¸ßµçƽ£¬8051µÄ³ÌÐò¼ÆÊýÆ÷PCÔÚ0000H¡«0FFFHµØÖ··¶Î§ÄÚ (¼´Ç°4 KBµØÖ·) ÊÇÖ´ÐÐÆ¬ÄÚROMÖеijÌÐò£¬µ±PCÔÚ1000H¡«FFFFHµØÖ··¶Î§Ê±£¬×Ô¶¯Ö´ÐÐÆ¬Íâ³ÌÐò´æ´¢Æ÷ÖеijÌÐò£»µ±±£³ÖµÍµçƽʱ£¬Ö»ÄÜѰַÍⲿ³ÌÐò´æ´¢Æ÷£¬Æ¬Íâ´æ´¢Æ÷¿ÉÒÔ´Ó0000H¿ªÊ¼±àÖ·¡£
MCS-51µÄ³ÌÐò´æ´¢Æ÷ÖÐÓÐЩµ¥Ôª¾ßÓÐÌØÊ⹦ÄÜ£¬Ê¹ÓÃʱӦÓèÒÔ×¢Òâ¡£
ÆäÖÐÒ»×éÌØÊâµ¥ÔªÊÇ0000H¡«0002H¡£ÏµÍ³¸´Î»ºó£¬(PC)=0000H£¬µ¥Æ¬»ú´Ó0000Hµ¥Ôª¿ªÊ¼È¡Ö¸ÁîÖ´ÐгÌÐò¡£Èç¹û³ÌÐò²»´Ó0000Hµ¥Ôª¿ªÊ¼£¬Ó¦ÔÚÕâÈý¸öµ¥ÔªÖдæ·ÅÒ»ÌõÎÞÌõ¼þ×ªÒÆÖ¸ÁÒÔ±ãÖ±½ÓתȥִÐÐÖ¸¶¨µÄ³ÌÐò¡£
»¹ÓÐÒ»×éÌØÊâµ¥ÔªÊÇ0003H¡«002AH£¬¹²40¸öµ¥Ôª¡£Õâ40¸öµ¥Ôª±»¾ùÔȵطÖΪ5¶Î£¬×÷Ϊ5¸öÖжÏÔ´µÄÖжϵØÖ·Çø¡£ÆäÖУº
0003H¡«000AH ÍⲿÖжÏ0ÖжϵØÖ·Çø
000BH¡«0012H ¶¨Ê±/¼ÆÊýÆ÷0ÖжϵØÖ·Çø 0013H¡«001AH ÍⲿÖжÏ1ÖжϵØÖ·Çø 001BH¡«0022H ¶¨Ê±/¼ÆÊýÆ÷1ÖжϵØÖ·Çø 0023H¡«002AH ´®ÐÐÖжϵØÖ·Çø
ÖжÏÏìÓ¦ºó£¬°´ÖжÏÖÖÀ࣬×Ô¶¯×ªµ½¸÷ÖжÏÇøµÄÊ×µØÖ·È¥Ö´ÐгÌÐò£¬Òò´ËÔÚÖжϵØÖ·ÇøÖÐÀíÓ¦´æ·ÅÖжϷþÎñ³ÌÐò¡£µ«Í¨³£Çé¿öÏ£¬8¸öµ¥ÔªÄÑÒÔ´æÏÂÒ»¸öÍêÕûµÄÖжϷþÎñ³ÌÐò£¬Òò´Ëͨ³£Ò²ÊÇ´ÓÖжϵØÖ·ÇøÊ×µØÖ·¿ªÊ¼´æ·ÅÒ»ÌõÎÞÌõ¼þ×ªÒÆÖ¸ÁÒÔ±ãÖжÏÏìÓ¦ºó£¬Í¨¹ýÖжϵØÖ·Çø£¬ÔÙתµ½ÖжϷþÎñ³ÌÐòµÄʵ¼ÊÈë¿ÚµØÖ·¡£
MCS-51ÄÚ²¿Êý¾Ý´æ´¢Æ÷ ÄÚ²¿Êý¾Ý´æ´¢Æ÷µÍ128µ¥Ôª
8051µÄÄÚ²¿RAM¹²ÓÐ256¸öµ¥Ôª£¬Í¨³£°ÑÕâ256¸öµ¥Ôª°´Æä¹¦ÄÜ»®·ÖΪÁ½²¿·Ö£ºµÍ128µ¥Ôª£¨µ¥ÔªµØÖ·00H¡«7FH£©ºÍ¸ß128µ¥Ôª£¨µ¥ÔªµØÖ·80H¡«FFH£©¡£ÈçͼËùʾΪµÍ128µ¥ÔªµÄÅäÖÃͼ¡£ ¼Ä´æÆ÷Çø
8051¹²ÓÐ4×é¼Ä´æÆ÷£¬Ã¿×é8¸ö¼Ä´æµ¥Ôª£¨¸÷Ϊ8£©£¬¸÷×é¶¼ÒÔR0¡«R7×÷¼Ä´æµ¥Ôª±àºÅ¡£¼Ä´æÆ÷³£ÓÃÓÚ´æ·Å²Ù×÷ÊýÖмä½á¹ûµÈ¡£ÓÉÓÚËüÃǵŦÄܼ°Ê¹Óò»×÷Ô¤Ïȹ涨£¬Òò´Ë³ÆÖ®ÎªÍ¨ÓüĴæÆ÷£¬ÓÐʱҲ½Ð¹¤×÷¼Ä´æÆ÷¡£4×éͨÓüĴæÆ÷Õ¼¾ÝÄÚ²¿RAMµÄ00H¡«1FHµ¥ÔªµØÖ·¡£
ÔÚÈÎһʱ¿Ì£¬CPUÖ»ÄÜʹÓÃÆäÖеÄÒ»×é¼Ä´æÆ÷£¬²¢ÇÒ°ÑÕýÔÚʹÓõÄÄÇ×é¼Ä´æÆ÷³ÆÖ®Îªµ±Ç°¼Ä´æÆ÷×é¡£µ½µ×ÊÇÄÄÒ»×飬ÓɳÌÐò״̬×ּĴæÆ÷PSWÖÐRS1¡¢RS0λµÄ״̬×éºÏÀ´¾ö¶¨¡£
ͨÓüĴæÆ÷ΪCPUÌṩÁ˾ͽü´æ´¢Êý¾ÝµÄ±ãÀû£¬ÓÐÀûÓÚÌá¸ßµ¥Æ¬»úµÄÔËËãËÙ¶È¡£´Ë
Í⣬ʹÓÃͨÓüĴæÆ÷»¹ÄÜÌá¸ß³ÌÐò±àÖÆµÄÁé»îÐÔ£¬Òò´Ë£¬ÔÚµ¥Æ¬»úµÄÓ¦Óñà³ÌÖÐÓ¦³ä·ÖÀûÓÃÕâЩ¼Ä´æÆ÷£¬ÒÔ¼ò»¯³ÌÐòÉè¼Æ£¬Ìá¸ß³ÌÐòÔËÐÐËÙ¶È¡£
FFH F0H E0H D0H B8H B0H A8H A0H 98H 90H 88H 80H ÌØ Êâ ¹¦ ÄÜ ¼Ä ÌØÊ⹦ÄܼĴæÆ÷ÖÐλѰַ FFFFH
Íâ ²¿ RAM (I/O¿Ú µØÖ·) FFFFH
Íⲿ ROM
80H 7FH ´æ Æ÷ 30H 2FH 20H 1FH ͨÓà RAMÇø Î»Ñ°Ö·Çø ¹¤×÷¼Ä0FFFH
1000H
ÄÚ²¿ ROM
0FFFH
Íⲿ ROM
00H
´æÆ÷Çø ÄÚ²¿Êý¾Ý´æ´¢Æ÷
£¨a£©
0000H
ÍⲿÊý¾Ý´æ´¢Æ÷
£¨b£©
0000H (EA=1) 0000H (EA=0)
³ÌÐò´æ´¢Æ÷ £¨c£©
Î»Ñ°Ö·Çø
ÄÚ²¿RAMµÄ20H¡«2FHµ¥Ôª£¬¼È¿É×÷Ϊһ°ãRAMµ¥ÔªÊ¹Ó㬽øÐÐ×Ö½Ú²Ù×÷£¬Ò²¿ÉÒÔ¶Ôµ¥ÔªÖÐÿһλ½øÐÐλ²Ù×÷£¬Òò´Ë°Ñ¸ÃÇø³ÆÖ®ÎªÎ»Ñ°Ö·Çø¡£Î»Ñ°Ö·Çø¹²ÓÐ16¸öRAMµ¥Ôª£¬¼Æ128룬µØÖ·Îª00H¡«7FH¡£MCS-51¾ßÓв¼¶û´¦Àí»ú¹¦ÄÜ£¬Õâ¸öÎ»Ñ°Ö·Çø¿ÉÒÔ¹¹³É²¼¶û´¦Àí»úµÄ´æ´¢¿Õ¼ä¡£ÕâÖÖλѰַÄÜÁ¦ÊÇMCS-51µÄÒ»¸öÖØÒªÌØµã¡£
Óû§RAMÇø
ÔÚÄÚ²¿RAMµÍ128µ¥ÔªÖУ¬Í¨ÓüĴæÆ÷ռȥ32¸öµ¥Ôª£¬Î»Ñ°Ö·ÇøÕ¼È¥16¸öµ¥Ôª£¬Ê£ÏÂ80¸öµ¥Ôª£¬Õâ¾ÍÊǹ©Óû§Ê¹ÓõÄÒ»°ãRAMÇø£¬Æäµ¥ÔªµØÖ·Îª30H¡«7FH¡£¶ÔÓû§RAMÇøµÄʹÓÃûÓÐÈκι涨»òÏÞÖÆ£¬µ«ÔÚÒ»°ãÓ¦ÓÃÖг£°Ñ¶ÑÕ»¿ª±ÙÔÚ´ËÇøÖС£ ÄÚ²¿Êý¾Ý´æ´¢Æ÷¸ß128µ¥Ôª
ÄÚ²¿RAMµÄ¸ß128µ¥ÔªÊǹ©¸ø×¨ÓüĴæÆ÷ʹÓõģ¬Æäµ¥ÔªµØÖ·Îª80H¡«FFH¡£ÒòÕâЩ¼Ä´æÆ÷µÄ¹¦ÄÜÒÑ×÷רÃŹ涨£¬¹Ê³ÆÖ®Îª×¨ÓüĴæÆ÷£¨Special Function Register£©£¬Ò²¿É³ÆÎªÌØÊ⹦ÄܼĴæÆ÷¡£
µÚÎå½Ú ÌØÊ⹦ÄÜ´æ´¢Æ÷SFR
8051¹²ÓÐ21¸öרÓüĴæÆ÷£¬ÏÖ°ÑÆäÖв¿·Ö¼Ä´æÆ÷¼òµ¥½éÉÜÈçÏ£º
³ÌÐò¼ÆÊýÆ÷£¨PC¡ªProgram Counter£©¡£ÔÚʵѵÖУ¬ÎÒÃÇÒѾ֪µÀPCÊÇÒ»¸ö16λµÄ¼ÆÊýÆ÷£¬ËüµÄ×÷ÓÃÊÇ¿ØÖƳÌÐòµÄÖ´ÐÐ˳Ðò¡£ÆäÄÚÈÝΪ½«ÒªÖ´ÐÐÖ¸ÁîµÄµØÖ·£¬Ñ°Ö··¶Î§´ï64 KB¡£PCÓÐ×Ô¶¯¼Ó1¹¦ÄÜ£¬´Ó¶øÊµÏÖ³ÌÐòµÄ˳ÐòÖ´ÐС£PCûÓеØÖ·£¬ÊDz»¿ÉѰַµÄ£¬Òò´ËÓû§ÎÞ·¨¶ÔËü½øÐжÁд£¬µ«¿ÉÒÔͨ¹ý×ªÒÆ¡¢µ÷Óᢷµ»ØµÈÖ¸Áî¸Ä±äÆäÄÚÈÝ£¬ÒÔʵÏÖ³ÌÐòµÄ×ªÒÆ¡£ÒòµØÖ·²»ÔÚSFR£¨×¨ÓüĴæÆ÷£©Ö®ÄÚ£¬Ò»°ã²»¼Æ×÷רÓüĴæÆ÷¡£
ÀÛ¼ÓÆ÷£¨ACC¡ªAccumulator£©¡£ÀÛ¼ÓÆ÷Ϊ8λ¼Ä´æÆ÷£¬ÊÇ×î³£ÓõÄרÓüĴæÆ÷£¬¹¦Äܽ϶࣬µØÎ»ÖØÒª¡£Ëü¼È¿ÉÓÃÓÚ´æ·Å²Ù×÷Êý£¬Ò²¿ÉÓÃÀ´´æ·ÅÔËËãµÄÖмä½á¹û¡£MCS-51µ¥Æ¬»úÖд󲿷ֵ¥²Ù×÷ÊýÖ¸ÁîµÄ²Ù×÷Êý¾ÍÈ¡×ÔÀÛ¼ÓÆ÷£¬Ðí¶àË«²Ù×÷ÊýÖ¸ÁîÖеÄÒ»¸ö²Ù×÷ÊýҲȡ×ÔÀÛ¼ÓÆ÷¡£
B¼Ä´æÆ÷¡£B¼Ä´æÆ÷ÊÇÒ»¸ö8λ¼Ä´æÆ÷£¬Ö÷ÒªÓÃÓڳ˳ýÔËËã¡£³Ë·¨ÔËËãʱ£¬B´æ³ËÊý¡£³Ë·¨²Ù×÷ºó£¬³Ë»ýµÄ¸ß8λ´æÓÚBÖУ¬³ý·¨ÔËËãʱ£¬B´æ³ýÊý¡£³ý·¨²Ù×÷ºó£¬ÓàÊý´æÓÚBÖС£´ËÍ⣬B¼Ä´æÆ÷Ò²¿É×÷Ϊһ°ãÊý¾Ý¼Ä´æÆ÷ʹÓá£
³ÌÐò״̬×Ö£¨PSW¡ªProgram Status Word£©¡£³ÌÐò״̬×ÖÊÇÒ»¸ö8λ¼Ä´æÆ÷£¬ÓÃÓÚ´æ·Å³ÌÐòÔËÐÐÖеĸ÷ÖÖ״̬ÐÅÏ¢¡£ÆäÖÐÓÐЩλµÄ״̬ÊǸù¾Ý³ÌÐòÖ´Ðнá¹û£¬ÓÉÓ²¼þ×Ô¶¯ÉèÖõ쬶øÓÐЩλµÄ״̬ÔòʹÓÃÈí¼þ·½·¨É趨¡£PSWµÄλ״̬¿ÉÒÔÓÃרÃÅÖ¸Áî½øÐвâÊÔ£¬Ò²¿ÉÒÔÓÃÖ¸Áî¶Á³ö¡£Ò»Ð©Ìõ¼þ×ªÒÆÖ¸Á¸ù¾ÝPSWÓÐЩλµÄ״̬£¬½øÐгÌÐò×ªÒÆ¡£PSWµÄ¸÷붨ÒåÈçÏ£º
PSWλµØÖ·
×Ö½ÚµØÖ·
D7H D6H D5H F0
D4H RS1
D3H RS0
D2H OV
D1H F1
D0H P
CY AC
³ýPSW.1λ±£ÁôδÓÃÍ⣬ÆäÓà¸÷λµÄ¶¨Ò弰ʹÓÃÈçÏ£º
CY£¨PSW.7£©¡ª¡ª½øÎ»±ê־λ¡£CYÊÇPSWÖÐ×î³£Óõıê־λ¡£Æä¹¦ÄÜÓжþ£ºÒ»ÊÇ´æ·ÅËãÊõÔËËãµÄ½øÎ»±êÖ¾£¬ÔÚ½øÐмӻò¼õÔËËãʱ£¬Èç¹û²Ù×÷½á¹ûµÄ×î¸ßλÓнøÎ»»ò½èλʱ£¬CYÓÉÓ²¼þÖá°1¡±£¬·ñÔòÇå¡°0¡±£»¶þÊÇÔÚλ²Ù×÷ÖУ¬×÷ÀÛ¼ÓλʹÓá£Î»´«ËÍ¡¢Î»Óëλ»òµÈλ²Ù×÷£¬²Ù×÷λ֮һ¹Ì¶¨ÊǽøÎ»±ê־λ¡£
AC£¨PSW.6£©¡ª¡ª¸¨Öú½øÎ»±ê־λ¡£ÔÚ½øÐмӼõÔËËãÖУ¬µ±µÍ4λÏò¸ß4λ½øÎ»»ò½èλʱ£¬ACÓÉÓ²¼þÖá°1¡±£¬·ñÔòACλ±»Çå¡°0¡±¡£ÔÚBCDÂëµ÷ÕûÖÐÒ²ÒªÓõ½ACλ״̬¡£ F0£¨PSW.5£©¡ª¡ªÓû§±ê־λ¡£ÕâÊÇÒ»¸ö¹©Óû§¶¨ÒåµÄ±ê־룬ÐèÒªÀûÓÃÈí¼þ·½·¨ÖÃλ»ò
¸´Î»£¬ÓÃÒÔ¿ØÖƳÌÐòµÄתÏò¡£
RS1ºÍRS0£¨PSW.4£¬PSW.3£©¡ª¡ª¼Ä´æÆ÷×éÑ¡Ôñλ¡£ËüÃDZ»ÓÃÓÚÑ¡ÔñCPUµ±Ç°Ê¹ÓõÄͨÓüĴæÆ÷×顣ͨÓüĴæÆ÷¹²ÓÐ4×飬Æä¶ÔÓ¦¹ØÏµÈçÏ£º 00£º0×é 01£º1×é 10£º2×é 11£º3×é
ÕâÁ½¸öÑ¡ÔñλµÄ״̬ÊÇÓÉÈí¼þÉèÖõ쬱»Ñ¡ÖеļĴæÆ÷×鼴Ϊµ±Ç°Í¨ÓüĴæÆ÷×é¡£µ«µ±µ¥Æ¬»úÉϵç»ò¸´Î»ºó£¬RS1 RS0=00¡£
OV£¨PSW.2£©¡ª¡ªÒç³ö±ê־λ¡£ÔÚ´ø·ûºÅÊý¼Ó¼õÔËËãÖУ¬OV=1±íʾ¼Ó¼õÔËË㳬³öÁËÀÛ¼ÓÆ÷AËùÄܱíʾµÄ·ûºÅÊýÓÐЧ·¶Î§£¨-128 ¡« +127£©£¬¼´²úÉúÁËÒç³ö£¬Òò´ËÔËËã½á¹ûÊÇ´íÎóµÄ£¬·ñÔò£¬OV=0±íʾÔËËãÕýÈ·£¬¼´ÎÞÒç³ö²úÉú¡£
P£¨PSW.0£©¡ª¡ªÆæÅ¼±ê־λ¡£±íÃ÷ÀÛ¼ÓÆ÷AÖÐÄÚÈÝµÄÆæÅ¼ÐÔ¡£Èç¹ûAÖÐÓÐÆæÊý¸ö¡°1¡±£¬ÔòPÖá°1¡±£¬·ñÔòÖá°0¡±¡£·²ÊǸıäÀÛ¼ÓÆ÷AÖÐÄÚÈݵÄÖ¸Áî¾ù»áÓ°ÏìP±ê־λ¡£´Ë±ê־λ¶Ô´®ÐÐͨÐÅÖеÄÊý¾Ý´«ÊäÓÐÖØÒªµÄÒâÒå¡£ÔÚ´®ÐÐͨÐÅÖг£²ÉÓÃÆæÅ¼Ð£ÑéµÄ°ì·¨À´Ð£ÑéÊý¾Ý´«ÊäµÄ¿É¿¿ÐÔ¡£
Êý¾ÝÖ¸Õ루DPTR£©¡£Êý¾ÝÖ¸ÕëΪ16λ¼Ä´æÆ÷¡£±à³Ìʱ£¬DPTR¼È¿ÉÒÔ°´16λ¼Ä´æÆ÷ʹÓã¬Ò²¿ÉÒÔ°´Á½¸ö8λ¼Ä´æÆ÷·Ö¿ªÊ¹Ó㬼´£ºDPH DPTR¸ßλ×Ö½Ú£¬DPL DPTRµÍλ×Ö½Ú¡£DPTRͨ³£ÔÚ·ÃÎÊÍⲿÊý¾Ý´æ´¢Æ÷ʱ×÷µØÖ·Ö¸ÕëʹÓá£ÓÉÓÚÍⲿÊý¾Ý´æ´¢Æ÷µÄѰַ·¶Î§Îª64 KB£¬¹Ê°ÑDPTRÉè¼ÆÎª16λ¡£
¶ÑÕ»Ö¸Õ루SP¡ªStack Pointer£©¡£¶ÑÕ»ÊÇÒ»¸öÌØÊâµÄ´æ´¢Çø£¬ÓÃÀ´ÔÝ´æÊý¾ÝºÍµØÖ·£¬ËüÊǰ´¡°ÏȽøºó³ö¡±µÄÔÔò´æÈ¡Êý¾ÝµÄ¡£¶ÑÕ»¹²ÓÐÁ½ÖÖ²Ù×÷£º½øÕ»ºÍ³öÕ»¡£ÓÉÓÚMCS-51µ¥Æ¬»úµÄ¶ÑÕ»ÉèÔÚÄÚ²¿RAMÖУ¬Òò´ËSPÊÇÒ»¸ö8λ¼Ä´æÆ÷¡£ÏµÍ³¸´Î»ºó£¬SPµÄÄÚÈÝΪ07H£¬´Ó¶ø¸´Î»ºó¶Ñջʵ¼ÊÉÏÊÇ´Ó08Hµ¥Ôª¿ªÊ¼µÄ¡£µ«08H¡«1FHµ¥Ôª·Ö±ðÊôÓÚ¹¤×÷¼Ä´æÆ÷1¡«3Çø£¬Èç³ÌÐòÒªÓõ½ÕâÐ©Çø£¬×îºÃ°ÑSPÖµ¸ÄΪ1FH»ò¸ü´óµÄÖµ¡£
¶ÔרÓüĴæÆ÷µÄ×Ö½ÚѰַÎÊÌâ×÷Èçϼ¸µã˵Ã÷£º
(1)21¸ö¿É×Ö½ÚѰַµÄרÓüĴæÆ÷ÊDz»Á¬ÐøµØ·ÖÉ¢ÔÚÄÚ²¿RAM¸ß128µ¥ÔªÖ®ÖУ¬¾¡¹Ü»¹ÓàÓÐÐí¶à¿ÕÏеØÖ·£¬µ«Óû§²¢²»ÄÜʹÓá£
(2) ³ÌÐò¼ÆÊýÆ÷PC²»Õ¼¾ÝRAMµ¥Ôª£¬ËüÔÚÎïÀíÉÏÊǶÀÁ¢µÄ£¬Òò´ËÊDz»¿ÉѰַµÄ¼Ä´æÆ÷¡£
(3) ¶ÔרÓüĴæÆ÷Ö»ÄÜʹÓÃÖ±½ÓѰַ·½Ê½£¬Êéдʱ¼È¿ÉʹÓüĴæÆ÷·ûºÅ£¬Ò²¿ÉʹÓüĴæÆ÷¡£
µÚÁù½Ú ÊäÈëÊä³ö¶Ë¿Ú
µ¥Æ¬»úоƬÄÚ»¹ÓÐÒ»ÏîÖ÷ÒªÄÚÈݾÍÊDz¢ÐÐI/O¿Ú¡£MCS-51¹²ÓÐ4¸ö8λµÄ²¢ÐÐI/O¿Ú£¬·Ö±ð¼Ç×÷P0¡¢P1¡¢P2¡¢P3¡£Ã¿¸ö¿Ú¶¼°üº¬Ò»¸öËø´æÆ÷¡¢Ò»¸öÊä³öÇý¶¯Æ÷ºÍÊäÈ뻺³å

