數(shù)字電子時(shí)鐘的設(shè)計(jì)與制作設(shè)計(jì)說明_第1頁
數(shù)字電子時(shí)鐘的設(shè)計(jì)與制作設(shè)計(jì)說明_第2頁
數(shù)字電子時(shí)鐘的設(shè)計(jì)與制作設(shè)計(jì)說明_第3頁
數(shù)字電子時(shí)鐘的設(shè)計(jì)與制作設(shè)計(jì)說明_第4頁
數(shù)字電子時(shí)鐘的設(shè)計(jì)與制作設(shè)計(jì)說明_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 .PAGE45 / NUMPAGES49摘 要本次設(shè)計(jì)以AT89C52芯片為核心,輔以必要的外圍電路,設(shè)計(jì)了一個(gè)簡易的數(shù)字電子時(shí)鐘,它由5V直流電源供電。在硬件方面,除了CPU外,使用兩個(gè)四位一體的七段LED數(shù)碼管和一個(gè)單獨(dú)的共陽極數(shù)碼管顯示時(shí)、分、秒。四個(gè)簡單的獨(dú)立按鍵實(shí)現(xiàn)對時(shí)間的調(diào)整以與時(shí)鐘/秒表功能的轉(zhuǎn)換。軟件方面采用C語言編程,使用keil軟件進(jìn)行編程與調(diào)試,使整個(gè)電子時(shí)鐘能夠完成時(shí)間的顯示,調(diào)時(shí),秒表,報(bào)時(shí)等功能。數(shù)字時(shí)鐘是采用數(shù)字電路實(shí)現(xiàn)對“時(shí)”、“分”、“秒”數(shù)字顯示的計(jì)時(shí)裝置。數(shù)字時(shí)鐘的精度、穩(wěn)定度遠(yuǎn)遠(yuǎn)超過老式的機(jī)械時(shí)鐘。在這次設(shè)計(jì)中,我們采用LED數(shù)碼管分別顯示時(shí)、分、秒,

2、以24小時(shí)計(jì)時(shí)方式,根據(jù)數(shù)碼管動(dòng)態(tài)顯示原理來進(jìn)行顯示,用12MHz的晶振產(chǎn)生振蕩脈沖,定時(shí)器計(jì)數(shù)。數(shù)字時(shí)鐘體積小巧,價(jià)格低廉,時(shí)間精度高,使用方便,功能全,便于集成化而受廣大消費(fèi)的喜愛,因此得到了廣泛的應(yīng)用。關(guān)鍵詞:單片機(jī);數(shù)字電子時(shí)鐘;LED;數(shù)碼管ABSTRACTThis design with AT89C52 chip as the core, supplemented by the necessary peripheral circuit, design a simple digital electronic clock, it consists of 5 v dc power sup

3、ply. In terms of hardware, in addition to the CPU, using two four one of the seven segment LED digital tube and a single anode digital tube display when, minutes and seconds. Four simple implementation independent buttons adjust your time as well as the conversion clock/stopwatch function. Software

4、using C language programming, programming and debugging, using keil software to complete the whole electronic clock time, according to the adjustment, timing alarm clock, reset, etc. Digital Clock is a digital circuit implementation of the “when”, “minutes”, “seconds” the figures show the timing dev

5、ice. Digital clock precision, stability, far more than the old mechanical clock. In this design, we use LED digital display hours, minutes, seconds, to 24-hour time mode, according to digital control theory to dynamic display to display, use the 12MHz crystal oscillation pulse, the timer count.Digit

6、al clock is its compact, low cost, travel time and high precision, easy to use, features and more, easy integration and loved by the general consumer, so widely used. Keywords: single chip; digital electronic clock;LED;digital tube目 錄 摘要 ABSTRACT 1 緒論11.1 研究的背景11.2 數(shù)字時(shí)鐘的意義與應(yīng)用12 整體設(shè)計(jì)方案3 2.1 設(shè)計(jì)要求3 2.2

7、 整體方案的設(shè)計(jì)3 2.2.1 整體方案的確定32.2.2 電路設(shè)計(jì)框圖4 2.3 單片機(jī)的介紹43 數(shù)字時(shí)鐘硬件電路設(shè)計(jì)7 3.1 最小系統(tǒng)的設(shè)計(jì)73.2 數(shù)碼管顯示電路的設(shè)計(jì) 103.2.1 單個(gè)數(shù)碼管簡介 103.2.2 四位一體數(shù)碼管簡介 103.3 蜂鳴器控制電路的設(shè)計(jì) 123.4 按鍵控制電路的設(shè)計(jì) 134 數(shù)字時(shí)鐘的軟件設(shè)計(jì) 164.1 主程序設(shè)計(jì) 17 4.2 數(shù)碼管顯示子程序設(shè)計(jì) 18 4.3 按鍵檢測子程序設(shè)計(jì) 19 4.4 蜂鳴器報(bào)時(shí)子程序設(shè)計(jì) 205 數(shù)字時(shí)鐘的仿真與制作 21 5.1 調(diào)試與仿真 215.2 仿真圖缺陷分析 245.3 數(shù)字時(shí)鐘的制作 25總結(jié) 28參

8、考文獻(xiàn) 29致 30附錄 程序清單311 緒論1.1 研究的背景電子技術(shù)是十九世紀(jì)末、二十世紀(jì)初開始發(fā)展起來的新興技術(shù),二十世紀(jì)發(fā)展最迅速,應(yīng)用最廣泛,成為近代科學(xué)技術(shù)發(fā)展的一個(gè)重要標(biāo)志。在其推動(dòng)下,現(xiàn)代電子產(chǎn)品正在以前所未有的革新速度,向著功能多樣化、體積最小化、功耗最低化的方向迅速發(fā)展,電子技術(shù)的發(fā)展有力的推動(dòng)社會(huì)生產(chǎn)力的發(fā)展。單片機(jī)自1976年由Intel公司推出MCS-48開始,迄今已有二十多年了。由于單片機(jī)集成度高、功能強(qiáng)、可靠性高、體積小、功耗低、使用方便、價(jià)格低廉等一系列優(yōu)點(diǎn),目前已經(jīng)滲入到人們工作和生活的方方面面,單片機(jī)的應(yīng)用領(lǐng)域已從面向工業(yè)控制、通訊、交通、智能儀表等迅速發(fā)展

9、到家用消費(fèi)產(chǎn)品、辦公自動(dòng)化、汽車電子、PC機(jī)外圍以與網(wǎng)絡(luò)通訊等廣大領(lǐng)域。單片機(jī)模塊中最常見的是數(shù)字鐘,數(shù)字時(shí)鐘路技術(shù)實(shí)現(xiàn)時(shí)、分、秒與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,且無機(jī)械裝置,具有更更長的使用壽命,因此得到了廣泛的使用。單片機(jī)應(yīng)用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分功能,現(xiàn)在已能用單片機(jī)通過軟件方法來實(shí)現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。1.2 數(shù)字時(shí)鐘的意義與應(yīng)用基于單片機(jī)的數(shù)字電子時(shí)鐘是采用電子電路實(shí)現(xiàn)對時(shí)、分、秒進(jìn)行數(shù)字顯示的計(jì)時(shí)裝置,廣泛應(yīng)用于個(gè)人家庭,室外廣場,汽

10、車站和火車站等公共場所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?。機(jī)械式鐘表雖然也可以告知人們時(shí)間,也可以定時(shí),顯示日歷。但是由于受到機(jī)械結(jié)構(gòu)、動(dòng)力和體積的限制,在功能、性能以與造價(jià)上都沒辦法與電子時(shí)鐘相比。由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘表,鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大擴(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、0按時(shí)自動(dòng)打鈴、定時(shí)廣播、自動(dòng)起閉路燈、定時(shí)開關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,更為先進(jìn)的電子鐘的研究有著良好的發(fā)展前景和市場潛力。數(shù)字鐘已成為人們?nèi)粘I钪校?/p>

11、必不可少的必需品,廣泛用于個(gè)人家庭以與車站、碼頭、劇場、辦公室等公共場所,給人們的生活、學(xué)習(xí)、工作、娛樂帶來極大的方便。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù),使數(shù)字鐘具有走時(shí)準(zhǔn)確、性能穩(wěn)定、攜帶方便等優(yōu)點(diǎn),它還用于計(jì)時(shí)、自動(dòng)報(bào)時(shí)與自動(dòng)控制等各個(gè)領(lǐng)域。2 整體設(shè)計(jì)方案2.1 設(shè)計(jì)要求(1)用六位LED數(shù)碼管顯示時(shí)、分、秒。(2)以24h(小時(shí))計(jì)時(shí)方式。(3)白天整點(diǎn)報(bào)時(shí),晚上22點(diǎn)后不報(bào)時(shí)。(4)可實(shí)現(xiàn)時(shí)分調(diào)整、秒表功能轉(zhuǎn)換。(5)可實(shí)現(xiàn)時(shí)分調(diào)整、時(shí)鐘功能轉(zhuǎn)換。2.2 整體方案的設(shè)計(jì)2.2.1 方案的選擇本次設(shè)計(jì)的方案有許多種,下面列出了三種方案:方案一:基于數(shù)字電路的數(shù)字鐘。傳統(tǒng)

12、的數(shù)字鐘以最為基本的數(shù)字電路來實(shí)現(xiàn)的。其設(shè)計(jì)復(fù)雜,體積大,運(yùn)行穩(wěn)定性不好。所以不考慮。方案二:通過單片機(jī)AT89C52芯片為主控電路,由電源電路、單片機(jī)主控電路、按鍵控制電路和蜂鳴器等組成。本次設(shè)計(jì)就是通過單片機(jī)為主控電路,通過電路仿真而實(shí)現(xiàn)。使用Proteus 軟件進(jìn)行繪制仿真電路圖,用Medwin軟件進(jìn)行編程與調(diào)試,即用匯編語言編寫程序。方案三:通過單片機(jī)AT89C52芯片為主控電路,由電源電路、單片機(jī)主控電路、按鍵控制電路和蜂鳴器等組成。本次設(shè)計(jì)就是通過單片機(jī)為主控電路,通過電路仿真而實(shí)現(xiàn)。使用Proteus 軟件進(jìn)行繪制仿真電路圖,用keil軟件進(jìn)行編程與調(diào)試,最終生成hex文件,傳入

13、單片機(jī)部,從而實(shí)現(xiàn)仿真效果。 即用C語言來編寫程序,以實(shí)現(xiàn)最終的目標(biāo)。通過比較各種方案的優(yōu)缺點(diǎn)以與自己學(xué)習(xí)過的專業(yè)知識,最終確定按照第三種方案實(shí)施。第三種方案相比第一、第二種方案而言,不需要對單片機(jī)的各種指令以與不同存儲(chǔ)器的尋址、寄存器分配等有所掌握,而只需用基本的C語言知識就可以實(shí)現(xiàn)設(shè)計(jì)的要求。所以此次設(shè)計(jì)采用第三種方案。2.2.2 電路設(shè)計(jì)框圖根據(jù)本次設(shè)計(jì)的要求,在盡量要求準(zhǔn)確精簡的條件下設(shè)計(jì)了以下電路框圖。本次設(shè)計(jì)包含有四個(gè)主要的部分:單片機(jī)的最小系統(tǒng),即由單片機(jī),時(shí)鐘電路,復(fù)位電路組成;蜂鳴器控制電路;數(shù)碼管顯示電路和按鍵控制電路。其整體設(shè)計(jì)框圖如下圖2-2所示:按鍵控制電路數(shù)碼管顯示

14、電路蜂鳴器控制電路時(shí)鐘電路復(fù)位電路AT89C52 單片機(jī)圖2-1 整體設(shè)計(jì)框圖2.3 單片機(jī)的介紹 單片機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是頗具生命力的機(jī)種。單片機(jī)微型計(jì)算機(jī)簡稱單片機(jī),特別適用于控制領(lǐng)域,故又稱為微控制器。 單片機(jī)經(jīng)過幾代的發(fā)展,正朝著多功能、高性能、低電壓、低功耗、低價(jià)格、大存儲(chǔ)容量、強(qiáng)I/O功能與較好的結(jié)構(gòu)兼容性方向發(fā)展。其發(fā)展趨勢不外乎以下幾個(gè)方面:1.多功能單片機(jī)中盡可能地把所需要的存儲(chǔ)器和I/O口都集成在一塊芯片上,使得單片機(jī)可以實(shí)現(xiàn)更多的功能。比如A/D、PWM、PCA(可編程計(jì)數(shù)器陣列)、WDT(監(jiān)視定時(shí)器看家狗)、高速I/O口與計(jì)數(shù)器的捕獲/比較邏輯等。有的單片

15、機(jī)針對某一個(gè)應(yīng)用領(lǐng)域,集成了相關(guān)的控制設(shè)備,以減少應(yīng)用系統(tǒng)的芯片數(shù)量。例如,有的芯片以51核為核心,集成了USB控制器、SMART CARD接口、MP3解碼器、CAN或者I*I*C總線控制器等,LED、LCD或VFD顯示驅(qū)動(dòng)器也開始集成在8位單片機(jī)中。2.高效率和高性能為了提高執(zhí)行速度和執(zhí)行效率,單片機(jī)開始使用RISC、流水線和DSP的設(shè)計(jì)技術(shù),使單片機(jī)的性能有了明顯的提高,表現(xiàn)為:單片機(jī)的時(shí)鐘頻率得到提高;同樣頻率的單片機(jī)運(yùn)行效率也有了很大的提升;由于集成度的提高,單片機(jī)的尋址能力、片ROM(FLASH)和RAM的容量都突破了以往的數(shù)量和限制。由于系統(tǒng)資源和系統(tǒng)復(fù)雜程度的增加,開始使用高級語

16、言(如C語言)來開發(fā)單片機(jī)的程序。使用高級語言可以降低開發(fā) 難度,縮短開發(fā)周期,增強(qiáng)軟件的可讀性和可移植性,便于改進(jìn)和擴(kuò)充功能。3.低電壓和低功耗單片機(jī)的嵌入式應(yīng)用決定了低電壓和低功耗的特性。由于CMOS等工藝的大量采用,很多單片機(jī)可以在更低的電壓下工作(1.2V或0.9V),功耗已經(jīng)降低到微安級。這些特性使得單片機(jī)系統(tǒng)可以在更小電源的支持下工作更長的時(shí)間。4.低價(jià)格單片機(jī)應(yīng)用面廣,使用數(shù)量大,帶來的直接好處就是成本的降低。目前世界各大公司為了提高競爭力,在提高單片機(jī)性能的同時(shí),十分注意降低其產(chǎn)品的價(jià)格。綜合考慮各種類型的單片機(jī),本設(shè)計(jì)采用AT公司的AT89C52類型的單片機(jī),改單片機(jī)具有8K

17、可擦除Flash 存儲(chǔ)器,具有高性能和低功耗特性的8位CMOS微控制器;單片機(jī)部Flash允許程序存儲(chǔ)器具有可編程的功能,因此也可以也可以應(yīng)用于常規(guī)編程器;在單芯片未處理器中,具有靈巧的的系統(tǒng)可編程Flash和8bitCPU,使AT89C52成為很多控制系統(tǒng)和嵌入式控制應(yīng)用系統(tǒng)主流的控制芯片。52系列單片機(jī)具有以下標(biāo)準(zhǔn)功能:可擦除Flash存儲(chǔ)空間為8kb,可用部RAM存儲(chǔ)空間具有256kb,同時(shí)具有32 位I/O 口線,片具有數(shù)據(jù)指針2個(gè),具有定時(shí)器三個(gè)計(jì)數(shù)器三個(gè)。除此之外,AT89C52具有可降至0Hz 靜態(tài)邏輯操作,同時(shí)可使兩種軟件選擇節(jié)電模式;在掉電保護(hù)工作方式下,振蕩器將停止工作,并

18、保存RAM中的容,單片機(jī)停止一切工作,除非等到下一個(gè)硬件或中斷復(fù)位后才停止;在空閑工作模式下,CPU工作停止,同時(shí)允許中斷、串口、定時(shí)器/計(jì)數(shù)器和RAM繼續(xù)工作。該單片機(jī)的引腳圖如圖2-1所示:圖2-2 AT89C52的引腳圖它一共有40個(gè)引腳,引腳又分為四類。包括主電源引腳Vcc和Vss;時(shí)鐘電路引腳XTAL1和XTAL2;控制信號引腳RST/VPD,ALE,PSEN,EA以與并行I/O口引腳P0,P1,P2和P3。P3口除可以作為通用的I/O口使用外,其主要的功能是它的第二功能。P3.0-P3.7對應(yīng)的第二功能分別為:串行口輸入,串行口輸出,外部中斷0輸入,外部中斷1輸入,定時(shí)器0的外部輸

19、入,定時(shí)器1的外部輸入,外部數(shù)據(jù)存儲(chǔ)器“寫”信號輸出和外部數(shù)據(jù)存儲(chǔ)器“讀”信號輸出。3 數(shù)字時(shí)鐘硬件電路設(shè)計(jì)本次設(shè)計(jì)利用AT89C52的P0口來控制8位共陰極的數(shù)碼管,由于P0口部沒有上拉電阻,為高阻狀態(tài),所以不能正常的輸出高/低電平,因此P0口在使用時(shí)必須接上上拉電阻。利用兩個(gè)型號為74HC573的鎖存器來控制數(shù)碼管的段選和位選,用P2.6和P2.7兩個(gè)口來控制兩個(gè)鎖存器開/關(guān)狀態(tài)。單片機(jī)的最小系統(tǒng)包含有晶振電路和上電復(fù)位電路,兩者必不可少。根據(jù)設(shè)計(jì)的要求,采用兩個(gè)四位一體的共陰極數(shù)碼管和一個(gè)單獨(dú)的共陽極數(shù)碼管顯示時(shí)鐘和秒表功能。本設(shè)計(jì)可以只采用4個(gè)按鍵即可全部實(shí)現(xiàn)所要求的功能,因此采用獨(dú)立

20、按鍵的形式。本設(shè)計(jì)還有整點(diǎn)報(bào)時(shí)的功能,故通過控制蜂鳴器來實(shí)現(xiàn)。3.1 最小系統(tǒng)設(shè)計(jì)單片機(jī)要正常運(yùn)行,必須具備一定的硬件條件,其中最主要的就是三個(gè)基本條件:(1)電源正常(2)時(shí)鐘正常(3)復(fù)位正常。1.時(shí)鐘電路單片機(jī)時(shí)鐘部有一個(gè)高增益反向放大器,用于構(gòu)成時(shí)鐘震蕩電路,XTAL1為該放大器的輸入端,XTAL2為放大器的輸出端,但要形成時(shí)鐘還需附加其他的電路。(1)部時(shí)鐘方式利用單片機(jī)部的高增益反相放大器,在XTAL1和XTAL2引腳上外接定時(shí)元件,部振蕩電路便產(chǎn)生自激振蕩。定時(shí)元件一般采用石英晶體和電容組成的并聯(lián)諧振回路。晶體可在1.212MHz之間任選,電容可在530pF之間選擇,電容C1和C

21、2的大小可起頻率微調(diào)的作用,電容大小要和晶體的容性負(fù)載阻抗相匹配,否則不易起振。(2)外部時(shí)鐘方式外部時(shí)鐘方式常用于多機(jī)系統(tǒng),以便各個(gè)單片機(jī)能夠同步工作。對外部振蕩信號無特殊要求,但需保證脈沖寬度不小于20ns,且頻率應(yīng)低于單片機(jī)所支持的最高頻率。本次設(shè)計(jì)采用部時(shí)鐘方式,單片機(jī)的外部時(shí)鐘電路如圖3-1所示:圖3-1 部和外部時(shí)鐘電路圖2.復(fù)位電路計(jì)算機(jī)在啟動(dòng)運(yùn)行時(shí)都需要復(fù)位,使CPU和系統(tǒng)中的其他部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。MCS-51單片機(jī)有一個(gè)復(fù)位引腳RST,采用施密特觸發(fā)輸入,對于CHMOS單片機(jī),RST引腳的部有一個(gè)低拉電路。當(dāng)振蕩器起振后,只要該引腳上出現(xiàn)2個(gè)

22、機(jī)器周期以上的高電平時(shí)即可確保使器件復(fù)位。復(fù)位完成后,如果RST端繼續(xù)保持高電平,單片機(jī)就一直處于復(fù)位狀態(tài),只有RST端恢復(fù)低電平后,單片機(jī)才能進(jìn)入其他工作狀態(tài)。RST端的外部復(fù)位電路有兩種復(fù)位操作形式:上電自動(dòng)復(fù)位和按鍵手動(dòng)復(fù)位。(1)上電自動(dòng)復(fù)位電路對于HMOS型單片機(jī),只要在RST復(fù)位端接一個(gè)電容至VCC和一個(gè)電阻至VSS(地),就能實(shí)現(xiàn)上電自動(dòng)復(fù)位。在加電瞬間,電容通過電阻充電,就在RST端出現(xiàn)一定寬度的高電平,只要高電平時(shí)間足夠長,就可以使單片機(jī)有效復(fù)位。RST端在加電時(shí)應(yīng)保持的高電平時(shí)間包括VCC的上升時(shí)間和振蕩器起振的時(shí)間。VCC上升時(shí)間約為10ms,振蕩器起振時(shí)間和頻率有關(guān)。1

23、0MHz時(shí)約為1ms.1MHz時(shí)約為10ms,所以一般為了可靠的復(fù)位,RST在上電時(shí)應(yīng)保持20ms以上的高電平。當(dāng)振蕩頻率為12MHz時(shí),典型值為C=10Uf,R=8.2K。(2)按鍵手動(dòng)復(fù)位按鍵手動(dòng)復(fù)位有電平方式和脈沖方式兩種。按鍵電平復(fù)位是通過使復(fù)位端經(jīng)電阻與VCC接通而實(shí)現(xiàn)的;按鍵脈沖復(fù)位則是利用RC微分電路產(chǎn)生正脈沖來實(shí)現(xiàn)的。本次設(shè)計(jì)采用的是上電自動(dòng)復(fù)位電路,其電路圖如圖3-2所示:圖3-2 單片機(jī)上電自動(dòng)復(fù)位電路圖由時(shí)鐘電路和復(fù)位電路組成的單片機(jī)的最小系統(tǒng)如圖3-3所示:圖3-3 單片機(jī)最小系統(tǒng)的結(jié)構(gòu)圖3.2 數(shù)碼管顯示電路的設(shè)計(jì)3.2.1 單個(gè)數(shù)碼管簡介LED數(shù)碼顯示器是由發(fā)光二極

24、管組成的,其部結(jié)構(gòu)如圖3-2(c)所示。LED數(shù)碼管有兩種連接方式:(1)共陰極接法:把發(fā)光二極管的陰極連在一起構(gòu)成公共陰極,使用時(shí)公共陰極接地。每個(gè)發(fā)光二極管的陽極與輸入端相連。如圖3-2(a)所示:(2)共陽極接法:把發(fā)光二極管的陽極連在一起構(gòu)成公共陽極,使用時(shí)公共陽極接+5V,每個(gè)發(fā)光二極管的陰極通過電阻與輸入端相連。如圖3-2(b)所示:圖3-4 共陰、陽極數(shù)碼管原理圖 本次設(shè)計(jì)使用的是共陽極數(shù)碼管,共陽極數(shù)碼管的所有陽極全部接在一起,電路連接時(shí),公共端接高電平,因此我們要點(diǎn)亮的那個(gè)發(fā)光二極管就需要給陰極送低電平,此時(shí)顯示數(shù)字的編碼是相反關(guān)系,數(shù)碼管部發(fā)光二極管點(diǎn)亮?xí)r,也需要5mA以上

25、的電流,而且電流不可過大,否則會(huì)燒毀發(fā)光二極管。由于單片機(jī)的I/O口送不出如此大的電流,所以數(shù)碼管與單片機(jī)連接時(shí)需要加驅(qū)動(dòng)電路,可以用上拉電阻的方法或使用專門的數(shù)碼管驅(qū)動(dòng)芯片。3.2.2 四位一體數(shù)碼管簡介本次設(shè)計(jì)還用到了四位一體的數(shù)碼管,用來顯示時(shí)間。四位一體的數(shù)碼管與單個(gè)的數(shù)碼管有所不同。四位一體的數(shù)碼管共有十二個(gè)引腳,每個(gè)引腳對應(yīng)著相應(yīng)的段選和位選,如下圖3-5所示。af 對應(yīng)的是數(shù)碼管的段位,四個(gè)數(shù)碼管所有的段位都連接在一起,即所有的a段連接在一起,所有的b段連接在一起,依次類推。另外標(biāo)號為1,2,3,4的引腳對應(yīng)的是相應(yīng)的位選,即通過程序來控制哪一個(gè)或者那幾個(gè)數(shù)碼管亮。圖3-5 四位

26、一體數(shù)碼管引腳圖本次設(shè)計(jì)使用了兩個(gè)四位一體的共陰極數(shù)碼管和一個(gè)單獨(dú)的共陽極數(shù)碼管,顯示電路顯示模塊需要實(shí)時(shí)顯示當(dāng)前的時(shí)間,即時(shí)、分、秒,因此需要6個(gè)數(shù)碼管,另外設(shè)計(jì)兩個(gè)數(shù)碼管用來顯示橫,這樣顯示起來比較美觀。LED顯示器的顯示控制方式按驅(qū)動(dòng)方式可分成靜態(tài)顯示方式和動(dòng)態(tài)顯示方式兩種。對于多位LED顯示器,通常都是采用動(dòng)態(tài)掃描的方法進(jìn)行顯示,時(shí)的十位和個(gè)位分別顯示在第一個(gè)和第二個(gè)數(shù)碼管,分的十位和個(gè)位分別顯示在第四個(gè)和第五個(gè)數(shù)碼管,秒的十位和個(gè)位分別顯示在第七個(gè)和第八個(gè)數(shù)碼管,其余兩個(gè)數(shù)碼管顯示橫線。由于本設(shè)計(jì)還要求時(shí)鐘/秒表之間的相互轉(zhuǎn)換,因此右邊單獨(dú)的數(shù)碼管是用于時(shí)鐘/秒表功能轉(zhuǎn)換的,其硬件連

27、接方式如圖3-3所示:圖3-6數(shù)碼管顯示電路圖3.3 蜂鳴器控制電路的設(shè)計(jì)本設(shè)計(jì)要求整點(diǎn)報(bào)時(shí)功能,故采用蜂鳴器來實(shí)現(xiàn)到了幾點(diǎn)就響幾下,本設(shè)計(jì)在早上六點(diǎn)到晚上二十二點(diǎn)之間報(bào)時(shí),其余時(shí)間不報(bào)時(shí)。蜂鳴器有兩種結(jié)構(gòu),有源型和無源型。這里的源不是指電源而是指振蕩源。有源蜂鳴器部帶振蕩源,所以只要一通電就會(huì)叫,而無源蜂鳴器部不帶振蕩源,所以如果用直流信號驅(qū)動(dòng)他時(shí),無法令其鳴叫,必須用2kHZ5kHZ的方波信號去驅(qū)動(dòng)他。而單片機(jī)I/O口輸出的電流比較小,故要使用NPN型三極管來放大電流,以驅(qū)動(dòng)蜂鳴器工作。其控制電路圖如圖3-7所示: 圖3-7蜂鳴器控制電路3.4 按鍵控制電路的設(shè)計(jì)鍵盤就是一組按鍵的集合,它

28、是最常用的輸入設(shè)備。操作員通過鍵盤可以輸入數(shù)據(jù)或命令,實(shí)現(xiàn)簡單的人機(jī)通信。計(jì)算機(jī)所用的鍵盤按其結(jié)構(gòu)形式可分為編碼鍵盤和非編碼鍵盤。非編碼鍵盤有兩種形式:簡單鍵盤和矩陣式鍵盤。簡單鍵盤簡單鍵盤一般直接用I/O口線外接按鍵構(gòu)成。每個(gè)按鍵單獨(dú)占用一根口線,I/O口線間的工作狀態(tài)互不影響。當(dāng)某一按鍵閉合時(shí),對應(yīng)口線輸入為低電平,釋放時(shí)為高電平。矩陣式鍵盤簡單鍵盤電路的每個(gè)按鍵開關(guān)占一根I/O口線,當(dāng)按鍵數(shù)目較多時(shí),就要占用較多的I/O口資源,此時(shí)應(yīng)該用矩陣式鍵盤電路。矩陣鍵盤有3X3 9個(gè)鍵,4X4 16個(gè)鍵等的矩陣鍵盤。其檢測原理為:檢測時(shí),先送一列為低電平,其余幾列全為高電平,然后立即輪流檢測一次

29、各行是否有低電平,若檢測到某一行為低電平,則我們便可確認(rèn)當(dāng)前被按下的鍵是哪一行那一列的。用同樣的方法輪流送各列一次低電平,再輪流檢測一次各行是否變?yōu)榈碗娖?,這樣即可檢測完所有的按鍵。當(dāng)有鍵被按下時(shí),便可判斷出按下的鍵是哪一個(gè)鍵。本設(shè)計(jì)由于只需要用到四個(gè)按鍵就可以實(shí)現(xiàn)全部的功能,故采用四個(gè)獨(dú)立的按鍵來控制時(shí)鐘的調(diào)節(jié)和時(shí)鐘/秒表的轉(zhuǎn)換。設(shè)計(jì)的按鍵控制電路如下圖所示:圖3-8 數(shù)字時(shí)鐘的按鍵控制電路按鍵實(shí)際就是一種常用的按鈕開關(guān),平時(shí)鍵的兩個(gè)觸電處于斷開狀態(tài),按鍵被按下時(shí)兩個(gè)觸電閉合。由于鍵盤上的按鍵都是利用機(jī)械觸點(diǎn)來實(shí)現(xiàn)健的閉合與釋放。由于彈性作用的影響,機(jī)械觸點(diǎn)在閉合與斷開的瞬間均有抖動(dòng)過程,從

30、而也使按鍵輸入電壓信號也出現(xiàn)抖動(dòng),抖動(dòng)時(shí)間的長短與按鍵的機(jī)械特性相關(guān),一般為510ms。為了保證系統(tǒng)對鍵的一次閉合僅做一次鍵輸入處理,因此不需進(jìn)行消抖處理。一般可用硬件或軟件的方法來消抖,具體方法有:雙穩(wěn)態(tài)消抖電路;濾波消抖電路以與軟件消抖。本設(shè)計(jì)使用的是軟件消抖。所謂軟件消抖,就是在第一次檢測到有按鍵按下時(shí)先不動(dòng)作,延時(shí)一段時(shí)間(一般為510ms),再次檢測按鍵的狀態(tài),則確認(rèn)真正有鍵按下,當(dāng)檢測到按鍵釋放后也需要給510ms的延時(shí)。此次用到的四個(gè)獨(dú)立按鍵有P2.0P2.3口控制,分別可記為K1K4。本次設(shè)計(jì)中K3鍵是調(diào)時(shí)間按鍵。若K3健被按下,當(dāng)按K3按鍵按一下時(shí),從左數(shù)第一二位數(shù)碼管即顯示

31、時(shí)位的兩位數(shù)碼管的小數(shù)點(diǎn)亮,即可以通過K1和K2來對時(shí)位進(jìn)行加減的調(diào)整,K1對十位進(jìn)行加操作,K2對十位進(jìn)行減操作。同理,按K3健兩下時(shí)對分位調(diào)整,按三下時(shí)對個(gè)位進(jìn)行調(diào)整,按四下即跳出時(shí)間的調(diào)節(jié)。若跳出時(shí)間的調(diào)節(jié)后,K4健被按下,則啟動(dòng)秒表功能。如果沒有跳出對時(shí)間的調(diào)節(jié),則無論怎樣按K4健,秒表功能都無法啟動(dòng)。在秒表功能下,按K1按鍵,則秒表開始工作,再按K1則秒表停止計(jì)時(shí);若按K2健,則秒表清零;如果再按K4健則跳出秒表,則轉(zhuǎn)換為時(shí)鐘工作狀態(tài)。整個(gè)設(shè)計(jì)的硬件電路就由這幾部分組成:一個(gè)單片機(jī)的最小系統(tǒng),包括晶振電路和上電自動(dòng)復(fù)位電路;一個(gè)數(shù)碼管顯示電路;一個(gè)蜂鳴器控制電路和一個(gè)按鍵控制電路,構(gòu)

32、成了整體的設(shè)計(jì)電路。整體設(shè)計(jì)的電路圖如圖3-9所示。圖3-9 數(shù)字時(shí)鐘的總體設(shè)計(jì)電路4 數(shù)字時(shí)鐘的軟件設(shè)計(jì)本次設(shè)計(jì)所實(shí)現(xiàn)的要求有:用六位LED數(shù)碼管顯示時(shí)、分、秒;以24h(小時(shí))計(jì)時(shí)方式;白天整點(diǎn)報(bào)時(shí),晚上22點(diǎn)后不報(bào)時(shí);可實(shí)現(xiàn)時(shí)分調(diào)整、秒表功能轉(zhuǎn)換;可實(shí)現(xiàn)時(shí)分調(diào)整、時(shí)鐘功能轉(zhuǎn)換。根據(jù)設(shè)計(jì)要求,所編寫的程序除了主程序外還包括的子程序有數(shù)碼管顯示子程序;按鍵檢測子程序;蜂鳴器報(bào)時(shí)子程序還有中斷函數(shù)。數(shù)碼管顯示子程序通過控制P0口以與兩個(gè)鎖存器向數(shù)碼管分別輸送斷碼和位碼,來實(shí)現(xiàn)時(shí)鐘和秒表的顯示;按鍵檢測子程序則是通過P2.0P2.3四個(gè)口來控制四個(gè)獨(dú)立的按鍵,以實(shí)現(xiàn)時(shí)鐘的調(diào)整和時(shí)鐘/秒表功能的轉(zhuǎn)

33、換;蜂鳴器報(bào)時(shí)子程序是通過控制P2.4口來實(shí)現(xiàn)整點(diǎn)報(bào)時(shí)。通過中斷函數(shù)來精確定時(shí)。此次設(shè)計(jì)采用C語言來編程。C語言作為一種非常方便的語言而得到廣泛的支持,很多硬件開發(fā)都要C語言編程,如各種單片機(jī)、DSP、ARM等。C語言程序本身不依賴于機(jī)器硬件系統(tǒng),不需要對C語言程序做修改或者僅僅只是很簡單的修改就可以將C語言程序從一個(gè)系統(tǒng)一直到另外一個(gè)完全不同的系統(tǒng)中。C語言不僅支持浮點(diǎn)運(yùn)算還提供了很多數(shù)學(xué)函數(shù),其開發(fā)的高效性在很大程度上縮短了開發(fā)的時(shí)間,程序的可維護(hù)性和可讀性大大增加。對單片機(jī)使用C51編程跟匯編ASM-51編程相比有很多優(yōu)點(diǎn):1.匯編語言需要對單片機(jī)的指令有一定的了解,而C語言則不需要有任

34、何的了解就可以直接進(jìn)行編程。2.程序的結(jié)構(gòu)規(guī),函數(shù)可以分成不同的類型,使程序的結(jié)構(gòu)簡單明了。3.編譯器自動(dòng)管理不同存儲(chǔ)器的尋址、寄存器分配與數(shù)據(jù)類型等。4.C語言庫中有許多標(biāo)準(zhǔn)的子程序,其數(shù)據(jù)處理能力很強(qiáng)大,使用起來很方便。5.C語言具有很好的移植性,可以直接由一個(gè)系統(tǒng)移入另一個(gè)系統(tǒng)。C語言常用語法不多,尤其是單片機(jī)C語言常用語法更少,初學(xué)者沒有必要再系統(tǒng)地將C語言重學(xué)一遍,只需要在實(shí)踐中遇到難點(diǎn)時(shí)適當(dāng)?shù)夭殚咰語言書籍里的相關(guān)容。C語言僅僅是一個(gè)開發(fā)工具,其本身并不難,難的是如何在將來開發(fā)龐大系統(tǒng)中靈活應(yīng)用C語言的正確邏輯編寫出結(jié)構(gòu)完善的程序。綜合以上C語言的優(yōu)點(diǎn),故本次程序編寫采用C語言編寫

35、。下面分別對主程序和相應(yīng)的子程序做簡要的介紹。4.1 主程序設(shè)計(jì)編寫程序必須要理清思路,邏輯正確,而繪制流程圖可以使程序的思路簡單清晰,有利于編寫程序。此次的數(shù)字電子鐘設(shè)計(jì)的主程序流程圖如圖4-1所示。開始啟動(dòng)定時(shí)器時(shí)間顯示按鍵檢測圖4-1 主程序流程圖通電后,啟動(dòng)定時(shí)器,定時(shí)器的初值為50ms,計(jì)數(shù)20次為1秒,則數(shù)碼管上相應(yīng)的數(shù)值加一。按鍵檢測是先檢測是否有鍵被按下。若K3健被按下,當(dāng)K3按一下時(shí),從左數(shù)第一二位數(shù)碼管即顯示時(shí)位的兩位數(shù)碼管的小數(shù)點(diǎn)亮,即可以通過K1和K2來對時(shí)位進(jìn)行加減的調(diào)整,K1對十位進(jìn)行加操作,K2對十位進(jìn)行減操作。同理,按K3健兩下時(shí)對分位調(diào)整,按三下時(shí)對個(gè)位進(jìn)行調(diào)

36、整,按四下即跳出時(shí)間的調(diào)節(jié)。若跳出時(shí)間的調(diào)節(jié)后,K4健被按下,則啟動(dòng)秒表功能。如果沒有跳出對時(shí)間的調(diào)節(jié),則無論怎樣按K4健,秒表功能都無法啟動(dòng)。在秒表功能下,按K1按鍵,則秒表開始工作,再按K1則秒表停止計(jì)時(shí);若按K2健,則秒表清零;如果再按K4健則跳出秒表,則轉(zhuǎn)換為時(shí)鐘工作狀態(tài)。如果顯示時(shí)間在六點(diǎn)整到二十二點(diǎn)整時(shí),則蜂鳴器開始報(bào)時(shí),即到了幾點(diǎn)就響幾下,在其他的時(shí)間不報(bào)時(shí)。根據(jù)所要實(shí)現(xiàn)的功能,編寫相應(yīng)的子程序。4.2 數(shù)碼管顯示子程序設(shè)計(jì)數(shù)碼管顯示函數(shù)利用的是數(shù)碼管的動(dòng)態(tài)掃描,所謂動(dòng)態(tài)掃描顯示,即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā)光管的余暉和人眼視覺暫留作用,使人的感覺好像各位數(shù)碼

37、管同時(shí)都在顯示,而實(shí)際上多位數(shù)碼管是一位一位輪流顯示的,只是輪流的速度非???,人眼已經(jīng)無法分辨出來。本次的數(shù)碼管顯示函數(shù)也是利用這種發(fā)光管的余暉和人眼視覺暫留作用,利用單片機(jī)的P0口以與兩個(gè)鎖存器來向數(shù)碼管的輸送段選和位選數(shù)據(jù),實(shí)現(xiàn)所要顯示的時(shí),分,秒。數(shù)碼管顯示子函數(shù)的流程圖如圖4-2所示:圖4-2 數(shù)碼管顯示流程圖4.3 按鍵檢測子程序設(shè)計(jì)本次的設(shè)計(jì)遵循的按鍵檢測原則是按鍵執(zhí)行是先檢測調(diào)時(shí)間的健是否被按下。若K3健被按下,當(dāng)按K3按鍵按一下時(shí),從左數(shù)第一二位數(shù)碼管即顯示時(shí)位的兩位數(shù)碼管的小數(shù)點(diǎn)亮,即可以通過K1和K2來對時(shí)位進(jìn)行加減的調(diào)整,K1對十位進(jìn)行加操作,K2對十位進(jìn)行減操作。同理,

38、按K3健兩下時(shí)對分位調(diào)整,按三下時(shí)對個(gè)位進(jìn)行調(diào)整,按四下即跳出時(shí)間的調(diào)節(jié)。若跳出時(shí)間的調(diào)節(jié)后,K4健被按下,則啟動(dòng)秒表功能。如果沒有跳出對時(shí)間的調(diào)節(jié),則無論怎樣按K4健,秒表功能都無法啟動(dòng)。在秒表功能下,按K1按鍵,則秒表開始工作,再按K1則秒表停止計(jì)時(shí);若按K2健,則秒表清零;如果再按K4健則跳出秒表,則轉(zhuǎn)換為時(shí)鐘工作狀態(tài)。其程序流程圖如圖4-3所示:圖4-3 按鍵檢測流程圖4.4 蜂鳴器報(bào)時(shí)子程序設(shè)計(jì)本次設(shè)計(jì)的蜂鳴器報(bào)時(shí)函數(shù)雖然比較簡單,但是在編寫的過程中還是遇到了一些困難。就像程序中的注釋一樣,延時(shí)時(shí)間的長短決定了蜂鳴器的發(fā)聲頻率,也就是聲音的長短。通過不斷的嘗試,最終找到了比較滿意的發(fā)

39、聲頻率。蜂鳴器報(bào)時(shí)函數(shù)實(shí)現(xiàn)的是在早上六點(diǎn)到晚上二十二點(diǎn)之間整點(diǎn)報(bào)時(shí),也就是幾點(diǎn)響幾下。蜂鳴器報(bào)時(shí)函數(shù)如下:void baoshi(int c) int x;uchar i;for(x=c;x0;x-)for(i=0;i80;i+) /延時(shí)時(shí)間,控制蜂鳴器發(fā)聲頻率 /報(bào)時(shí)時(shí)仍然顯示時(shí)鐘狀態(tài)xianshi(shi,0 xfd,0 xfe);xianshi(fen,0 xef,0 xf7);xianshi(miao,0 x7f,0 xbf);bs=!bs; /整點(diǎn)到則蜂鳴器響除以上三個(gè)實(shí)現(xiàn)所需功能的函數(shù)外,還需要中斷函數(shù),初始化函數(shù)等。將所有滿足要求的函數(shù)整合到一起,通過在主函數(shù)中調(diào)用相應(yīng)的子函數(shù)來

40、實(shí)現(xiàn)設(shè)計(jì)要求。雖然編寫的程序順利的實(shí)現(xiàn)了所要求的功能,但自己認(rèn)為還有一定的缺陷,那就是在秒表功能的狀態(tài)下,無論按哪一個(gè)按鍵,在按住不放的情況下數(shù)碼管不顯示任何數(shù)據(jù)。通過多次的修改與調(diào)試也沒能找到解決的方法,希望在以后的學(xué)習(xí)中能夠找到解決方案。數(shù)字時(shí)鐘的仿真與制作程序編寫完后,必須進(jìn)行調(diào)試。因?yàn)榫帉懙倪^程中難免會(huì)出現(xiàn)一些小的錯(cuò)誤,甚至是一些邏輯性的錯(cuò)誤。只有在一步步的調(diào)試過程中逐步發(fā)現(xiàn)錯(cuò)誤,并逐步改進(jìn),才能實(shí)現(xiàn)最終預(yù)定的功能。本次設(shè)計(jì),采用Keil進(jìn)行編譯調(diào)試。在使用Keil軟件之前,要保證在用戶的計(jì)算機(jī)上裝有一套穩(wěn)定可靠地軟件。本次畢業(yè)設(shè)計(jì)所使用的Keil版本為V6.12。在學(xué)習(xí)中,我們應(yīng)該采

41、用邊學(xué)邊用的學(xué)習(xí)方法,而不是將某個(gè)軟件的所有功能都講解的非常仔細(xì),很多不用的地方不用去研究,需要用到什么就學(xué)什么這樣才能有效地理解它,記憶它,最終達(dá)到學(xué)以致用的目的。5.1調(diào)試與仿真新建一個(gè)工程,并設(shè)置相應(yīng)的參數(shù),選擇相關(guān)的單片機(jī)型號。設(shè)置好一切相關(guān)的數(shù)據(jù)后,便可以將工程保存,并命名為qipeibiyesheji。然后在新建的工程中添加文件,將編寫好的程序添加到新建的工程中。如下圖5-1所示。圖5-1 Keil中添加新文件然后對添加到工程中的文件進(jìn)行編譯,若出現(xiàn)錯(cuò)誤則需要慢慢的調(diào)試,根據(jù)提示修改出現(xiàn)的錯(cuò)誤,直到編譯無誤為止。編譯無誤后,需要生成Hex文件,如下圖所示。圖5-2 編譯生成Hex文

42、件編譯生成的Hex文件,最終需要導(dǎo)入到Proteus中進(jìn)行仿真。Proteus軟件現(xiàn)在對于自己來說最大的好處就是能夠?qū)崿F(xiàn)仿真,能夠檢查自己的程序到底有沒有達(dá)到本次設(shè)計(jì)的要求。雖然Proteus也有很多不完善的地方,而且模擬和硬件實(shí)物是有差別的,但是只有經(jīng)過了仿真這一步,才能對自己編的程序心里有底,才敢開始動(dòng)手開始實(shí)物制作。在繪畫Proteus仿真圖的過程中也遇到過很多困難,首先遇到的困難就是相應(yīng)元器件的查找。自己只知道最基本的單片機(jī),鎖存器等元器件如何添加,而數(shù)碼管、晶振、對應(yīng)的電容、電阻等都還不熟悉。因此只有自己上網(wǎng)查找資料現(xiàn)將所有需要用到的元器件添加到新建的工程中,然后再來考慮連線所要注意

43、的問題。繪畫仿真圖的過程雖然比較艱辛,而且比較考驗(yàn)人的耐性,尤其是出現(xiàn)的一點(diǎn)點(diǎn)錯(cuò)誤都有可能實(shí)現(xiàn)不了仿真,只有通過自己慢慢檢查,翻書,查閱相關(guān)的資料以與與同學(xué)老師交流查找錯(cuò)誤,并與時(shí)糾正。雖然這個(gè)過程是痛苦的,但是當(dāng)自己看到編寫的程序在自己辛苦幾天繪畫出的仿真圖中完整無誤的實(shí)現(xiàn)了設(shè)計(jì)的要求時(shí),那種興奮感和成就感是多么的讓人醉。與此同時(shí),在畫仿真圖的過程中自己學(xué)到了很多知識,而且也把以前學(xué)的知識又鞏固了一遍,并收集了很多關(guān)于畫Proteus仿真圖的資料。雖然自己只是懂Proteus的一點(diǎn)點(diǎn),其功能的強(qiáng)大自己還沒有完全領(lǐng)略,但我想這次單獨(dú)完成仿真繪制的過程為自己以后研究Proteus打下了很好的基礎(chǔ)

44、,做了一個(gè)完美的開始。下面是自己仿真的截圖,分別為時(shí)鐘和秒表兩個(gè)狀態(tài)。如圖5-3所示,是時(shí)鐘狀態(tài)下的仿真圖:圖5-3 時(shí)鐘狀態(tài)下的仿真圖由前面的按鍵電路的流程圖可知通過按K1、K2、K3按鍵實(shí)現(xiàn)相應(yīng)的時(shí)間調(diào)整。并且在六點(diǎn)和二十二點(diǎn)之間還會(huì)報(bào)時(shí)。通過按K4健實(shí)現(xiàn)秒表功能的轉(zhuǎn)換。秒表狀態(tài)下的仿真圖如下圖5-4所示:圖5-4 秒表狀態(tài)下的仿真圖5.2 仿真圖缺陷分析雖然自己繪制的仿真圖能實(shí)現(xiàn)所有的設(shè)計(jì)功能,但仍然存在一些缺陷。綜合自己的分析,其缺陷有以下幾點(diǎn):(1)在時(shí)鐘與秒表轉(zhuǎn)換的時(shí)候,按下K4健時(shí),也就是處于秒表狀態(tài)但沒有啟動(dòng)秒表時(shí),單個(gè)的共陽極數(shù)碼管會(huì)有輕微的閃動(dòng),也就是不穩(wěn)定,找了很久都沒有

45、發(fā)現(xiàn)原因。(2)在秒表狀態(tài)下,無論按哪一個(gè)按鍵,在按下不放時(shí),數(shù)碼管就會(huì)出現(xiàn)不顯示的現(xiàn)象。雖然按鍵按下的過程很短暫,如果不刻意去注意的話根本不會(huì)。但這也是一個(gè)缺陷,我想要求完美的人都會(huì)發(fā)現(xiàn)這個(gè)缺陷。上述兩個(gè)缺陷只是自己做仿真和編程的時(shí)候發(fā)現(xiàn)的,暫時(shí)還沒有找到其相應(yīng)的解決方法。但我想肯定也還存在其他的缺陷,只是自己暫時(shí)沒有發(fā)現(xiàn)。我相信在以后的設(shè)計(jì)與制作中自己要求的更嚴(yán)格,爭取做到?jīng)]有任何缺陷。完成了程序的調(diào)試與仿真,剩下的就是制作實(shí)物這一步了。雖然以前沒有動(dòng)手制作過任何實(shí)物,有很多東西自己也不懂,但這是一次很好的鍛煉自己的機(jī)會(huì)。不要因?yàn)闆]有嘗試過就放棄,更不要因?yàn)椴粫?huì)害怕失敗而不敢去嘗試。要相信

46、只要自己肯學(xué)肯鉆研,就一定會(huì)有所收獲的,結(jié)果并不是最重要的,重要的是自己親自動(dòng)手嘗試的過程。5.3 數(shù)字時(shí)鐘的制作經(jīng)過詢問同學(xué)老師以與上網(wǎng)搜索資料,最初決定用Altium Designer來繪制原理圖和PCB板。Altium Designer這款軟件自己以前從來沒學(xué)過,也沒聽說過。但是當(dāng)自己去學(xué)習(xí)它去了解它的時(shí)候發(fā)現(xiàn)它功能的強(qiáng)大性真的讓自己難以置信。而想要學(xué)好單片機(jī)的話必須掌握畫PCB板的基本軟件。很多公司用的都是Protel99來學(xué)習(xí)單片機(jī),但Altium Designer比Protel99的功能更強(qiáng)大,是最新發(fā)明出來的軟件。因此自己決定用Altium Designer來繪畫PCB板。學(xué)習(xí)和

47、繪畫的過程是辛苦的,因?yàn)闆]有人指導(dǎo),也沒有任何相關(guān)的資料,因此所有的東西都需要自己去學(xué)自己去查資料,自己解決遇到的任何困難。終于經(jīng)過自己不懈的努力,繪畫出了滿足要求的PCB板。自己真的很高興。當(dāng)自己決定將所繪畫的PCB板發(fā)給廠家制作時(shí),發(fā)現(xiàn)了很多問題。而使自己放棄這種方法的主要原因是你因?yàn)樽约阂郧皬膩頉]繪畫過任何PCB板,更不用說讓廠家制作了,自己并不能保證板子的正確性。如果做出來的實(shí)物不能滿足要求那么將很難找到問題的根源,因?yàn)樽约翰恢朗亲约豪L畫的PCB板出現(xiàn)了問題,還是焊接過程中的問題,若是PCB板的問題,那么修改,重做將會(huì)浪費(fèi)大量的時(shí)間,而且自己不能保證準(zhǔn)確性。經(jīng)過再三的思考與對比,自己

48、決定放棄上述的方法,而改用買面包板和相應(yīng)的元器件來焊接連線。這樣不僅成本低而且風(fēng)險(xiǎn)性比較小,也能鍛煉自己動(dòng)手能力。制作實(shí)物所需要的元器件有:兩個(gè)30pF的電容;一個(gè)10uF的極性電容;一12MHz的晶振;一個(gè)8.2K的電阻,一個(gè)75K電阻;一塊AT89C52的單片機(jī);兩74HC573鎖存器;四個(gè)獨(dú)立按鍵;兩個(gè)1K的排阻,九引腳;一個(gè)無源蜂鳴器;一個(gè)NPN三級管;一個(gè)單獨(dú)的共陽極數(shù)碼管;兩個(gè)四位一體的共陰極數(shù)碼管;一個(gè)USB接口。制作實(shí)物的過程并沒有剛開始自己想像的那么簡單,首先買元器件就很費(fèi)神,第一次買的元器件沒有買齊,又得重新再買。買好元器件就開始動(dòng)手焊接元器件了,首先自己得對各種元器件的引

49、腳的功能要了如指掌,只有這樣才能正確的連接。做好了一切的準(zhǔn)備工作后便開始動(dòng)手焊接了。第一次焊接時(shí)自己花了整整兩天的時(shí)間來焊接,每次焊接都小心翼翼,生怕自己把元器件焊壞。所以第一次焊接的板子有很多都使用的排針,插槽等,焊接好后還需要用杜邦線連接。但第一次焊接還是失敗了。雖然第一次沒有成功,但自己也有了焊接的經(jīng)驗(yàn)了,總結(jié)前一次的經(jīng)驗(yàn),在第二次焊接前自己對所要焊接的電路板進(jìn)行了認(rèn)真的規(guī)劃。不再像第一次一樣選擇用杜邦線來連接各引腳,而是選擇直接在電路板的背面用線直接將各引腳連接在一起。這樣不僅可以不用使用杜邦線,而且也使電路板的正面看起來不那么的復(fù)雜。雖然這樣的風(fēng)險(xiǎn)性比上一次大,但是這樣設(shè)計(jì)出來的實(shí)物

50、比上一次美觀實(shí)用的多。這一次焊接雖然也出現(xiàn)了一點(diǎn)問題,但是問題不是很大,經(jīng)過調(diào)試和修改最終實(shí)現(xiàn)了設(shè)計(jì)要求的功能。數(shù)字時(shí)鐘的時(shí)鐘狀態(tài)實(shí)物如圖6-1所示:圖6-1 數(shù)值時(shí)鐘的時(shí)鐘狀態(tài)實(shí)物圖數(shù)字時(shí)鐘的秒表狀態(tài)實(shí)物如圖6-2所示圖6-2 數(shù)字時(shí)鐘的秒表狀態(tài)實(shí)物圖本次制作出來的實(shí)物還存在一定的缺陷,首先蜂鳴器的響聲太小了,制作時(shí)應(yīng)該選擇揚(yáng)聲器,或者使用多個(gè)三極管,這樣聲音會(huì)大點(diǎn)。其次數(shù)碼管的引腳接觸不良,由于自己使用的是插槽的形式,是為了避免數(shù)碼管被焊接壞。再者,自己使用的電源是USB接口的,不是使用的電池。因?yàn)閱纹瑱C(jī)的工作電壓為5V,而一個(gè)電池只有3V,為了保險(xiǎn),自己使用了USB接口。雖然使用起來不是

51、特別的方便,但最終也實(shí)現(xiàn)了要求,自己第一次動(dòng)手做的實(shí)物已經(jīng)讓自己很滿意了。在以后的學(xué)習(xí)中,自己一定會(huì)更加努力,要求完美??偨Y(jié)經(jīng)過自己的不懈努力,終于完成了數(shù)字時(shí)鐘的設(shè)計(jì)與制作?;叵肫疬@一個(gè)多月,有艱苦與辛酸,但更多的卻是自己成功后的喜悅,同時(shí)也有學(xué)到更多知識的成就感。回想起這接近四年的大學(xué)生活,除去考研的歲月,估計(jì)只有這一個(gè)多月自己是過得最充實(shí)的。要是自己大學(xué)四年都在這么充實(shí)中度過,我想現(xiàn)在的自己絕對不會(huì)再是隨波逐流的大學(xué)生中的一員,而是有資本有能力的人了。在設(shè)計(jì)與制作數(shù)字時(shí)鐘的過程中,自己學(xué)到了很多也感悟良多。(1)設(shè)計(jì)的過程很重要,只有設(shè)計(jì)好了自己心里才清楚到底制作出來會(huì)是怎樣的一個(gè)實(shí)物。

52、雖然自己設(shè)計(jì)的數(shù)字時(shí)鐘完全滿足要求,但是缺陷就是上電后重新恢復(fù)零,不像平常使用的電子時(shí)鐘一樣。因?yàn)楦鶕?jù)要求根本沒必要使用時(shí)鐘芯片就可以滿足所有的要求,這是使自己感覺比較遺憾的一點(diǎn)。(2)編寫程序的過程是一個(gè)很傷頭腦很辛苦的一個(gè)過程。而且這次的程序不是像以前一樣只是滿足一個(gè)或者兩個(gè)要求,而是要滿足好幾個(gè)要求,因此自己不僅要實(shí)現(xiàn)所有的要求,還必須使程序看起來盡可能的簡單明了。有的時(shí)候自己編寫出來了并不一定就能通過編譯,通過編譯也并不一定可以滿足所有的要求,這個(gè)尋找錯(cuò)誤并不斷改正的過程是痛苦的。(3)畫仿真圖的過程自己學(xué)到了很多東西,雖然沒有上過相關(guān)的課程,但在自己不斷學(xué)習(xí)不斷請教的過程中,自己獨(dú)立

53、完成了仿真圖的繪制。盡管還存在一些缺陷,并不是很完美,但是繪制的過程才是真正值得重視的。我想在以后自己學(xué)習(xí)和繪畫的過程中,自己會(huì)慢慢力求完美的。(4)在實(shí)物的制作過程中,自己學(xué)會(huì)了取舍。雖然用Altium Designer已經(jīng)將PCB板繪制好了,但是最終沒有選擇這種方法,自己也并沒有感到很遺憾。因?yàn)樽约河謱W(xué)到了一種新的軟件,并且是學(xué)習(xí)單片機(jī)必不可少的軟件,為自己以后的學(xué)習(xí)打下了堅(jiān)實(shí)的基礎(chǔ)。同時(shí)自己也學(xué)會(huì)了如何焊接,如何布線使板子看起來更漂亮,這些過程的快樂都只有親自動(dòng)手才能體會(huì)的到的。這次設(shè)計(jì)學(xué)到的總結(jié)有以下幾點(diǎn):(1)對于任何沒有接觸過得東西,不能畏懼,而應(yīng)該抱著學(xué)習(xí)嘗試的心態(tài)去克服它。你會(huì)

54、發(fā)現(xiàn)其實(shí)沒有你想象的那么困難。(2)學(xué)習(xí)新知識的時(shí)候不要貪多,而應(yīng)該學(xué)多少用多少,爭取學(xué)過了就記得,以后在用得上的時(shí)候還可以立刻回想起來。(3)遇到困難不要害怕,遇到失敗更不要放棄,任何成功者都是經(jīng)歷過無數(shù)次失敗的。最后感老師的耐心指導(dǎo),讓自己少走了很多彎路。致本次畢業(yè)設(shè)計(jì)論文是在我的老師東漢的悉心關(guān)懷和精心指導(dǎo)下完成的。他嚴(yán)肅的科學(xué)態(tài)度,精益求精的工作作風(fēng),深深地感染和激勵(lì)著我。每次遇到困難,老師都會(huì)仔細(xì)的幫我分析,并耐心的指導(dǎo)我該如何解決。正是在東漢老師的指導(dǎo)與幫助下,自己少走了很多彎路并順利地完成了畢業(yè)設(shè)計(jì)。在此,真誠的向老師說聲。同時(shí),也非常感在收集資料和實(shí)物制作過程中給予我?guī)椭耐瑢W(xué)

55、,在與同學(xué)一起探討的過程中不僅學(xué)會(huì)了很多與單片機(jī)相關(guān)的知識,也增進(jìn)了同學(xué)之間的友誼,對你們給予的寶貴意見表示衷心的感。參考文獻(xiàn)1 郭天祥.新概念51單片機(jī)C語言教程入門,提高,開發(fā),拓展全攻略M.:電子工業(yè),2009.2 胡健等.單片機(jī)原理與接口技術(shù)M.:機(jī)械工業(yè),2004.103 譚浩強(qiáng).C程序設(shè)計(jì).:清華大學(xué),2005.4向繼文等.基于AT89C51的電子鐘系統(tǒng)設(shè)計(jì)J,機(jī)電產(chǎn)片開發(fā)與創(chuàng)新,2007年第2期5育長. 單片機(jī)系統(tǒng)設(shè)計(jì)與實(shí)例分析M,:電子科技大學(xué),2007.56 與,利民.MCS-51系列單片機(jī)原理與應(yīng)用M.:科學(xué)技術(shù)社,2000.77 朱清慧.Proteus教程電子線路設(shè)計(jì)、制

56、版與仿真M.:清華大學(xué),2008.8 源生. 數(shù)字電子技術(shù)M. :清華大學(xué),2005.9 應(yīng)明仁,王化成. 單片機(jī)原理與應(yīng)用M. :華南理工大學(xué)出社,2005.10 林濤等. 數(shù)字電子技術(shù)基礎(chǔ)M. :清華大學(xué),2006.11 吉鵬,馬云峰等. 微機(jī)原理與接口技術(shù)M.:高等教育, 2003.12 毅剛. 單片機(jī)原理與應(yīng)用M. :高等教育,2004.13 胡漢才. 單片機(jī)原理與系統(tǒng)設(shè)計(jì)M. :清華大學(xué),2002.14 邊春遠(yuǎn),王志強(qiáng). MCS-51單片機(jī)應(yīng)用開發(fā)實(shí)用子程序(自動(dòng)控制系列) M. :人民郵電,2006.15 常健生. 檢測與轉(zhuǎn)換技術(shù)M. :機(jī)械工業(yè),2003.16 徐晨,繼紅等. 微

57、機(jī)原理與應(yīng)用M. :高等教育,2004.附錄程序清單如下#include#define uchar unsigned char#define uint unsigned intsbit dula=P26;/數(shù)碼管段選控制端(接B)sbit wela=P27;/數(shù)碼管位選控制端(接A)sbit k3=P22;/調(diào)時(shí)間控制鍵sbit k2=P21;/時(shí)間-sbit k1=P20;/時(shí)間+sbit bs=P24;/蜂鳴器控制端sbit k4=P23;/時(shí)鐘秒表轉(zhuǎn)換按鍵int shi,fen,miao;/定義各種變量uchar count,count1,k3num,k1num,k2num,k4num,

58、yang,fen1,shi1,miao1;uchar code table=/共陰極數(shù)碼管dp不亮數(shù)組0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;uchar code table1=/共陰極數(shù)碼管dp亮數(shù)組0 xbf,0 x86,0 xdb,0 xcf,0 xe6,0 xed,0 xfd,0 x87,0 xff,0 xef;uchar code table2=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90;*延時(shí)程序:延時(shí)m毫秒*void dela

59、y(uint m) uint x,y;for(x=m;x0;x-)for(y=110;y0;y-);*數(shù)碼管正常顯示函數(shù)*void xianshi(char m,uchar n,uchar a) uchar shi,ge;wela=1; /位選控制打開P0=0 xff; /數(shù)碼管清零wela=0; /位選關(guān)閉,鎖存住送入數(shù)碼管的數(shù)據(jù)ge=m%10; /分離要顯示的個(gè)位dula=1; /段選控制打開P0=tablege; /數(shù)碼管顯示個(gè)位的數(shù)dula=0; /段選關(guān)閉,鎖存數(shù)據(jù)wela=1; /位選打開P0=n; /第N個(gè)數(shù)碼管顯示wela=0; /位選關(guān)閉,鎖存數(shù)據(jù)delay(1); /延時(shí)1

60、mswela=1; /位選控制打開P0=0 xff; /數(shù)碼管清零wela=0; /位選關(guān)閉,鎖存住送入數(shù)碼管的數(shù)據(jù)shi=m/10; /分離要顯示的時(shí)位dula=1; /段選控制打開P0=tableshi; /數(shù)碼管顯示時(shí)位的數(shù)dula=0; /段選關(guān)閉,鎖存數(shù)據(jù)wela=1; /位選打開P0=a; /第a個(gè)數(shù)碼管顯示wela=0; /位選關(guān)閉,鎖存數(shù)據(jù)delay(1); /延時(shí)1毫秒wela=1; /位選控制打開P0=0 xff; /數(shù)碼管清零wela=0; /位選關(guān)閉,鎖存住送入數(shù)碼管的數(shù)據(jù)dula=1; /段選控制打開P0=0 x40; /第三個(gè)和第六個(gè)數(shù)碼管顯示橫杠dula=0; /

溫馨提示

  • 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

提交評論