单片机原理课件第3章
- 格式:pps
- 大小:806.50 KB
- 文档页数:29
第三章数字输入/输出端口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 LHLLt AVLL t PLPH t LLIV t PLIVt LLAX t PLA Z t PXIZ t PXIXt AVIVt LLPL P0 INST R IN A8-A15 A0-A7 ALE PSEN P2A0-A7A8-A152.访问外部数据存储器在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。
数据存储空间读写时序图ALEPSEN A0-A7 tWHLWt LLDV t LLWL t RLFHtWLLt LLAX t RLAX t RLDV t RHDXt RHDXt WWL tWD VDATA INA0-A7指令P 2.0-P 2. 7/A 8-A 158-A 15A RDP0P2ALEPSEN tWHLHt LLWL t WLWHtAV LLtLLAX t OWXt WHOXtDWtAV WLWRP0P2A 0- A 7A 0- A 7DATA OUTP 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口ALEP0口WR PSEN RDEA地址锁存器EPROM程序存储器(64K)RAM/IO口WR OERD数据总线D0~D7控制总线地址总线AB0~AB1580515.程序和数据存储空间的重叠使用3.2 STC15F2K60S2的数字输入/输出端口STC12C5A60S2单片机最多可以提供42根I/O口线P0口(8根):P0.0 ~ P0.7P1口(8根):P1.0 ~ P1.7P2口(8根):P2.0 ~ P2.7P3口(8根):P3.0 ~ P3.7P4口(8根):P4.0 ~ P4.7P5口(2根):P5.4、P5.54种工作模式:准双向口/弱上拉,推挽/强上拉,输入/高阻和开漏模式。
复位后为准双向口/弱上拉工作模式。
每个口的工作模式由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接口的从机选择信号备用切换引脚)。