单片机源程序如下:
- /*****************************************************************
- *文件名称: main.c
- *说 明: 按下且释放K1,2个红灯亮交替
- *单片机:STC89C52,晶振频率:11.0592MHz
- *版 本:V1.0
- *作 者:lxs
- *时 间:2018-10-31
- *****************************************************************/
- #include <reg52.h>
- #include "c51type.h"
- #include "delay.h"
- #define ON 0
- #define OFF 1
- sbit LED1 = P1^0;
- sbit LED2 = P1^1;
- sbit KEY1 = P3^4;
- u8 flag=0;
- u8 light=0;
- void main()
- {
- P1 = 0xFF; //将所用LED熄灭
- while (1) //主循环程序无限循环执行该循环体语句
- {
- if(flag==0)
- {
- if(KEY1==0)
- {
- DelayXms(10);
- if(KEY1==0)
- {
- flag=1; //按键按下标志
- }
- }
- }
- else
- {
- if(KEY1==1)
- {
- DelayXms(10);
- if(KEY1==1)
- {
- flag=0; //按键弹起标志
- if(light==0)
- {
- while(1)
- {
- LED1=ON;
- DelayXms(1000);
- LED1=OFF;
- LED2=ON;
- DelayXms(1000);
- LED2=OFF;
- light=1; //点亮标志
- }
- }
- else
- {
- LED1=OFF;
- LED2=OFF;
- light=0; //熄灭标志
- }
- }
- }
- }
- }
- }
复制代码
所有资料51hei提供下载:
7.k1按键两个红灯交替点亮.rar
(26.83 KB, 下载次数: 5)
|