




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第 2章 增强型MCS-51单片机结构 第 2章 增强型MCS-51单片机结构 2.1 内部结构和引脚功能内部结构和引脚功能 2.2 输入输入/输出输出(I/O)口口2.3 存储器系统存储器系统2.4 MCS-51外部存储器的连接外部存储器的连接2.5 操作时序操作时序2.6 复位及复位电路复位及复位电路 2.7 节电运行状态和掉电运行状态节电运行状态和掉电运行状态 第 2章 增强型MCS-51单片机结构 1. 增强型增强型MCS-51单片机主要特征单片机主要特征 1996年3月Intel公司推出了增强型MCS-51内核的8XC5X(包括80C52、80C54、80C58、87C52、87C5
2、4、87C58、80C32等型号)系列单片机芯片,标志着增强型MCS-51内核8位单片机时代的开始,也意味着标准MCS-51内核8位单片机时代的终结,此后不久Intel、Philips等公司不再生产标准MCS-51内核的8位单片机芯片(如8051/8052、8751/8752、8031/32等型号)。与标准MCS-51内核芯片相比,增强型MCS-51内核单片机芯片具有如下特征: 第 2章 增强型MCS-51单片机结构 (1) 与标准MCS-51保持100%兼容,即可以使用增强型MCS-51芯片替换相应型号的标准MCS-51芯片,如用80C32取代8031/2、用87C51/2取代8751/2。
3、 (2) 片内集成了3个16位定时/计数器,其中T0、T1的功能与标准MCS-51系列相同;T2除了保留标准MCS-52子系列中定时/计数器T2功能外,还增加了向下计数和时钟输出功能。 (3) 采用增强型全双工串行口,即增强型MCS-51串行口除了具有标准MCS-51串行口功能外,还具有帧错误侦测和自动地址识别功能。 (4) Philips、Temic Seconductor Technology公司的8XC5X、8XC5XX2芯片具有双数据指针DPTR(为此增加了辅助功能寄存器AUXR1),方便了外部RAM不同存储单元之间的数据传送。 第 2章 增强型MCS-51单片机结构 (5) 为了降低
4、电磁辐射,允许关闭地址锁存信号ALE。为此,增加了辅助功能寄存器AUXR。 (6) 扩展了中断控制器功能,可以管理具有4个中断优先级的6个中断源。为此,增加了高8位中断优先级控制寄存器IPH。 (7) 普遍采用CHMOS工艺,工作电压低、范围宽(1.8 V6.0 V),可用电池供电,方便了野外作业使用。 (8) 改进了电源管理功能,即允许通过外部中断方式唤醒掉电模式。 (9) 提高了时钟频率,标准MCS-51最高时钟频率为12MHz,而增强型MCS-51最高时钟频率可达33 MHz。 (10) 片内程序存储器以TOP ROM和Flash ROM为主。 第 2章 增强型MCS-51单片机结构 2
5、. 增强型增强型MCS-51内核主流芯片内核主流芯片 表2-1 增强型MCS-51主流芯片性能指标 第 2章 增强型MCS-51单片机结构 表2-1 增强型MCS-51主流芯片性能指标 第 2章 增强型MCS-51单片机结构 2.1 内部结构和引脚功能内部结构和引脚功能 2.1.1 内部结构内部结构P0口驱动器P0.0P0.7P0锁存器RAMRAM地址寄存器寄存器B累加器Acc暂存器1暂存器2ALUP2锁存器P2口驱动器P2.0P2.7特殊功能寄存器组堆栈指针SP片内程序存储器PSW定时/计数及控制指令寄存器振荡器PDRSTPSENP / ALEPPV / EAXTAL1XTAL2P1口驱动器
6、P1.0P1.7P1锁存器P3锁存器P3口驱动器P3.0P3.7程序地址寄存器缓冲器PC加1PC数据指针DPTR8168VCCVSSIR图2-1 增强型MCS-51 CPU内部结构 第 2章 增强型MCS-51单片机结构 2.1.2 引脚功能引脚功能 图图2-2 增强型增强型MCS-51 CPU常常见封装形式引脚见封装形式引脚排列排列(a) DIP封装;封装;(b) PLCC封装;封装;(c) PQFP封装封装 1P1.0P1.12P1.23P1.34P1.45P1.56P1.67P1.78RESET9RXD / P3.010TXD / P3.1111213T0 / P3.414T1 / P3
7、.5151617X218X119GND20P3.2 /INT0P3.3 /INT1P3.6 /WRP3.7 /RD40VCCP0.039P0.138P0.237P0.336P0.435P0.534P0.633323130292827262524232221P0.7PPV /EAP / ALEPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0标准MCS -51芯片(8051 / 8751)PDIP40或CDIP40封装引脚排列1P1.0 / T2P1.1 / T2EX2P1.23P1.34P1.45P1.56P1.67P1.78RESET9RXD / P3.010TXD /
8、 P3.1111213T0 / P3.414T1 / P3.5151617X218X119GND20P3.2 /INT0P3.3 /INT1P3.6 /WRP3.7 /RD40VCCP0.039P0.138P0.237P0.336P0.435P0.534P0.633323130292827262524232221P0.7VP /EAP / ALEPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0增强型MCS-51(8XC51系列)芯片PDIP40或CDIP40封装引脚排列(a)Pin123456789101112131415FunctionNIC*P1.0 / T2P1.
9、1 / T2EXP1.2P1.3P1.4P1.5P1.6P1.7RSTP3.0 / RxDNIC*P3.1 / TxDINT0 /P3.2INT1 /P3.3* NIC表示内部没有连接的空脚Pin161718192021222324252627282930FunctionP3.4 / T0XTAL2XTAL1VSSNIC*P2.0 / A8P2.1 / A9P2.2 / A10WR /P3.6RD /P3.7Pin3132333435363738394041424344FunctionP2.7 / A15ALENIC*P0.7 / AD7P3.5 / T1P2.3 / A11P2.4 / A1
10、2P2.5 / A13P2.6 / A14P0.6 / AD6P0.5 / AD5P0.4 / AD4P0.3 / AD3P0.2 / AD2P0.1 / AD1P0.0 / AD0VCCPSENPPV / EA(b)Pin123456789101112131415FunctionP1.5P1.6P1.7RSTP3.0 / RxDNIC*P3.4 / T0P3.1 / TxDWR /P3.6Pin161718192021222324252627282930FunctionVSSP2.0 / A8P2.1 / A9P2.2 / A10Pin3132333435363738394041424344
11、FunctionALENIC*P0.7 / AD7NIC*P2.3 / A11P2.4 / A12P2.5 / A13P2.6 / A14P0.6 / AD6P0.5 / AD5P0.4 / AD4P0.3 / AD3P0.2 / AD2P0.1 / AD1P0.0 / AD0VCCPPV / EA(c)INT0 /P3.2INT1 /P3.3P3.5 / T1RD /P3.7XTAL2XTAL1P2.7 / A15PSENNIC*P1.0 / T2P1.1 / T2EXP1.2P1.3P1.4PQFP122211144343323LCC717182829396140第 2章 增强型MCS-5
12、1单片机结构 图2-3 增强型MCS-51 CPU引脚逻辑符号 VCCVSSRDWRT1PORT 0数据/地址总线PORT 1T2T2EXPORT 2高8位地址总线PORT 3T0INT1INT0TxDRxDRSTPPV / EAPSENPROG / ALEXTAL2XTAL1第 2章 增强型MCS-51单片机结构 表表2-2 引脚功能引脚功能 第 2章 增强型MCS-51单片机结构 表表2-2 引脚功能引脚功能 第 2章 增强型MCS-51单片机结构 表表2-2 引脚功能引脚功能 第 2章 增强型MCS-51单片机结构 图2-4 增强型MCS-51振荡电路及连接 5-30 pFC2C1晶体振
13、荡器XTAL2XTAL1内部电阻内部电阻接片内时钟电路与非门APD内部电阻第 2章 增强型MCS-51单片机结构 2.2 输入输入/输出(输出(I/O)口)口 图2-5 MCS-51 I/O口等效电路(a) P1口;(b) P0口;(c) P2口;(d) P3口 三态门读锁存器DQCLKQP1.X脚锁存器内部总线写锁存器读引脚三态门V2VCC上拉电阻P1.X引脚(a)三态门读锁存器DQCLKQP0.X脚锁存器内部总线写锁存器读引脚三态门V2VCCP0.X引脚(b)地址/数据与门V1控制信号(0/1)多路开关三态门读锁存器DQCLKQP2.X脚锁存器内部总线写锁存器读引脚三态门V2VCCP2.X
14、引脚(c)地址A15A8控制信号(0/1)多路开关上拉电阻三态门读锁存器DQCLKQP3.X脚锁存器内部总线写锁存器读引脚三态门V2VCCP3.X引脚(d)第二功能输出第二功能输入上拉电阻与非门第 2章 增强型MCS-51单片机结构 2.2.1 P1口内部结构及使用口内部结构及使用 图2-6 P1.X作为输入引脚的示意图 MCS51P1.X(输入)输入低电平RCVCCNPNRb第 2章 增强型MCS-51单片机结构 图2-7 驱动三极管基极时I/O引脚被钳位 MCS-51P1.X(输出)RCVCC第 2章 增强型MCS-51单片机结构 2.2.2 P0口内部结构及使用口内部结构及使用 1作为作
15、为I/O端口时端口时 P0口作为I/O端口使用时,多路开关“控制”信号为“0”(低电平),与门输出低电平,V1管截止,同时多路开关转向锁存器反相输出端。输出时,写锁存器脉冲CLK有效,输出信号经内部总线锁存器输入端D反相输出端多路开关V2 栅极V2漏极到输出端。由于V1管截止,所以作为输出口时,P0口是漏极开路输出,类似于OC门,当驱动拉电流负载时,需要外接上拉电阻,P0口带有锁存器,因此具有输出锁存功能。P0作为输入口时,与P1口类似,也必须先执行写端口指令,如:SETB P0.X或MOV P0,#0FFH将P0口锁存器置“1”,端输出低电平,使V2管截止(这时V1、V2均截止,P0.X引脚
16、悬空),否则P0.X引脚也有可能被钳位在低电平状态。在读引脚信号作用下,输入信息经P0.X引脚读引脚三态门电路到内部总线。第 2章 增强型MCS-51单片机结构 2. 作为地址作为地址/数据总线时数据总线时 在访问外部存储器时,P0口作为地址/数据总线使用, 这时多路开关“控制”信号为“1”,与门解锁,与门输出信号电平由“地址/数据”线信号决定;同时多路开关与反相器的输出端相连,地址信号经“地址/数据”线反相器V2栅极V2 漏极输出,例如地址信号为“0”,与门输出低电平,V1管截止;反相器输出高电平,V2管导通,输出引脚的地址信号为低电平。反之,地址信号为“1”, 与门输出高电平,V1管导通;
17、反相器输出低电平,V2管截止,输出引脚的地址信号为高电平。可见,在输出“地址/数据”信息时,V1、V2交替导通,负载能力很强, 可以直接与存储器地址线相连,无需增加总线驱动器。 第 2章 增强型MCS-51单片机结构 同时P0口又作为数据总线使用,在访问外部程序存储器时,P0口输出低8 位地址信息后,将变为数据总线,以便读指令码(输入)。在取指令期间,“控制”信号为“0”,V1管截止,多路开关也跟着转向锁存器反相输出端;同时,CPU 自动将0FFH写入P0口锁存器,使V2管截止,在读引脚信号控制下,通过读引脚三态门电路将指令码读到内部总线。 如果该指令是输出数据,如“MOVX DPTR,A”(
18、将累加器A内容通过P0口数据总线传送到外部RAM中),则多路开关“控制”信号为“1”,与门解锁, 与输出地址信号类似,数据由“地址/数据”线反相器V2栅极V2漏极输出。 第 2章 增强型MCS-51单片机结构 如果该指令是输入数据(读外部数据存储器或程序存储器),如“MOVX A,DPTR”(将外部RAM某一存储单元内容通过P0口数据总线输入到累加器A中),则输入的数据仍通过读引脚三态门到内部总线,其过程类似于读指令码。 通过以上分析,可以看出当P0口作为地址/数据总线使用时, 在读指令码或输入数据前,CPU自动向P0口锁存器写入0FFH,破坏了P0口原来的状态。因此, 不能再作为通用I/O端
19、口,这点在系统硬件设计时务必注意,即程序中不能再含有以P0 口作为操作数(包括源操作数和目的操作数)的指令。 第 2章 增强型MCS-51单片机结构 2.2.3 P2口内部结构及使用口内部结构及使用 1. 作为作为I/O端口时端口时 没有外部程序存储器或虽然有外部数据存储器,但容量不大于256字节,不需要高8位地址时(在这种情况下,不能通过数据地址寄存器DPTR读写外部数据存储器),P2口可以作为I/O端口使用。这时,“控制”信号为“0”,多路开关转向锁存器同相输出端Q,输出信号经内部总线锁存器输出端Q反相器V2管栅极V2管漏极输出。由于V2管漏极带有上拉电阻,可以提供一定的上拉电流,负载能力
20、约为4个TTL与非门;作为输入口前,同样需要向锁存器写入“1”,使反相器输出低电平,V2管截止,即引脚悬空时为高电平,防止引脚被钳位在低电平。读引脚信号有效后,输入信息经读引脚三态门电路到内部数据总线。 第 2章 增强型MCS-51单片机结构 2. 作为地址总线时作为地址总线时 P2口作为地址总线时,“控制”信号为“1”,多路开关转向“地址”线,地址信息经反相器V2管栅极漏极输出。由于P2口输出高8位地址,与P0口不同,无需分时使用,因此P2口上的地址信息(程序存储器的A15A8)或数据地址寄存器高8位DPH保存时间长,无需锁存,关于这点可参看如图2-19所示的外部存储器读写时序。 第 2章
21、增强型MCS-51单片机结构 2.2.4 P3口内部结构及使用口内部结构及使用 P3口内部结构如图2-5(d)所示,不过P3口是个多功能口,它除了可以作为一般的I/O口外,还具有第二功能,如表2-2所示。 作为I/O口时,第二功能输出控制信号为高电平,与非门等效为一个反相器,与P2 口情况类似。此外,作为第二功能输出时,CPU会自动向锁存器写入“1”,打开与非门,这时与非门同样等效于一个反相器,第二功能输出信号经与非门V2管的栅极漏极P3.X引脚;作为第二功能输入时,“第二功能输出”控制端、锁存器输出端均为“1”, 与非门输出低电平,V2管截止,输入信号经引脚缓冲器第二功能输入。 第 2章 增
22、强型MCS-51单片机结构 2.2.5 I/O口负载能力口负载能力 图2-8 P1P3口驱动三极管电路 8XC5X CPUP1.XRCVCCV(a)8XC5X CPUP1.XRCVCCV(b)8XC5X CPUP1.XReVCCV(c)RbRb4.3 k9.1 k第 2章 增强型MCS-51单片机结构 2.2.6 读锁存器和读引脚指令读锁存器和读引脚指令 当把P0P3口作为输入引脚使用时,以I/O口作为源操作数的数据传送指令、算术及逻辑运算指令、位测试转移指令等属于读引脚指令,如: MOVC, P1.0; 将P1.0引脚信号读到位累加器C中 MOVA, P1; 将P1口的P1.0P1.7引脚信
23、号读到 累加器A中第 2章 增强型MCS-51单片机结构 ANLA, P1 ; 将P1口的P1.0P1.7引脚信号与累加器A相与ADDA, P1; 将P1口的P1.0P1.7引脚信号与累加器A相加JBP1.0, LOOP; P1.0引脚信号为1,则转移JNB P1.0, LOOP ; P1.0引脚信号为0,则转移而所有的“读改写”指令均读I/O口锁存器,如:JBC P1.0 , LOOP ; P1.0锁存器为1转移,且将P1.0锁存器 清零DEC P1INC P1 CPL P1.0 第 2章 增强型MCS-51单片机结构 2.3 存储器系统存储器系统 图图2-9 8XC5X/8XC5XX2系列
24、单片机存储器结构系列单片机存储器结构 外部ROM外部ROMFFFFH0000H0EA 片内ROM4 KB32 KB1EA 低128字节内部RAM00H高128字节内部RAM7FH80HFFH特殊功能寄存器0000H外部数据存储器空间FFFFH(a)外部ROM外部ROM4 KBFFFFH0000H0EA 片内ROM4 KB1EA 00H7FH80HFFH特殊功能寄存器0000H外部数据存储器空间FFFFH(b)1000H0FFFH内部RAM第 2章 增强型MCS-51单片机结构 在8XC32/8XC52/54/58系列中,尽管高128字节内部RAM地址空间与特殊功能寄存器地址空间重叠,但使用不同
25、寻址方式访问,也不会造成混乱,例如: MOV R0, #90H MOV R0,A ; 把累加器A内容送内部RAM 90H单元。MCS-51规定,对于高128 ; 字节内部RAM只能用寄存器间接寻址方式访问 MOV 90H,A ; 把累加器A内容送地址为90H的特殊功能寄存器(即P1口)。MCS-51 ; 规定特殊功能寄存器只能用直接寻址方式读写 第 2章 增强型MCS-51单片机结构 2.3.1 程序存储器程序存储器 对于带有片内ROM的MCS-51系列单片机来说,片内程序存储器和外部程序存储器地址空间重叠。如果 /VPP引脚为高电平,且程序计数器PC小于等于片内ROM的地址空间时,将从片内程
26、序存储器取指令(在这种情况下,信号无效);而当PC超出片内ROM地址空间时,自动到外部程序存储器取指令, 即在P0口输出低8位地址(A0A7),在P2口输出高8位地址(A15A8)。当/VPP引脚为低电平时,一律从外部程序存储器取指令。因此对于不带ROM或EPROM的80C31、80C32 CPU来说,/VPP引脚一律接地。 EA第 2章 增强型MCS-51单片机结构 增强型MCS-51系列单片机保留给系统使用的程序存储器地址空间如下:系统复位0000H外部中断0()服务程序入口地址0003H定时器0中断服务程序入口地址000BH外部中断1()服务程序入口地址0013H定时器1中断服务程序入口
27、地址001BH串行口中断服务程序入口地址0023H定时器2中断服务程序入口地址002BH 第 2章 增强型MCS-51单片机结构 复位后,程序计数器PC为0000H,即从程序存储器的0000H单元读出第一条指令,因此可在0000H单元内放置一条跳转指令,如LJMP XXXX(XXXX表示主程序入口地址)。由于系统给每一中断服务程序预留了8个字节,因此,用户主程序一般存放在0033H单元以后,如:ORG 0000H;用伪指令ORG指示随后的指令码从0000H单元开 始存放LJMP Main;在0000H单元放一条长跳转指令,共3个字节ORG 0003HLJMP INT0;跳到外中断服务程序的入口
28、地址;其他中断入口地址初始化ORG 50H ;主程序代码从50H单元开始存放 Main:;Main是主程序入口地址标号 第 2章 增强型MCS-51单片机结构 2.3.2 片内数据存储器片内数据存储器 1. 片内片内RAM 8XC51、8XC31芯片内部RAM容量为128字节,根据用途可划分为工作寄存器区、位寻址区和用户数据存储器区(可作用户RAM和堆栈区),如表2-3所示;对于8XC52/54/58芯片来说,内部RAM的容量为256字节,除了低128字节内部RAM外,还具有高128 字节(80HFFH)内部RAM,可作为内部用户数据存储区和堆栈区,即8XC52/54/58芯片内部用户RAM的
29、容量多了128字节。但由于高128字节RAM的地址编码与特殊功能寄存器重叠,因此,只能通过寄存器间接寻址方式读写。 第 2章 增强型MCS-51单片机结构 表表2-3 内部内部RAM地址空间地址空间 字节地址高128字节内部RAMFFH80H用户RAM和堆栈区7FH30H第 2章 增强型MCS-51单片机结构 续表 第 2章 增强型MCS-51单片机结构 2. 特殊功能寄存器特殊功能寄存器 由于单片机内集成了一些常用的I/O接口电路,如并行I/O端口、串行口、定时器/计数器、中断控制器等,因此这些I/O接口单元电路内的寄存器也就位于CPU内部, 统称为特殊功能寄存器(SFR,即Special
30、Function Registers)。 MCS-51 CPU与通用微处理不同,除了给I/O接口电路寄存器,如定时/计数器控制寄存器TCON分配字节地址外,CPU内的寄存器也有字节地址,如累加器Acc字节为0E0H。增强型MCS-51系列单片机内共有27个特殊功能寄存器,其地址分散在80HFFH之间,如表2-4所示。 第 2章 增强型MCS-51单片机结构 表2-4 特殊功能寄存器地址映象 第 2章 增强型MCS-51单片机结构 表2-4 特殊功能寄存器地址映象 第 2章 增强型MCS-51单片机结构 表2-4 特殊功能寄存器地址映象 第 2章 增强型MCS-51单片机结构 1) 累加器Acc
31、 CPU内部特有的寄存器, 常用于存放参加算术或逻辑运算的两个操作数中的一个及运算结果,即用于存放目的操作数,例如: ADD A,30H ;在指令中,累加器Acc常简写为“A” 该指令的含义是以累加器Acc内容作为被加数,加数存放在内部RAM的30H单元中,相加后的结果,即和再存放到累加器Acc中。 由于早期的CPU没有乘法运算功能,乘法运算需要通过多次加法运算实现, 而在多次加法运算中,寄存器Acc总是存放中间结果,即起了累加功能, 因此也就用“累加器”来称呼该寄存器。 第 2章 增强型MCS-51单片机结构 2) B寄存器 B寄存器也是CPU内特有的一个寄存器,主要用于乘法和除法运算。在乘
32、法运算中,被乘数放在累加器Acc中,乘数放在B寄存器中,积的高8位存放B寄存器中,低8位放在累加器Acc中,如: MUL AB ; BAAB 在除法运算中,被除数放在累加器Acc中,除数放在B寄存器中。运算后,商放在累加器Acc中,而余数放在B寄存器中。 第 2章 增强型MCS-51单片机结构 3) 程序状态字寄存器PSW 程序状态字寄存器有时也称为“标志寄存器”,由一些标志位组成,用于存放指令运行的状态,MCS-51中PSW寄存器各位含义如下: b7b6b5b4b3b2b1b0CyACF0RS1RS0OV-P Cy:进位标志。在进行加法运算时,当最高位即b7位有进位,或执行减法运算最高位有借
33、位时,Cy为1;反之为0。 第 2章 增强型MCS-51单片机结构 AC:辅助进位标志。在进行加法运算时,当b3位有进位,或执行减法运算b3位有借位时,AC为1,反之为0。设置辅助进位标志AC的目的是为了便于BCD码加法、减法运算的调正。 OV: 溢出标志。在计算机内,带符号数一律用补码表示。在8位二进制中,补码所能表示的范围是-128+127,而当运算结果超出这一范围时,OV 标志为1,即溢出;反之为0。 P: 奇偶标志。该标志位始终体现累加器Acc中“1”的个数的奇偶性。 如果累加器Acc中“1”的个数为奇数,则P位置1;当累加器A中“1”的个数为偶数(包括 0个)时,P位为“0”,即MC
34、S-51采用奇校验方式。 第 2章 增强型MCS-51单片机结构 【例2.1】 分析执行如下指令后,PSW寄存器各标志位的值。 MOV A,#10101101B ; 把立即数0ADH传送到累加器A中, 由于立即数0ADH 中共; 有5个“1”,因此该指令执行后,奇偶 标志位P为“1”ADD A,#01111101B ; 0ADH与7DH相加,结果存放在A中 1 0 1 0 1 1 0 1 ; 173(无符号数);-83(带符号数)+ 0 1 1 1 1 1 0 1 ; 125(无符号数);+125(带符号数) 1 0 0 1 0 1 0 1 0 ; 作为无符号数时,和为12AH(由于结 果超出
35、FFH,前面的“1” ; 自然丢失,寄存器A的内容为2AH), 即298;作为有符号数时, ; 和为2AH,即42 第 2章 增强型MCS-51单片机结构 【例2.2】 分析执行如下指令后,PSW寄存器各标志位的值。MOV A,#10101101B; 把立即数0ADH传送到累加器A中,由于立 即数0ADH 中共; 有5个“1”,因此该指令执行后,奇偶标志 位P为“1”ADD A,#10011101B; 0ADH与9DH相加,结果存放在A中 1 0 1 0 1 1 0 1 ; 173(无符号数);-83(带符号数) + 1 0 0 1 1 1 0 1 ; 157(无符号数);-99(带符号数)
36、1 0 1 0 0 1 0 1 0 ; 作为无符号数时,和为14AH(由于结果超出 FFH,前面的“1”; 自然丢失,寄存器A内容为4AH),即330; 作为有符号数时,; 和为-182 第 2章 增强型MCS-51单片机结构 由于b7位向前进位,因此Cy为“1”;b3位也有进位,AC位也为“1”;而作为带符号数时,结果为4AH,即+74,显然不对,因为两个负数相加结果为正数是不可能的。之所以出错,是因为-83加-99的结果为-182,超出-128+127。因此,OV标志位为“1”。 两个同号数相加,结果可能溢出,而当OV标志位为“1”时,说明存放在目的操作数中的结果不正确。 不难发现:两个同
37、号数相加,结果可能溢出;两个异号数相加,结果肯定不会溢出。两个同号数相减,结果肯定不会溢出;而两个异号数相减,结果可能溢出。而当溢出标志OV为1时,结果不正确。 第 2章 增强型MCS-51单片机结构 RS1、RS0:工作寄存器组选择位,前面已介绍过。 F0:用户标志位,可通过位操作指令将该位置1或0。 PSW.1:保留位。 在计算机中, 对于没有定义的位或字节,我们必须注意是否存在物理存储单元与之对应。当存在物理存储单元与之对应时,用户就可以读写。而没有相应物理存储单元与之对应时, 则不能使用,否则读操作结果将不确定,而写入的数据将丢失,如特殊功能寄存器地址映象空间内80HFFH中,许多单元
38、并没有相应的物理存储器。 第 2章 增强型MCS-51单片机结构 4) 堆栈指针SP 在计算机内,需要一块具有“先进后出”(First In Last Out,简称FILO)特性的存储区,用于存放子程序调用(包括中断响应)时程序计数器PC的当前值,以及需要保存的CPU内各寄存器的值(即现场),以便子程序或中断服务程序执行结束后能正确返回主程序。这一存储区称为堆栈区。为了正确存取堆栈区内的数据,需要一个寄存器来指示最后进入堆栈的数据所在存储单元的地址,堆栈指针SP寄存器就是为此设计的。 在增强型MCS-51系列单片机中,SP可以指向内部RAM中任一单元,且堆栈向上生长,即将数据压入堆栈后,SP寄
39、存器内容增大。假设SP当前值为2FH,则入堆指令“PUSH B”(将寄存器B内容压入堆栈)的执行过程如图2-10所示。 第 2章 增强型MCS-51单片机结构 图2-10 “PUSH B”指令的执行过程(a) PUSH B指令执行前;(b)SP加1;(c) 寄存器B存入SP指定的单元中 32H31H30H2FHSP(a)32H31H30H2FHSP(b)32H31H30H2FHSP(c)B第 2章 增强型MCS-51单片机结构 图2-11 “POP B”指令的执行过程(a) POP B指令执行前;(b) 将SP指定单元内容传送到寄存器B中;(SP减1 (a)(b)(c)32H31H30H2FH
40、SPB32H31H30H2FHSP32H31H30H2FHSP第 2章 增强型MCS-51单片机结构 数据入栈的操作过程为:先将SP加1(即SPSP+1),然后将要入栈的数据存放在SP指定的存储单元中。而将数据从堆栈中弹出时,先将SP寄存器指定的存储单元内容传送到POP指令给定的寄存器或内部RAM单元中,然后SP减1(即SPSP-1)。 另外,可以看出堆栈的底部是固定的,而堆栈的顶部则随着数据入栈和出栈而上下浮动。 第 2章 增强型MCS-51单片机结构 系统复位后,PSW的b4、b3位为00,即选择了工作寄存器区中的0区作为当前工作寄存器区,SP寄存器的初值为07H,当有数据进入堆栈时,将从
41、08H单元开始存放,这一般是不允许的,因为08H1FH属于工作寄存器区,不宜占用;20H2FH是位地址区,也需要部分或全部保留。因此,必须通过数据传送指令重新设置SP的初值,将堆栈底部设在30H7FH(对于只有128字节内部RAM的8XC31/8XC51)或30HFFH(对于具有256字节内部RAM的8XC32/8XC52/54/58)之间,如: MOV SP,#5FH ; 将堆栈设在60H单元之后 第 2章 增强型MCS-51单片机结构 CPU内30HFFH单元既可以作为堆栈区,同时也是用户数据存储区。由于单元数量有限,必须充分利用,因此应认真考虑将堆栈底部设在何处。随着入栈数据的增多,对于
42、仅有低128字节内部RAM的80C31、80C51来说,当SP超出7FH时发生上溢,这将出现不可预料的后果。因此,在设置SP初值时,必须考虑堆栈最大深度。子程序或中断嵌套层数越多,所需的堆栈深度就越大。为了避免堆栈顶部进入用户数据存储区而造成混乱, 一般将堆栈设在用户数据存储区之上。如在某一应用系统中,需要32个字节作为用户 数据存储区(如30H4FH), 则初始化时将堆栈底部设在50H,即堆栈深度为48个字节(50H7FH)。 第 2章 增强型MCS-51单片机结构 MOV SP, #4FH;SP初值为4FH 对于具有高128字节的8XC32、8XC52/54/58等CPU来说,最好将堆栈区
43、设在80H0FFH之间的高128字节内部RAM中,而将具有直接寻址功能的低128字节内部RAM作为用户数据存储区,以便可用多种寻址方式存取用户数据。当然,SP也不允许超出0FFH,否则同样发生上溢。例如预计某系统所需最大堆栈深度为32字节,可通过如下指令将栈底设在0E0H处。 MOV SP, #0DFH ;SP初值为0DFH 涉及入栈出栈操作的指令有: PUSH direct ; 将内部RAM单元压入堆栈中 POP direct ; 从堆栈中将数据弹入内部RAM单元中 第 2章 增强型MCS-51单片机结构 5) 数据指针DPTR 数据指针DPTR是一个16位的专用寄存器,由DPH(数据指针高
44、8位)和DPL(数据指针低8位)组成,用于存放外部数据存储器的存储单元地址。由于DPTR是16位的寄存器,因此通过DPTR寄存器间接寻址方式可以访问0000HFFFFH全部64 KB的外部数据存储器空间。 例如,可用如下指令将累加器A的内容传送到外部数据存储器的107FH单元中: MOV DPTR,#107FH ; 将外部数据存储地址107FH以立即数方式 传送到DPTR寄存器 MOVX DPTR,A ; 将累加器A的内容传送到DPTR 寄存器内容 指定的外部数据存储器; 单元中 第 2章 增强型MCS-51单片机结构 为了方便外部RAM之间的数据块传送,增强型MCS-51采用双数据指针,由辅
45、助功能寄存器1(AUXR1)控制,该寄存器各位含义如下: AUXR1(字节为0A2H) b7b6b5b4b3b2b1b0-GF20-DPS第 2章 增强型MCS-51单片机结构 其中: GF2可作为用户标志位。 DPS数据指针切换位。当DPS=0时,DPTR寄存器对应物理指针DPTR0;当DPS=1时,DPTR寄存器对应物理指针DPTR1。 b2位恒为0,且不能写入。这样就可以通过INC AUXR1指令快速切换数据指针,而不影响GF2标志(由于b2位不能写入,加1操作时,b1向b2进位将自动丢失,影响不到b7b3位)。 第 2章 增强型MCS-51单片机结构 6) I/O端口寄存器 P0、P1
46、、P2、P3口寄存器实际上就是P0P3口对应的I/O端口锁存器,用于锁存通过端口输出的数据。 在增强型MCS-51中,特殊功能寄存器分别隶属于CPU内不同的单元电路,具体如下: CPU单元包含的寄存器:Acc、B、SP、PSW、DPTR、AUXR、AUXR1和程序计数器PC。 PC是一个16位的地址寄存器,用于存放当前指令码在程序存储器中的地址,但PC不属于特殊功能寄存器,它没有物理地址。 第 2章 增强型MCS-51单片机结构 另外,MCS-51系列单片机有些特别,CPU单元内的寄存器,如累加器A、寄存器B、堆栈指针SP、程序状态字PSW,以及工作寄存器组R7R0等具有字节地址,这样在汇编语
47、言指令中,对这些寄存器操作时,可以使用寄存器名,也可以直接引用这些寄存器对应的字节地址。例如: MOV A,#30H ; 将立即数30H传送到累加器A中,这条指 令的目的操作数使用了寄存器; 寻址方式 MOV 0E0H,#30H ; 将立即数30H传送到直接地址0E0H 中,这条指令的目的操作数使用了 直接; 寻址方式 第 2章 增强型MCS-51单片机结构 定时/计数器单元包含的寄存器:TMOD、TCON、T2CON、T2MOD、TH0与TL0(分别是定时器T0的高8位和低8位) 、TH1与TL1(分别是定时器T1的高8位和低8位)、TH2与TL2(分别是定时器T2的高8位和低8位)以及定时
48、器T2的重装捕捉寄存器RCAPL2、RCAPH2。 并行I/O端口寄存器:P0P3。 中断单元电路内的寄存器:IE、IP、IPH。 串行通讯单元电路内的寄存器:SCON、SBUF、PCON、SADDR、SADEN。 第 2章 增强型MCS-51单片机结构 3. 内部数据存储器之间的数据传送及寻址方式内部数据存储器之间的数据传送及寻址方式 (1) 00H7FH共128字节的内部RAM存储器, 可以通过直接寻址方式或寄存器间接寻址方式读写,如: MOV 30H,#35H ;直接寻址方式 该指令将立即数35H写入内部数据存储器地址编码为30H的单元中。所谓直接寻址,就是在指令中直接给出了内部RAM单
49、元的地址编码。 MOV R0,#35H ;寄存器间接寻址方式 该指令将立即数35H写入由R0寄存器内容指定的内部RAM单元中。如果该指令执行前,R0的内容为30H,则上述两条指令执行后,效果相同,均把立即数35H写入内部RAM的30H单元内。所谓寄存器间接寻址,就是将内部RAM的地址存放在寄存器R0或R1中。 第 2章 增强型MCS-51单片机结构 (2) 对于特殊功能寄存器只能使用直接寻址方式访问,如: MOV 0E0H,#35H ;直接给出累加器Acc的地址 对于特殊功能寄存器来说,使用直接寻址方式不够直观。由于每一个特殊功能寄存器均有一个与之相应的寄存器名,因此在指令中最好直接引用特殊功
50、能寄存器名,如累加器用Acc,P1、AUXR1等取代对应的特殊功能寄存器地址,例如上述指令可以写作: MOV Acc,#35H ;指令中直接给出特殊功能寄存器名 又如:MOV 90H,#0FFH指令也可以写作: MOV P1,#0FFH 第 2章 增强型MCS-51单片机结构 其实,对于特殊功能寄存器来说,用直接地址和寄存器名寻址没有区别,汇编时,汇编程序将通过查表方式将寄存器名换成直接地址。但必须注意引用特殊功能寄存器名,仅是为了提高程序的可读性,与寄存器寻址方式不同,例如: MOV Acc,#35H ; 用特殊功能寄存器名,在本质上目的操 作数属于直接寻址,该指令 ; 操作码为:75H,E
51、0H,35H。其中75H是 操作码,E0H是Acc的地址, ; 35H 是立即数 MOV A,#35H ; 寄存器寻址,操作码为74H,35H。同 样,35H也是立即数 第 2章 增强型MCS-51单片机结构 (3) 高128字节(80HFFH)内部RAM的访问。对于具有256字节内部RAM的52系列来说,高128字节内部RAM地址空间与特殊功能寄存器的地址重叠,读写时需要通过不同的寻址方式加以区别:规定用寄存器间接寻址方式访问高128字节(80HFFH)的内部RAM; 用直接寻址方式访问特殊功能寄存器。如在52系列中,“MOV 0E0H,#35H”指令的含义是将立即数35H写入累加器A中,与
52、“MOV A,#35H ”含义相同,而不是把立即数 35H 写入内部RAM的0E0H单元中。将立即数35H传送到内部RAM的0E0H单元中只能通过如下指令进行:MOV R0,#0E0H ;将内部RAM地址E0H写入R0寄存器中 MOV R0,#35H ;高128字节内部RAM只能通过寄存器间接 寻址访问 第 2章 增强型MCS-51单片机结构 (4) 位寻址区。MCS-51系列单片机既是8位机,同时也是一个功能完善的一位机。 作为一位机时,它有自己的CPU、位存储区(位于内部RAM的20H2FH单元)、位寄存器, 如将进位标志Cy作为“位累加器”,以及具有完整的位操作指令,包括置1、清零、非(
53、取反)、与、或、异或、传送、测试转移等。 对于位存储器(即20H2FH单元中的128个位),只能使用直接寻址方式确定操作数所在的存储单元,如: 第 2章 增强型MCS-51单片机结构 MOV C,23H ; 位传送指令,即将位地址23H单元(对应20H字节 单元的b3位)内容传送到; 位累加器C中 CLR 23H ; 位清零指令,即将位地址23H单元清零 SETB 23H ; 位置1指令,即将位地址23H单元置1 CPL 23H ; 位取反操作,即将位地址23H单元内容取反 ORL C,23H ; 或运算,23H位单元与位累加器C相或, 结果存 放在位累加器C中 ANL C,23H ; 与运算
54、,23H位单元与位累加器C相与, 结果存 放在位累加器C中 第 2章 增强型MCS-51单片机结构 对于具有位地址的特殊功能寄存器中的位,除了使用位地址寻址外,还可以使用“位定义名”或“寄存器名.位”表示,如将程序状态字寄存器PSW中的b3 位置0,可以用: CLR D3H ; 位地址方式 CLR RS0 ; 位定义名方式(作为一个良好的习惯,建议使用 位定义名方式) CLR PSW.3 ;“寄存器名.位”方式 尽管书写形式不同,但汇编时,汇编程序均自动将它们转换成位地址方式,因此这三条指令完全等效,不过使用“位定义名”和“寄存器名.位”的方式更容易理解。 第 2章 增强型MCS-51单片机结
55、构 2.3.3 外部数据存储器外部数据存储器 通过P0、P2口最多可以连接64 KB的外部数据存储器,有关外部数据存储器的连接及读写方式参阅“外存储器连接”部分。 第 2章 增强型MCS-51单片机结构 2.4 MCS-51外部存储器的连接外部存储器的连接 由于下列原因,在MCS-51系列单片机系统中,可能需要扩展外部程序存储器,尤其是外部数据存储器或I/O端口:部分型号CPU,如80C31、80C32没有内置EPROM或OTP ROM,需要外部程序存储器;片内数据存储器容量小,当需要大容量的数据存储器时,就需要扩展外部数据存储器;MCS-51可用的I/O引脚数目有限,常需要扩展I/O口,而在
56、MCS-51中,扩展I/O端口是外部数据存储器空间的一部分。因此,在MCS-51系列单片机控制系统中,不可避免地涉及存储器的扩展问题。 第 2章 增强型MCS-51单片机结构 在单片机系统中,一般只使用EPROM、EEPROM、Flash ROM以及静态RAM存储器芯片扩展系统存储器,很少使用动态RAM。因此,外存储器芯片与CPU的接口电路较简单,只需考虑如下几个问题即可: (1) CPU三总线(地址总线、数据总线、控制总线)的负载能力。CPU三总线可直接驱动一个到数个TTL门电路,或者说CPU三总线的负载能力为一个或数个TTL负载门。而存储器多为MOS器件,直流输入阻抗大,直流负载很小,但输
57、入电容较大。因此,当存储器芯片与CPU连接时,主要考虑交流负载能力。 第 2章 增强型MCS-51单片机结构 (2) 确定存储器三总线与CPU三总线之间的连接方式。即需要确定存储器地址总线与CPU地址总线的连接方式,存储器数据总线与CPU数据总线的连接方式,存储器控制线(读/写控制信号、片选信号、输出允许信号)与CPU相应控制线的连接方式。 (3) CPU读写时序与存储器存取速度的匹配问题。存储器的读写速度应与CPU要求的读写速度相同或更快,否则必须降低CPU时钟信号频率或选用读写速度更快的存储器芯片。因为在单片机系统中,CPU读写时序不是通过插入等待状态来存取低速的外存储器。 第 2章 增强
58、型MCS-51单片机结构 2.4.1 CPU地址线与存储器地址线的连接地址线与存储器地址线的连接 1. 全译码法全译码法 图图2-12 存储器与存储器与CPU的连接方式一的连接方式一(全译码法全译码法) A0A1109A28A37A46A55A64A73A825A924A102123226222027VPP1A11A12A13OECEPGM27128IC2D0D1D2D3D4D5D6D71112131516181917A0A1109A28A37A46A55A64A73A825A924A102123226222027VPP1A11A12A13OECEPGM27128IC1D0D1D2D3D4D5
59、D6D71112131516181917A13A0PSEN5 VY0Y1Y2Y3456774LS139123ABEA14A15D7D0第 2章 增强型MCS-51单片机结构 2. 部分译码法部分译码法 图2-13 存储器与CPU的连接方式二(部分译码法) A0A1109A28A37A46A55A64A73A825A924A102123226222027VPP1A11A12A13OECEPGM27128IC2D0D1D2D3D4D5D6D71112131516181917A0A1109A28A37A46A55A64A73A825A924A102123226222027VPP1A11A12A13O
60、ECEPGM27128IC1D0D1D2D3D4D5D6D71112131516181917A13A0PSEN5 VA14D7D021IC3A7404第 2章 增强型MCS-51单片机结构 3. 线选法线选法 图图2-14 存储器与存储器与CPU的连接方式三(线选法)的连接方式三(线选法) A0A1109A28A37A46A55A64A73A825A924A1021232222726CS220A11A12OEWECS16264IC2D0D1D2D3D4D5D6D71112131516181917A12A0WRA13D7D0A0A1109A28A37A46A55A64A73A825A924A10
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025物业项目管理咨询合同
- 重点中学2025年下学期初三化学试题第二次(5月)阶段检测试题考试试卷含解析
- 榆林市清涧县2025年数学五年级第二学期期末学业质量监测试题含答案
- 三亚学院《景观设计》2023-2024学年第二学期期末试卷
- 江西航空职业技术学院《社会调查理论与研究方法》2023-2024学年第二学期期末试卷
- 辽宁商贸职业学院《传播学理论》2023-2024学年第二学期期末试卷
- 2025年福建省泉州市永春第二中学初三下学期第二次质检生物试题含解析
- 重庆商务职业学院《广告设计》2023-2024学年第一学期期末试卷
- 2025年河北省衡水市景县重点名校中考生物试题考前三个月(江苏专版)含解析
- 2025合同与协议的英语表达
- 特种工作作业人员体格检查表
- 清远市城市树木修剪技术指引(试行)
- 广州国际文化中心详细勘察报告正文-171229end
- 警察礼仪(PPT53页)
- 《关于加强高等学校食堂管理工作的意见》解读
- 《尚艺发型标准剪裁》PPT课件
- 中国现代文学史00537
- 110kV升压站电气施工工艺及方案培训资料(共107页)
- 年产万吨碳酸饮料厂的工艺设计
- 流砂过滤器设计说明书
- T∕CISA 065-2020 高炉循环冷却水系统节能技术规范
评论
0/150
提交评论