1、/-8279 显示实验 -/-头文件引用-#include#include/-宏声明-#define D8279 XBYTE0xFF80 /8279 数据口地址#define C8279 XBYTE0xFF82 /8279 状态/命令口地址#define uchar unsigned char#define uint unsigned int/-变量定义-uchar code ledseg = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5E,0x79,0x71;/LED 显示常数表uchar flag,
2、ge,shi,bai,qian,time;uint num;/-延时子程序-void delay()uint k,j;for(k=0;k0;x-)for(y=110;y0;y-);/-初始化-void first()delay1(100); /延时TMOD=0x15; /T1 为定时,工作方式 1,T0 为计数,工作方式 1TH0=0x00;TL0=0x00;TH1=0x4c;TL1=0x00;TR0=1;TR1=1;IE=0x8a;/-8279 初始化子程序-void init8279()C8279=10; /置 8279 工作方式C8279=0x38; /置键盘扫描速率C8279=0xd1
3、; /清除 LED 显示delay();C8279=0x90;D8279=0x40; /显示“8279. -“D8279=0x40;D8279=0x00;D8279=0x00;D8279=0xef;D8279=0x27;D8279=0x5b;D8279=0x7f;/-显示-void disp()C8279=0x90;D8279=0;D8279=0;D8279=0;D8279=0;D8279=ledsegge;D8279=ledsegshi;D8279=ledsegbai;D8279=ledsegqian;void caiji()uchar a,b;if(time=20)time=0;a=TH0
4、;b=TL0;TH0=0;TL0=0;num=a*256+b;qian=num/1000;bai=num%1000/100;shi=num%100/10;ge=num%10;/-主程序-void main()first();init8279(); /8279 初始化while(1)uchar key;while(C8279 /无键按下,等待C8279=0x40; /读 FIFO RAM 命令key=D8279;key=(key /取键盘数据低 6 位if(key=0)caiji();disp();/-初始化-void time0() interrupt 3TH1=0x4c;TL1=0x00;time+;