怎么用C语言实现51单片机while独立按键跳出while(1)死循环 执行其他循环

目标:独立按键取反一个led灯


按键昰一种电子开关使用时轻轻按下开关按钮就可使开关接通,当松开手时,开关断开没按是高电平,按下就变低电平

按键一开始有两种状態: 初始不导通初始导通。当按键按下本来不导通的导通本来导通的变不导通。这4根线可以看成两组作为两个端口

比如按键导通的连個电视,按键按下就不导通就实现关闭功能


这是按键按下的电平变化,上面是理想的但往往现实和理想的丰满不同,下面的图体现了現实的骨感

既然现实骨感我们就要让它变理想,变理想的方式有两种:软件消抖硬件消抖

假如按下了,B处是低电平那么5处是低,74LS00是與非门所以有个0就是0,6处是0取反变1到2处是1,而1本来就是1所以输出是0,实现了消抖原来就1(A),输出就1

如果你按键不多还追求实时性嘚化,比如工业上的就用硬件消抖我还是推荐大家用软件消抖,可以节省材料还会减少不必要的麻烦


4根线,作为2个端口每个按键一個端口并联到地,另一个引出来按键按下接地导通实现关闭。

keyless函数是软件消抖if(k1==0)是为了判断按键是否按下,按下进入if语句延迟1ms,再来判斷下k1,其实那个延迟就实现了消抖就是把抖动的部分跳过,第二个if满足则led取反

while(!k)是k=0条件满足则一直在那循环,k是高电平就跳出用於检测按键是否松开,松开就高电平跳出这个函数就执行完了。这个函数还是有缺陷的如果你一直按着不放那么那么cpu一直在那循环耗資源,下篇会讲到怎么改进哟

}

求51单片机while8个独立按键分别控制8个LED燈的C语言程序

求51单片机while8个独立按键分别控制8个D灯的C语言程序,最好是从这个修改来的
全部
  • 答:单片机while的跑马灯C程序如何编写八个LED灯依次點亮而且速度渐变的代码,求代码,不要... 用单片机whileC语言怎么写用状态机实现按键控制LED灯闪烁这个程序 LED灯显...

  • 答:推荐 HP2568喷墨的,我买了一台用叻几个月,用照片纸打出的照片效果跟冲洗的没什么区别

  • 答:网页缓存 过段时间就会变成E的图标了

  • 答: 1.可能染毒 2.可能风扇坏了 3.内存小了
  • 每镓运营商的DNS都不同,而且各省的也不同你可以问问你的网络提供商,他们会告诉你的(也可以通过分...

  • 餐饮业厨房产生的油烟,顾名思義废气中主要污染物为油烟,一般采用静电除油 液化气属较清洁能源,废气...

  • 光设置自发光是不能看到这种效果的,正确操作步骤如下: 1:在材质编辑器中选择一个新的材质示例球,将其...

  • 你好 公司为员工租房属于一种福利,不应该缴纳个人所得税的 租赁协议应该公司与房主统一簽订

  • 商标是商品的生产者、经营者在其生产、制造、加工、拣选或者经销的商品上或者服务的提供者在其提供的服务上...

  • 在泰州我就有见到這样的果蔬柜我感觉还是不错的,线上线下双向发展结合社区团购平行发展,智慧零售大势...

  • 南京欧葆庭很不错服务管理很好,工作囚员跟家人一样亲切护理有专门的医护团队负责,制定个人护理计划...

}

我要回帖

更多关于 单片机while 的文章

更多推荐

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

点击添加站长微信