1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
望高人指点一下,该程序如何来编写,谢谢啦!
【要求】键盘编码排列如图所示,当首次键按下按键时,在第一位LED数码管中显示出键盘编码值,当第二次按下键时,前一次键移动到第二个数码管显示,本次键值在第一个数码管显示,以此类推。当输入数据超过6个时,最先输入的数据抛弃。 |
|
相关推荐
7个回答
|
|
哈哈,这个好办,我原来写过这样的程序,下面是我的程序,相信你看一下程序就知道思路了{:soso_e181:}
DisTable[5]=DisTable[4]; DisTable[4]=DisTable[3]; DisTable[3]=DisTable[2]; DisTable[2]=DisTable[1]; DisTable[1]=DisTable[0]; DisTable[0]=InNumber; InNumber就是你输入的数字,这样就实现了你要求的功能了{:soso_e113:} |
|
|
|
这么好 可是图呢
|
|
|
|
我也想做这个
|
|
|
|
也在学习中啊!
|
|
|
|
void dis***() //处理转换给数码管显示字符
{ int freq; bit nums=1; unsigned long tmp; l_tmpdate[0]=freq/10000000; tmp=freq/10000000; if(tmp==0 && nums)l_tmpdate[0]=12; else { nums=0; } tmp=freq%10000000; l_tmpdate[1]=tmp/1000000; if(l_tmpdate[1]==0 && nums)l_tmpdate[1]=12; else { nums=0; } tmp=tmp%1000000; l_tmpdate[2]=tmp/100000; if(l_tmpdate[2]==0 && nums)l_tmpdate[2]=12; else { nums=0; } tmp=tmp%100000; l_tmpdate[3]=tmp/10000; if(l_tmpdate[3]==0 && nums)l_tmpdate[3]=12; else { nums=0; } tmp=tmp%10000; l_tmpdate[4]=tmp/1000; if(l_tmpdate[4]==0 && nums)l_tmpdate[4]=12; else { nums=0; } tmp=tmp%1000; l_tmpdate[5]=tmp/100; if(l_tmpdate[5]==0 && nums)l_tmpdate[5]=12; else { nums=0; } tmp=tmp%100; l_tmpdate[6]=tmp/10; if(l_tmpdate[6]==0 && nums)l_tmpdate[6]=12; else { nums=0; } tmp=tmp%10; l_tmpdate[7]=tmp%10; } 怎么解释???? 谢谢 |
|
|
|
能不能详细点! 谢谢! 还有就是你帮我解释一下下边的程序么? 针对51开发板的。 void dis***() //处理转换给数码管显示字符 { int freq; bit nums=1; unsigned long tmp; l_tmpdate[0]=freq/10000000; tmp=freq/10000000; if(tmp==0 && nums)l_tmpdate[0]=12; else { nums=0; } tmp=freq%10000000; l_tmpdate[1]=tmp/1000000; if(l_tmpdate[1]==0 && nums)l_tmpdate[1]=12; else { nums=0; } tmp=tmp%1000000; l_tmpdate[2]=tmp/100000; if(l_tmpdate[2]==0 && nums)l_tmpdate[2]=12; else { nums=0; } tmp=tmp%100000; l_tmpdate[3]=tmp/10000; if(l_tmpdate[3]==0 && nums)l_tmpdate[3]=12; else { nums=0; } tmp=tmp%10000; l_tmpdate[4]=tmp/1000; if(l_tmpdate[4]==0 && nums)l_tmpdate[4]=12; else { nums=0; } tmp=tmp%1000; l_tmpdate[5]=tmp/100; if(l_tmpdate[5]==0 && nums)l_tmpdate[5]=12; else { nums=0; } tmp=tmp%100; l_tmpdate[6]=tmp/10; if(l_tmpdate[6]==0 && nums)l_tmpdate[6]=12; else { nums=0; } tmp=tmp%10; l_tmpdate[7]=tmp%10; } |
|
|
|
二楼说出思路了………………
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
503 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1756 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
1183 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
1053 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1287 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12022 浏览 31 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 21:25 , Processed in 0.803191 second(s), Total 54, Slave 47 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号