📄 clock.c
字号:
#include<reg51.h>
#include<absacc.h>
#include<intrins.h>
#define uchar unsigned char
#define W_C_GLCD XBYTE[0xA000]
#define W_D_GLCD XBYTE[0xA001]
#define R_B_GLCD XBYTE[0xA002]
#define R_D_GLCD XBYTE[0xA003]
uchar DHZTAB[]={" 秒: "};
sbit flag=ACC^7;
uchar i;
void initial_GLCD();
void command_GLCD(uchar ord);
void chkbusy_GLCD();
void write_GLCD(uchar dat);
void delay();
void display(unsigned int count);
void main()
{
uchar i,temp,j;
unsigned int count;
initial_GLCD();
temp=0x10;
command_GLCD(temp|0x80);
for(j=0;j<8;j++)
{
write_GLCD(DHZTAB[i]);
i++;
write_GLCD(DHZTAB[i]);
i++;
}
i=0;
TMOD=0x01;
TCON=0x10;
while(1)
{
if(TF0==1)
{
TH1=0x97;
TL1=0xFA;
TMOD=0x10;
TCON=0x40;
}
if(TF1==1)
{
TMOD=0x01;
TCON=0x10;
count++;
if(count==600)
{
TMOD=0x00;
TCON=0x00;
}
display(count);
}
}
}
void initial_GLCD()
{
command_GLCD(0x30);
delay();
command_GLCD(0x30);
delay();
command_GLCD(0x30);
delay();
command_GLCD(0x06);
delay();
command_GLCD(0x01);
delay();
command_GLCD(0x0c);
delay();
}
void command_GLCD(uchar ord)
{
chkbusy_GLCD();
W_C_GLCD=ord;
}
void chkbusy_GLCD()
{
do{ACC=R_B_GLCD;}
while(flag==1);
}
void write_GLCD(uchar dat)
{
chkbusy_GLCD();
W_D_GLCD=dat;
}
void delay()
{
uchar i;
for(i=0;i<25;i++)
{;}
}
void display(unsigned int count)
{
uchar d0,d1,d2,temp,firs;
d0=count/100;
d1=count/10%10;
d2=count%10;
temp=0x11;
command_GLCD(temp|0x80);
firs=0x30+d0;
write_GLCD(firs);
firs=0x30+d1;
write_GLCD(firs);
temp=0x14;
command_GLCD(temp|0x80);
firs=0x30+d2;
write_GLCD(firs);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -