#include
#include
#include
#define uchar unsigned char
#define uint unsigned int
uchar code segtbl[]= {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff,0xc6};
// 0 1 2 3 4 5 6 7 8 9 - c
uchar data dis_b; //位段码
uchar data dis_r; //位偏移量
uchar data dis[8]; //定义8个连续的存储器
uchar data c_min;
uchar data c_hou;
uchar data second;
uchar data minite;
uchar data hour;
uchar data CNTA;
uchar data speaker_num; //蜂鸣次数
bit beep; //整点报时标志
bit run; //运行标志
bit flash; //灭灯标志
bit clarm_switch; //闹钟开关标志
bit baoshi; //报时开关标志
sbit speaker=P1^3;
sbit minitek=P1^1;
sbit hourk=P1^0;
sbit enter=P1^4;
sbit led1=P1^6; // 按键标识
sbit led2=P1^7; // 运行标志
uint n,k;
void delay_10us(uchar n) //10微秒级延时
{ do
{ _nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}while(--n);
}
void delay_ms(uint n) //毫秒级延时
{ do delay_10us(131);
while(--n);
}
clk_to_dis()
{
dis