完善资料让更多小伙伴认识你,还能领取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; } |
|
|
|
二楼说出思路了………………
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
238 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
629 浏览 0 评论
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】(第三篇)ADC采集+PWM输出
552 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十五章 人脸识别实验
552 浏览 0 评论
1074 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11763 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 21:37 , Processed in 0.677041 second(s), Total 86, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号