keil中按钮程序怎么写?

keil中按钮程序怎么写?,第1张

我一培哪州般这样写,松手有效。

主函数里加这一配蔽缓茄段按键程序

while(1)

{

while(!KEY) //开头要定义按键接哪个IO口

{

delay(10)//延时10ms防抖

if(KEY)

这里写松手后要执行的程序

}

}

#include<reg52.h>/肢唤/头文件啥的都给你写了,够意思岩罩吧

#define uint unsigned int

sbit k1=P3^7

void delay(uint x)//延时1ms

{

uint i

while(x--)

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

}

main()

{

while(1)

{

k1=1

delay(1) //高电平延时1ms,若占%5,则低电平延时19ms

k1=0

delay(19) //低电平延时19ms

} //若要调节脉宽,改历枣凯写两个delay()里的数即可。

}

外部中断的一般都是采用延时程序,而且延时程序一般是利用定时器做10~15ms的延时去抖,来实现的,而且时间不是特别精确,单片机书上和有关资料上应该都有我写一个参考一下:

void DelayMS(unsigned char a)

{int i

for(a>0a--)

for(i=110i>梁模0i--)

}延时约为a毫秒,不过不够准确,可以通过keil软件或者汇编来确立更精确的延时时孝渣卖间!

在中断执行前先做判断:用if语句看看引脚的电平,如果没有跳变,那么再延时判断,如果还没有跳变那么再延时,如此重复;

等到电平跳变了,延时看看是不是电平收其他非 *** 作性因素引起的,比如说电源抖动,延时之后再判断如果的确是跳变了,可巧逗以进行中断后的 *** 作了!


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存