问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

单片机 键盘控制数字的加减 在数码管上显示出数据

发布网友 发布时间:2022-04-26 07:04

我来回答

3个回答

热心网友 时间:2022-06-25 01:31

是主函数出了问题,你的键盘扫描程序是有返回值的函数,返回的值是指函数的运算结果,不是对于keycounts这个变量的,所以你需要把主函数改成
while (1)
{
uchar m;
m=keyscan();
=m/100;
shi=m/10%10;
ge=m%10;
display(,shi,ge);
}
再有就是楼上说的问题了,松手检测while(temp!=0xff);处
应该加显示函数,不加也能运行,但是按下按键时,没有显示,造成显示一闪一闪的,
再有,函数返回 return keycounts;之后
,就不再向下运行了,所以,最后一句 P3=0xff;
是白写的,根本不会执行。
另外呢,写程序要慢慢练,一句一句的弄懂,看别人写一遍之后,自己再写一遍,不要怕错,错了才更懂,我刚学的时候写一个时钟程序,写了一周,除了上课时间,一天只吃一顿饭的写(当时老师*得紧),后来写了560行,结果老师说太长了,就没看,然后我看别人写的,再看自己写的,的确很烂,但还是让我受益匪浅的,后来慢慢的练一下,就把程序缩短了。
你练久了就会发现,上面的显示函数,可以用一个for循环和一个数组就完成的
,不用一个一个的写,关键是不要怕错,多练就好。
我也才学几个月,上面是我的一点建议,希望对你有所帮助

热心网友 时间:2022-06-25 01:31

试试看:
uchar keyscan()
{
P3 = 0xff;
temp = P3; //输入按键.
if(temp != 0xff) { //如果按下了.
//delay(10);
display(, shi, ge); //用显示代替延时.
temp = P3; //需要再一次输入.
if(temp != 0xff) { //如果仍然是在按下.
switch(temp) {
case 0xfe: if(keycounts < 255) keycounts++; break;
case 0xfd: if(keycounts > 0) keycounts--; break;
case 0xfb: if(keycounts < 246) keycounts += 10; break;
case 0xf7: if(keycounts > 9) keycounts -= 10; break;
case 0xef: keycounts = 0; break;
}

while(temp != 0xff) { //等待释放.
temp = P3; //需要再次输入.
//你的原程序,缺少这句读入按键,总是用原来的temp等待释放,就死在这里了.
display(, shi, ge); //等待期间,不停的显示.
}
return keycounts;
P3 = 0xff;
}
}
}

热心网友 时间:2022-06-25 01:32

case 0xfe:if(keycounts<255) keycounts=keycounts+1;break;
case 0xfd:if(keycounts>0) keycounts=keycounts-1;break;
case 0xfb:if((keycounts+10)<255) keycounts=keycounts+10;break;
case 0xf7:if((keycounts-10)>0) keycounts=keycounts-10;break

这段程序有问题吧
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
这种情况需要准备什么样的证据才能保证维权成功,关于个人知识产权方面... 侵犯著作权罪成立的条件是什么 网站被抄袭,怎么办?官网网页内容抄袭引发的法律问题 版权申请哪家性价比高? 著作权侵权损害如何赔偿 瓷砖划痕怎么处理方法 地板砖划痕怎么去除十种方法 关于梦幻西游转区的一些问题。懂的进。 茶叶泡水发苦的原因茶叶泡水发苦是什么原因 ...那又怎么样?从化学角度讲不也是那种分子起的作 如何控制键盘,只输出小写字母和数字 键盘右边数字控制鼠标移动打不出数字怎么弄 试用期合同干满会给我实习证明吗 控制键盘右面的小键盘数字键是哪个按键控制的?我键盘右面的数字键不管用了。谢谢 专硕第二年进厂实习企业会不会发个实习证明什么的? 用小键盘操作可以通过什么控制输入数字 我和一家公司签了三方协议,学校要的的实习证明他能给我们开吗 在学校里的时候,弄了一份实习证明,是一年的,可信吗? 实习未结束就盖了实习证明上学校要求规定时间的章,但公司提前几个月注销营业执照了,实习证明作数吗? 您好,非常急切咨询您关于学历认证提交的 实习证明,是实习单位出具的还是就读学校出具的? 那我要是走了 公司不给实习证明怎么办 香港永久居民身份证的头像照片是黑白还是彩色的? 谁知道香港身份证相片规格? 去香港的签证照是多大尺寸 龙年出生的男孩,五行却木,缺火!叫什么名字好呢? 香港身份证是不是只有下图中的二种版本? 龙年姓彭的男孩子缺木火取什么名字好听 各位大佬,请问香港签证照片底是蓝色还是白 龙年姓盛男孩起名字大全五行缺火缺木 谁知道香港的证件是什么样子的 如何自己染头发的步骤 下载橘子微信表情 两个字的欠揍游戏名字有哪些? 喜欢了很久的学妹加了微信以后打一张剥橘子的表情包什么意思? 这个表情包是什么里面的 欠揍的游戏名字两个字的 女生给你发了一个橘子&#xF34A;什么意思? 自己染发过程 以前玩的一个游戏三国题材的,ipad游戏,类似于大富翁,有个人物叫欠扁,求教什么名字 小霸王游戏机时代 有个游戏室一个小人不停的开门 就是欠扁有个门 他往那一站,按一下确定 他就过去了 车位租赁合同最长期限是多长时间 一般太子这个名字配什么名字最好?在游戏里 微信朋友圈像橘子的东西让猜是什么东西 悬赏欠扁脑筋急转弯 朋友圈发了 谢谢你的橘子[强][强] [呲牙] 我怎么评论好呢 高分求一电脑网络游戏 (免符号) 名字一个`` 这是什么QQ表情系列? 网游小说,主角叫逍遥游,进游戏抽奖,刚开始不是打怪升级,而是炼药 山地车钢丝和折叠外胎的区别? 桔橘相 男生用这个微信昵称 还用橘子的头像你们会觉得这个男生怎么样