基于定时器的51单片机时钟程序.docx

上传人:b****5 文档编号:26435213 上传时间:2023-06-19 格式:DOCX 页数:14 大小:15.19KB
下载 相关 举报
基于定时器的51单片机时钟程序.docx_第1页
第1页 / 共14页
基于定时器的51单片机时钟程序.docx_第2页
第2页 / 共14页
基于定时器的51单片机时钟程序.docx_第3页
第3页 / 共14页
基于定时器的51单片机时钟程序.docx_第4页
第4页 / 共14页
基于定时器的51单片机时钟程序.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

基于定时器的51单片机时钟程序.docx

《基于定时器的51单片机时钟程序.docx》由会员分享,可在线阅读,更多相关《基于定时器的51单片机时钟程序.docx(14页珍藏版)》请在冰豆网上搜索。

基于定时器的51单片机时钟程序.docx

基于定时器的51单片机时钟程序

基于定时器的51单片机时钟程序

51单片机时钟程序,基于定时器写出,同时还有定时、日历、键盘调节功能

#inelude#includevintrins.h>sbitdula=P2A6;

sbitwela=P2A7;

sbitkey1=P3A4;

sbitkey2=P3A5;

sbitluis=P3A6;

sbitkey4=P3A7;

#defineuintunsignedint#defineucharunsignedchar

ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};ucharcodetable2[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};

uchara,b,d,shis,ges,

shif,gef,shim,gem,shi,fen,miao,shiy,gey,shir,ger,yue,ri;

voiddisplay1(uchar,uchar,uchar,uchar,uchar,uchar);void

display2(uchar,uchar,uchar,uchar);

voidinit();

voidkeyscan1();

voidkeyscan2();

voiddelay(uintz)

{

uintx,y;

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

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

voidmain()

{

init();

a=0;

miao=0;

shi=0;

fen=0;

yue=1;

ri=1;

while

(1)

{

if(luis==1)

{

display1(shis,ges,shif,gef,shim,gem);

keyscan1();

}

else

{

display2(shiy,gey,shir,ger);

keyscan2();

}

voidinit()

{

d=0xaa;

P1=d;

TMOD=0x11;

TH0=(65536-45872)/256;

TL0=(65536-45872)%256;

TH1=(65536-45872)/256;

TL1=(65536-45872)%256;

EA=1;

ET0=1;

ET1=1;

TR0=1;

TR1=1;

}

voiddisplay1(ucharshis,ucharges,ucharshif,uchargef,ucharshim,uchargem)

{

dula=1;

P0=table[shis];

dula=0;

P0=0xff;

wela=1;

P0=0xfe;

wela=0;

delay

(1);

dula=1;P0=table2[ges];

dula=0;

P0=0xff;

wela=1;

P0=0xfd;

wela=0;

delay

(1);

dula=1;

P0=table[shif];dula=0;

P0=0xff;

wela=1;

P0=0xfb;wela=0;

delay

(1);

dula=1;

P0=table2[gef];dula=0;

P0=0xff;

wela=1;

P0=0xf7;

wela=0;

delay

(1);

dula=1;

P0=table[shim];

dula=0;

P0=0xff;

wela=1;

P0=0xef;

wela=0;

delay

(1);

dula=1;

P0=table[gem];

dula=0;

P0=0xff;

wela=1;

P0=0xdf;

wela=0;

delay

(1);

}

voidr0()interrupt1{

TH0=(65536-45872)/256;

TL0=(65536-45872)%256;a++;

if(a==20)

{

a=0;miao++;

if(miao==60){miao=0;fen++;

if(fen==60)

{

fen=0;

shi++;

if(shi==24)

{

shi=0;

{

if(yue==1)

{

ri++;

if(ri==32)

{

ri=0;

yue=yue+1;

}

if(yue==2)

{ri++;

if(ri==29)

{

ri=0;yue=yue+1;}

}

if(yue==3)

{ri++;

if(ri==32)

{

ri=0;yue=yue+1;

}

}

if(yue==4)

{ri++;

if(ri==31)

ri=0;

yue=yue+1;

}

}

if(yue==5)

{

ri++;

if(ri==32)

{

ri=0;yue=yue+1;

}

}

if(yue==6)

{

ri++;

if(ri==31)

{

ri=0;yue=yue+1;

}

}

if(yue==7)

ri++;

if(ri==31)

{

ri=0;yue=yue+1;

}

}

if(yue==8)

{

ri++;

if(ri==32)

{

ri=0;yue=yue+1;

}

}

if(yue==9)

{

ri++;

if(ri==31)

{

ri=0;

yue=yue+1;

}

if(yue==10){ri++;if(ri==32)

{

ri=0;yue=yue+1;

}

}

if(yue==11){ri++;

if(ri==31)

{

ri=0;yue=yue+1;

}

}if(yue==12)

{

ri++;

if(ri==32)

ri=0;

yue=1;

}

}

}

}

}

}

shiy=yue/10;

gey=yue%10;

shir=ri/10;

ger=ri%10;

shis=shi/10;

ges=shi%10;

shim=miao/10;

gem=miao%10;shif=fen/10;

gef=fen%10;

}

}

}

voidr1()interrupt3{

TH1=(65536-45872)/256;

TL1=(65536-45872)%256;

b++;

{

if(b==20)

{

b=0;

d=_crol_(d,1);

P1=d;

}

}

}

voidkeyscan1()

{

if(key1==0)

{

delay(5);if(key1==0);

{

shi++;if(shi==24)shi=0;

while(!

key1);

}

}

if(key2==0)

delay(5);if(key2==0);

{

fen++;if(fen==60)fen=0;

while(!

key2);

}

}if(key4==0)

{delay(5);

if(key4==0);

{

delay(5);while(!

key4);

TR0=~TR0;

}

}

}

voiddisplay2(ucharshiy,uchargey,ucharshir,ucharger)

{

dula=1;

P0=table[shiy];dula=0;P0=0xff;wela=1;P0=0xfe;wela=0;delay

(1);dula=1;

P0=table2[gey];dula=0;P0=0xff;wela=1;P0=0xfd;wela=0;delay

(1);dula=1;

P0=table[shir];dula=0;P0=0xff;wela=1;P0=0xfb;wela=0;

dula=1;

P0=table2[ger];

dula=0;

P0=0xff;

wela=1;

P0=0xf7;

wela=0;

delay

(1);

}

voidkeyscan2(){

if(key1==0)

{

delay(5);

if(key1==0);

{

yue++;

if(yue==13)

yue=1;

while(!

key1);

}

}

if(key2==0)

{

if(key2==0);{delay(5);

if(key2==0);{if(yue==1){ri++;if(ri==32){ri=1;

}

}if(yue==2)

{ri++;if(ri==29)

{ri=1;

}

}if(yue==3)

if(ri==32)

{

ri=1;

}

}

if(yue==4)

{

ri++;

if(ri==31)

{

ri=1;

}

}

if(yue==5)

{

ri++;if(ri==32)

{

ri=1;

if(ri==31)

{

ri=1;

}

}

if(yue==7)

{

ri++;

if(ri==31)

{

ri=1;

}

}

if(yue==8)

{

ri++;if(ri==32)

{

ri=1;

if(ri==31)

{

ri=1;

}

}

if(yue==10)

{

ri++;if(ri==32)

{

ri=1;

}

}

if(yue==11)

{

ri++;if(ri==31)

{

ri=1;

if(ri==32)

{

ri=1;

}while(!

key2);

}

while(!

key2);

}

while(!

key2);

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1