📄 1.c
字号:
#include<reg51.h>
sbit c1 = P2^3;
sbit c2 = P2^2;
sbit c3 = P2^1;
sbit r1 = P2^4;
sbit r2 = P2^5;
sbit r3 = P2^6;
sbit r4 = P2^7;
unsigned char BCD[10]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};
void delay_db(int time)
{
do
{
time--;
}while(time>0);
}
unsigned char scankey(void)
{
unsigned char ret = 0xFF;
c1 = 0;
if(r1==0)
{
delay_db(30000);
ret = 0x01;
}
if(r2==0)
{
delay_db(30000);
ret = 0x04;
}
if(r3==0)
{
delay_db(30000);
ret = 0x07;
}
c1 = 1;
//------------------------------------------------//
c2 = 0;
if(r1==0)
{
delay_db(30000);
ret = 0x02;
}
if(r2==0)
{
delay_db(30000);
ret = 0x05;
}
if(r3==0)
{
delay_db(30000);
ret = 0x08;
}
if(r4==0)
{
delay_db(30000);
ret = 0x00;
}
c2 = 1;
//----------------------------------------//
c3 = 0;
if(r1==0)
{
delay_db(30000);
ret = 0x03;
}
if(r2==0)
{
delay_db(30000);
ret = 0x06;
}
if(r3==0)
{
delay_db(30000);
ret = 0x09;
}
c3 = 1;
return(ret);
}
/*************************** Main loop **************************/
void main(void)
{
unsigned char key = 0;
P0 = 0x00;
P2 = 0xFF;
while(1)
{
key = scankey();
if( key != 0xFF)
P0 = BCD[key];
}
}
/***********************************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -