📄 main.c
字号:
#include"160128_driver.h"
#include"t6963.h"
#include"tab.h"
#include"reg51.h"
unsigned char i=0,j=0,k=0,m=0,n=0,p=0;
bit b;
//演示500ms子程序
/*void Delay_500ms()
{
unsigned char a,b,c;
for(a=0;a<250;a++)
for(b=0;b<3;b++)
for(c=0;c<220;c++);
}*/
//初始化显示
void Init_disply()
{
LCD_Init(0x00,0x00,0x14,0x40,0x01,0x14,0xa1,MOD_XOR,0x9c);
Clear_LCD();
/*CGRAM偏置地址设置函数*/
Write_CGORM();
Han_Zi(2,0,0x81);
Han_Zi(4,0,0x85);
Han_Zi(6,0,0x89);
Han_Zi(8,0,0x8d);
Han_Zi(10,0,0x91);
Han_Zi(2,18,0x95);
Han_Zi(4,18,0x99);
Han_Zi(6,18,0x9d);
Han_Zi(8,18,0xa1);
Han_Zi(10,18,0xa5);
Han_Zi(10,12,0xa9);
Circle(123,79,1,1);
Circle(123,79,2,1);
Circle(63,139,1,1);
Circle(63,139,2,1);
Circle(3,79,1,1);
Circle(3,79,2,1);
Circle(63,19,1,1);
Circle(63,19,2,1);
Set_xy(5,4);
Write_8_Data(0x2d,0xc4);
Set_xy(5,5);
Write_8_Data(0x41,0xc4);
Set_xy(5,6);
Write_8_Data(0x44,0xc4);
Set_xy(5,7);
Write_8_Data(0x45,0xc4);
Set_xy(5,9);
Write_8_Data(0x29,0xc4);
Set_xy(5,10);
Write_8_Data(0x4e,0xc4);
Set_xy(5,12);
Write_8_Data(0x23,0xc4);
Set_xy(5,13);
Write_8_Data(0x48,0xc4);
Set_xy(5,14);
Write_8_Data(0x49,0xc4);
Set_xy(5,15);
Write_8_Data(0x4e,0xc4);
Set_xy(5,16);
Write_8_Data(0x41,0xc4);
Circle(115,109,1,1);
Circle(93,131,1,1);
Circle(33,131,1,1);
Circle(11,109,1,1);
Circle(11,49,1,1);
Circle(33,27,1,1);
Circle(93,27,1,1);
Circle(115,49,1,1);
Circle(63,79,60,1);
}
//时钟显示子程序
void Time_disply()
{
Set_xy(11,6);
Write_Data1(p/10+0x10,0xc4);
Set_xy(11,7);
Write_Data1(p%10+0x10,0xc4);
Set_xy(11,8);
Write_Data1(0x1a,0xc4);
Set_xy(11,9);
Write_Data1(n/10+0x10,0xc4);
Set_xy(11,10);
Write_Data1(n%10+0x10,0xc4);
Set_xy(11,11);
Write_Data1(0x1a,0xc4);
Set_xy(11,12);
Write_Data1(i/10+0x10,0xc4);
Set_xy(11,13);
Write_Data1(i%10+0x10,0xc4);
}
void main()
{
TH0 = 0x3C; //定时100ms
TL0 = 0xB0;
TMOD = 1;
TR0 = 1;
ET0 = 1;
EA = 1;
Init_disply();
while(1)
{ Time_disply();
Line(Sec[i][0],Sec[i][1],63,79,1);
Line(Min[n][0],Min[n][1],63,79,1);
Line(Hour[m][0],Hour[m][1],63,79,1);
Circle(63,79,2,1);
while(!b);
{
Line(Sec[i][0],Sec[i][1],63,79,0);b=0;i++;
if(i==60)
{
i=0;Line(Min[n][0],Min[n][1],63,79,0);j++;n++;
if(j==12)
{
j=0;Line(Hour[m][0],Hour[m][1],63,79,0);m++;
if(m==60)m=0;
}
if(n==60){n=0;p++;if(p==12)p=0;}
}
}
}
}
void time_0() interrupt 1 using 0
{
TH0=0x3C;
TL0=0xB0;
k++;
if(k==20)
{
k=0;
b=1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -