单片机原理课件第3章
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章数字输入/输出端口3.1 标准8051的数字输入/输出端口
3.2 STC15F2K60S2的数字输入/输出端口
3.1 标准8051的数字输入/输出端口
3.1.1 MCS-51单片机的数字输入/输出端口结构
MCS-51单片机有4组8位I/O口:P0、P1、P2和P3口。
8051的某些I/O口具有复用功能
•数据总线和地址总线低8 位分时使用P0口。
•地址总线高8 位使用P2口。
•控制总线使用P3口中的2 位,片内子系统也使用P3口作为输入输出口。
四个端口都包含一个锁存器,即特殊功能寄存器P0~P3,一个输出驱动器和两个(P3口为3个)三态缓冲器。这种结构在数据输出时可以锁存,但对输入信号是不锁存的。
一般P1,P2,P3口的输出能驱动3个LS TTL输入,P0口的输出能驱动8个LS TTL输入。
1.P0口
在P0口的一个位中包括一个输出锁存器,两个三态缓冲器,一个输出驱动电路和一个输出控制电路。其中,输出驱动电路由一对FET (场效应管)组成,其工作状态受输出控制电路的控制。
P0口与低8 位地址/数据复用总线AD0-AD8复用。
双向和准双向
•P0口做地址/数据总线口使用时是一个真正的双向口,输入为高阻抗结构,输出为推挽结构,不必外加上拉电阻。
•P0口作为一般I/O口使用时,是一个准双向口,即输入数据时,应先向口写“1”,使输出下拉FET截止,然后方可作高阻抗输入;输出数据时,接口为开漏输出结构,输出高电平时需
外加上拉电阻。
读锁存器和读引脚
•所谓“读锁存器”操作,读出输出锁存器内容。针对“读-修改-写”指令,如ANL;ORL;XRL;JBC;CPL;INC;
DEC;DJNZ;MOV PX.Y,C;CLR PX.Y 和SETB PX.Y等•所谓“读引脚”操作,直接读出引脚电平状态。
2.P2口
在P2口的一个位中包括一个输出锁存器,两个三态缓冲器,一个输出驱动电路和一个输出控制电路。其中,输出驱动电路由配有上拉电阻的FET组成。P2口与高8位地址线A8-A15复用。
3.P3口
在P3口的一个位中包括一个输出锁存器,三个三态缓冲器,一个输出驱动电路和一个输出控制电路。其中,输出驱动电路由一配有上拉电阻的FET组成。P3口具有第二功能。
P3.0RXD(串行输入通道)
P3.1TXD(串行输出通道)
P3.2/INT0(外中断0)
P3.3/INT1(外中断1)
P3.4T0(定时器0外部输入)
P3.5T1(定时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
4.P1口
在P1口的一个位中包括一个输出锁存器,两个三态缓冲器,一个输出驱动电路。其中,输出驱动电路由一配有上拉电阻的FET组成。
5.MCS-51单片机各个端口的功能总结
P0口:低8位地址/数据复用总线或I/O口,
作为I/O口使用时无上拉电阻;
P1口:按位可编程的输入输出口;
P2口:高八位地址线(PC,DPTR高八位)或I/O口;
P3口:双功能口,若不用第二功能,可作一般I/O口。
P0,P1、P2和P3作为I/O口使用时为准双向口(作为输入口使用时需先向输出锁存器写入1),P0口作为地址数据复用总线使用时为双向三态输入输出口。P1,P2,P3口的输出能驱动3个LS TTL输入,P0口的输出能驱动8个LS TTL输入。
复位后,各端口寄存器的值均为0FFH。
3.1.2 MCS51外总线时序
1.访问外部程序存储器
在访问外部程序存储器时,地址锁存信号ALE 上升为高电平以后,P2口输出高8位地址,P0口输出低8位地址;当ALE 下降为低电平后,P2口输出的信息不变,而P0口输出浮空,低8位地址由ALE 锁存到地址锁存器中。接着PSEN 输出一个负脉冲,选通外部程序存储器,P0口接收外部程序存储器的指令字节。此时,P2口的未使用位可用作通用I/O 。
t LHLL
t AVLL t PLPH t LLIV t PLIV
t LLAX t PLA Z t PXIZ t PXIX
t AVIV
t LLPL P0 INST R IN A8-A15 A0-A7 ALE PSEN P2A0-A7
A8-A15
2.访问外部数据存储器
在8051中,使用MOVX A,@DPTR访问外部数据存储器时,使用16位地址线,P0作为数据/低8位地址复用线,P2输出高8位地址。
也可以使用指令MOVX A,@Ri和MOVX@Ri,A访问外部数据存储器,此时总线操作只使用低8位地址线,P2口输出原输出锁存器内容。此时如果外部存储器使用16位地址线,可以通过P2口对外部数据存储器进行页面寻址。
在外部数据存储器访问时,使用P3口的两位(P3.6,P3.7)提供读写选通信号,P2和P3口的未使用位可用作通用I/O。
数据存储空间读写时序图
ALE
PSEN A0-A7 t
WHLW
t LLDV t LLWL t RLFH
t
WLL
t LLAX t RLAX t RLDV t RHDX
t RHDX
t WWL t
WD V
DATA IN
A0-A7
指令
P 2.0-P 2. 7/A 8-A 15
8-A 15
A RD
P0
P2
ALE
PSEN t
WHLH
t LLWL t WLWH
t
AV LL
t
LLAX t OWX
t WHOX
t
DW
t
AV WL
WR
P0
P2
A 0- A 7
A 0- A 7
DATA OUT
P 2.0-P 2. 7/A 8-A 15 A 8-A 15
指令