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

下載本文檔

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

文檔簡(jiǎn)介

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論