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

📄 8279program.txt

📁 8279键盘显示程序
💻 TXT
字号:

# include<reg51.h>
# include<absacc.h>
# define COM XBYTE[0xbfff]        /*命令/状态口*/
# define DAT XBYTE[0xbffe]        /*数据口*/
# 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[8]={0,1,2,3,4,5,6,7}
sbit cflag=ACC^7;
uchar keyin();
uchar deky();
void disp(uchar idata *d);

void main (void)
{
  uchar i;
  COM=0xd1;             /*总清除命令*/
  do{ACC=COM;}
  while(cflag==1);      /*等待清除结束*/
  COM=0x00;COM=0x2a;    /*键盘,显示方式,时钟分频*/
  while(1)
  {for(i=0;i<8;i++)
   {disp(diss);         /*显示缓冲区内容*/
    diss[i]=keyin();    /*键盘输入到显示缓冲*/
   }
  }
}
void disp(d)            /*显示函数*/
uchar idata *d;
{  uchar i;
   COM=0x90;            /*写显示RAM命令,地址自动加1*/
   for(i=0;i<8;i++)
   {  COM=i+0x80;
      DAT=table[*d];
      d++;
   }
}
uchar keyin(void)       /*取键值函数*/
{
   uchar i;
   while(deky()==0;     /*无键按下等待*/
   COM=0x40;            /*读FIFO RAM命令*/
   i=DAT;i=i&0x3f;      /*取键盘数据低6位*/
   return(i);           /*返回键值*/
}
uchar deky(void)        /*判断FIFO有键按下函数*/
{uchar k;
 k=COM;
 return(k&0x0f);        /*非0,有键按下*/
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -