📄 key+smg.c
字号:
//C编译:键控SMG显示实验——查表实现
#include "reg52.H"
/* 宏定义 */
#define uchar unsigned char
#define SMG_Data P0 //定义数码管的显示数据为SMG_Data
sbit SMG_EN = P1^0; //定义SMG控制端
/*主函数开始*/
void main()
{
char x,i,*p; //定义参数和指针
char code tab[9]={0x0fe,0x0fd,0x0fb,0x0f7,0x0ef,0x0df,0x0bf,0x7f,0x0ff}; //SMG显示字符值
uchar a,b;
SMG_EN = 0; //开SMG控制端
P2=0xff; //对键盘接口数据,初始化
while(1)
{
x=P2; //读入键盘值
switch(x)
{
case 0x0fe:i=0;break; //将P2口读入的键盘值转换为查表数值
case 0x0fd:i=1;break;
case 0x0fb:i=2;break;
case 0x0f7:i=3;break;
case 0x0ef:i=4;break;
case 0x0df:i=5;break;
case 0x0bf:i=6;break;
case 0x07f:i=7;break;
default: i=8; //若没有键按下,则灭所有段码
}
SMG_Data=tab[i]; //显示查表所得到的段码值
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -