标题: 单片机k1按键两个红灯交替点亮的源代码 [打印本页]

作者: 猎人笔记啊    时间: 2019-3-8 10:27
标题: 单片机k1按键两个红灯交替点亮的源代码
单片机源程序如下:
  1. /*****************************************************************
  2. *文件名称:        main.c
  3. *说 明:          按下且释放K1,2个红灯亮交替
  4. *单片机:STC89C52,晶振频率:11.0592MHz
  5. *版 本:V1.0  
  6. *作 者:lxs
  7. *时 间:2018-10-31
  8. *****************************************************************/
  9. #include <reg52.h>
  10. #include "c51type.h"
  11. #include "delay.h"

  12. #define  ON   0
  13. #define  OFF  1

  14. sbit LED1 = P1^0;
  15. sbit LED2 = P1^1;

  16. sbit KEY1 = P3^4;


  17. u8 flag=0;   
  18. u8 light=0;   

  19. void main()
  20. {       
  21.     P1 = 0xFF;       //将所用LED熄灭
  22.     while (1)                  //主循环程序无限循环执行该循环体语句
  23.     {
  24.                         if(flag==0)
  25.                         {       
  26.                                 if(KEY1==0)
  27.                                 {
  28.                                         DelayXms(10);
  29.                                         if(KEY1==0)
  30.                                         {
  31.                                                 flag=1;              //按键按下标志
  32.                                         }
  33.                                 }
  34.                         }       
  35.                         else
  36.                         {
  37.                                 if(KEY1==1)
  38.                                 {
  39.                                         DelayXms(10);
  40.                                         if(KEY1==1)
  41.                                         {
  42.                                                 flag=0;         //按键弹起标志
  43.                                                 if(light==0)
  44.                                                 {
  45.                                                         while(1)
  46.                                                         {
  47.                                                         LED1=ON;
  48.                                                         DelayXms(1000);
  49.                                                         LED1=OFF;
  50.                                                         LED2=ON;
  51.                                                         DelayXms(1000);
  52.                                                         LED2=OFF;
  53.                                                         light=1;   //点亮标志
  54.                                                         }                                                               
  55.                                                 }
  56.                                                 else
  57.                                                 {
  58.                                                         LED1=OFF;
  59.                                                         LED2=OFF;
  60.                                                         light=0;        //熄灭标志
  61.                                                 }
  62.                                         }
  63.                                 }
  64.                         }       
  65.         }
  66. }
复制代码

所有资料51hei提供下载:
7.k1按键两个红灯交替点亮.rar (26.83 KB, 下载次数: 5)







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