|
簡(jiǎn)易時(shí)鐘設(shè)計(jì)
#include<reg51.h>
#include<lcd1602.H>
#define uchar unsigned char
#define uint unsigned int
uchar int_time;
uchar second;
uchar minute;
uchar hour;
uchar code date[]=" H.I.T.CHINA";
uchar code time[]=" TIME 23:59:55";
uchar second=55,minute=59,hour=23;
void clock_write( uint s, uint m, uint h)
{
write_sfm(0x47,h);
write_sfm(0x4a,m);
write_sfm(0x4d,s);
}
void clock_init()
{
uchar i,j;
for(i=0;i<16;i++)
{
write_date(date[ i]);
}
write_com(0x80+0x40);
for(j=0;j<16;j++)
{
write_data(time[j]);
}
}
void main()
{
init1602();
clock_init();
TMOD=0x01;
EA=1;
ETO=1;
TH0=(65536-46483)/256;
TL0=(65536-46483)%256;
TR0=1;
int_time=0;
second=55;
minute=59;
hour=23;
while(1)
{
clock_write(second,minute,hour);
}
}
void TO_interserve(void) interrupt 1 using 1
{ int_time++;
if(int_time==20)
{
int_time=0;
second++;
}
if(second==60)
{
second=0;
minute++;
}
if(minute==60)
{
minute=0;
hour++;
}
if(hour=24)
{
hour=0;
}
TH0=(65536-46083)/256;
TL0=(65536-46083)%256;
}
附件里面是仿真圖,不含代碼(自行生成hex文件)僅供參考,請(qǐng)自行測(cè)試,如有錯(cuò)誤請(qǐng)告知:
Proteus仿真下載:
LCD時(shí)鐘的設(shè)計(jì).zip
(41.81 KB, 下載次數(shù): 17)
2022-4-18 16:08 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|