标题: 单片机独立按键控制LED流水源程序 [打印本页]

作者: 蓝柚子    时间: 2019-11-28 09:19
标题: 单片机独立按键控制LED流水源程序
慢慢学,加油!!
单片机I/O口实验
利用单片机及8个LED发光二极管,制作一个单片机控制的流水灯。单片机的P2.0~P2.7脚接有8个LED发光二极管。运行程序,单片机控制8个发光二极管依次流水逐个点亮,反复循环。可对本实验进行改进,增加一个按键接到某一个I/O口线,按一下实现流水灯的停止。再按一下,实现流水灯的重新显示。

单片机源程序如下:
  1. #include "reg52.h"
  2. #include "intrins.h"        //调用移位函数
  3. #define uint unsigned int
  4. #define uchar unsigned char
  5. sbit k1=P3^2;//k1连接P3^2口
  6. void delay()//定义一个延时函数
  7. {
  8. uint x,y;
  9. for(x=0;x<255;x++)
  10. for(y=0;y<255;y++);
  11. }
  12. void main()
  13. {
  14. if(k1==0)//按键一端接地,按下开关k1=0
  15. {
  16. delay();//延时
  17. if(k1==0)//两个if语句,用来消除按键抖动
  18. {
  19. P2=0xfe;//流水灯主要程序
  20.   while(1)
  21.   {
  22.    delay();
  23.    P2=_crol_(P2,1);
  24.    if(k1==0)
  25.    {
  26.      delay();
  27.      if(k1==0)//再按一次就把led灯全灭
  28.        {
  29.         P2=0xff;
  30.         if(k1==0)        break;//再按一次,跳出循环
  31.        }
  32.     }
  33.   }
  34. }
  35. }
  36. }
复制代码

所有资料51hei提供下载:
独立按键控制LED.zip (4.8 MB, 下载次数: 153)






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