基于單片機(jī)的數(shù)字時(shí)鐘設(shè)計(jì)_第1頁
基于單片機(jī)的數(shù)字時(shí)鐘設(shè)計(jì)_第2頁
基于單片機(jī)的數(shù)字時(shí)鐘設(shè)計(jì)_第3頁
基于單片機(jī)的數(shù)字時(shí)鐘設(shè)計(jì)_第4頁
基于單片機(jī)的數(shù)字時(shí)鐘設(shè)計(jì)_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

基于單片機(jī)的數(shù)字時(shí)鐘設(shè)計(jì)設(shè)計(jì)簡介

本設(shè)計(jì)選擇的是以STC90C51單片機(jī)為控制核心。配備其他外圍電路構(gòu)成了一個(gè)具有時(shí)間顯示、按鍵調(diào)時(shí)、鬧鈴定時(shí)功能的數(shù)字時(shí)鐘。系統(tǒng)采用七段式數(shù)碼管作為顯示器,軟件程序采用均采用C語言編寫,便于移植與升級。報(bào)告詳細(xì)介紹了整個(gè)系統(tǒng)的硬件組成結(jié)構(gòu)、工作原理和系統(tǒng)的軟件程序設(shè)計(jì)。系統(tǒng)設(shè)計(jì)

系統(tǒng)框圖

報(bào)時(shí)電路

單片機(jī)電源電路

時(shí)鐘電路復(fù)位電路顯示電路控制電路硬件設(shè)計(jì)

——系統(tǒng)仿真電路圖系統(tǒng)硬件組成及其功能

一、電源電路二、時(shí)鐘電路其輸入引腳為18(XTA2)、19(XTAL1).電路有2個(gè)電容(C1/C2)其容量約為30pF還有一個(gè)晶體振蕩器(1.2~12mHz)。時(shí)鐘電路用于產(chǎn)生單片機(jī)工作所需要的時(shí)鐘信號三、按鍵電路單片機(jī)引腳默認(rèn)輸出為高電平,當(dāng)開關(guān)按下時(shí)引腳與地相連,引腳電平為低電平,單片機(jī)采集到低電平做出反應(yīng)。四、復(fù)位電路a、上電復(fù)位b、按鍵復(fù)位五、顯示電路六、報(bào)時(shí)電路74HC573OE:三態(tài)允許控制端低電平有效LE:數(shù)據(jù)鎖存使能,1D~8D為數(shù)據(jù)輸入端1Q~8Q為數(shù)據(jù)輸出端功能:芯片74HC573是8位三態(tài)鎖存器.可鎖存地址,數(shù)據(jù),可作緩沖器用。在本設(shè)計(jì)中采用74HC573提高對數(shù)碼管的驅(qū)動(dòng)能力。軟件設(shè)計(jì)

一、主程序流程圖二、按鍵程序流程圖三、程序及其功能#include<reg51.h>unsignedcharSeg[]={0X3f,0X06,0X5b,0X4f,0X66,0X6d,0X7d,0X07,0X7f,0X6f,0x40};//數(shù)碼管顯示1-9和—的斷碼unsignedcharCom[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff};//數(shù)碼管亮滅的數(shù)組/***************************************************************定義全局變量***************************************************************/unsignedintcounter=0;//定義計(jì)數(shù)數(shù)據(jù)unsignedcharmode;//定義模式unsignedcharsecond=0,minute=0,hour=0;//定義秒分時(shí)的初值unsignedcharADD_bit=0,DEC_bit=0,flag=0;//加標(biāo)志位和減標(biāo)志位賦初值0,/***************************************************************

定義按鍵

***************************************************************/sbitms=P1^0;//按鍵P^0調(diào)節(jié)模式變化sbitADD=P1^1;//按鍵P1^1實(shí)現(xiàn)加一sbitDEC=P1^2;//按鍵P1^2實(shí)現(xiàn)減一sbitSPK=P1^7;//按鍵P1^7實(shí)現(xiàn)報(bào)時(shí)

/***************************************************************延時(shí)函數(shù)***************************************************************/voiddelay(unsignedintt){while(t--);}/******************************************************************數(shù)碼管掃描******************************************************************/voidSegplay(){

P0=Seg[second%10];P3=Com[7];delay(100);P3=Com[8];P0=Seg[second/10];

P3=Com[6];delay(100);P3=Com[8];P0=Seg[10];

P3=Com[5];delay(100);P3=Com[8];P0=Seg[minute%10];

P3=Com[4];delay(100);P3=Com[8];P0=Seg[minute/10];

P3=Com[3];delay(100);P3=Com[8];P0=Seg[10];

P3=Com[2];delay(100);P3=Com[8];P0=Seg[hour%10];

P3=Com[1];delay(100);P3=Com[8];P0=Seg[hour/10];

P3=Com[0];delay(100);P3=Com[8];}/***************************************************************按鍵掃描***************************************************************/voidKeyget(){//通過標(biāo)志位來控制模式

if(ms==0){flag=1;}if((ms)&&(flag)) {flag=0;mode++;if(mode==3)mode=0;}if(mode==1)

{if(ADD==0){ADD_bit=1;}//加按鍵

if((ADD)&&(ADD_bit))

{ADD_bit=0;minute++;if(minute==60)minute=0;}

if(DEC==0){DEC_bit=1;}//減按鍵if((DEC)&&(DEC_bit==1)) {DEC_bit=0;if(minute==0)minute=60;minute--;}}if(mode==2){if(ADD==0){ADD_bit=1;}if((ADD)&&(ADD_bit)) {ADD_bit=0;hour++;if(hour==24)hour=0;}if(DEC==0) {DEC_bit=1;}if((DEC)&&(DEC_bit==1)) {DEC_bit=0;if(hour==0)hour=24;hour--;}}}/***************************************************************報(bào)時(shí)掃描***************************************************************/voiddidi(){if(second==0&&minute==0){SPK=1;delay(20);SPK=0;}}/**************************************************************************中斷初始化**************************************************************************/voidtime0(){TMOD=0x01;//設(shè)置定時(shí)器模式1TH0=(65536-50000)/256;//高八位賦初值TL0=(65536-50000)%256;//低八位賦初值TR0=1;//啟動(dòng)定時(shí)器0計(jì)數(shù)ET0=1;//使能定時(shí)器中斷EA=1;//使能總中斷}/***********************************************************************主函數(shù)***********************************************************************/voidmain(){time0();while(1){Keyget(); //加減控制Segplay();//數(shù)碼管顯示

didi();//報(bào)時(shí)控制}}/**************************************************************************中斷服務(wù)程序**************************************************************************/voidtimer0()interrupt1{TH0=(65536-50000)/256;//高八位賦初值TL0=(65536-50000)%256;

//低八位賦初值

counter++;

if(counter==20)

{counter=0;second++;if(second==60)

{second=0;minute++;}//秒進(jìn)位

if(minute==60)

{minute=0;hour++;}

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論