8279.txt

来自「该程序为单片机控制8279工作的程序」· 文本 代码 · 共 64 行

TXT
64 行
字号
#include<reg51.h>
#include<absacc.h>

#define COM XBYTE[0x7fff]     //命令/状态口
#define DAT XBYTE[0x7eff]     //数据口 

#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]={7,6,5,4,3,2,1,0};
sbit clflag=ACC^7;
                    
uchar disp(d)          //显示函数
uchar idata *d;
{
 uchar i;
 COM=0x90;
 for(i=0;i<8;i++)
    {
     COM=i+0x80;
     DAT=table[*d];
     d++;
      }
 }
 
uchar deky(void) 
{
 uchar k;
 k=COM;
 return(k&0x0f);
 }
 
 
uchar keyin(void)           //取键值函数
{
 uchar i;
 while(deky()==0);          //无键按下等待
 COM=0x40;                  //读FIFO RAM命令
 i=DAT;                     //取键盘数据低6位
 i=i&0x3f;
 return(i);                 //返回键值
 }
 

void main(void)
{
 uchar i;
 COM=0xd1;              //总清除命令
 do{ACC=COM;}
 while(clflag==1);
 COM=0x01;              //键盘 显示方式 时钟分频
 COM=0x2a;
  while(1)
 {
  for(i=0;i<8;i++)
  {
   disp(diss);          //显示缓冲区内容
   diss[i]=keyin();      //键盘输入到显示缓冲
   }
  }
 }

⌨️ 快捷键说明

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