📄 main.c
字号:
#include <reg51.h>
typedef unsigned char BYTE;
sbit DIN=P3^0;
sbit CLK=P3^1;
BYTE DBUF;
BYTE TEMP;
BYTE code K0TAB[]={ 0xFE,0xFD,0xFB,0xF7,
0xEF,0xDF,0xBF,0x7F};
BYTE code SEGTAB[]={0x3F,0x06,0x5B,0x4F,0x66,
0x6D,0x7D,0x07,0x7F,0x6F};
void DELAY()
{
BYTE i=0x02;
do
{
BYTE j=0xF8;
do
{}while(--j);
}while(--i);
}
void DISP(BYTE in)
{
BYTE num=8;
DBUF=in;
TEMP=SEGTAB[DBUF];
ACC=TEMP;
do
{
#pragma asm
RLC A
#pragma endasm
DIN=CY;
CLK=0;
CLK=1;
}while(--num);
}
BYTE KEY()
{
BYTE key_i;
BYTE key_j;
BYTE temp;
while(1)
{
do
{
do
{
P1=0xFF;
}while(P1==0xFF);
DELAY();
temp=P1;
}while(temp==0xFF);
key_i=8;
key_j=0;
do
{
if(temp==K0TAB[key_j])
{
do
{}while(P1!=0xFF);
DELAY();
return key_j;
}
key_j++;
}while(--key_i);
}
}
main()
{
DBUF=16;
while(1)
{
DISP(KEY());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -