單片機課程設(shè)計-數(shù)字時鐘的設(shè)計.doc_第1頁
單片機課程設(shè)計-數(shù)字時鐘的設(shè)計.doc_第2頁
單片機課程設(shè)計-數(shù)字時鐘的設(shè)計.doc_第3頁
單片機課程設(shè)計-數(shù)字時鐘的設(shè)計.doc_第4頁
單片機課程設(shè)計-數(shù)字時鐘的設(shè)計.doc_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

此文檔收集于網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系網(wǎng)站刪除開封大學(xué)單片機課程設(shè)計題目: 數(shù)字時鐘的設(shè)計 姓名: 專業(yè): 應(yīng)用電子技術(shù) 學(xué)號: 主要內(nèi)容、基本要求、主要參考資料等1、主要內(nèi)容:根據(jù)單片機課程所學(xué)內(nèi)容,結(jié)合其他相關(guān)課程知識,設(shè)計電子時鐘,以加深對單片機知識的理解,鍛煉實踐動手能力,為以后的畢業(yè)設(shè)計和工作打下堅實基礎(chǔ)。2、基本要求:本設(shè)計以MCS-51系列單片機為核心,采用常用電子器件設(shè)計。要求能顯示出分、時、可調(diào)整各個時間,可以采用LED顯示,也可以采用液晶顯示。3、主要參考資料: 1 張毅坤,陳善久.單片微型計算機原理及應(yīng)用.西安電子科技大學(xué)出版社,2002. 2 張友德,趙志英,徐時亮.單片微機原理應(yīng)用與實驗.復(fù)旦大學(xué)出版社,2000. 3 張毅剛,彭善元,董繼承.單片機原理及應(yīng)用.高等教育出版社,2003.指導(dǎo)教師 李繼方 摘要近年來隨著計算機在社會領(lǐng)域的滲透和大規(guī)模集成電路的發(fā)展,單片機的應(yīng)用正在不斷地走向深入,由于它具有功能強,體積小,功耗低,價格便宜,工作可靠,使用方便等特點,因此特別適合于與控制有關(guān)的系統(tǒng),越來越廣泛地應(yīng)用于自動控制,智能化儀器,儀表,數(shù)據(jù)采集,軍工產(chǎn)品以及家用電器等各個領(lǐng)域,單片機往往是作為一個核心部件來使用,在根據(jù)具體硬件結(jié)構(gòu),以及針對具體應(yīng)用對象特點的軟件結(jié)合,以作完善。本次設(shè)計中以單片機的發(fā)展過程和發(fā)展方向為背景,介紹了單片機的輸入輸出的工作原理和操作方法,中斷的工作原理和操作方法,74LS245譯碼器的工作原理和與,LED連接的方法。本次做的數(shù)字鐘是以單片機(AT89C51)為核心,結(jié)合相關(guān)的元器件(共陰極LED數(shù)碼顯示器、BCD-鎖存/7段譯碼/驅(qū)動器74LS245等),再配以相應(yīng)的軟件,是它具有時,分,顯示的功能,并且時,分,還可以調(diào)整。此次設(shè)計電子數(shù)字鐘是為了了解電子數(shù)字鐘的原理,從而學(xué)會制作電子數(shù)字鐘。而且通過電子數(shù)字鐘的制作進(jìn)一步的了解各種在制作中用到的中小規(guī)模集成電路的作用及實用方法。通過它可以進(jìn)一步學(xué)習(xí)與掌握單片機原理與使用方法。關(guān)鍵詞:單片機 AT89C51 共陰極LED數(shù)碼顯示器 74LS245譯碼器 一 數(shù)電字子鐘的背景、意義、應(yīng)用 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)事情不是很重要的時候,這種遺忘無傷大雅。但是,一旦重要事情,一時的耽誤可能釀成大禍。目前,單片機正朝著高性能和多品種方向發(fā)展趨勢將是進(jìn)一步向著CMOS化、低功耗、小體積、大容量、高性能、低價格和外圍電路內(nèi)裝化等幾個方面發(fā)展。下面是單片機的主要發(fā)展趨勢。單片機應(yīng)用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計思想和設(shè)計方法。從前必須由模擬電路或數(shù)字電路實現(xiàn)的大部分功能,現(xiàn)在已能用單片機通過軟件方法來實現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。單片機模塊中最常見的是數(shù)字鐘,數(shù)字鐘是一種用數(shù)字電路技術(shù)實現(xiàn)時、分、秒計時的裝置,與機械式時鐘相比具有更高的準(zhǔn)確性和直觀性,且無機械裝置,具有更更長的使用壽命,因此得到了廣泛的使用。數(shù)字鐘是采用數(shù)字電路實現(xiàn)對時、分、秒數(shù)字顯示的計時裝置,廣泛用于個人家庭、車站、碼頭辦公室等公共場所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?,由于?shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘表,鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、定時開關(guān)烘箱、通斷動力設(shè)備、甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴大其應(yīng)用,有著非?,F(xiàn)實的意義。 數(shù)字鐘已成為人們?nèi)粘I钪校罕夭豢缮俚谋匦杵?,廣泛用于個人家庭以及車站、碼頭、劇場、辦公室等公共場所,給人們的生活、學(xué)習(xí)、工作、娛樂帶來極大的方便。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù),使數(shù)字鐘具有走時準(zhǔn)確、性能穩(wěn)定、攜帶方便等優(yōu)點,它還用于計時自動報時及自動控制的領(lǐng)域。二 單片機和數(shù)字鐘的基本知識l 2.1應(yīng)用知識簡介51單片機:單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。作為嵌入式系統(tǒng)控制核心的單片機具有其體積小、功能全、性價比高等諸多優(yōu)點。51 系列單片機是國內(nèi)目前應(yīng)用最廣泛的單片機之一,隨著嵌入式系統(tǒng)、片上系統(tǒng)等概念的提出和普遍接受及應(yīng)用,51 系列單片機的發(fā)展又進(jìn)入了一個新的階段。在今后很長一段時間內(nèi)51 系列單片機仍將占據(jù)嵌入式系統(tǒng)產(chǎn)品的中低端市場。匯編語言:匯編語言是一種面向機器的計算機低級編程語言,通常是為特定的計算機或系列計算機專門設(shè)計的。匯編語言保持了機器語言的優(yōu)點,具有直接和簡捷的特點,其代碼具有效率高實時性強等優(yōu)點。但是對于復(fù)雜的運算或大型程序,用匯編語言編寫將非常耗時。匯編語言可以與高級語言配合使用,應(yīng)用十分廣泛。ISP:ISP(In-System Programming)在系統(tǒng)可編程,是當(dāng)今流行的單片機編程模式,指電路板上的空白元器件可以編程寫入最終用戶代碼,而不需要從電路板上取下元器件。已經(jīng)編程的器件也可以用ISP方式擦除或再編程。本次課程設(shè)計便使用ISP方式,直接將編寫好的程序下載到連接好的單片機中進(jìn)行調(diào)試。2.2單片機數(shù)字鐘的基本原理它是利用單片機的內(nèi)部的定時/計數(shù)器工作與定時方式,對機器周期計數(shù)形成基準(zhǔn)時間(如10ms)然后用另外一個計數(shù)器或軟件計數(shù)的形式對基準(zhǔn)時間進(jìn)行計數(shù)形成秒(如對10ms計數(shù)100次),“秒”計數(shù)60次“分”,“分”計數(shù)60次形成“時”,“時”計數(shù)24次形成“天”并清零,然后通過譯碼器,數(shù)碼管把他們的內(nèi)容在相應(yīng)的位置顯示出來。在具體的設(shè)計時定時器采用中斷方式工作,對時鐘的形成在終中斷序中實現(xiàn),在主程序只是對定時/計數(shù)器的定義初始化,調(diào)用顯示程序和控制程序的初始化。另外為了使用的方便,也設(shè)計了按鍵,可以通過按鍵對時分秒進(jìn)行調(diào)整,這樣程序就加了按鍵程序。三 系統(tǒng)硬件電路的設(shè)計3.1單片機的基本結(jié)構(gòu)MCS-51單片機內(nèi)部結(jié)構(gòu):8051單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:中央處理器:中央處理器(CPU)是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。數(shù)據(jù)存儲器(RAM)8051內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果或用戶定義的字型表。程序存儲器(ROM):8051共有4096個8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。定時/計數(shù)器(ROM):8051有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。并行輸入輸出(I/O)口:8051共有4組8位I/O口(P0、 P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。MCS-51的引腳說明:MCS-52系列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復(fù)用?,F(xiàn)在我們對這些引腳的功能加以說明:MCS-51的引腳說明:MCS-52系列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復(fù)用。現(xiàn)在我們對這些引腳的功能加以說明: 圖3-2單片機的引腳Pin9:RESET/Vpd復(fù)位信號復(fù)用腳,當(dāng)8052通電,時鐘電路開始工作,在RESET引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),8052的初始態(tài)。 3.2七段數(shù)碼管的引腳圖及使用:數(shù)碼管使用條件:a、段及小數(shù)點上加限流電阻。b、使用電壓:段:根據(jù)發(fā)光顏色決定; 小數(shù)點:根據(jù)發(fā)光顏色決定。c、使用電流:靜態(tài):總電流 80mA(每段 10mA);動態(tài):平均電流 4-5mA 峰值電流 100mA上面這個只是七段數(shù)碼管引腳圖,其中共陽極數(shù)碼管引腳圖和共陰極的是一樣的。LED數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽兩類,了解LED的這些特性,對編程是很重要的,因為不同類型的數(shù)碼管,除了它們的硬件電路有差異外,編程方法也是不同的。右圖是共陰和共陽極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。 將多只LED的陰極連在一起即為共陰式,而將多只LED的陽極連在一起即為共陽式。以共陰式為例,如把陰極接地,在相應(yīng)段的陽極接上正電源,該段即會發(fā)光。當(dāng)然,LED的電流通常較小,一般均需在回路中接上限流電阻。假如我們將b和c段接上正電源,其它端接地或懸空,那么b和c段發(fā)光,此時,數(shù)碼管顯示將顯示數(shù)字“1”。而將a、b、d、e和g段都接上正電源,其它引腳懸空,此時數(shù)碼管將顯示“2”。其它字符的顯示原理類同。3.3硬件電路的設(shè)計原則在性價比滿足應(yīng)用系統(tǒng)要求的情況下,選擇更可靠,更熟悉的單片機縮短研制周期。盡可能選擇自己較為熟悉的應(yīng)用電路,以提高系統(tǒng)的可靠性。單片機內(nèi)部的資源與外部的擴展資源應(yīng)在滿足系統(tǒng)設(shè)計的基礎(chǔ)上留有余地,為進(jìn)一步的升級和擴展提供方便。應(yīng)充分的結(jié)合軟件方案考慮硬件的結(jié)構(gòu),通常硬件功能較完善,其相應(yīng)的軟件程序就簡單,但硬件的成本較高,而功能較低,其相應(yīng)的軟件就復(fù)雜,其實際常用軟件代替硬件來降低成本。整個系統(tǒng)相關(guān)的器件盡可能的做到性能相匹配。充分的考慮系統(tǒng)的抗干擾性,如具有抗干擾的單片機并充分的帥選芯片與器件,在電路中采取隔離或屏蔽的措施等。更具以上的原則我們選擇我們較為熟悉的80c51單片機;為了LED數(shù)碼管的顯示和和鍵盤的控制,我們也選擇了74LS245的譯碼器和#1,#2,#3號按鍵作為時鐘的參數(shù)修改加一鍵#1鍵修改時,按一下時加一#2鍵修改分,按一下分加一#3鍵修改秒,按一下秒加一時鐘硬件連接圖如下圖所示四 軟件程序的設(shè)計4.1 軟件流程內(nèi)容 本設(shè)計的軟件程序包括主程序、中斷子程序、打鈴子程序、時鐘顯示子程序、查詢時間表切換程序和延時子程序等等。另外由于電路中有四個按鍵,還另外設(shè)計了防抖動程序來防止干擾。4.2 軟件流程圖4.2.1 系統(tǒng)軟件設(shè)計流程圖這次的數(shù)字電子鐘設(shè)計用到很多子程序,它們的流程圖如下所示。 主程序是先開始,然后啟動定時器,定時器啟動后在進(jìn)行按鍵檢測,檢測完后,就可以顯示時間。開始啟動定時器按鍵檢測時間顯示圖4-1 主程序流程圖 按鍵處理是先檢測秒按鍵是否按下,秒按鍵如果按下,秒就加1;如果沒有按下,就檢測分按鍵是否按下,分按鍵如果按下,分就加1;如果沒有按下,就檢測時按鍵是否按下,時按鍵如果按下,時就加1;如果沒有按下,就把時間顯示。 4.3 定時程序設(shè)計單片機的定時功能也是通過計數(shù)器的計數(shù)來實現(xiàn)的,此時的計數(shù)脈沖來自單片機的內(nèi)部,即每個機器周期產(chǎn)生一個計數(shù)脈沖,也就是每經(jīng)過1個機器周期的時間,計數(shù)器加1。如果MCS-52采用的12MHz晶體,則計數(shù)頻率為1MHz,即每過1us的時間計數(shù)器加1。這樣可以根據(jù)計數(shù)值計算出定時時間,也可以根據(jù)定時時間的要求計算出計數(shù)器的初值。MCS-51單片機的定時器/計數(shù)器具有4種工作方式,其控制字均在相應(yīng)的特殊功能寄存器中,通過對特殊功能寄存器的編程,可以方便的選擇定時器/計數(shù)器兩種工作模式和4種工作方式。定時器/計數(shù)器工作在方式0時,為13位的計數(shù)器,由TLX(X=0、1)的低5位和THX的高8位所構(gòu)成。TLX低5位溢出則向THX進(jìn)位,THX計數(shù)溢出則置位TCON中的溢出標(biāo)志位TFX.當(dāng)定時器/計數(shù)器工作于方式1,為16位的計數(shù)器。本設(shè)計師單片機多功能定時器,所以MCS-51內(nèi)部的定時器/計數(shù)器被選定為定時器工作模式,計數(shù)輸入信號是內(nèi)部時鐘脈沖,每個機器周期產(chǎn)生一個脈沖使計數(shù)器增1。4.3.1實時時鐘實現(xiàn)的基本方法:時鐘的最小計時單位是秒,但使用定時器的方式1,最大的定時時間也只能達(dá)到131ms。我們可把定時器的定時時間定為50ms。這樣,計數(shù)溢出20次即可得到時鐘的最小計時單位:秒。而計數(shù)20次可以用軟件實現(xiàn)。秒計時是采用中斷方式進(jìn)行溢出次數(shù)的累積,計滿20次,即得到秒計時。從秒到分,從分到時是通過軟件累加并進(jìn)行比較的方法來實現(xiàn)的。要求每滿1秒,則“秒”單元中的內(nèi)容加1;“秒”單元滿60,則“分”單元中的內(nèi)容加1;“分”單元滿60,則“時”單元中的內(nèi)容加1;“時”單元滿24,則將時、分、秒的內(nèi)容全部清零。4.3.2 實時時鐘程序設(shè)計步驟:(1)選擇工作方式,計算初值;(2)采用中斷方式進(jìn)行溢出次數(shù)累計;(3)從分時的計時是通過累加和數(shù)值比較實現(xiàn)的;(4)時鐘顯示緩沖區(qū):時鐘時間在方位數(shù)碼管上進(jìn)行顯示,為此在內(nèi)部RAM中要設(shè)置顯示緩沖區(qū),共6個地址單元。顯示緩沖區(qū)從左到右依次存放時、分、秒數(shù)值;(5)主程序:主要進(jìn)行定時器/計數(shù)器的初始化編程,然后反復(fù)調(diào)用顯示子程序的方法等待中斷的到來。(6)中斷服務(wù)程序:進(jìn)行計時操作(7)加1子程序:用于完成對時、分、秒的加操作,中斷服務(wù)程序在秒、分、時加1時共有三種條調(diào)用加1子程序,包括三項內(nèi)容:合字、加1并進(jìn)行十進(jìn)制調(diào)整、分字。源程序如下:S_SETBITP1.0 ;數(shù)字鐘秒控制位M_SETBITP1.1 ;分鐘控制位H_SETBITP1.2 ;小時控制位D_SET BIT P1.3 ;天控制位SECONDEQU30HMINUTEEQU31HHOUREQU32HDAY EQU 33HTCNTEQU34HORG00HSJMPSTARTORG0BHLJMPINT_T0START:MOVDPTR,#TABLEMOVHOUR,#0;初始化MOVMINUTE,#0MOVSECOND,#0MOV DAY,#0MOVTCNT,#0MOVTMOD,#01HMOVTH0,#(65536-50000)/256;定時50毫秒MOVTL0,#(65536-50000)MOD 256MOVIE,#82HSETBTR0;*;判斷是否有控制鍵按下,是哪一個鍵按下A1:LCALLDISPLAYJNBS_SET,S1JNBM_SET,S2JNBH_SET,S3LJMPA1S1:LCALLDELAY;去抖動JBS_SET,A1INCSECOND;秒值加1MOVA,SECONDCJNEA,#60,J0;判斷是否加到60秒MOVSECOND,#0LJMPK1S2:LCALLDELAYJBM_SET,A1K1:INCMINUTE;分鐘值加1MOVA,MINUTECJNEA,#60,J1;判斷是否加到60分MOVMINUTE,#0LJMPK2S3:LCALLDELAYJBH_SET,A1K2:INCHOUR;小時值加1MOVA,HOURCJNEA,#24,J2;判斷是否加到24小時MOVHOUR,#0LJMP K3K3: INC DAY ;天值加1MOVMINUTE,#0MOVSECOND,#0LJMPA1;*;等待按鍵抬起J0:JBS_SET,A1LCALLDISPLAYSJMPJ0J1:JBM_SET,A1LCALLDISPLAYSJMPJ1J2:JBH_SET,A1LCALLDISPLAYSJMPJ2;*;定時器中斷服務(wù)程序,對,分鐘和小時的計數(shù)INT_T0:MOVTH0,#(65536-50000)/256MOVTL0,#(65536-50000)MOD 256INCTCNTMOVA,TCNTCJNEA,#20,RETUNE;計時1秒INCSECONDMOVTCNT,#0MOVA,SECONDCJNEA,#60,RETUNEINCMINUTEMOVSECOND,#0MOVA,MINUTECJNEA,#60,RETUNEINCHOURMOVMINUTE,#0MOVA,HOURCJNEA,#24,RETUNEMOVHOUR,#0MOVMINUTE,#0MOVSECOND,#0MOVTCNT,#0RETUNE:RETI;*;顯示控制子程序DISPLAY:MOVA,SECOND;顯示秒MOVB,#10DIVABCLRP3.6MOVCA,A+DPTRMOVP0,A

溫馨提示

  • 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

提交評論