单片机入门 必读 第三章.ppt
《单片机入门 必读 第三章.ppt》由会员分享,可在线阅读,更多相关《单片机入门 必读 第三章.ppt(164页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章:MCS-51单片机的系统扩展及应用通过地址总线、数据总线和控制总线实现系统的扩展。通过地址总线、数据总线和控制总线实现系统的扩展。定时器、串行口和定时器、串行口和A/DA/D、D/AD/A等应用场合下的硬件接口和等应用场合下的硬件接口和软件编程。软件编程。3.13.1:程序存储器程序存储器的扩展的扩展3.23.2:数据存储器数据存储器的扩展的扩展3.33.3:输入、输出口输入、输出口的扩展的扩展3.43.4:定时计数器定时计数器的应用的应用3.53.5:串行口串行口的应用的应用3.63.6:MCS-51MCS-51与与D/AD/A转换器的接口转换器的接口3.73.7:MCS-51MCS
2、-51与与A/DA/D转换器的接口转换器的接口3.83.8:动态数码显示及键盘扫描电路动态数码显示及键盘扫描电路3.1:程序存储器ROM的扩展1 1,在使用,在使用80318031(无片内(无片内ROMROM)或大于)或大于4K4K程序存储器时,程序存储器时,必须通过外接必须通过外接ROMROM来构成、扩充系统的程序存储区。来构成、扩充系统的程序存储区。2 2,当使用外部存储器来扩展系统时,必须占用单片机的,当使用外部存储器来扩展系统时,必须占用单片机的P0P0、P2P2口作为外部电路的数据、地址总线。此时,口作为外部电路的数据、地址总线。此时,P0P0、P2P2口就不能作为通用的口就不能作为
3、通用的I/OI/O端口。端口。3 3,在系统扩展时,外部电路与单片机连接的依据是单片,在系统扩展时,外部电路与单片机连接的依据是单片机访问外部存储器的时序,所以正确的理解时序是硬件电机访问外部存储器的时序,所以正确的理解时序是硬件电路设计的关键。路设计的关键。MCS-51与32K ROM的连接P2.7:P2.0P0.7:P0.0ALE/EA PsenCEA14 :A8A7 O7 :A0 O0OED7 Q7 D0 Q0CPCP 27256 32K ROMMCS-51/CE=P2.7(A15)返回前一次完整的地址信号外部ROM的状态与地址线A15的关系表ROMROM引脚引脚/CE/CEA14A14
4、A8A8A7A7A0A0地址范围地址范围ROMROM工作工作状态状态单片机引脚单片机引脚A15A15P2P2口口P0P0口口0 00 000000000000000001111111111111111000000000000000011111111111111110000H0000H07FFH07FFH选中选中1 11 100000000000000001111111111111111000000000000000011111111111111118000H8000HFFFFHFFFFH未选中未选中访问外部程序存储器ROM的时序:A15-A8(PC)A7-A0OPA7-A0常数存储器数据输出控
5、制 /Psen地址总线(高八位)P2口地址数据总线(低8位)P0 口S1S2S6S5S4S3373地址锁存信号 ALE A15-A8(DPTR+A)MOVC A,A+DPTRA B转电路图返回前一次(参考讲义70页)片外存储器访问时序说明P0P0、P2P2口作地址和数据总线口作地址和数据总线。其中其中P0P0口作为地址和数据复口作为地址和数据复用总线,前半部(用总线,前半部(A A段)作地址总线,后半部(段)作地址总线,后半部(B B段段)作为作为数据总线。数据总线。外部程序存储器外部程序存储器ROMROM的操作步骤如下:的操作步骤如下:1 1,单片机必须为其提供完整的(,单片机必须为其提供完
6、整的(1515位)地址信息;位)地址信息;2 2,ROMROM芯片的芯片的/CE/CE 端端=0=0,选中该芯片;,选中该芯片;3 3,在满足上述条件的基础上,当,在满足上述条件的基础上,当ROMROM的的/OE=0/OE=0时(时(B B时间时间段),存储器输出数据的三态门打开,并将与输入地址相段),存储器输出数据的三态门打开,并将与输入地址相对应的存储单元中的指令(数据)向外输出,单片机通过对应的存储单元中的指令(数据)向外输出,单片机通过P0P0口将指令送至口将指令送至CPU CPU 内部。内部。74LS37374LS373锁存器锁存器:将将A A时间段时间段P0P0口输出的低位地址进行
7、保存,口输出的低位地址进行保存,使使ROMROM在在B B时间段仍然可以得到完整的地址信号。时间段仍然可以得到完整的地址信号。转电路图转时序图外部ROM的容量扩展原理(一)如何使用两片如何使用两片32K32K的的ROMROM芯片扩展为芯片扩展为64K64K的存储阵列。的存储阵列。A15P2口口MCS-51 P0口口ALE/EA Psen/CE2A14A8A7A0/OE2O0O7/CE1A14A8A7A0/OE1O0O774LS373由两片32K的ROM构成64K存储阵列与A15的关系表A15A15/CE/CEA14A14A8A8P2P2口口A7A7A0A0P0P0口口地址范围地址范围ROM1R
8、OM1工作工作状态状态ROM2ROM2工作工作状态状态0 00 000000000000000001111111111111111000000000000000011111111111111110000H0000H07FFH07FFH选中选中未选中未选中1 11 100000000000000001111111111111111000000000000000011111111111111118000H 8000H FFFFHFFFFH未选中未选中选中选中外部ROM的容量扩展原理(二)若需要对若需要对2 2片以上的芯片扩展,可以通过译码电路实现。片以上的芯片扩展,可以通过译码电路实现。P2.7P
9、2.6P2.5P2.4P2.0P0口口ALEPsen/CE0A12A8A7 8K8A0/OE1O0O774LS373C y7BA 0 y/CE1A12A8A78K8A0/OE1O0O7/CE7A12A8A78K8A0/OE1O0O7MCS5174LS138采用LS138译码器实现ROM扩展示意表P2.7P2.7P2.5P2.5138 138 输出输出输出输出选中选中选中选中 ROMROMP2.4P2.4P0.0P0.0有效地址范围有效地址范围0 0 00 0 0Y0=0Y0=0第第1 1片片0000H0000H1FFFH1FFFH0000H0000H1FFFH1FFFH0 0 10 0 1Y1
10、=0Y1=0第第2 2片片0000H0000H1FFFH1FFFH2000H2000H3FFFH3FFFH0 1 00 1 0Y2=0Y2=0第第3 3片片0000H0000H1FFFH1FFFH4000H4000H5FFFH5FFFH0 1 10 1 1Y3=0Y3=0第第4 4片片0000H0000H1FFFH1FFFH6000H6000H7FFFH7FFFH1 0 01 0 0Y4=0Y4=0第第5 5片片0000H0000H1FFFH1FFFH8000H8000H9FFFH9FFFH1 0 11 0 1Y5=0Y5=0第第6 6片片0000H0000H1FFFH1FFFHA000HA0
11、00HBFFFHBFFFH1 1 01 1 0Y6=0Y6=0第第7 7片片0000H0000H1FFFH1FFFHC000HC000HDFFFHDFFFH1 1 11 1 1Y7=0Y7=0第第8 8片片0000H0000H1FFFH1FFFHE000HE000HFFFFHFFFFH小结:1 1,单片机的,单片机的P0P0、P2P2口作为地址数据总线;口作为地址数据总线;2 2,P0P0口为数据、地址复用总线,所以必须加入八位锁口为数据、地址复用总线,所以必须加入八位锁存器存器74LS37374LS373来锁存来锁存P0P0口的低八位地址。口的低八位地址。3 3,外接,外接ROMROM是靠是
12、靠MOVCMOVC指令产生的指令产生的PsenPsen信号来打开数信号来打开数据三态门,使据三态门,使ROMROM中的指令通过中的指令通过P0P0口送入单片机内部。口送入单片机内部。4 4,存储器的容量,存储器的容量M M与其地址线条数与其地址线条数n n的关系:的关系:M=2nM=2n5 5,当使用两片,当使用两片ROMROM扩展时,可以使用一个反向器实现容扩展时,可以使用一个反向器实现容量的扩展,通过量的扩展,通过ROMROM芯片的芯片的/CE/CE端实现。端实现。6 6,当使用,当使用2 2片以上的片以上的ROMROM芯片扩展时,就要使用译码器芯片扩展时,就要使用译码器实现存储容量的扩展
13、,译码器的输入与高位地址相连接,实现存储容量的扩展,译码器的输入与高位地址相连接,输出端分别与各输出端分别与各ROMROM芯片的芯片的/CE/CE连接(连接(如图所示如图所示)。)。7 7,当外接,当外接ROMROM的高八位地址线与的高八位地址线与P2P2口高八位线没有完全口高八位线没有完全用足时,要注意外存储的地址重叠问题。用足时,要注意外存储的地址重叠问题。返回3.2:数据存储器RAM的扩展与程序存储器扩展原理相同,数据存储器的扩展也是使用与程序存储器扩展原理相同,数据存储器的扩展也是使用P0P0、P2P2口作为地址、数据总线。口作为地址、数据总线。1 1,当使用,当使用MOVX RiMO
14、VX Ri指令时,系统使用指令时,系统使用P0P0口输出地址口输出地址 信号(信号(P2P2口不用);口不用);2 2,当使用,当使用MOVX DPTRMOVX DPTR指令时,指令时,P0P0口输出口输出DPTRDPTR提供提供 的低八位地址信号,的低八位地址信号,P2P2口输出口输出DPTRDPTR提供的高八位地提供的高八位地 址信号。址信号。3 3,不论哪种情况,不论哪种情况,P0P0口都是地址口都是地址/数据复用总线,因此数据复用总线,因此 仍要使用仍要使用74LS37374LS373来锁存来锁存P0P0口的地位地址信号。口的地位地址信号。与与ROMROM扩展不同:使用访问外部扩展不同
15、:使用访问外部RAMRAM指令指令MOVX MOVX 时,在时,在时序中将产生时序中将产生/RD/RD或或/WR/WR信号,因此将此信号与外信号,因此将此信号与外RAMRAM的读的读(/RD)/RD)、写(、写(/WR/WR)控制端相连接就实现系统对外)控制端相连接就实现系统对外RAMRAM的的读写控制。读写控制。设外部设外部RAM2000HRAM2000H单元中有一个数单元中有一个数x,x,且且DPTRDPTR中已存有中已存有该数地址该数地址2000H.2000H.则则CPU CPU 执行外部执行外部ROMROM中的指令中的指令:movx a,dptr ;movx a,dptr ;将外将外R
16、AMRAM的的x x送送A AS1S2S6S5S4S3S1S2S6S5S4S3ALEPsenA15-A8(PC)A15-A8(DPH)A7-A0指令A7-A0数据RDP2口P0口选中外部RAM读外部数据存储器RAM的指令时序MCS-51与32K RAM的连接P2.5 P2.4:P2.0P0.7:P0.0ALERDWRCEA12:A8A7 O7 :A0 O0OE WED7 Q7 D0 Q0CPCP 6264 8K RAMMCS-51/CE=P2.5(A12)思考题:使用使用62646264(8KRAM8KRAM)芯片和)芯片和27642764(8KROM8KROM)芯)芯片组成片组成16K RA
17、M16K RAM和和16KROM16KROM的外存储阵列(逻辑的外存储阵列(逻辑图)。图)。采用采用74LS13874LS138和和74LS37374LS373实现译码和锁存实现译码和锁存功能。功能。根据设计的结果,写出根据设计的结果,写出RAMRAM和和ROMROM的地址范围。的地址范围。返回3.3:输入、输出口的扩展如果系统使用了外部存储器时,如果系统使用了外部存储器时,P0P0、P2P2口被外存口被外存储器占用,留给用户的只有储器占用,留给用户的只有P1P1口。因此口。因此I/OI/O端口的端口的扩展是使用扩展是使用MCS-51MCS-51作为嵌入式控制器进行硬件设作为嵌入式控制器进行硬
18、件设计中经常遇到的问题计中经常遇到的问题:3.3.1,3.3.1,使用使用82438243扩展扩展I/OI/O端口端口3.3.2,3.3.2,使用使用81558155扩展扩展I/O I/O 端口端口3.3.3,3.3.3,使用使用82558255扩展扩展I/OI/O端口端口3.3.4,3.3.4,使用使用串行口串行口扩展扩展I/OI/O端口端口继续3.3.1:使用8243扩展I/O端口82438243为为4X44X4位的扩展口。位的扩展口。P4.0 P4.1P2.0 P4.2 P2.1 P4.3P2.2 P2.3 P5.0 P5.1 P5.2 P5.3 P6.0 P6.1 P6.2 P6.3P
19、ROG P7.0/CE P7.1 P7.2 P7.3接单片机P2口口:用于CPU与8243之间传送命令、数据。其中:命令码中含口地址(两位)、操作码(两位)。数据为四位。PROG:控制端。P4P7:4X4位具有锁存功能的双向I/O 端口。操作码操作码口地址口地址P2.3P2.3P2.2P2.2操作操作P2.1P2.1P2.0P2.0端口端口0 00 0读读0 00 0P4P40 01 1写写0 01 1P5P51 10 0OROR1 10 0P6P61 11 1ANDAND1 11 1P7P78243的时序 P4.0 P4.1P2.0 P4.2 P2.1 P4.3P2.2 P2.3 P5.0
20、P5.1 P5.2 P5.3 P6.0 P6.1 P6.2 P6.3PROG P7.0/CE P7.1 P7.2 P7.3操作码、口地址数据(4位)PROGP2口口 1,由高变低时,将P2口的命令(口地址、操作码)信息所存到8243。2,由低变高时:a,写操作时:8243将P2口上的数据写入对应的端口;b,读操作时:当操作码一译出,选中的端口的输入缓冲器与P2口接通,等待CPU读走。当PROG变高后,结束读操作。1282438243应用举例应用举例1 1:使用使用5151的的P2P2口与口与82438243连接,并从连接,并从82438243的的P6P6口读入数据,口读入数据,5151的的P2
21、.6 P2.7 留作输入。P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7MCS-51 P4.0 P4.1P2.0 P4.2 P2.1 P4.3P2.2 P2.3 P5.0PROG P5.1/CE P5.2 P5.3 P6.0 P6.1 P6.2 P6.3 P7.0 P7.1 P7.2 P7.3 8243IN8243:MOV A,#11010010B ;控制字MOV P2,A;输出控制字CLR P2.4 ;8243接收操作码MOV A,P2 ;读取P6口数据SETB P2.4 ;PROG=1结束读SETB P2.5 ;关闭8243RET【注意】:1,控制字11010010的含义
22、;2,根据8243的时序,在使 PROG 变高前 单片机必须读入P6口中的数据。82438243应用举例应用举例2 2:将将R2R2寄存器的低寄存器的低4 4位写到位写到P7P7口。口。P2.6 P2.7 留作输入P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7 P4.0 P4.1P2.0 P4.2 P2.1 P4.3P2.2 P2.3 P5.0PROG P5.1/CE P5.2 P5.3 P6.0 P6.1 P6.2 P6.3 P7.0 P7.1 P7.2 P7.3OUT:MOV A,#11010111B ;控制字 MOV P2,A ;输出控制字 CLR P2.4 ;8243
23、接收操作码 MOV A,R2 ;读取R2数据 ORL A,#11110000B ;高4位置1低4位不变 ORL P2,#00001111B;低4位置1高4位不变 ANL P2,A ;A送P2高4位不变 SETB P2.4 ;PROG=1数据写入P7口 SETB P2.5 ;关闭8243 RET【注意】:第1条ORL是保证不影响P2口高4位;第2条ORL指令时保证下面ANL指令能够正确的将低4位数据写入P2口。返回3.3.2:使用8155扩展I/O端口81558155的简介的简介1 1,81558155的构成:的构成:2 2,CPU CPU 对对81558155的控制的控制3 3,8155815
24、5的工作方式的工作方式4 4,81558155内部定时器的使用内部定时器的使用5 5,81558155应用与编程举例应用与编程举例继续8155的简介同同82438243一样,一样,81558155、82558255等芯片都是美国等芯片都是美国IntelIntel公公司为司为80868086系列微机开发出的系列通用可编程系列微机开发出的系列通用可编程I/OI/O接接口芯片。口芯片。81558155不仅可以提供三个并行的不仅可以提供三个并行的I/OI/O端口,在其内部端口,在其内部还集成有还集成有256256个字节的个字节的RAMRAM存储空间、一个存储空间、一个1414位位的定时的定时/计数器,
25、因此非常适合与计数器,因此非常适合与MCS-51MCS-51单片机单片机连接实现系统功能的扩展。连接实现系统功能的扩展。由于由于81558155的特殊性,这里将主要介绍其结构和使的特殊性,这里将主要介绍其结构和使用、编程方法。用、编程方法。返回本节目录1,8155的构成:1 1,双向数据总线缓冲器:双向数据总线缓冲器:传送传送CPUCPU与与RAMRAM之间的数据。之间的数据。2 2,地址锁存器:地址锁存器:用于锁存用于锁存CPUCPU送来得送来得RAMRAM或端口地址。或端口地址。3 3,地址译码地址译码(a)(a)和读写控制和读写控制(b)(b):a,a,接收地址锁存器的低三位地址,确定命
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机入门 必读 第三章 单片机 入门 第三
限制150内