基于51单片机的电子万年历
//-------------------------------
void init(void) //定时器、计数器设置函数
{
TMOD=0x11; //指定定时/计数器的工作方式为3
TH0=0; //定时器T0的高四位=0
TL0=0; //定时器T0的低四位=0
TH1=0x3C;
TL1=0xB0;
EA=1; //系统允许有开放的中断
ET0=1; //允许T0中断
ET1=1;
// IT1=1;
// IT0=0;
PT1=1;
PT0=0;
TR0=1; //开启中断,启动定时器
TR1=0;
}
void InitialTimer2(void)
{
T2CON = 0x00; //16 Bit Auto-Reload Mode
TH2 = RCAP2H = 0x3C; //重装值,初始值 TL2 = RCAP2L = 0x18;
TL2 = RCAP2L = 0xB0;
ET2=1; //定时器 2 中断允许
TR2 = 0; //定时器 2 启动
}
//*******************主函数**************************
//***************************************************
void main()
{
ds1302_init(); //调用DS1302时钟的初始化子函数
init(); //调用定时计数器的设置子函数
lcd_init(); //调用液晶屏初始化子函数
InitialTimer2();
led=1; //关闭LCD的背光电源
while(1) //无限循环下面的语句:
{
keyscan(); //调用键盘扫描子函数
led=led1;
}
}