#include <reg52.h>
bit int_flag;
sbit SPK=P3^7;
#define uchar unsigned char
#define uint unsigned int
unsigned char volatile int_count;
unsigned char volatile T1count;
signed int sum;
signed int sz[41];
sbit ch451_dclk=P1^1; //串行数据时钟上升延激活
sbit ch451_din=P1^0; // 串行数据输出,接CH451的数据输入
sbit ch451_load=P1^2; //串行命令加载,上升延激活
sbit ch451_dout=P3^3;
uchar i,j,k,q,g,s,b,qi;
#define CH451_RESET 0x0201 //复位
#define CH451_SYSOFF 0x0400 //关显示、键盘、看门狗
#define CH451_SYSON1 0x0401 //开显示
#define CH451_SYSON2 0x0403 //开显示、键盘
#define CH451_SYSON3 0x0407 //开显示、键盘、看门狗功能
#define CH451_DSP 0x0500 //设置默认显示方式
#define CH451_BCD 0x0580 //设置BCD译码方式
#define CH451_TWINKLE 0x0600 //设置闪烁控制
#define CH451_DIG0 0x0800 //数码管位0显示
#define CH451_DIG1 0x0900 //数码管位1显示
#define CH451_DIG2 0x0a00 //数码管位2显示
#define CH451_DIG3 0x0b00 //数码管位3显示
#define CH451_DIG4 0x0c00 //数码管位4显示
#define CH451_DIG5 0x0d00 //数码管位5显示
#define CH451_DIG6 0x0e00 //数码管位6显示
#define CH451_DIG7 0x0f00 //数码管位7显示
/**************************************
函数名称:delayXms
功能:实现毫秒级延时
参数:z (延时的ms数)
返回值:无
**************************************/
void delay(unsigned int cnt)
{
while(--cnt);
}
void init_t0(void)
{
TMOD=(TMOD&0xF0)||0x01; //定时器0工作于方式1
TH0=(65536-50000)/256; //定时50ms
TL0=(65535-50000)%256;
}
// 定时器1初始化
void init_t1(void)
{
TMOD=(TMOD&0x0F)|0x50; //timer 1 for count
TH1 =0x00;
TL1 =0x00;
}
void delayXms(uint z)