第3章数字输入/输出端口
STC12C5410AD单片机的I/O口及工作模式
STC12C5410AD单片机共有4个I/O端口,27根I/O口线:
P0(4根):、、、。
P1(8根):、、、、、、、。
P2(8根):、、、、、、、。
P3口(7根):、、、、、、。
1)P1口复用为ADC转换输入或者SPI通信线,如表3-1所示。
表3-1 P1口的复用功能
端口引脚
复用功能
ADC0(ADC转换输入通道0)
ADC1(ADC转换输入通道1)
ADC2(ADC转换输入通道2)
ADC3(ADC转换输入通道3)
ADC4(ADC转换输入通道4)/SS(SPI从器件选择)
ADC5(ADC转换输入通道5)/MOSI(SPI主输出从输入)
ADC6(ADC转换输入通道6)/MISO(SPI主输入从输出)
ADC7(ADC转换输入通道7)/SCLK(SPI时钟)
2)P2口和P3口的某些I/O口线可用于PCA输入或者PWM输出,
P3口的某些口线可用于外部中断输入、计数器输入和UART。
表3-2 P2口和P3口的复用功能
端口引脚
复用功能
RXD(串行通信输入)
TXD(串行通信输出)
INT0(外部中断0输入)
INT1(外部中断1输入)
ECI(可编程计数器阵列定时器的外部时钟输入)/T0(定时器0外部输入)
PWM1(脉宽调制输出通道1)/PCA1(可编程计数器阵列通道1)/CEX1(外部脉冲捕获输入1)/T1(定时器1外部输入)
PWM0(脉宽调制输出通道0)/PCA0(可编程计数器阵列通道0)/CEX0(外部脉冲捕获输入0)
PWM2(脉宽调制输出通道2)/PCA2(可编程计数器阵列通道2)/CEX2(外部脉冲捕获输入2)
PWM3(脉宽调制输出通道3)/PCA3(可编程计数器阵列通道3)/CEX3(外部脉冲捕获输入3)
STC12C5410AD单片机的所有I/O 口均可由软件配置成4种工作模式之一:
准双向口(标准8051单片机输出模式);
推挽输入输出;
仅为输入(高阻)或开漏输出功能;
每个口的工作模式由2个控制寄存器中的相应位控制(PnM0和PnM1,n=0,1,2,3)。
表3-3 I/O口工作模式设置
PnM0[7:0]
PnM1[7:0]
I/O口模式
0
0
准双向口(传统8051单片机I/O口模式),灌电流可达20mA,拉电流为230μA,由于制造误差,实际为250uA~150uA
0
1
推挽输入输出(强上拉输出,可达20mA,要加限流电阻,尽量少用)
1
0
仅为输入(高阻)
1
1
开漏(Open Drain),内部上拉电阻断开,要外加上拉电阻
例如,,,,
、、、,则可以使用下面的代码进行设置:
MOV P1M0,#11000000B
MOV P1M1,#10100000B
虽然STC12C5410AD单片机的每个I/O口在弱上拉时都能承受20mA的灌电流
(还是要加限流电阻,如1kΩ,560Ω等),在强推挽输出时都能输出20mA的拉电流
(也要加限流电阻),但整个芯片的工作电流推荐不要超过55mA。
STC12C5410AD单片机I/O口的结构
准双向口工作模式下,I/O口可用作输出和输入功能而不需重新配置口线输出状态。
一个I/O位工作于推挽输入输出工作模式时,若输出高电平,拉电流最大可达20mA;
若输出低电平,灌电流也可达20mA。
(高阻)工作模式的结构
输入口带有一个施密特触发输入以及一个干扰抑制电路。
注意,仅为输入(高阻)工作模式下,I/O口不提供20mA灌电流的能力。
当口线锁存器为“0”时,开漏输出关断所有上拉场效应管。当作为一个逻辑输出时,这种配置方式必须有外部上拉电阻,。这种方式的下拉结构与准双向口模式的下拉结构相同。
开漏端口带有一个施密特触发输入以及一个干扰抑制电路。
这种
第3章 数字输入输出端口 来自淘豆网m.daumloan.com转载请标明出处.