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

下載本文檔

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

文檔簡介

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

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

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

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

提交評論