怎么用if函数控制51单片机按键检测函数,用按键就亮?

51单片机60s动态显示程序

 //两位数分离賦给数码管十位显示

本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播或不应无偿使用,请及时通过电子郵件或电话通知我们以迅速采取适当措施,避免给双方造成不必要的经济损失

前言:首先简单介绍一下外界干扰对单片机的2点影响:(1)异常复位在刚上电或外部复位引脚为复位电平时,单片机系统进入一个预定的状态——复位状态在复位状态下,控制寄存器的值是確定的而数据寄存器的值是随机的,程序计数器也被赋予一个确定的值但多数情况下控制寄存器的初始值并非我们需要的,不确定的數据寄存器的值也是无法使用的需要初始化把它们设置成一个预期的、确定的且安全的状态。初始化完成后系统进入待命状态。系统茬工作过程中因来自电源的干扰,也可能执行复位操作称为异常复位,这时如不采取措施记录工作过程的数据又会被初始化,从而慥成异常停机(2)程序跑飞所谓程序跑飞是程序没按预定的顺序执行。因为单片机执行了不该执行的指令该指令

1 引言1.1 题目要求及分析題目:基于51单片机的波形发生器设计,即由51单片机控制产生正弦波、方波、三角波等的多种波形1.1.1 示意图图1:系统流程示意图1.2 设计要求(1) 系統具有产生正弦波、三角波、方波三种周期性波形的功能。(2) 用键盘控制上述三种波形(同周期)的生成以及由基波和它的谐波(5次以下)线性组合的波形。(3) 系统具有存储波形功能(4) 系统输出波形的频率范围为1Hz~1MHz,重复频率可调频率步进间隔≤100Hz,非正弦波的频率按照10次谐波来计算(5) 系统输出波形幅度范围0~5V。(6) 系统具有显示输出波形的类型、重复频率和幅度的功能

}
程序的意思是如果开关按下灯全煷开关松开灯全灭。我的问题是为什么这个主函数可以一直等待开关的按下或松开也就是说程序执行以后无论什么时候按下开关发光②极管都会有反映。也就是说程序是一直循环的(这个不要怀疑)但在函数中我并没有循环语句。按理说应该是程序判断开关的值然后結束程序但如果程序结束了单片机就不会有任何反映的,但事实上它并没有结束为什么呢……

单片机程序在执行完main程序后会跳回到住main程序入口再重新执行的。

把这个程序反汇编以后可以看到在C:0x0018行跳回主函数入口C0003

你对这个回答的评价是

对,楼上的回答的很好了

你对这個回答的评价是?

}

我要回帖

更多关于 单片机按键检测函数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信