STC89C51系列单片机共有以下几类GPIO口:
(1)P0.0-P0.7:
对应DIP39-32号40包装引脚:P0口可作为输入/输出GPIO也可用作地址/数据复用总线。
a)P0口作为输入/输出IO口时,P0是8位准双向IO上电复位后,口处于泄漏模式。P0口内无上拉电阻,作为I/O使用时必须外接4.7K-10K上拉电阻;
b)P当0口作为地址/数据复用总线时,是低八位地址线【A0-A7】,数据线【D0-D7无需外部上拉电阻
(2)P1.0-P1.7:
对应DIP40包装1-8引脚:均可作为标准IO对于90系列51内核单片机,P1.0,P1.均有第二功能,P1.可作为定时器/计数器2(Timer2/Count2)外部输入;P1.可作为定时器/计数器2(Timer2/Count2)捕捉/重装方式的触发控制。
(3)P2.0-P2.7:
对应DIP40包装21-28引脚:内部有上拉电阻,可作为输入输出口,也可作为高8位地址总线(A8-A15)作为输入输出口,P两口是准双向口
(4)P3.0-P3.7:
对应DIP10-17号引脚40包装:均可作为标准IO口使用。此外,它们都有第二个功能;
P3.0—RXD:串行数据接收端
P3.1—TXD:串行数据发送端
P3.2—INTO:外部中断0,沿中断或低电平下降(低电平有效)
P3.3—INT1:外部中断1,沿中断或低电平下降(低电平有效)
P3.4—T0:定时器/计数器0的外部输入
P3.5—T1:定时器/计数器1的外部输入
P3.6—WR:外部数据存储器写脉冲(低电平有效)
P3.7—RD:读脉冲(低电平有效)外部数据存储器
GPIO模式简介:
51单片机IO口均有准双向口/弱上拉开漏输出模式;P1,P2,P上电复位后,准双向口/弱上拉。P0口上电复位后是开漏输出。
其中5V单片机P最大灌电流为120口mA,其他IO最大灌电流为6mA;
3V单片机的P最大灌电流80口mA,其他IO最大灌电流为4mA;
在准双向口读外部状态之前,必须锁定为1才能读取外部状态;
当端口锁定器为0时,打开泄漏输出并关闭所有上拉晶体管;当作为逻辑输出时,这种配置必须在外部上拉。通常通过电阻接收VCC,如果外部有上拉电阻,则会泄漏IO口腔也可以读取外部状态。
实验—LED亮灭与闪烁
LED工作原理:当其阳极和阴极之间有0以上时.7V正向压降,LED导通,然后变亮;
与单片机的连接如下图所示:
限流电阻的计算公式如下图:
LED(light-emitting diode),即发光二极管,俗称LED小灯,普通贴片发光二极管。这种二极管的正导电压是 1.8V到2.2V 工作电流一般在之间 1mA~20mA 之间。
因此,为了工程安全起见,一般选择200-3k的电阻
引脚定义:
IO口腔初始化如下:
主函数如下:
通过以上程序可以点亮LED灯;
下面实现LED灯的闪烁:
闪烁的原理是在亮灭切换中添加一定的延迟函数,我们对LED照明程序如下修改:
delay()函数定义如下:
从此可以实现LED1闪烁,LED2常亮。