完善资料让更多小伙伴认识你,还能领取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; } |
|
|
|
二楼说出思路了………………
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2024年上海海思MCU开发者体验官招募,手机/MatePad大奖等你拿!
955 浏览 0 评论
【xG24 Matter开发套件试用体验】蓝牙控制板载LED
829 浏览 0 评论
978 浏览 0 评论
电赛:mspm0l1306的开发板可以烧录程序,但是程序运行不了,怎么解决这个问题?
1038 浏览 1 评论
【xG24 Matter开发套件试用体验】Silicon Labs 基于 EFR32MG24 Explorer Kit 开发板 开箱试用体验
823 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10515 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-6 04:16 , Processed in 0.619486 second(s), Total 86, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号