📄 键盘.txt
字号:
#include<reg52.h>
#define ti 0.07
#define td 40
#define kp 12.3
#define uint unsigned int
#define uchar unsigned char
sbit welage=P1^0; //个位位选定义
sbit welashi=P1^1; //十位位选定义
sbit welabai=P1^2; //百位位选定义
sbit keyge=P2^3; //个位键定义
sbit keyshi=P2^4; //十位键定义
sbit keybai=P2^5; //百位键定义
sbit set=P2^6; //设定键定义
sbit start=P2^7; //启动键设定
uchar code table[9]={
0x3f , 0x06 , 0x5b , 0x4f , 0x66 ,
0x6d ,0x7d , 0x07 , 0x7f , 0x6f
}
uchar code tablex[9]={
0,1,2,3,4,
5,6,7,8,9,
}
/*void main()
{
int tempset;
tempset=100*tablex[numbai]+10*tablex[numshi]+tablex[numge];
if set=0;
}*/
/*******************************************************
以上为主函数前声明部分
******************************************************/
void keyboardset() //键盘设定函数
{ uchar numge,numshi,numbai;
numge=0; //初始化
numshi=0;
numbai=0;
while(1)
{
welage=0; //动态显示当前的设定值
P0=table[numge];
delay(10);
welage=1;
welashi=0;
P0=table[numshi];
delay(10);
welashi=1;
welabai=0;
P0=table[numbai];
delay(10);
welabai=1;
if (keyge==0) //个位键按下时开始动作
{
delay(10); //消抖
if (keyge==0)
{
welashi=1; //关闭十位位选
welabai=1; //关闭百位位选
P0=table[numge];
numge++;
if(numge==10)
numge=0;
}
while(!keyge); //检测松键盘
delay(10);
while(!keyge);
}
else if(keyshi==0) //十位键按下时开始动作
{
delay(10);
if (keyshi==0);
{
welage=1; //关闭个位位选
welabai=1; //关闭百位位选
P0=table[numshi];
numshi++;
if(numshi==10)
numshi=0;
}
while(!keyshi); //检测松键盘
delay(10);
while(!keyshi);
}
else if(keybai==0)
{
delay(10);
if (keybai==0);
{
welage=1; //关闭个位位选
welashi=1; //关闭十位位选
P0=table[numbai];
numbai++;
if(numbai==10)
numbai=0;
}
while(!keybai);
delay(10);
while(!keybai);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -