课程摘要
本节课围绕 8051/AT89C52 单片机的 I/O 口及 LED 控制原理展开。课堂上从 P0-P3 四组共 32 个 I/O 口讲起,结合 Proteus 原理图分析 P2.0 与 LED、按键、数码管的连接,强调 P2^0 标准位写法和封装调用。接着解释 LED 写 0 亮、写 1 灭:一端接电源,另一端由 I/O 输出电平,只有形成压差才导通发光。编程时右键插入主函数和 while(1) 主循环,先写 P2^0=0 点灯,再用 delay 延时实现闪烁,并用循环左移函数实现流水灯,说明普通左移补 0、循环左移补移出位。结论是流水灯掌握一种写法、理解逻辑即可,课下自行完成点灯、闪烁和流水灯练习。
要点
- 8051/AT89C52 有 P0-P3 四组 I/O 口,每组 8 位,共 32 个 I/O。
- Proteus 中 P2.0 等端口连 LED,P2.0/SDA 与 P2^0 是同一根线标签。
- P2^0 是标准位写法,通用头文件封装后可直接写 P2^0=0 控制引脚。
- LED 写 0 亮、写 1 灭:I/O 输出低电平时形成电压差,LED 导通发光。
- 在代码软件中右键插入主函数,所有执行代码放进 while(1) 主循环。
- 点灯代码为 P2^0=0,编译后在 Proteus 暂停状态下加载并运行。
- 闪烁需在亮灭之间加 delay 延时,否则人眼看不到快速切换。
- 流水灯给变量初值后调用循环左移函数,第二个参数写左移位数,如 1、2、8。
- 普通左移
<< 后低位自动补 0;循环左移把移出位补到另一端。 - 流水灯掌握一种写法、理解逻辑即可,课下自写点灯、闪烁、流水灯。
涉及知识点
- I/O 口:单片机通用输入输出口,用于连接外设和实现协议。
- 8051:当前使用的单片机架构,AT89C52 属于该系列。
- AT89C52:Proteus 仿真中的核心单片机,外设围绕它连接。
- P0-P3:四组 8 位 I/O 口,共 32 个 I/O。
- P2^0:P2 口第 0 位,标准位写法,可控制对应 LED。
- P2.0/SDA:Proteus 网络标签,表示与 P2^0 相连的同一根线。
- LED:发光二极管,I/O 输出低电平时形成压差而点亮。
- while(1):主循环,所有执行代码都放在其中。
- delay:延时函数,用于控制闪烁的亮灭间隔。
- 循环左移函数:按指定位数循环左移变量,移出位补到另一端。
<<:左移运算符,左移后低位自动补 0。