标题: 单片机LED循环闪烁控制系统设计 [打印本页]

作者: 1311260    时间: 2019-12-16 21:47
标题: 单片机LED循环闪烁控制系统设计
本设计主要由三部分组成,包括AT89C51单片机、黄色Ø05LED、电阻。该设计着重详细地介绍了LED循环闪烁控制系统的整体系统设计方案、硬件选择基础、软件使用方法及技巧。该电路以AT89C51作为CPU处理单元连接各个功能模块,以黄色Ø05LED作为输出模块来显示闪烁状态和循环状态。通过Protues8.7单片机电路原理图进行连接布线连接各个模块,再用Keil uVision5专业编译软件完成源程序编译和调试,最终进行LED循环闪烁控制系统的实验电路仿真来模拟LED循环闪烁。


单片机源程序如下:
  1. //程序:led-ss.c
  2. //功能:LED循环闪烁控制系统
  3. #include<REGX51.H>        //包含头文件REGX51.H,定义了51单片机的所有SFR
  4. //函数名:delay
  5. void delay (unsigned int i)
  6. {
  7.         while(i--);                                                //i次空操作
  8. }
  9. void main()                                                //主函数
  10. {
  11.         unsigned char led ,n,i;        //定义字符变量led,n,i
  12.         led=0x01;                                                //给变量led赋值0x01,即二进制数00000001
  13.         for(i=0;i<8;i++)                                //用for循环控制移位8次
  14.          {
  15.                   for(n=0;n<3;n++)                //用for循环控制一个灯闪烁3次
  16.                            {
  17.                                  P0=~led;                        //将led取反后的值送到P0口输出,亮一个灯
  18.          delay(20000);                        //软件延时
  19.                                  P0=0xff;                        //灯熄灭
  20.                                  delay(20000);        //软件延时
  21.                            }                                                //        结束3次闪烁
  22.                         led<<=1;                                //将led的二进制数值左移一位
  23.         }                                                                        //结束for循环
  24. }
复制代码





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1