与跑马灯1略有不同
仿真电路
- 元件:
英文名|中文名|属性
:-|:-|:-|:-
LED-GREN|绿色LED|-
RX8|8位电阻排|元件值设置为1k
-
电路图:
-
仿真图:
程序设计
main.c
:#include <AT89X51.H> #define uchar unsigned char #define uint unsigned int //主程入口 void main() { uchar n; //用来标记哪一个LED亮 uint t; //用来计时 for (n = 0; n <= 7; n++) //0到7循环8次,对应8个LED依次点亮 { P1 = 1 << n; //控制P1输出 for (t = 60000; t; t--) ; //粗略延时 } }
注解
-
二极管正极连接P1,负极通过排阻接地
当P1某一脚高电平(红色)时,LED亮
反之P1某一脚低电平(蓝色)时,LED灭 -
P1 = 1 << n;
先将 1 左移 n 位,最后赋值给 P1例如 n = 1 时 P1 = 0b00000010
此时P1.1脚高电平,P1其余脚低电平
即点亮P1.1脚相连的LED
本文链接:https://blog.chrxw.com/archives/2020/03/03/1069.html
转载请保留本文链接,谢谢