您现在的位置: 主页 > MCU > 51单片机 > 51单片机C语言程序(五) 时钟程序(用定时器)
本文所属标签:
为本文创立个标签吧:

51单片机C语言程序(五) 时钟程序(用定时器)

来源:网络整理 网络用户发布,如有版权联系网管删除 2018-07-02 

#define uchar unsigned char

#define uint unsigned int

sbit dula=P2^6;

sbit wela=P2^7;

sbit rs=P3^5;

sbit lcden=P3^4;

sbit s1=P3^0;

sbit s2=P3^1;

sbit s3=P3^2;

sbit rd=P3^7;

uchar count,s1num;

char miao,shi,fen;

uchar code table[]="

2009-7-13 MON";

uchar code table1[]="

00:00:00";

void delay(uint z)

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

void write_com(uchar com)

rs=0;

lcden=0;

P0=com;

delay(5);

lcden=1;

void write_date(uchar date)

rs=1;

P0=date;

void init()

uchar num;

dula=0;

wela=0;

write_com(0x38);

write_com(0x0c);

write_com(0x06);

write_com(0x01);

write_com(0x80);

for(num=0;num<15;num++)

write_date(table[num]);

write_com(0x80+0x40);

for(num=0;num<12;num++)

write_date(table1[num]);

TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

EA=1;

ET0=1;

TR0=1;

void write_sfm(uchar add,uchar date)

uchar shi,ge;

shi=date/10;

ge=date%10;

write_com(0x80+0x40+add);

write_date(0x30+shi);

write_date(0x30+ge);

void keyscan()

rd=0;

if(s1==0)

s1num++;

while(!s1);

if(s1num==1)

TR0=0;

write_com(0x80+0x40+11);

write_com(0x0f);

if(s1num==2)

write_com(0x80+0x40+8);

if(s1num==3)

write_com(0x80+0x40+5);

if(s1num==4)

s1num=0;

if(s1num!=0)

if(s2==0)

while(!s2);

miao++;

if(miao==60)

miao=0;

write_sfm(10,miao);

write_com(0x80+0x40+10);

fen++;

if(fen==60)

fen=0;

write_sfm(7,fen);

write_com(0x80+0x40+7);

shi++;

if(shi==24)

shi=0;

write_sfm(4,shi);

write_com(0x80+0x40+4);

if(s3==0)

while(!s3);

miao--;

if(miao==-1)

miao=59;

fen--;

if(fen==-1)

fen=59;

shi--;

if(shi==-1)

shi=23;

void main()

init();

while(1)

keyscan();

void timer0() interrupt 1

count++;

if(count==18)

count=0;



              查看评论 回复



嵌入式交流网主页 > MCU > 51单片机 > 51单片机C语言程序(五) 时钟程序(用定时器)
 

"51单片机C语言程序(五) 时钟程序(用定时器)"的相关文章

网站地图

围观()