欢迎来到天天文库
浏览记录
ID:58993524
大小:67.24 KB
页数:3页
时间:2020-10-27
《时钟实现c语言.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#include#defineucharunsignedcharuchartt,temp;charDelayCNT;ucharsecond=00,minter=00,hour=00;ucharminter_1,minter_2,hour_1,hour_2;unsignedintLedOut[10];unsignedinti=0;sbitLS138A=P2^2;sbitLS138B=P2^3;sbitLS138C=P2^4;voiddelay(unsignedinti);voiddisplay(u
2、charminterr,ucharhourr);unsignedcharcodetab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};voidmain(){unsignedintLedNumVal=0;tt=0;TMOD=0x01;//设置定时器1为工作方式1TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;//开总中断ET0=1;//开定时器1中断TR0=1;//启动定时器1while(1)/
3、/进入循环状态{if(tt==19)//1s到,则加一秒{tt=0;second++;if(second==60)//是否为60秒,是秒清零,分加一秒,不到则跳出{second=0;minter++;if(minter==60)//分是否为60分,是,分清零,时加一;不是则跳出{minter=0;hour++;if(hour==24){hour=0;}}}}display(minter,hour);}}voidexter0()interrupt1//定时器1中断{TH1=(65536-50000)/256;TL1
4、=(65536-50000)%256;tt++;}voiddisplay(ucharminterr,ucharhourr){/*minter_1=minterr/10;minter_2=minterr%10;hour_1=hourr/10;hour_2=hourr%10;*/LedOut[0]=tab[hourr/10];LedOut[1]=tab[hourr%10]
5、0x80;LedOut[2]=tab[minterr/10];LedOut[3]=tab[minterr%10];for(i=0;i<4;i++)
6、//实现8位动态扫描循环{P0=LedOut[i];//将字模送到P0口显示switch(i)//使用switch语句控制位选也可以是用查表的方式学员可以试着自己修改{case0:LS138A=0;LS138B=0;LS138C=0;break;case1:LS138A=1;LS138B=0;LS138C=0;break;case2:LS138A=0;LS138B=1;LS138C=0;break;case3:LS138A=1;LS138B=1;LS138C=0;break;}delay(150);}}voidd
7、elay(unsignedinti){charj;for(i;i>0;i--)for(j=200;j>0;j--);}
此文档下载收益归作者所有