完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
学习版上用的是锁存器,主函数如下
第一个数码管闪烁很厉害,我把按键延迟调低很好些,但是这样按键一按就是好几个数,按键延时调高,按键上是好了很多但是第一个数码管可以非常慢的速度闪烁。感觉就是从上到下的执行时间太长了。。。。。主程序里我还加了储存,无视好了 void main() { while(1) { unsigned char buf[2]; E2Read(buf, 0x80, 2); ge = buf[0]; shi = buf[1]; if ( ge>9 ) { ge=0; } if ( shi>9 ) { shi=0; } wei=1; P0=0xfe; wei=0; duan=1; P0=LedChar[shi]; Delay(10); duan=0; wei=1; P0=0xfd; wei=0; duan=1; P0=LedChar[ge]; Delay(10); duan=0; if(k1==1) { Delay(15); if(k1==1) { ge++; if(ge>9) { ge=0; shi++; if(shi>9) { shi=0; } } } buf[0] = ge; buf[1] = shi; E2Write(buf, 0x80, 2); } if(k2==1) { Delay(15); if(k2==1) { ge--; if(ge<0) { ge=9; shi--; if(shi<0) { shi=9; } } } buf[0] = ge; buf[1] = shi; E2Write(buf, 0x80, 2); } } } |
|
相关推荐
6个回答
|
|
这审核要多久呀
|
|
|
|
= =审核中还能回复
|
|
|
|
还加积分什么鬼,重点是有没有人答呀
|
|
|
|
你加一个松手检测就好了应该
|
|
|
|
具体程序我找给你一个例子
while((i<50) && (key!=0xf0)) //检测按键松手检测 { delay(1); i++; } 这是加在按键程序的后面,延时大约10ms就好了,你可以试一下 |
|
|
|
记录上次的键值,然后有变化才进入按键的程序,没变化就往下执行,这样就不会出现你说的闪烁的情况了。
按键显示都用延时程序就会出现不松手检测就会连续执行,有松手检测就会卡在那里不动,所以记录上次键值是最好的。 |
|
|
|
只有小组成员才能发言,加入小组>>
求解外围电路实现的是4脚给持续低电平复位并正常工作,高电平不工作的原因
2077 浏览 1 评论
3508 浏览 3 评论
PIC1946程序有一个变量在运行过程中恢复初始值其他变量保持不变
2333 浏览 2 评论
2760 浏览 0 评论
PIC16F1825的RC5引脚,在主程序中操作无效,在中断中可以改变是为什么?
4018 浏览 5 评论
968浏览 0评论
用XC8编译PIC18F25K80时提示下面Error,求怎么解决这个问题
6351浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 21:58 , Processed in 0.712730 second(s), Total 93, Slave 74 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号