數(shù)碼管電子鐘的設計及實現(xiàn)_第1頁
數(shù)碼管電子鐘的設計及實現(xiàn)_第2頁
數(shù)碼管電子鐘的設計及實現(xiàn)_第3頁
數(shù)碼管電子鐘的設計及實現(xiàn)_第4頁
數(shù)碼管電子鐘的設計及實現(xiàn)_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

精選優(yōu)質(zhì)文檔-----傾情為你奉上精選優(yōu)質(zhì)文檔-----傾情為你奉上專心---專注---專業(yè)專心---專注---專業(yè)精選優(yōu)質(zhì)文檔-----傾情為你奉上專心---專注---專業(yè)編號:5本科畢業(yè)設計數(shù)碼管電子鐘的設計及實現(xiàn)院系:信息工程學院姓名:學號:專業(yè):通信工程年級:2008級指導教師:職稱:完成日期:2012年5月摘要電子鐘主要是利用電子技術(shù)將時鐘電子化、數(shù)字化,擁有時鐘精確、體積小、可拓展性能強等特點,被廣泛用于生活和工作中去。本文主要為實現(xiàn)一款可正常顯示時間、帶有24h/12h制調(diào)整、帶有AM/PM顯示以及時間校準功能的一款基于單片機仿真的多功能電子鐘。本文對設計要求的功能進行了分析和比較,確定了提供電源、界面顯示、輸入等方案。本設計采用AT80C51芯片作為核心,以時鐘電路、復位電路為輔助電路,用Proteus軟件自帶的電子鐘組件實現(xiàn)高度仿真的顯示結(jié)果。軟件部分主要采用簡單且應用廣泛的C51語言編寫實現(xiàn)。這種仿真的電子鐘具有電路簡單、讀取方便、顯示直觀、功能多樣、時間精度較高、操作簡單、編程容易、成本低廉等很多優(yōu)點。設計主要是用Proteus電路軟件實現(xiàn)電子管的仿真。經(jīng)過改裝,添加部分功能所生產(chǎn)出的產(chǎn)品即可應用于一般的生活和工作中,從而給人們的生活和生產(chǎn)帶來便利,符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。關(guān)鍵詞:單片機;電子鐘;控制器

AbstractElectronicclockistheuseofelectronictechnologytomakeclockelectronicanddigital.Withapreciseclock,smallsizeandcanbeabletodevelopstrongperformancecharacteristics,soarewidelyusedtoliveandwork.Inthispaper,toachieveanormaldisplaytimewith24h/12hsystemadjustments,withtheAM/PMdisplayandtimecalibrationfunctionofasimulationbasedonsinglechipmulti-functionelectronicclock.Inhispaperthedesignrequirementsofthefunctionareanalyzedandcompared,determinedtoprovidepower,interfacedisplay,inputprogram.ThisdesignadoptsAT80C51chipasthecore,withaclockcircuit,resetcircuit,usingProteusSoftwarecomeswiththeelectronicclockassemblytoachieveahighdegreeofsimulationresult.SoftwarepartmainlyusesawiderangeofC51language.Thissimulationelectronicclockhastheadvantagesofsimplecircuit,convenientreading,visualdisplay,multiplefunctions,highprecision,simpleoperation,timeprogrammingiseasy,lowcostandmanyotheradvantages.ThedesignismainlyuseProteussoftwaretorealizetheelectronictubesimulationcircuit.Aftermodification,addingsomefunctionstoproduceproductsthatcanbeappliedtopeople’slifeandproduction,inlinewiththedevelopmenttrendofelectronicinstrumentation,andhasbroadmarketprospects.Keywords:SCM;electronicclock;controller

目錄

緒論數(shù)字電子鐘的背景和意義20世紀末電子技術(shù)獲得了飛速的發(fā)展,在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個領域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高,同時也使現(xiàn)代電子產(chǎn)品性能進一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。時間對人們來說總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當前的時間,忘記了要做的事情,當事情不是很重要的時候,這種遺忘無傷大雅。但是,一旦重要事情,一時的耽誤可能釀成大禍。單片機具有集成度高、功能強、通用性好的特點,特別是它能耗低、價格便宜、可靠性高、抗干擾能力強和使用方便等獨特的優(yōu)點,所以單片機現(xiàn)在廣泛的應用到家用電器、機電產(chǎn)品、兒童玩具、機器人、辦公自動化產(chǎn)品等領域。目前,單片機正朝著高性能和多品種方向發(fā)展,趨勢是進一步向著CMOS化、低功耗、小體積、大容量、高性能、低價格和外圍電路內(nèi)裝化等幾個方面發(fā)展。單片機應用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設計思想和設計方法。從前必須由模擬電路或數(shù)字電路實現(xiàn)的大部分功能,現(xiàn)在已能用單片機通過軟件方法來實現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。單片機模塊中最常見的是數(shù)字鐘,數(shù)字鐘是一種用數(shù)字電路技術(shù)實現(xiàn)時、分、秒計時的裝置,與機械式時鐘相比具有更高的準確性和直觀性,且無機械裝置,具有更更長的使用壽命,因此得到了廣泛的使用。數(shù)字鐘是采用數(shù)字電路實現(xiàn)對時、分、秒、數(shù)字顯示的計時裝置,廣泛用于個人家庭、車站、碼頭辦公室等公共場所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?,由于?shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應用,使得數(shù)字鐘的精度,遠遠超過老式鐘表,鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、定時開關(guān)烘箱、通斷動力設備、甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎的。因此,研究數(shù)字鐘及擴大其應用,有著非?,F(xiàn)實的意義。本設計研究的主要內(nèi)容本設計采用AT80C51芯片作為核心,采用延時電路和復位電路來實現(xiàn)其計時的功能,用Proteus軟件自帶的電子鐘組件實現(xiàn)仿真結(jié)果。此設計的主要研究內(nèi)容有:(1)研究電子鐘的原理與實現(xiàn)方法。(2)51單片機的原理與運用。(3)構(gòu)思基于單片機的仿真電子鐘的實現(xiàn)方案。(4)熟悉運用C51單片機語言編寫軟件系統(tǒng)。(5)熟悉運用Keil軟件與Proteus軟件仿真和調(diào)試系統(tǒng)。系統(tǒng)總體設計及方案論證本系統(tǒng)采用單片機80C51為中心器件來設計電子鐘系統(tǒng),系統(tǒng)實用性強、操作簡單、擴展性強。本設計采用單片機、鍵盤、LED顯示、電子鐘演示系統(tǒng)組成。系統(tǒng)包括狀態(tài)轉(zhuǎn)換、調(diào)時、調(diào)分以及基本的電子鐘功能,計時牌顯示當前時間。電子鐘控制的框圖如下圖2-1所示,主要有控制電路、按鍵電路、晶振電路、復位電路、顯示電路、電源電路等電路組成。單片機AT80C單片機AT80C51按鍵控制裝置時鐘電路時鐘電路驅(qū)動裝置74LS驅(qū)動裝置74LS138地址分配裝置復位電路復位電路時間顯示裝置時間顯示裝置圖2-1系統(tǒng)總體設計框圖提供方案為使模塊穩(wěn)定工作,須有可靠電源。本次設計考慮了兩種電源方案:方案一:采用獨立的穩(wěn)壓電源。此方案的優(yōu)點是穩(wěn)定可靠,且有各種成熟電路可供選用;缺點是各模塊都采用獨立電源,會使系統(tǒng)復雜,且可能影響電路電平。方案二:采用單片機控制模塊提供電源。該方案的優(yōu)點是系統(tǒng)簡明扼要,節(jié)約成本;缺點是輸出功率不高。綜上所述,選擇第二種方案。顯示界面方案該系統(tǒng)要求完成時間顯示功能。基于上述原因,本次設計考慮了兩種方案:方案一:完全采用點陣式LED顯示。這種方案功能強大,可方便的顯示各種英文字符、漢字、圖形等,但實現(xiàn)復雜,且須完成大量的軟件工作。方案二:完全采用數(shù)碼管顯示。這種方案優(yōu)點是實現(xiàn)簡單,可以完成時間顯示功能。缺點是功能較少,只能顯示有限的符號和數(shù)碼字符。根據(jù)本設計的要求,方案二已經(jīng)滿足了要求,所以本次設計采用方案二以實現(xiàn)系統(tǒng)的顯示。輸入方案這里同樣討論了兩種方案:方案一:采用74LS138擴展I/O口、鍵盤及顯示等。該方案的優(yōu)點是使用靈活可編程,并且有RAM及計數(shù)器。若用該方案,可提供較多I/O口,但操作起來稍顯復雜。方案二:直接在I/O口線上接上按鍵開關(guān)。因為設計時精簡和優(yōu)化了電路,所以剩余的端口資源還比較多。由于該系統(tǒng)是對電子鐘數(shù)碼顯示管的控制,用到的單片機端口比較多,所以要實現(xiàn)時間的顯示就需要進行端口的擴展,故選擇方案一。系統(tǒng)硬件設計及實現(xiàn)整體方案設計本設計以單片機為控制核心,采用模塊化設計,共分以下幾個功能模塊:單片機控制系統(tǒng)、鍵盤及狀態(tài)顯示時間模塊等。整體硬件設計圖如3-1所示。單片機作為整個硬件系統(tǒng)的核心,它既是協(xié)調(diào)整機工作的控制器,又是數(shù)據(jù)處理器。它由單片機振蕩電路、復位電路等組成。系統(tǒng)采用單數(shù)碼管時間顯示功能,最大顯示數(shù)字9。在時間走飛的情況下,可以通過K1、K2、K3和K4四個按鍵對時間進行調(diào)整。圖3-1整體電路設計單片機的基本結(jié)構(gòu)MCS-51單片機內(nèi)結(jié)構(gòu)如圖3-2所示,MCS-51單片機是把那些作為控制應用所必需的基本內(nèi)容都集成在一個尺寸有限的集成電路芯片上。80C51單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在分別加以說明圖3-280C51單片機內(nèi)結(jié)構(gòu)(1)中央處理器中央處理器(CPU)是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制數(shù)據(jù)或代碼,CPU負責控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入/輸出功能等操作。(2)數(shù)據(jù)存儲器(RAM)80C51內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果或用戶定義的字型表(3)程序存儲器(ROM)80C51共有4096個8位掩膜ROM,用于存放用戶程序,(4)定時/計數(shù)器80C51(5)并行輸入/輸出(I/O)口80C51共有4組8位I/O口(P0、P1、P2、P3)(6)全雙工串行口80C51(7)中斷系統(tǒng)80C51具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行(8)時鐘電路80C51內(nèi)置最高頻率達12MHz的時鐘電路,用于產(chǎn)生整個單片機運行的脈沖時序,但80C5(9)MCS-51的引腳說明MCS-51系列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復用。80C51的引腳如圖3-3所示,現(xiàn)在對這些引腳的功能加以說明。

圖3-380C51引腳圖=1\*GB3①I/O口線:P0、P1、P2、P3共四個八位端口。P0口是三態(tài)雙向口,通稱數(shù)據(jù)總線口,因為只有該口能直接用于對外部存儲器的讀寫操作。P0口也用以輸出外部存儲器的低8位地址。由于是分時輸出,故應在外部加鎖存器將此地址數(shù)據(jù)鎖存,地址鎖存信號用ALE。P1口是專門供用戶使用的I/O口,是準雙向口。P2口是從系統(tǒng)擴展時作高8位地址線用。不擴展外部存儲器時,P2口也是準雙向口。P3口是雙功能口,該口的每一位均可獨立地定義為第一I/O功能或第二I/O功能,P3口的第二功能如表3-1。作為第一功能使用時操作同P1口。表3-1P3口的第二功能引腳序列第一功能標志位第二功能P3.0RXD串行輸入口P3.1TXD串行輸出口P3.2INT0外部中斷0輸入P3.3INT1外部中斷1輸入P3.4T0定時/計時器0外部輸入P3.5T1定時/計時器1外部輸入P3.6WR外部數(shù)據(jù)存儲器寫選通P3.7RD外部數(shù)據(jù)存儲器讀選通=2\*GB3②控制口線:PSEN(片外取控制)、ALE(地址鎖存控制)、EA(片外儲器選擇)、RESET(復位控制);Pin9:RESET/Vpd復位信號復用腳,當80C51通電,時鐘電路開始工作,在RESET引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復位。初始化后,程序計數(shù)器PC指向0000H,P0~P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“080C51的復位方式可以是自動復位,也可以是手動復位。此外,RESET/Vpd還是一復用腳,Vcc=3\*GB3③電源及時鐘:Vcc、Vss;XTAL1,XTAL2;其它電路設計時鐘電路本設計的時鐘電路圖3-4所示。圖3-4時鐘電路圖XTAL1是片內(nèi)振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時,外部振蕩信號應直接加到XTAL1,而XTAL2懸空。內(nèi)部方式時,時鐘發(fā)生器對振蕩脈沖二分頻,如晶振為12MHz,時鐘頻率就為6MHz。晶振的頻率可以在1MHz-24MHz內(nèi)選擇。電容取30pF左右。系統(tǒng)的時鐘電路設計是采用的內(nèi)部方式,即利用芯片內(nèi)部的振蕩電路。AT80C51單片機內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器。引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體諧振器一起構(gòu)成一個自激振蕩器。外接晶體諧振器以及電容C2和C3構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴格的要求,但電容的大小會影響震蕩器頻率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)電路的晶體振蕩器的值為12MHz,電容應盡可能的選擇陶瓷電容,電容值約為22μF。在焊接刷電路板時,晶體振蕩器和電容應盡可能安裝得與單片機芯片靠近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作。復位電路在振蕩器運行時,有兩個機器周期(24個振蕩周期)以上的高電平出現(xiàn)在此引腳時,將使單片機復位,只要這個腳保持高電平,51芯片便循環(huán)復位。復位后P0-P3口均置1引腳表現(xiàn)為高電平,程序計數(shù)器和特殊功能寄存器SFR全部清零。當復位腳由高電平變?yōu)榈碗娖綍r,芯片為ROM的00H處開始運行程序。復位是由外部的復位電路來實現(xiàn)的。片內(nèi)復位電路是復位引腳RST通過一個斯密特觸發(fā)器與復位電路相連,斯密特觸發(fā)器用來抑制噪聲,它的輸出在每個機器周期的S5P2,由復位電路采樣一次。當時鐘頻率選用12MHz時,C1取10μF,R1約為1KΩ。復位操作不會對內(nèi)部RAM有所影響。本設計中的復位電路如圖3-5所示。圖3-5復位電路圖數(shù)碼管顯示電路本數(shù)字鐘顯示時間需8位,格式為12:00:00,因此需采用8個數(shù)碼管,若采用單獨數(shù)碼管連線時比較麻煩,而市場上無8位一體的數(shù)碼管,故本數(shù)字鐘采用4位一體的數(shù)碼管。若使8個數(shù)碼管正常顯示時間,必須采用數(shù)碼管的動態(tài)掃描方式,即每一時刻只有一個數(shù)碼管點亮,采用軟件延時和人眼的視覺停留效果,使人眼看到的數(shù)碼管是同時點亮的。因此需要用8個端口控制數(shù)碼管的段選,即決定數(shù)碼管顯示什么字符,8個端口控制數(shù)碼管的位選,即決定該時刻讓哪個數(shù)碼管點亮。考慮到數(shù)碼管采用動態(tài)掃描方式,即循環(huán)掃描數(shù)碼管的8位,并將顯示字符送入段選段,為了節(jié)省單片機的輸入/輸出端口和易于程序的編寫,采取直接用P2口控制數(shù)碼管的8個段選位,其中數(shù)碼管的小數(shù)點控制位DP不用可直接懸空,為了增加其驅(qū)動能力使數(shù)碼管顯示更亮,在此加入74100,有鎖存數(shù)據(jù)和增加驅(qū)動的作用。利用P2.0~P2.3口接一個74LS138的3–8譯碼器控制數(shù)碼管的位選端。連接方式如圖3-6所示。圖3-674LS138與P2口連接圖74LS138為3線—8線譯碼器,共有54/74S138和54/74LS138線路結(jié)構(gòu)型式,其74LS138工作原理如下:當一個選通端(E1)為高電平,另兩個選通端(E2)和(E3)為低電平時,可將地址端(A、B、C)的二進制編碼在一個對應的輸出端以低電平的方式譯出。利用E1、E2和E3可級聯(lián)擴展成一個24線譯碼器。若外接一個反相器還可以級聯(lián)擴展成為32線譯碼器。若將選通端中的一個作為數(shù)據(jù)輸入端時,74LS138還可作。74LS138的引腳如圖3-7所示。圖3-774LS138譯碼器引腳圖74LS138的真值表見表3-2。表3-274LS138譯碼器真值表輸入輸出E1E2+E3CBAY0Y1Y2Y3Y4Y5Y6Y70xxxx11111111x1xxx111111111000001111111100011011111110010110111111001111101111101001111011110101111110111011011111101101111111111074LS138外接一個反相器級聯(lián)擴展成為32線譯碼器。在該設計中,由于單片機的P2口只有8個數(shù)據(jù)線顯然不夠32個數(shù)據(jù)使用。因此,74LS138譯碼器再次使用于擴展數(shù)據(jù)輸入端的。將選通端中的一個作為數(shù)據(jù)輸入端,74LS138還可作為如圖3-8所示。將數(shù)據(jù)分配給7個74100,以此來驅(qū)動點亮數(shù)碼管。圖3-874LS04與74100連接圖74100具有數(shù)據(jù)鎖存和數(shù)據(jù)緩沖的功能,做數(shù)據(jù)鎖存時,當輸入的數(shù)據(jù)消失時,在芯片的輸出端,數(shù)據(jù)仍然保持;做數(shù)據(jù)緩沖時,可加強驅(qū)動能力,74100的引腳圖如圖3-9所示。同樣,74LS244也具備數(shù)據(jù)緩沖的能力。圖3-974100引腳圖本設計中所用到的數(shù)碼管的如圖3-10所示,將1、2、3、4引腳與U5:A的Q0、Q1、Q2、Q3引腳依次相連接,引腳1控制AM/PM顯示,引腳2控制12h/24h制的設定,引腳3控制復位顯示,引腳4控制時間間隔位。圖3-10數(shù)碼管引腳圖本設計用到七個74100芯片,分別是U2:A、U2:B、U3:A、U3:B、U4:A、U4:B、U5:A。U2:A通過NOR-4與74LS244相連接,驅(qū)動數(shù)碼管的A0~D0。U2:B與A1~D1相連接,連接方式如圖3-11所示;依次類推,U3:A、U3:B、U4:A和U4:B依次與A2~D2、A3~D3、A4~D4、A5~D5相連接。圖3-1174100與74LS244連接圖按鍵掃描控制部分采取獨立按鍵控制方式,用單片機的P0.0~P0.3控制4個彈性按鍵,用來顯示和控制時間的調(diào)整,因所用的按鍵較少,故采用獨立按鍵控制方式,且所用按鍵均為彈性小按鍵,即按下時為低電平接通,松手時即彈起變?yōu)楦唠娖剑瑸榱斯?jié)省輸入/輸出端口和方便編程,每個按鍵根據(jù)其按的次數(shù)有不同的作用。按鍵控制圖如圖3-12所示。圖3-12按鍵控制圖系統(tǒng)軟件設計及實現(xiàn)該系統(tǒng)軟件程序主要有主程序模塊,按鍵掃描程序,顯示子程序,時鐘調(diào)整與設置程序等四大模塊組成。圖4-1中按鍵從上往下設定為K1、K2兩個開關(guān)和K3、K4兩個按鍵,K1與P0.0相連,K2與P0.1相連,K3與P0.2相連,K4與P0.3相連。當需要設定當前時間時,按一下K2鍵,進入時間設定狀態(tài),按一下K4,分鐘加1;按一下K3,小時加1。如此反復來設定當前時間。調(diào)好時間后,斷開K2,退出當前時間設定狀態(tài);當要切換時間模式時,按下K1鍵,進入二十四時計時模式,斷開K1鍵,進入十二時計時模式。圖4-1按鍵控制圖主程序流程圖本流程圖所描述的是:程序?qū)雴纹瑱C,開始運行。系統(tǒng)從12點59分40秒開始計時,本設計中用到了兩個開關(guān)(K1、K2)和兩個按鈕(K3、K4),K1的優(yōu)先級別最高,所以進行按鍵掃描時首先判斷K1鍵是否閉合。K1鍵控制著不同的計時模式,閉合就進入二十四時計時模式,斷開則進入十二時計時模式。在相應的計時狀態(tài)下,判斷K2鍵是否閉合,如果要進行時間調(diào)整,則閉合K2鍵,程序?qū)ㄟ^K3和K4鍵進行時間的設定,K3對小時進行調(diào)整,K4對分鐘進行調(diào)整,按下一次K3鍵,小時加1,按下一次K4鍵,分鐘加1,時間調(diào)整結(jié)束后,斷開K2鍵,程序從調(diào)整后的時間開始正常顯示。具體主流程圖如4-2所示。

進入24時進制計時進入24時進制計時開始從12時59分40秒開始計時判斷K1是否按下進入12時進制計時判斷K2是否按下進行相應的時間調(diào)整調(diào)整結(jié)束正常的時間顯示NNYYNNYY圖4-2主程序流程圖時間調(diào)整程序流程圖時間的調(diào)整是通過K2、K3和K4來實現(xiàn)的。K2與K3、K4的優(yōu)先級別不一樣,K2的優(yōu)先級高于K3和K4,K3和K4是同等優(yōu)先級。要實現(xiàn)對時間的重置首先要從K2開始判斷,K2是時間調(diào)整的開啟鍵,只有先閉合K2才能進行時間的重置。在K2閉合的狀態(tài)下,按一下K3鍵,小時按照相應的計時模式(12/24時制)進行加1,當小時加到相應的最大值時進行自動返1(12時計時下)或者返0(24時計時下),通過K3鍵進行小時的調(diào)整,直到所要設定的小時為止。按一下K4鍵進行分鐘的加1,當達到60是自動返回1,通過K4鍵進行分鐘的調(diào)整,直到所要設定的分鐘為止。具體設計流程圖如圖4-3所示。開始開始判斷K2是否按下進行時間調(diào)整判斷K2、K3是否按下進行相應的小時或分鐘的調(diào)整調(diào)整結(jié)束YYNN圖4-3時間調(diào)整程序流程圖Proteus軟件仿真Proteus軟件簡介Proteus軟件是LabcenterElectronics公司的一款電路設計與仿真軟件,它包括ISIS、ARES等軟件模塊,ARES模塊主要用來完成PCB的設計,而ISIS模塊用來完成電路原理圖的布圖與仿真。Proteus的軟件仿真基于VSM技術(shù),它與其他軟件最大的不同也是最大的優(yōu)勢就在于它能仿真大量的單片機芯片,比如MCS-51系列、PIC系列等等,以及單片機外圍電路,比如鍵盤、LED、LCD等等。通過Proteus軟件的使用能夠輕易地獲得一個功能齊全、實用方便的單片機實驗室。仿真步驟第一步:用KeiluVision4軟件對程序進行編譯,編譯通過后,會自動生成HEX文件。第二步:在Proteus的元件庫中找到80C51以及相應的元件,按照硬件設計中的說明把各部件連接起來組成一個定時鬧鐘的硬件系統(tǒng)。第三步:把在KeiluVision4環(huán)境調(diào)試下生成的.HEX文件裝入到80C51里,點擊運行符號就可以使軟硬件的配套設施在Proteus的環(huán)境下仿真實現(xiàn)。第四步:驗證系統(tǒng)能否實現(xiàn)所要求的功能,并檢驗錯誤。仿真過程中出現(xiàn)的錯誤及解決措施(1)當把程序生成的.HEX文件裝入到AT80C51后運行時,顯示模塊出現(xiàn)數(shù)字顯示錯誤,但是軟硬件都沒有錯誤,經(jīng)檢查是它們不配套,在修改掃描顯示控制字而且改變硬件布線順序后方顯示正常。(2)在設計的初期把主程序設計成順序結(jié)構(gòu),但是在運行的時候沒有注意到這個問題,沒有按照軟件說明中的順序操作,以至于時間模式轉(zhuǎn)換時出現(xiàn)錯誤,在改變按下按鍵的順序后工作正常。(3)電子鐘在設置時間的時候加時與加分未能正常運行,經(jīng)檢查硬件沒有出現(xiàn)錯誤,而是在編寫程序時漏過了一個&的字符導致時間調(diào)節(jié)功能不能正常進行,經(jīng)過對程序的反復檢查并改正使其實現(xiàn)該功能。所以不是程序運行不報錯就一定可以在硬件上正常實現(xiàn)所要求的功能,只有認真編寫程序,并在硬件上多次調(diào)試才能達到所要實現(xiàn)的功能。仿真結(jié)果圖5-1電子鐘的起始狀態(tài)圖5-1顯示的是:程序倒入單片機后,點擊開始,顯示電子鐘的起始狀態(tài),系統(tǒng)從12:59:40開始計時。圖5-2K1斷開十二時制計時圖5-2顯示的是:系統(tǒng)正常運行時,斷開K1,電子鐘按十二時制計時,顯示當前時間01:01:01。圖5-3K1閉合二十四時制計時圖5-3顯示的是:系統(tǒng)正常運行時,在K2閉合的狀態(tài)下,電子鐘按二十四時制計時,顯示當前時間13:06:44。圖5-4二十四時制K2閉合進行時間設置圖5-4顯示的是:系統(tǒng)正常運行時,閉合K2進行時間設置,按6次K3鍵,把時間調(diào)整至19:06:44??偨Y(jié)單片機是一門應用性很強的學科,畢業(yè)設計是培養(yǎng)學生綜合運用所學知識,發(fā)現(xiàn)、提出、分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學生實際工作能力的具體訓練和考察過程,為自己今后從事與單片機控制系統(tǒng)有關(guān)的工作打下了基礎。雖然在做畢業(yè)設計以前已經(jīng)系統(tǒng)的把單片機課本認真的學習了一下,但是在剛開始時還是有點一頭霧水,不知道該從哪里下手。令人欣慰的是經(jīng)過幾個月的學習,雖然過程很艱辛,問了很多朋友,但是總算實現(xiàn)了電子鐘的功能,所有的努力都很值得。這幾個月的大部分時間都在研究程序怎么處理,在這個過程中加深了對C語言命令的應用,而且也更加了解到軟硬件配套的重要性。以下是本次單片機課程設計的幾點心得與體會。(1)在設計程序之前,務必要對所學單片機課程的內(nèi)容有一個系統(tǒng)的了解知道單片機片內(nèi)片外的內(nèi)容及其功能。(2)設計程序采用什么編程語言并不是非常重要,關(guān)鍵要有一個清晰的思路和一個完整的軟件流程圖。模塊化的設計思想在程序設計中的作用是十分大的,它可以提供一個比較清晰的思路,并且很容易找到頭緒,不至于在設想一個程序時感覺到無從下手。(3)在設計程序時,不能妄想一次就將整個程序設計好,“反復修改,不斷改進”是程序設計的必經(jīng)之路。程序剛開始編好時,一般情況下會存在很多錯誤,要不斷地修改,不斷的改進才能達到預期的目的,編寫程序的時間并不是很長,主要是修改程序會花很多時間。(4)要養(yǎng)成注釋程序的好習慣,一個程序的完美與否不僅僅是實現(xiàn)功能,而應該讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便。剛開始在編寫程序時,很不習慣于寫注釋,感覺很麻煩,而且沒用,但是在修改的過程中就遇到了較大的麻煩,以至于不得不重新的做了注釋,以增加程序的易讀性,從而使修改過程變得容易一些??傊@次畢業(yè)設計不僅鞏固了所學的單片機基本知識,還有助于加強個人動手能力,這些能力在以后的工作或者是學習中一定會起到不小的作用,看到自己幾個月的成果,感覺一切的辛苦和艱難都是值得的。參考文獻[1]曹天漢.單片機原理與接口技術(shù)[M].北京:電子工業(yè)出版社.2009.[2]李海濱.單片機技術(shù)課程設計與項目實例[M].北京:中國電力出版社.2009.[3]鄭思銘.[J].,.[4]胡漢才.單片機原理及接口技術(shù)(第三版)[M].北京:清華大學出版社.2010.[5]楊欣.51單片機實用實例詳解[M].北京:清華大學出版社.2010.[6]王東鋒.單片機C語言應用100例[M].北京:電子工業(yè)出版社.2009.[7]薛小玲.單片機接口模塊應用與開發(fā)實例詳解[M].北京:北京航空航天大學出版社.2010.[8]王愛學.[J].,2009,第2期.[9]彭偉.單片機C語言設計實訓100例:基于8051+Proteus仿真[M].北京:電子工業(yè)出版社.2009.[10]鄭鋒.51單片機典型應用開發(fā)范例大全[M].北京:中國鐵路工業(yè)出版社.2011.[11]謝亮.例說51單片機(C語言)(第三版)[M].北京:人民郵電出版社.2010.[12]張亞力.基于C語言在單片機技術(shù)的應用[J].農(nóng)業(yè)網(wǎng)絡信息,2006,第5期.[13]李朝青.單片機原理及接口技術(shù)(第三版)[M].北京:北京航空航天大學出版社.2005.[14]譚浩強.C語言程序教程設計教程[M].北京:高等教育出版社.2006.[15]何立民.單片機應用系統(tǒng)設計系統(tǒng)配置與接口技術(shù).北京[M]:北京航空航天大學出版社.2001.[16]楊毅.基于單片機的交通燈控制系統(tǒng)設計[J].現(xiàn)代企業(yè)教育,2010,第18期.[17]彭偉.單片機C語言程序設計實訓100例[M].北京:電子工業(yè)出版社.2009.[18]郭天祥.新概念51單片機C語言教程:入門、提高、開發(fā)、拓展全攻略[M].北京:電子工業(yè)出版社.2009.[19]楊天怡.單片機原理及應用[M].北京:清華大學出版社.2010.[20]李廣弟.單片機基礎(第三版)[M].北京.北京航空航天大學出版社.2007.[21]房小翠.單片機使用系統(tǒng)設計技術(shù).北京:國防工業(yè)出版社.2009.[22]王靜霞.單片機應用技術(shù)[M].北京:電子工業(yè)出版社.2009.[23]楊欣.實例解讀51單片機完全學習與應用[M].北京:電子工業(yè)出版社.2011.[24]張毅剛.單片機原理及應用[M].北京:高等教育出版社.2010.致謝經(jīng)過將近兩個多月的準備和查找資料,在老師的指導下,我的畢業(yè)論文終于寫完了。在論文的寫作過程中遇到了無數(shù)的困難和障礙,都在同學和老師的幫助下度過了。感謝老師對我的教育培養(yǎng)。他們細心指導我的學習與研究,在此,我要向諸位老師深深地鞠上一躬。我尤其要強烈感謝我的指導老師,他給予了我無私的幫助和指導,不厭其煩的幫助我進行論文的修改和改進。在此,我再次向關(guān)心我學習,并且在我完成論文過程中給予我?guī)椭椭С值睦蠋熀屯瑢W們表示衷心的感謝和祝愿!我在此衷心祝福老師身體健康,工作順利,事業(yè)節(jié)節(jié)高!另外,在校圖書館查找資料的時候,圖書館的老師也給我提供了很多方面的支持與幫助。在此向幫助和指導過我的各位老師表示最衷心的感謝!本文引用了數(shù)位學者的研究文獻,感謝這篇論文所涉及到的各位學者,如果沒有各位學者的研究成果的幫助和啟發(fā),我將很難完成本篇論文的寫作。同時感謝我的同學和朋友,在我寫論文的過程中給予我了很多素材,還在論文的撰寫和排版等過程中提供熱情的幫助。由于我的學術(shù)水平有限,所寫論文難免有不足之處,懇請各位老師和學友批評和指正!再次感謝關(guān)心和在我寫作工程中給予我?guī)椭椭С掷蠋熀屯瑢W們!謝謝大家啦!大家辛苦了。附錄附錄=1\*ROMANI子程序設計延時子程序voidDelayMS(uintx){uchari;while(--x)for(i=0;i<120;i++);}時間顯示子程序voidDisplay_Time(){uchari;for(i=0;i<7;i++){P2=(disp_Buffer[i]<<4)|i|0x08;DelayMS(5);P2&=0xF7;DelayMS(5);}}時鐘調(diào)整子程序voidAdjust_and_Set_Clock(){while(K2==0){if(K1==0){f_24=1;disp_Buffer[6]|=0x02;}else{f_24=0;disp_Buffer[6]&=0xFD;}if(K3==0){DelayMS(150);Add_Hour(); }if(K4==0){DelayMS(150);current_Time[1]=(current_Time[1]+1)%60;}Refresh_Disp_Buffer();Display_Time();}}附錄=2\*ROMANII源程序#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintuchartCount=0;//時鐘設置開關(guān)及按鍵sbitK1=P0^0; //12h/24h選擇鍵sbitK2=P0^1; //設置鍵sbitK3=P0^2; //小時加sbitK4=P0^3; //分鐘加ucharcurrent_Time[]={12,59,40};//當前時間:時分秒uchardisp_Buffer[]={0,0,0,0,0,0,0x00};//時分秒顯示緩沖(各占兩位),最后的0X00控制AM,PM及發(fā)光管閃光等ucharf_24=0,f_AM=0,f_set=0; //12h,24h,AM,PM及SET控制標志//-------------------------------------------------------------------------------------------------------//延時//--------------------------------------------------------------------------------------------------------voidDelayMS(uintx){uchari;while(--x)for(i=0;i<120;i++);}//--------------------------------------------------------------------------------------------------------//加時//--------------------------------------------------------------------------------------------------------voidAdd_Hour(){++current_Time[0]; //小時數(shù)累加if(f_24==1&¤t_Time[0]==24) //24h制時滿24歸零current_Time[0]=0;if(f_24==0&¤t_Time[0]==13) //12h制時滿13歸1,且取反AM和PM標志{current_Time[0]=1;disp_Buffer[6]=(disp_Buffer[6]&0xFE)|(~(disp_Buffer[6]&0x01)&0x01); //將原來的AM和PM取反}}//-------------------------------------------------------------------------------------------------------//加分//-------------------------------------------------------------------------------------------------------voidAdd_Miniute(){++current_Time[1]; //分鐘累加if(current_Time[1]==60){current_Time[1]=0;Add_Hour();}}//--------------------------------------------------------------------------------------------------------//根據(jù)當前時間刷新時分秒顯示緩沖//-------------------------------------------------------------------------------------------------------voidRefresh_Disp_Buffer(){uchari;for(i=0;i<3;i++) //刷新顯示緩沖{disp_Buffer[2*i]=current_Time[i]/10;disp_Buffer[2*i+1]=current_Time[i]%10;}}//----------------------------------------------------------------------------------------------//外部中斷0//-----------------------------------------------------------------------------------------------voidEX0_INT()interrupt0{++tCount;if(tCount==25)disp_Buffer[6]&=0xF7; //每0.5秒LED[:]點亮if(tCount==50) //每秒刷新顯示緩沖{tCount=0;disp_Buffer[6]|=0x08; //每1秒LED[:]關(guān)閉if

溫馨提示

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

評論

0/150

提交評論