完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include
***it duan=P1^1; ***it wei=P1^0; #define shuju P2 unsigned char duan_ma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,}; unsigned char wei_ma[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; void delay_ms(unsigned int ms) { unsigned int j; while(ms--) for(j=0;j<120;j++); } void led_show_delay_us(unsigned int us) { while(us--); } void led_show_number(unsigned char len,unsigned long int num) { unsigned char n; unsigned char temp[8]; temp[7]=num%100000000/10000000; temp[6]=num%10000000/1000000; temp[5]=num%1000000/100000; temp[4]=num%100000/10000; temp[3]=num%10000/1000; temp[2]=num%1000/100; temp[1]=num%100/10; temp[0]=num%10/1; if(len>8)len=8; for(n=0;n duan=0; wei=1; P0=wei_ma[n%8]; wei=0; duan=1; P0=duan_ma[temp[n]]; led_show_delay_us(100); } } #define key_port P3 unsigned char keys_scan() { unsigned char keyno=16,M; key_port=0x0f; delay_ms(1); M=key_port^0x0f; switch(M) { case 1:keyno=0;break; case 2:keyno=1;break; case 4:keyno=2;break; case 8:keyno=3;break; default:keyno=16; } key_port=0xf0; delay_ms(1); M=key_port^0xf0; switch(M) { case 16:keyno+=0;break; case 32:keyno+=4;break; case 64:keyno+=8;break; case 128:keyno+=12;break; } return keyno; } void main() { unsigned long int key_no; while(1) { P3=0Xf0; if(P3!=0Xf0) { key_no= keys_scan(); while(!(P3==0Xf0)); } led_show_number(8,key_no); } }怎样让0~9、A~F这通过数码管将按键码实时的显示出来,并依次向左(或向右))移动 |
|
相关推荐
1个回答
|
|
这还不简单:
1、首先写一个按键扫描程序,判断按键的动作产生什么键值 2、写一个数码管显示函数,将产生的键值显示在数码管上 设置一个全局变量,按键做一次动作变量加一,最大值为单位一体数码管个数,用这个值作为数码管的位选,这就实现了一个数据的按一个显示一个,这个关键在于逻辑要清晰,想好整个框架再去实现一些很小的细节,然后遇到问题再做修正 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
195 浏览 0 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
172 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
453 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
697 浏览 2 评论
602 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11986 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 13:06 , Processed in 0.470880 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号