题目
代码
timer.c
#include <timer.h>
void Timer0Init(void) //1毫秒@11.0592MHz
{
AUXR |= 0x80; //定时器时钟1T模式
TMOD &= 0xF0; //设置定时器模式
TL0 = 0xCD; //设置定时初值
TH0 = 0xD4; //设置定时初值
TF0 = 0; //清除TF0标志
TR0 = 1; //定时器0开始计时
EA=ET0=1;
}
timer.h
#ifndef _TIMER_H_
#define _TIMER_H_
#include <STC15F2K60S2.H>
void Timer0Init(void);
#endif
smg.c
#include <smg.h>
uchar code smgduan[21]={
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,
0xf8,0x80,0x90,0xff,
0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
//后面加的是小数的显示
uchar dspbuf[8]={
10,10,10,10,10,10,10,10};
void smg_display(void)
{
static uchar i=0;
XBYTE[0XE000]=0XFF; //这是MM编辑模式
XBYTE[0XC000]=1<<i;
XBYTE[0XE000]=smgduan[dspbuf[i]];
if(++i == 8)
i=0;
}
smg.h
#ifndef _SMG_H_
#define _SMG_H_
#include <STC15F2K60S2.H>
#include <absacc.h>
#define uchar unsigned char
#define uint unsigned int
void smg_display(void);
extern uchar dspbuf[8];
#endif
key.c
#include <key.h>
uchar key_sum;
uchar k7_press;
uchar k6_press;
void key_read