stc51单片机蜂鸣器按一下响一下编程按钮1按一下led1亮5秒后熄灭,按钮2按一下led2亮5秒后熄灭,可以互相中断,


编写程序主程序控制发光二极管L1~L4循环轮流闪烁,即同一时刻只有一个LED灯亮按下SKEY1按键触发外部中断,中断服务程序控制L5~L8同时亮灭闪烁3次后熄灭及蜂鸣器响3次后停圵发声。

P2=0xfe;//端口P2输出: 引脚0号设置低电平其余设置高电平 P2=0xfd;//端口P2输出: 引脚1号设置低电平,其余设置高电平 P2=0xfb;//端口P2输出: 引脚2号设置低电平其余设置高电平 P2=0xf7;//端口P2输出: 引脚3号设置低电平,其余设置高电平

1 主要实现按键控制灯的亮灭按鍵按下,灯亮再次按下,灯灭主要对实现的逻辑进行控制,逻辑清晰很简单,实现的方法有两种方法1:将按键按下的值赋值给一個变量,变量除以2的值的是基数或者偶数来确定灯亮还是灯灭程序中设置的是变量的值除以2为0时,灯亮;变量的值除以2为1时灯灭;程序如下:

方法2:赋初值0给i;读取按键的值,并且赋值给变量val只要按键按下就将i的值加1,当i的值大于等于2时将i的值强制设置为1,这样i的徝只有0和1两种情况当i为0时,灯亮;i为1时灯灭;程序如下:

我要回帖

更多关于 51单片机蜂鸣器按一下响一下 的文章

 

随机推荐