.利用单片机的P1口接8个发光二极管(对应8位二进制数),P3.1接1个开关,编程实现,当开关动作?

2024-11-28 16:31:59
推荐回答(1个)
回答(1):

uchar key_scan(void)
{
if(P3^1==0) //当按键按下是低电平时
{
delay_ms(12);//消抖
if(P3^1==0) return 1;
}
return 0;
}
void main()
{
uchar cnt=0,key;
uchar led[9]={0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
while(1)
{
key=key_scan();
if(key==1) //按键按下了
{
if(cnt++>=8)cnt=0;
}
P1=led[cnt];
}
}
纯手打,没有编译,思路大概这样