單片機(jī)課程設(shè)計數(shù)字鐘報告.doc_第1頁
單片機(jī)課程設(shè)計數(shù)字鐘報告.doc_第2頁
單片機(jī)課程設(shè)計數(shù)字鐘報告.doc_第3頁
單片機(jī)課程設(shè)計數(shù)字鐘報告.doc_第4頁
單片機(jī)課程設(shè)計數(shù)字鐘報告.doc_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

單片機(jī)課程設(shè)計正文數(shù)字鐘是采用數(shù)字電路實現(xiàn)對時,分,秒,數(shù)字顯示的計時裝置,廣泛用于個人家庭,車站, 碼頭辦公室等公共場所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴(kuò)展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時程序自動控制、定時廣播、自動起閉路燈、定時開關(guān)烘箱、通斷動力設(shè)備、甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實的意義。二、 題目及要求 設(shè)計一個多功能數(shù)字鐘,使其具有以下功能:1、 由晶振電路產(chǎn)生標(biāo)準(zhǔn)秒信號。2、 能夠顯示時、分、秒:完成顯示由秒00一直加1至59,再恢復(fù)為00;分加1,由00至01,一直加1至59,再恢復(fù)00;時加1,由00至01,一直加1到23,再恢復(fù)00。3、 要有手動快速校時、校分、秒。4、 要有報時電路(蜂鳴器每分鐘短叫一聲,一小時長叫一聲)。5、 自定義電路,設(shè)計、調(diào)試,并完成實驗報告。要求設(shè)計基于單片機(jī)的多功能數(shù)字鐘,即用單片機(jī)來實現(xiàn)課程設(shè)計。三、 總體思路數(shù)字鐘實際上是一個對標(biāo)準(zhǔn)頻率(1HZ)進(jìn)行計數(shù)的計數(shù)電路。由于計數(shù)的起始時間不可能與標(biāo)準(zhǔn)時間一致,故需要在電路上加一個校時電路。對于一般的數(shù)字鐘多會有報時功能。針對以上敘述,可整體構(gòu)想:標(biāo)準(zhǔn)頻率可由振蕩電路產(chǎn)生,更精確時,可由石英晶體產(chǎn)生。計數(shù),可由2個60進(jìn)制計數(shù)器,分別作為秒、分計數(shù)單元,一個24進(jìn)制,作為時計數(shù)單元。計數(shù)單元同樣可采用中斷定時方式,這就需要由軟件來實現(xiàn)。對于校時部分,一般都是手動進(jìn)行,通過按鍵來控制時、分、秒的快速校準(zhǔn)。報時電路,可每小時短報時,也可設(shè)定每天的幾點(diǎn)準(zhǔn)時鬧鈴。至于,顯示時間的部分可由數(shù)碼管也可由液晶顯示來完成。針對以上設(shè)計思路,可有多種設(shè)計方案。對于具體的,參考方案論證。四、 方案論證方案一:純電路設(shè)計此方案電路總方框圖如下: 圖 1 系統(tǒng)原理框圖(1)振蕩電路:振蕩電路主要是用來產(chǎn)生一固定頻率的方波,可由定時器555與RC組合具體電路如下:圖 2 555與RC組成的多諧振蕩器圖但由于一般情況下,數(shù)字鐘需要較高的精確度,所以我們可以石英晶體來產(chǎn)生方波信號,電路圖如下:圖 3 石英晶體振蕩器圖振蕩器是數(shù)字鐘的核心。振蕩器的穩(wěn)定度及頻率的精確度決定了數(shù)字鐘計時的準(zhǔn)確程度,通常選用石英晶體構(gòu)成振蕩器電路。石英晶體振蕩器的作用是產(chǎn)生時間標(biāo)準(zhǔn)信號。因此,一般采用石英晶體振蕩器經(jīng)過分頻得到這一時間脈沖信號。(2)分頻電路:分頻電路主要是用來將振蕩器產(chǎn)生的固定頻率方波,經(jīng)一次或多次分頻得到1Hz的方波即1秒的時間。(3)計數(shù)電路:可用2個60進(jìn)制計數(shù)器分別作為分、秒的計數(shù)單元,1個24進(jìn)制計數(shù)器作為時的計數(shù)單元。以1Hz的方波作為秒計數(shù)的CLK時鐘信號,以秒計數(shù)溢滿進(jìn)位位作為分的CLK時鐘信號,以分計數(shù)溢滿進(jìn)位位作為時的CLK時鐘信號。部分電路如下: 圖4 秒、分計數(shù)電路(4)校時電路:可通過手動來斷開電路工作,然后快速調(diào)節(jié)時、分、秒,調(diào)整后,系統(tǒng)再繼續(xù)計數(shù)。(5)報時電路:可設(shè)定每小時短時報時,可以分計數(shù)溢滿進(jìn)位位控制蜂鳴器。或者每次的固定時間鬧鈴。對以上電路分析知,方案一完全由硬件電路實現(xiàn),不需軟件,也就不需編程。這也就注定了其硬件電路的復(fù)雜性,需要較高的硬件技術(shù)。因此,我們采用軟硬件結(jié)合的方法,既減少硬件電路,也可保證此數(shù)字鐘的高準(zhǔn)確度。因此,根據(jù)現(xiàn)實情況及課題要求,我們采用方案二。具體過程見具體實現(xiàn)部分。方案二:采用AT89S52單片機(jī)設(shè)計主要以52芯片為核心,可內(nèi)部或外部產(chǎn)生信號,采用中斷的方式定時。系統(tǒng)由AT89S52單片機(jī)、鎖存器74HC573、LED 數(shù)碼管、按鍵、發(fā)光二極管等部分構(gòu)成,能實現(xiàn)比較精確的走時、時間的調(diào)整等功能。秒信號是由單片機(jī)內(nèi)部的定時器產(chǎn)生,通過軟件計數(shù)和軟件的譯碼,以動態(tài)掃描的方式將時間顯示在數(shù)碼管上面。通過按鍵的檢測可以控制單片機(jī)相應(yīng)的動作,來達(dá)到調(diào)時的目的。五、 具體實現(xiàn)電路如下:圖 5 總體電路圖(一)、硬件設(shè)計1、電源電路:電源是單片機(jī)系統(tǒng)的重要組成部分,它不僅為系統(tǒng)提供多路電壓源,還直接影響到系統(tǒng)的技術(shù)指標(biāo)和抗干擾性能。AT89S52單片機(jī)和一般的數(shù)字芯片一樣,都是5V電壓供電,所以可以共用一個5V電源。另外,為了提高電源的穩(wěn)定性,在離電源的最近處做好退耦處理,可用一個電容,以濾去干擾,保證電源的穩(wěn)定。2、鎖存器74HC573:74HC573包含八路D 型透明鎖存器,每個鎖存器具有獨(dú)立的D 型輸入,以及適用于面向總線的應(yīng)用的三態(tài)輸出。所有鎖存器共用一個鎖存使能(LE)端和一個輸出使能(OE)端。Dn:第n路輸入數(shù)據(jù); On:第n路輸出數(shù)據(jù);當(dāng)LE為高時,數(shù)據(jù)從Dn輸入到鎖存器,在此條件下,鎖存器進(jìn)入透明模式,也就是說,鎖存器的輸出狀態(tài)將會隨著對應(yīng)的D輸入每次的變化而改變。當(dāng)LE為低時,鎖存器將存儲D輸入上的信息一段就緒時間,直到LE的下降沿來臨。當(dāng)OE為低時,8個鎖存器的內(nèi)容可被正常輸出;當(dāng)OE為高時,輸出進(jìn)入高阻態(tài)。OE端的操作不會影響鎖存器的狀態(tài)。操作電壓范圍:2.0V6.0V。低輸入電流:1.0uA下圖為74HC573的引腳圖:3、 數(shù)碼管顯示電路:要同時使得6個數(shù)碼管點(diǎn)亮,所需的IO口是很多的。為了節(jié)省單片機(jī)的IO口,通常采用動態(tài)掃描的顯示方法,將每個數(shù)碼管的同名段連在一起,分6次向數(shù)碼管寫數(shù)據(jù),每次對6個數(shù)碼管寫相同的數(shù)據(jù),每次選通一個數(shù)碼管,完成掃描,通過調(diào)整、縮短掃描的時間,由于人眼的視覺暫留作用,使得人們看起來就像同時顯示一樣,以達(dá)到動態(tài)顯示的目的。部分電路如下:此處數(shù)碼管采用LG5011AH型號的共陰極接法,其管腳如下:4、AT89S52單片機(jī):其引腳如下:電源引腳:40(VCC)接+5V電源,20(GND)接地。晶振采用內(nèi)部方式。晶體振蕩器與AT89S52的接法為如圖所示,XTAL1和XTAL2腳接到12MHz的晶體振蕩器上,與兩個30pf的電容并聯(lián),并接低電平。 19(XTAL1),18(XTAL2) XTAL1是片內(nèi)振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時,外部振蕩信號應(yīng)直接加到XTAL1,而XTAL2懸空。內(nèi)部方式時,時鐘發(fā)生器對振蕩脈沖二分頻,如晶振為12MHz,時鐘頻率就為6MHz。晶振的頻率可以在1MHz-24MHz內(nèi)選擇。電容取30PF左右。系統(tǒng)的時鐘電路設(shè)計是采用的內(nèi)部方式,即利用芯片內(nèi)部的振蕩電路。AT89單片機(jī)內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器。引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體諧振器一起構(gòu)成一個自激振蕩器。外接晶體諧振器以及電容C1和C2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴(yán)格的要求,但電容的大小會影響震蕩器頻率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)電路的晶體振蕩器的值為12MHz,電容應(yīng)盡可能的選擇陶瓷電容,電容值約為30F。在焊接刷電路板時,晶體振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作。9(RESET)復(fù)位鍵在振蕩器運(yùn)行時,有兩個機(jī)器周期(24個振蕩周期)以上的高電平出現(xiàn)在此引腿時,將使單片機(jī)復(fù)位,只要這個腳保持高電平,52芯片便循環(huán)復(fù)位。復(fù)位后P0P3口均置1引腳表現(xiàn)為高電平,程序計數(shù)器和特殊功能寄存器SFR全部清零。當(dāng)復(fù)位腳由高電平變?yōu)榈碗娖綍r,芯片為ROM的00H處開始運(yùn)行程序。復(fù)位是由外部的復(fù)位電路來實現(xiàn)的。本次采用了手動復(fù)位,電路如下:輸入輸出口的連接P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗時,P0輸出原碼,此時P0外部必須被拉高。本次設(shè)計使用P0口的P0.0P0.2來分別控制調(diào)時中的時、分、秒。電路如下 P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 本次設(shè)計P1口分別接段選74HC573的29引腳,鎖存控制數(shù)碼管的點(diǎn)亮。 P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。本次設(shè)計使用P2口的P2.0P2.5分別接位選74HC573的27腳,控制數(shù)碼管輪流點(diǎn)亮。此外,我們同樣用P2.7口控制蜂鳴器的報時。 P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。本次使用了P3的P3.1P3.2分別控制段選和位選。蜂鳴器的使用蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計算機(jī)、打印機(jī)、復(fù)印機(jī)、報警器、電子玩具、汽車電子設(shè)備、電話機(jī)、定時器等電子產(chǎn)品中作發(fā)聲器件。其中蜂鳴器電路中三極管的作用是放大聲音信號.三極管是一種控制元件,主要用來控制電流的大小,以共發(fā)射極接法為例(信號從基極輸入,從集電極輸出,發(fā)射極接地),當(dāng)基極電壓UB有一個微小的變化時,基極電流IB也會隨之有一小的變化,受基極電流IB的控制,集電極電流IC會有一個很大的變化,基極電流IB越大,集電極電流IC也越大,反之,基極電流越小,集電極電流也越小,即基極電流控制集電極電流的變化。但是集電極電流的變化比基極電流的變化大得多,這就是三極管的放大作用。具體電路如下:(二)、軟件實現(xiàn)利用C語言編程如下(部分說明已注釋):/*P1口接段選,P2口接位選(P2.0到P2.5),段選letch接P3.1,位選letch接P3.2*/#include#include#define uchar unsigned char#define uint unsigned int void SYSCLK_Init (void);void Port_Init(void);void delay();sbit dula = P31;sbit wela = P32;sbit alarm = P27;sbit key1=P00;sbit key2=P01;sbit key3=P02;uchar code duan=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,/共陰極數(shù)碼管的顯示譯碼 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;uchar code wei=0xfe,0xfd,0xfb,0xf7,0xef,0xdf; /段選編碼uchar i,j; /定義循環(huán)變量uchar sec1=0,sec2=0,min1=0,min2=0,hour1=0,hour2=0,sec=0,min=0,hour=0; /定義代表時分秒的變量uchar con=0;uint ms10; /定義10ms定時變量keyscan() /調(diào)時按鍵處理函數(shù) EA=0;if(key1=0)delay();delay();if(key1=0)while(!key1);sec+;if(sec=60)sec=0;if(key2=0)delay();delay();if(key2=0)delay();while(!key2);min+;if(min=60)min=0;if(key3=0)delay();delay();if(key3=0)while(!key3);hour+;if(hour=24)hour=0; EA=1; void main (void) alarm = 0; TMOD=0x02; TH0=0x06; TL0=0x06; EA=1; ET0=1; TR0=1; while(1) keyscan(); P2=0xff;dula=0;P1=duansec1; /*6*/顯示秒的個位dula=1;wela=0;P2=0xfe;wela=1;delay(); P2=0xff;dula=0;P1=duansec2; /*5*/ /顯示秒的十位dula=1;wela=0;P2=0xfd;wela=1;delay();P2=0xff;dula=0;P1=duanmin1; /*4*/ /顯示分的個位dula=1;wela=0;P2=0xfb;wela=1;delay();P2=0xff;dula=0;P1=duanmin2; /*3*/ /顯示分的十位dula=1;wela=0;P2=0xf7;wela=1;delay();P2=0xff;dula=0;P1=duanhour1; /*2*/ /顯示時的個位dula=1;wela=0;P2=0xef;wela=1;delay();P2=0xff;dula=0;P1=duanhour2; /*1*/ /顯示時的十位dula=1;wela=0;P2=0xdf;wela=1;delay(); void delay() /定義延時函數(shù)uint j,k;for(j = 0; j50; j+)for(k = 0;k5;k+);void timer0(void) interrupt 1 /使用定時器0中斷 ms10+; if(ms10

溫馨提示

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

評論

0/150

提交評論