各位大神,外中断按键消抖能消抖吗

他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)各位大神麻烦帮小弟看看这个60秒计时为什么十位一直在闪... - 单片机/MCU论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
各位大神麻烦帮小弟看看这个60秒计时为什么十位一直在闪...
13:19:06  
#include&reg52.h&
#define uchar unsigned char
#define uint unsigned int
uchar code S[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar n1,n2,n;
sbit led=P1^0;
delay(uint i)//延时1毫秒
while(i--)
for(t=0;t&115;t++);
timer0()//定时器初始化
TMOD=0x11;
TL0 = 0x00;
TH1 = 0x4c;
TL1 = 0x00;
led0()//led灯闪烁
if(n1==20)
smg()//数码管显示
if(n2==20)
if(n==60)//60秒计时
P2=0//个位
P0=S[n/10];
//delay(5);
P2=0x7f;//十位
P0=S[n%10];
void t0() interrupt 1
TL0 = 0x00;
t1() interrupt 3
TH1 = 0x4c;
TL1 = 0x00;
助理工程师
12:38:20  
本帖最后由 lirongqing 于
12:40 编辑
你改成这样吧。另外给2个建议,1、给程序写上点注释,不然看起来很晕。2、除非是顺序结构,不然不要用“==”号,特别是在中断里“++”的情况,容易出问题,要用“&=”
smg()//数码管显示
if(n2&=20)
if(n==60)//60秒计时
P2=0//个位
P0=S[n/10];
delay(5);//还闪就加大这个延时时间
P2=0x7f;//十位
P0=S[n%10];
delay(5);//还闪就加大这个延时时间
助理工程师
12:28:40  
P2=0//个位
P0=S[n/10];
//delay(5);
P2=0x7f;//十位
P0=S[n%10];
你确定个位和十位没搞反?照你的程序,应该是个位闪,十位正常才对的,去掉第一个delay(5),也应该是个位不亮
23:50:51  
<font color="#9704844 发表于
你试试,看还闪烁吗?
09:15:02  
你试试,看还闪烁吗?
09:14:00  
smg()//数码管显示
if(n2==20)
if(n==60)//60秒计时
P2=0//个位
P0=S[n/10];
//delay(5);
P2=0x7f;//十位
P0=S[n%10];
位选的话不要直接赋值。
定义一个变量a=0x7f;
P2=_crol_(a,1);//个位
P0=S[n/10];
P2=a;//十位
P0=S[n%10];
头文件要加include&intrins.h&
23:39:30  
zhen3721 发表于
用delay(2)试试啊
试过了,也是一闪一闪的
23:24:15  
用delay(2)试试啊
23:03:55  
iyf 发表于
楼主请教用for语句如何定时
什么??????
23:02:33  
zhengha 发表于
P2=0//个位
P0=S[n/10];
//delay(5);
去掉之后十位就不亮了
22:59:54  
Stone_up 发表于
去掉&&delay(5);
去掉之后十位就不亮了
22:32:33  
楼主请教用for语句如何定时
20:46:59  
P2=0//个位
P0=S[n/10];
//delay(5);
P2=0x7f;//十位
P0=S[n%10];
一楼其实已经说了
14:50:00  
去掉&&delay(5);
& && && && && &&&
您需要登录后才可以回帖
Powered by
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司按键消抖与时间按键_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
按键消抖与时间按键
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩4页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢各位大神,用按键实现暂停和继续功能,中断函数应该怎么写啊?【stm32吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:28,127贴子:
各位大神,用按键实现暂停和继续功能,中断函数应该怎么写啊?收藏
已经纠结很久了,不知道问题出在哪?部分代码如下void delay(u32 del){while(del--);}void EXTI15_10_IRQHandler()//EXTI15_10&#x00B5;&#x00C4;&#x00D6;&#x00D0;&#x00B6;&#x00CF;&#x00B4;&#x00A6;&#x00C0;í&#x00BA;&#x00AF;&#x00CA;&#x00FD;{int flag=0;while(!flag){if(EXTI_GetITStatus(EXTI_Line15)==SET){delay(100);flag=1;EXTI_ClearFlag(EXTI_Line15);}elseflag=0;}}
stm32是ARM单片机市场领导品牌.stm32中国官方网站提供stm32简介与选型,官方文档与视频下载及培训和活动报名.
考虑按键去抖,中断配置上升沿还是下降沿,还是上升下降都进中断
谢谢,我试试
登录百度帐号推荐应用

我要回帖

更多关于 按键中断 的文章

 

随机推荐