单片机原理课件第3章

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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
指令
3.1.3 MCS-51单片机应用系统的典型构成
1.8751最小应用系统(单片应用)
2. 8031单片机最小应用系统
3.外扩数据存储器的最小应用系统
4.外扩程序和数据存储器(或I/O )的8051单片机应用系统
P2口
ALE
P0口
WR PSEN RD
EA
地址锁存器
EPROM
程序存储器(64K)
RAM/IO口
WR OE
RD
数据总线D0~D7
控制总线
地址总线AB0~AB15
8051
5.程序和数据存储空间的重叠使用
3.2 STC15F2K60S2的数字输入/输出端口STC12C5A60S2单片机最多可以提供42根I/O口线
P0口(8根):P0.0 ~ P0.7
P1口(8根):P1.0 ~ P1.7
P2口(8根):P2.0 ~ P2.7
P3口(8根):P3.0 ~ P3.7
P4口(8根):P4.0 ~ P4.7
P5口(2根):P5.4、P5.5
4种工作模式:准双向口/弱上拉,推挽/强上拉,输入/高阻和开漏模式。

复位后为准双向口/弱上拉工作模式。

每个口的工作模式由2个控制寄存器中的相应位控制(PnM0和PnM1,n=0、1、2、3、4、5)。

PnM1 [7:0]PnM0
[7:0]
I/O口模式
00准双向口(传统8051单片机I/O口模式),灌电流可达20mA,
拉电流为270μA,由于制造误差,实际为270uA~150uA 01推挽输入输出(强上拉输出,可达20mA,要加限流电阻,尽量
少用)
10仅为输入(高阻)
11开漏(Open Drain),内部上拉电阻断开,要外加上拉电阻
STC15F2K60S2单片机的每个I/O口在弱上拉时都能承受20mA的灌电流(最好还是使用限流电阻,如1KΩ)。

在强推挽输出时都能输出20mA的拉电流(也要加限流电阻)。

整个芯片的工作电流推荐不要超过90mA。

即从MCU-Vcc流入的电流不超过
90mA,从MCU-GND流出的电流不超过90mA,整体流入/流出电流都不能超过90mA。

1. P0口
●用作数据总线(D7~D0)或者地址总线低8位(A7~A0)。

●用作普通I/O。

引脚复用功能
P1.0ADC0/CCP1(捕获/比较/脉宽调制通道1)/RxD2(串口2输入)P1.1ADC1/CCP0(捕获/比较/脉宽调制通道0)/TxD2(串口2输出)
P1.2ADC2/ECI(可编程计数器阵列定时器的外部时钟输入)/SS(SPI从器件选择)
P1.3ADC3/ MOSI(SPI主机输出从机输入)
P1.4ADC4/ MISO(SPI主机输入从机输出)
P1.5ADC5/ SCLK(SPI时钟)
P1.6ADC6/ XTAL2(外接晶体引脚)/RxD_3(串口1输入备用切换引脚)P1.7ADC7/ XTAL1(外接晶体引脚)/TxD_3(串口1输出备用切换引脚)2. P1口
3.P2口
引脚复用功能
P2.0A8/RSTOUT_LOW(复位后输出低电平引脚)
P2.1A9/ SCLK_2(SPI时钟备用切换引脚)
P2.2A10/ MISO_2(SPI主机输入从机输出备用切换引脚)P2.3A11/ MOSI_2(SPI主机输出从机输入备用切换引脚)
P2.4A12/ /ECI_3(可编程计数器阵列定时器的外部时钟输入备用切换引脚)/SS_2(SPI从器件选择备用切换引脚)
P2.5A13/CCP0_3(捕获/比较/脉宽调制通道0备用切换引脚)P2.6A14/ CCP1_3(捕获/比较/脉宽调制通道1备用切换引脚)P2.7A15/ CCP2_3(捕获/比较/脉宽调制通道2备用切换引脚)
4. P3口
端口引脚复用功能
P3.0RXD(串口1输入)/ /INT4 (外部中断4,只能下降沿中断)/T2CLKO (T2的时钟输出)
P3.1TXD(串口1输出)/T2CLKO(T2的外部输入)
P3.2/INT0(外部中断0输入,既可上升沿中断也可下降沿中断)P3.3/INT1(外部中断1输入,既可上升沿中断也可下降沿中断)
P3.4T0(定时器0外部输入)/ T1CLKOU(T1时钟输出)/ECI_2(可编程计数器阵列定时器的外部时钟输入备用切换引脚)
P3.5T1(定时器1外部输入)/ T0CLKOU(T0时钟输出)/ CCP0_32(捕获/比较/脉宽调制通道0备用切换引脚)
P3.6/INT2(外部中断2输入,只能下降沿中断)/RxD_2(串口1输入备用切换引脚)/ CCP1_2(捕获/比较/脉宽调制通道1备用切换引脚)
P3.7/INT3(外部中断3输入,只能下降沿中断)/TxD_2(串口1输出备用切换引脚)/ CCP2(捕获/比较/脉宽调制通道2)/ CCP2_2(捕获/比较/脉宽调制通道2备用切换引脚)
5. P4口
端口引脚复用功能
P4.0MOSI_3(SPI主输出从输入备用切换引脚)
P4.1MISO_3(SPI主输入从输出备用切换引脚)
P4.2WR(外部总线写控制信号)
P4.3SCLK_3(SPI时钟备用切换引脚)
P4.4RD(外部总线读控制信号)
P4.5ALE(地址锁存控制信号,主要用于外部总线扩展)
P4.6RxD2_2(第二串口输入备用切换引脚)
P4.7TxD2_2(第二串口输出备用切换引脚)
6. P5口
●P5.4/RST(复位脚)/MCLKO(内部R/C振荡时钟输出)。

输出的频率可为MCLK/1或MCLK/2)/SS_3(SPI接口的从机选择信号备用切换引脚)。

该引脚默认为I/O口,可以通过ISP编程将其设置为RST(复位)引脚。

●P5.5没有复用功能。

6. 引脚切换
捕获/比较/脉宽调制(CCP)通道的引脚切换、SPI接口的引脚切换以及串口的引脚切换由辅助寄存器AUXR1(也称为P_SW1,地址为A2H,复位值为0000 0000B)和外设功能切换寄存器P_SW2(地址为BAH,复位值为xxxx xxx0B)确定。

位号
D7D6D5D4D3D2D1D0寄存器名称
AUXR1S1_S1S1_S0CCP_S1CCP_S0SPI_S1SPI_S00DPS P_SW2S2_S
串口1可以在三个地方切换,由S1_S1和S1_S0两个控制位选择。

S1_S1S1_S0切换引脚
00串口1在[P3.0/RxD,P3.1/TxD]
01串口1在[P3.6/RxD_2/XTAL2,P3.7/TxD_2/XTAL1],
串口1在P1口时要使用内部时钟
10串口1在[P1.6/RxD_3,P1.7/TxD_3] ,串口1在P1口时要使用
内部时钟
11无效
串口2可以在两个地方切换,由S2_S0控制位选择:
0:串口2在[P1.0/RxD2,P1.1/TxD2]
1:串口2在[P4.6/RxD2_2,P4.7/TxD2_2]。

相关文档
最新文档