⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c8279s.c

📁 8279键盘单片机c语言编码
💻 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 + -