请看一段单片机控制程序,关于轻触开关的(while语句)

请看一段单片机控制程序,关于轻触开关的(while语句),第1张

但是,当开关松开的时候,K恢复到高电平,IF语句应该是不执行的。

这句话是对的。

无论按键如何 *** 作,灯始终处于点亮状态。这句话有问题。

你的按键能有什么 *** 作,不过就是按下去吗,松开吗,还有吗?

按下去,K=0,执行led=0灯亮啊。

你想要灯灭吗?那得有一行是:led=1那灯才能灭的,可程序中并没有这一行啊。

所以,灯就一直亮的,只要按过一次,led=0以后将永远为0,灯永远亮的。

你提问的标题有(while语句),可程序中并没有用的,这标题不符啊。

1、用计数器记录次数,此开关要求安规认证,贴片清楚开干在国内销售的话用CQC,国外的话看具体销售到哪一个国家。

2、可用手动或者一个小电机带动偏心开合开关,然后用计数器记录次数,测试贴片轻触开关开合的次数,直至损坏。

一般进口d片单面复银寿命为大于10万次,国产d片寿命为5-7万次,不锈钢d片大于50万次高寿命。寿命和手感由贴片轻触开关的行程和d片的配合决定的,行程越短声音越轻其寿命越长,行程越长。反之亦然,在固定的d片工艺情况下,主要看行程和声音决定轻触开关的寿命,其实决定d片寿命的关键因素还是冲压技术。

#include<reg52.h>

#define uchar unsigned char

#define uint unsigned int

uchar c,d,x,y

sbit a=P2^6

sbit b=P2^7

uchar code table[]={0xfe,0xfd,0xfb,0xf7,0xef

}

void delay(uint z)

{

uint x,y

for(x=zx>0x--)

for(y=110y>0y--)

}

void main()

{

uchar i

c=0

d=5

while(1)

{

if(a==0)

{

delay(10)

if(a==0)

c++

P0=table[c-1] 

if(c==5)

{ c=0}

while(a==0)

}

if(b==0)

{

delay(10)

if(b==0)

d--

P0=table[d] 

if(d==0)

{ d=5}

while(b==0)

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12049862.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存