📄 c8279s.c
字号:
#include<reg52.h>
#include<absacc.h>
#define COM XBYTE[0xdfff] //命令口
#define DAT XBYTE[0xdffe] //数据口
#define uchar unsigned char
uchar code table[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71
};
uchar idata diss[6]={0,1,2,3,4,5};
sbit clflag=ACC^7;
uchar keyin();
uchar deky();
void disp(uchar idata*d);
void disp(uchar idata*d)
{
uchar i;
for(i=0;i<6;i++)
{
COM=i+0x80;
DAT=table[*d];
d++;
}
}
uchar keyin(void) //取键值函数
{
uchar i;
while(deky()==0); //无键按下等待
COM=0x40; //读FIFORAM 命令
i=DAT;i=i&0x3f; //取键盘数据低6位
return (i);
}
uchar deky(void) //判FIFO有键按下命令
{
uchar k;
k=COM;
return(k&0x0f); //非0 有键按下
}
void main(void)
{
uchar i;
COM=0xd1; //总清除命令
do{ACC=COM;}while(clflag==1); //等待清除结束
COM=0x00; //键盘、显示方式
COM=0x2a; //时钟分频
while(1)
{
for(i=0;i<6;i++)
{
disp(diss); //显示缓冲区内容
diss[i]=keyin(); //键盘输入到显示缓冲
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -