//***************主程序区*******************
void main()
{
AUXR=0X00; //定时器0,1和UART都采用传统的12分频,不用1T功能.
CLK_DIV=0; //外接24MHZ晶振,不用分频
TMOD = 0x02; //t0方式2:8位自动装载
TH0 = 0x06; //t0:(256-6)*1/2us=125us中断一次
TL0= 6;
IE = 0x82; //10000010:EA&T0
TR0 = 1;
//buz_set(1,25);
//TL1=0xd5;
//TH1=0x97;
SCON=0x90; //串口工作方式2,并允许串行口接收
PS=1; //串行口中断优先
PCON=PCON&0x7f; //串口通信方式的波特率加倍
EA=1; //打开总中断开关
ET0=1; //允许定时器0中断
//ET1=1; //允许定时器1中断
//TR1=1;
led1=0x00;
led2=0x00;
led3=0x00;
led4=0x00;
while(1)
{
while(t_us >= 80) //10ms
{
t_us = 0;
key_scan(); //按键扫描
send595(led1,led2,led3,led4);
key_deal(); //按键处理
time_man(); //时间管理
dis_man(); //显示管理
buz_man(); //蜂鸣器管理
}
}
}
//*************定时器中断****************
void t0_isr(void) interrupt 1
{
t_us ++;
.......其它内容
}
|