
循环(1){
发现按下后,延时消抖,等待释放,然后执行下面的循环;
循环(1){ //循环检测1秒钟
发现按下后,灯亮,等待释放,然后就跳出循环;
延时10ms
次数加一
次数不到100,继续循环
到了100(即冲烂册1s了),关散宏灯,然后就跳出循环;
历大}
}
#include<reg51.h>unsigned char times
sbit key=P1^0
sbit led=P1^4
void delay(unsigned char a)
{
unsigned char i,j
for(i=0i<兄型ai++)
for(j=0j<羡尘猜兄敏120j++)
}
main()
{
led=1
while(1)
{
if(key==0)
{
while(key==0)
times++
times%=3
}
switch(times)
{
case 0:led=1break
case 1:led=0break
case 2:led=~leddelay(100)break
default:break
}
}
}
#include“reg52.h”#include“delay.h”
// 定义按键 KEY_0~KEY_6 对隐旅应P1^0~P1^6
sbit KEY_0 = P1^0
sbit KEY_1 = P1^1
sbit KEY_4 = P1^4
sbit KEY_5 = P1^5
sbit KEY_6 = P1^6
// 定义灶岁凳LED _7~LED_3 对应P2^7~P2^3
sbit LED_7 = P2^7
sbit LED_ 6= P2^6
sbit LED_ 5= P2^5
sbit LED_ 4= P2^4
sbit LED_ 3= P2^3
void main ( ) {
while(1){
if (!KEY_0 ) { // 按键KEY_0被按
delayus(20); //消抖动
if (!KEY_0 雀唯) { //确认被按下
LED_7=~LED_7 //灯亮或灭
}
}
}
...... 其余一样即可。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)