主程序大致是这样的
flag=0;//记录按键次数
While(1)
{
if(key==0){delayms(20);if(key==0)flag++;}//按键检测
if(flag==3)flag=0;
if(flag==0){正向流水}
else if(flag==1){反向流水}
else {间隔流水}
}存在问题,由于流水灯执行时间较长,因此对按键响应缓慢,可以在流水灯之间加入按键检测语句,当检测到按键按下时,用break语句退出当前循环
单片机有的有boot程序,有的没有,但是没有用户应用程序的话,最终都会执行默认的状态,例如有的51单片机I/O口都处于高电平状态,你的发光二极管如果正向连接并加上限流电阻的话,就会发光。还有复杂一点的单片机都有自己的控制寄存器,上电之后都会恢复默认值,至于能出现什么状态,那就看他的默认值是什么了。
单片机C51编程问题:要实现一个开关控制两个灯,按要求两个灯有3种状态,就要声明一个变量,每按一下开关,变量加一,且变量取值为1,2,3,大于3再回1,又重复控制两个灯亮灭变化。变量加一后,就根据变量的三个值,去控制两个灯的三个状态了。
以上就是关于51单片机1按键切换3种不同状态的c程序全部的内容,包括:51单片机1按键切换3种不同状态的c程序、当没有任何程序烧入时,单片机是处于什么程序状态比如有一个二极管接在单片机上。单片机这时会干嘛、单片机AT89c51 一个开关 两个LED 三种状态 程序QAQ等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)