<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于stc89c52rc單片機的數字鐘設計(數碼管顯示)

基于stc89c52rc單片機的數字鐘設計(數碼管顯示)

作者: 時(shí)間:2012-08-15 來(lái)源:網(wǎng)絡(luò ) 收藏

事情總是看著(zhù)簡(jiǎn)單,做起來(lái)沒(méi)那么容易。
這個(gè)程序我開(kāi)始時(shí)是根據教程編的,有些地方不理解就匆匆略過(guò)……事實(shí)證明這是不可取的……
寫(xiě)了百十來(lái)行以后編譯,報錯!就不會(huì )解決了。
這時(shí)才體會(huì )到基礎是多么重要?。?!
學(xué)習方法要科學(xué),要知其然,更要知其所以然。
就像羅哥說(shuō)的,從原理入手……
感謝 劉鵬 百忙之中抽出時(shí)間指導,真是我的良師和益友。。。。。。。
*****************************************************
把程序貼出來(lái)。大家學(xué)習學(xué)習。千萬(wàn)不要ctrl c,ctrl v。
全部代碼下載地址:http://www.51hei.com/f/ssz.rar
********************************************

我已經(jīng)加了部分注釋……

*************************************************************
P1口接4*4矩陣鍵盤(pán)
P2口作為數碼管的片選控制端
P0口送給數碼管數據
1:實(shí)現時(shí)分秒的顯示
2:通過(guò)S1調節秒,S2調節分鐘,S3調節小時(shí),S4退出調節模式。
3:按鍵松手有效

*************************************************************
矩陣鍵盤(pán)的掃描
定時(shí)器的應用
*****************************************
c語(yǔ)言函數調用
形參
實(shí)參
******************************************************************

#includereg52.h>#define uchar unsigned char#define uint unsigned intuchar code table1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x40};//共陰數碼管字模uchar code table2[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdF,0xbF,0x7F};
//P2口位選8個(gè)數碼管uchar key_code[] ={0xb7,0xbb,0xbd,0xbe};uchar key;uchar hour,min,sec;uchar k;void delay(uchar z)  //延時(shí)函數{uchar x,y;for(x=z;x>0;x--)for(y=100;y>0;y--);}void display() //顯示函數{if(k==20)//定時(shí)器定時(shí)50ms,20次就是1秒{k=0;sec++;}if(sec>59){sec=0;min++;}if(min>59){min=0;hour++;}if(hour>23){hour=0;}P2=table2[5];  //片選P0=table1[hour/10];//送數據,十位delay(10);P2=table2[4];  //片選P0=table1[hour%10];//個(gè)位delay(10);P2=table2[3]; P0=table1[min/10];delay(10);P2=table2[2]; P0=table1[min%10];delay(10);P2=table2[1]; P0=table1[sec/10];delay(10);P2=table2[0]; P0=table1[sec%10];delay(10);}unsigned char keyscan()//鍵盤(pán)掃描程序{unsigned char scan1, scan2, keycode, j;P1 = 0xf0;scan1 = P1;if (scan1 != 0xf0)//判鍵是否按下{delay(10); //延時(shí)10msscan1 = P1;if (scan1 != 0xf0)//二次判鍵是否按下{TR0=0;P1 = 0x0f;scan2 = P1;keycode = scan1 | scan2; //組合成鍵掃描編碼for (j = 0; j  4; j++){if (keycode == key_code[j])//查表得鍵值{key = j;while(P1!= 0x0f)display();return (key); //返回有效鍵值   }}}}elseP1 = 0xff;return (key = 4); //返回無(wú)效碼}void system_Ini() //定時(shí)器初始化{TMOD= 0x01;TH0=(65535-50000)/256; TL0=(65535-50000)%256; ET0 = 1; TR0  = 1;EA=1;}void timer0 () interrupt 1 //中斷程序{TH0=(65535-50000)/256; TL0=(65535-50000)%256;k++;}void contral(uchar key) //調整時(shí)間{if(key==0||key==1||key==2){if(key==0){sec++;if(sec>59){sec=0;}}else if(key==1){min++;if(min>59){min=0;}}else if(key==2){hour++;if(hour>23){hour=0;}}}else if(key==3){TR0=1;}}void main(){uchar a;system_Ini();//函數調用,初始化while(1){a=keyscan();contral(a);display();}}


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>