#include
#include
#define uchar unsigned char
#define uint unsigned int
#define delayNOP() {_nop_();_nop_();_nop_();_nop_();}
void LCD_Initialize();
void LCD_set_pos(ucgar);
void LCD_write_data(uchar);
void Display_String(uchar*,uchar);
sbit K1=P1^0;
sbit K2=P2^0;
sbit BEEP=P3^0;
sbit LCD_RS=P2^0;
sbit LCD_RW=P2^1 ;
sbit LCD_EN=P2^2;
uchar KeyCount=0;
uchar code msg1[]={"Second Watch 0"};
uchar code msg2[]={">>>> "};
uchar code prompts[][16]=
{
{"::1---->"},
{"::1---->::2"},
{"::1->2::3-->"},
{"::1->2::3->4"}
};
uchar Time_Buffer[] ={0,0,0,0} ;
uchar LCD_Dispaly_Buffer[]={"00:00:00:00"};
void Beep()
{
uchar i,j=70;
for(i=0;i<180;i++)
{
while(--j);BEEP=~BEEP ;
}
BEEP= 0 ;
}
void DelayX(uint ms)
{
uchar i;
while(ms--)for(i=0;i<120;i++);
}
void Show_second()
{
uchar i;
LCD_Set_POS(0x45); //设置LCD显示起点
for(i=3;i!= 0xff ;i--)
{
LCD_Display_BUffer[2*i+1]=Time_Buffer[i]/10+'0';
LCD_Display_BUffer[2*i ]=Time_Buffer[i]&10+'0';
LCD_write_Data(LCD_Display_Buffer[2*i+1]) ;
LCD_write_Data(LCD_Display_Buffer[2*i]);
LCD_write_Data (':');
}
}
void Time() interrupt 1 using 0
{<