历史上的今天
今天是:2024年09月27日(星期五)
2021年09月27日 | 51实验11:矩阵键盘16个按键分别代表0-9,a-f
2021-09-27 来源:eefocus
51实验11:矩阵键盘16个按键分别代表0-9,a-f,用最后一位数码管显示
#include #include typedef unsigned int u16; typedef unsigned char u8; #define GPIO_DIG P0 #define GPIO_KEY P1 //数码管 sbit LSA=P2^2; sbit LSB=P2^3; sbit LSC=P2^4; //数码表 u8 code smgduan[16]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f, 0x77,0x7c,0x39,0x5e,0x79, 0x71}; //储存按键标号 u8 KeyValue; //延时函数 void delay(u16 i) { while(i--); } //获取按键标号 void KeyDown() { char a=0; GPIO_KEY=0x0f; if(GPIO_KEY!=0x0f) { //确定列 switch(GPIO_KEY) { case(0x07):KeyValue=0;break; case(0x0b):KeyValue=1;break; case(0x0d):KeyValue=2;break; case(0x0e):KeyValue=3;break; } GPIO_KEY=0xf0; //确定行 switch(GPIO_KEY) { case(0x70):KeyValue=KeyValue;break; case(0xb0):KeyValue=KeyValue+4;break; case(0xd0):KeyValue=KeyValue+8;break; case(0xe0):KeyValue=KeyValue+12;break; } while((a<50)&&(GPIO_KEY!=0xf0)) { delay(1000); a++; } } } void main() { while(1) { //按键标号获取 KeyDown(); //确定数码管位置 LSA=0;LSB=0;LSC=0; //keyvalue确定数字 GPIO_DIG=smgduan[KeyValue]; } }
史海拾趣
|
十年了,依然两手空空。回首一望,心里无比苍凉。 由于学历比较低吧,知名的企业进不了。也就一些小公司看在我经验丰富的份上要了我,工资老涨不上去;而且那些公司确确实实是要会干活的人。因此,差不多每进一家厂,都会有一些很难的项目等着我。 ...… 查看全部问答> |
|
数字信号处理器是一种特别适合于进行数字信号处理的微处理器,主要用于实时快速地实现各种数字信号处理算法 定点运算DSP数字信号处理器在应用中已取得了极大的成功,而且仍然是DSP应用的主体。然而,随着对DSP处理速度与精度、存储 ...… 查看全部问答> |
|
关于三级管的问题 有两个三极管(3DG6型号或3DG8型号放大倍数>=50;3A*31型号或3AX81型号放大倍数>=30。)可用现在市场上的哪种型号的三极管代替呀?望各位告知一下。… 查看全部问答> |
|
是WINCE5的SDK,用IImagingFactory IImage接口, 报错是 dcdvDlg.obj : error LNK2001: unresolved external symbol _CLSID_ImagingFactory dcdvDlg.obj : error LNK2001: unresolved external symbol _IID_IImagingFactory 我已 ...… 查看全部问答> |




