找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3393|回复: 0
收起左侧

单片机LED循环闪烁控制系统设计

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

单片机源程序如下:
  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. }
复制代码

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表