資源描述:
《時鐘實現(xiàn)c語言.docx》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
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;//設(shè)置定時器1為工作方式1TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;//開總中斷ET0=1;//開定時器1中斷TR0=1;//啟動定時器1while(1)/
3、/進入循環(huán)狀態(tài){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、//實現(xiàn)8位動態(tài)掃描循環(huán){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--);}