單片機時鐘課程設計(共21頁)_第1頁
單片機時鐘課程設計(共21頁)_第2頁
單片機時鐘課程設計(共21頁)_第3頁
單片機時鐘課程設計(共21頁)_第4頁
單片機時鐘課程設計(共21頁)_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、PAGE PAGE 24 單片機原理及接口(ji ku)課程設計(shj)報告 題 目: 時鐘系統(tǒng)(xtng)設計 姓 名: 專 業(yè): 電信 班 級: 1 學 號: 20131 指導教師: 陳 瑋 信息工程學院二0一六年一月單片機原理(yunl)及接口課程設計報告(bogo)題 目: 時鐘(shzhng)系統(tǒng)設計 專業(yè)名稱: 電子信息工程專業(yè) 班 級: 學 號: 姓 名: 2011年 12月時鐘(shzhng)系統(tǒng)設計摘要(zhiyo):本系統(tǒng)是基于AT89C51單片機的具有準點報時、調(diào)時、以及可設鬧鐘(nozhng)功能的簡單數(shù)字時鐘系統(tǒng)的設計。以AT89C51為核心控制器,系統(tǒng)分為時鐘模塊

2、、顯示模塊、按鍵模塊及鬧鐘模塊。系統(tǒng)以單片機內(nèi)部定時器作為時鐘模塊的主要控制模塊,通過頻率計數(shù)實現(xiàn)計時功能,采用了8位數(shù)碼管來顯示時間,采用獨立按鍵做為時間調(diào)時以及鬧鐘設置按鍵,采用蜂鳴器作為報時鬧鐘系統(tǒng)。通過Keil軟件C語言程序的編寫、編譯、調(diào)試以及硬件單片機的連接,實現(xiàn)了時間顯示(24小時制)、鬧鐘設置、時間調(diào)試以及準點報時,可復位的功能,并運行了該電路的程序,得出了符合實驗設計要求的結(jié)果。關鍵字:數(shù)字時鐘;AT89C51;數(shù)碼管;C語言;鬧鐘;調(diào)時1 系統(tǒng)設計內(nèi)容1.1 前言隨著近年來科技的進步,單片機在近十年也取得了飛速的發(fā)展。目前,單片機已經(jīng)滲透到我們生活的各個領域,幾乎很難找到哪

3、個領域沒有單片機的蹤跡。 HYPERLINK /view/35448.htm t _blank 導彈的導航裝置,飛機上各種儀表的控制,計算機的網(wǎng)絡通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種智能 HYPERLINK /view/4189.htm t _blank IC卡,民用豪華轎車的安全保障系統(tǒng), HYPERLINK /view/111680.htm t _blank 錄像機、 HYPERLINK /view/45678.htm t _blank 攝像機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫(yī)療器械

4、以及各種智能機械了。因此,單片機的學習、開發(fā)與應用將造就一批計算機應用與智能化控制的科學家、工程師?,F(xiàn)在雖然單片機的品種繁多,各具特色,但仍以MCS-51為核心的單片機占主流,兼容其結(jié)構(gòu)和指令系統(tǒng)的有PHILIPS公司的產(chǎn)品,ATMEL公司的產(chǎn)品和中國臺灣的WinBond系列單片機。以8031為核心的單片機占據(jù)了半壁江山,在一定的時期內(nèi),這種情形將得以延續(xù),將不存在某個單片機一統(tǒng)天下的壟斷局面,走的是依存互補,相輔相成、共同發(fā)展的道路。數(shù)字電子時鐘作為單片機基礎學習的一個重要的典型,是很多初學的學習單片機的很好的例子,是對單片機的定時器的一個重要的應用。可以說,學習單片機的兩個重點就是中斷和定

5、時器,學會了數(shù)字時鐘的編程就是對單片機學習的一個很好的綜合應用。1.2 設計(shj)要求應用知識:I/O口應用、數(shù)碼(shm)顯示、定時/計數(shù)器、中斷?;疽螅涸O計一時鐘系統(tǒng),系統(tǒng)具有時鐘功能,能準確(zhnqu)顯示時、分、秒。系統(tǒng)還應具有校正功能:能夠修改當前的時間。擴展部分:具備設定鬧鐘和定時鬧鐘響功能。1.3 設計思路通過軟件程序的編程,硬件電路的調(diào)試,實現(xiàn)了簡單時鐘系統(tǒng)的設定,使得該系統(tǒng)具有正常走時,能夠正確的顯示時、分、秒;能夠進行調(diào)時,修改當前的時間,并且能夠設定鬧鐘,使鬧鐘能夠定時響。首先是時間的調(diào)試:若要進行正常的時間調(diào)試需要有進入時間的調(diào)時試狀態(tài)按鍵以及調(diào)試是加或者是減

6、的按鍵,即每個狀態(tài)要3個按鍵,共有時、分、秒三個狀態(tài),這樣就一共需要9個按鍵,這樣的編程太過復雜,硬件需要的按鍵也比較多。考慮到,可通過同一個按鍵來控制定時器的走與停,以及通過按鍵的次數(shù)來控制所進入的調(diào)試狀態(tài)是時、分還是秒。當調(diào)試進入某一狀態(tài)時,需要分別通過兩個按鍵來控制時間的加與減,而此時的加與減的按鍵相當于是局部變量,可以在三個狀態(tài)中分別使用。這樣一共就只需要3個按鍵,大大節(jié)省了硬件并且簡化了軟件的編程。設3個按鍵分別為key1、key2和key3,設計為當按鍵key1被按下時,停止走時,進入調(diào)時狀態(tài),當key1被按下1次,進行秒的調(diào)整;當key1被按下2次,進行分的調(diào)整,當key1被按下

7、3次,進行時的調(diào)整;當key1被按下4次,停止調(diào)時,繼續(xù)進行走時。在key1被按下4次以下的情況下,若按下key2鍵,則進行時間加,若按下key3,則進行時間減。其次是鬧鐘設定:基于時間調(diào)試的設置思路,同樣將進入鬧鐘狀態(tài)以及鬧鐘設定的按鍵分開,考慮到此時鬧鐘設置時,數(shù)碼管的顯示問題以及定時器的走時問題,故將進入鬧鐘的設定狀態(tài)和時設定、分設定的按鍵分開,而分和時的設定又都需要時間的加和減,即各需要兩個按鍵,再加上進入鬧鐘設定狀態(tài)的一個按鍵,共需要5個按鍵來實現(xiàn)鬧鐘的設定。設這5個按鍵分別為key0、key4、key5、key6和key7,其中,key0為進入鬧鐘狀態(tài)按鍵,key4和key6分別為

8、分鐘設定的加和減的按鍵,key5和key7分別為時設定的加和減設定的按鍵。依照思路可設定為當key0一直被按住的情況下,此時進入鬧鐘設定狀態(tài),但是定時器仍然在工作。在key0一直被按住的情況下,若key4或key5被按下,則分別進行分和時的累加狀態(tài);若key6和key7被按下,則分別進行分和時的減狀態(tài),當放開key0時,繼續(xù)進行走時。若想再次進行鬧鐘的設定,重復上述的步驟,不過當再次按下按鍵key0時,則顯示上次設置的鬧鐘時間。2 系統(tǒng)(xtng)方案設計(shj)2.1 方案(fng n)論證(1)、核心控制模塊方案一:采用FPGA作為核心控制模塊。由于FPGA具有強大的資源,使用方便靈活,

9、易于進行功能擴展,特別是結(jié)合了EDA,可以達到很高的效率。此方案邏輯雖然簡單一點,但是一塊FPGA的價格很高,對于做數(shù)字鐘來說有一點浪費,而且FPGA比較難掌握,本設計中不作過多研究,也不采用此方案。;方案二:采用AT89C51作為核心控制模塊。此方案中AT89C51單片機的入門學習相對交容易,易于理解,外圍電路比較簡單,成本比較低,此系統(tǒng)控制靈活能很好地滿足本課題的基本要求和擴展要求,因此選用該方案。(2)、顯示模塊方案一:采用LCD1602液晶顯示屏,液晶極其省電,但是使用有溫度范圍限制,且因是反光式的,在外界光線很明亮的情況下很容易看不清楚。數(shù)碼管是LED發(fā)光的效果,液晶是分子偏轉(zhuǎn)引起的

10、暗影效果,顯示不是很清晰。方案二:采用LED數(shù)碼管顯示,數(shù)碼管在低電壓小電流的驅(qū)動下就能夠發(fā)光,發(fā)光響應時間短,高頻性好,單色性好,亮度高,顯示相對而言比較清晰。而且體積小,重量輕,抗沖擊性能好,壽命長,成本低。 (3)、按鍵模塊方案一:采用矩陣按鍵,矩陣按鍵需要通過掃描控制和譯碼,設計時需要有數(shù)值移位寄存器對已有數(shù)值進行存儲和調(diào)用。軟件程序設計比較繁瑣,硬件連接復雜。方案二:采用獨立按鍵。單片機仿真板上有專用獨立按鍵,連接方便,使用簡單。且易于軟件編程,適合本系統(tǒng)的設計。2.2 設計原理本系統(tǒng)數(shù)字時鐘設計原理主要利用AT89C51單片機,由單片機的P0口控制數(shù)碼管的位顯示,P2口控制數(shù)碼管的

11、段顯示,P3口與按鍵相接用于時間的校正以及鬧鐘的設定。設計的主要方面有計時原理,中斷及定時器原理以及調(diào)時方式、按鍵的消抖。整個系統(tǒng)工作時,秒信號產(chǎn)生器是整個系統(tǒng)的時基信號,它直接決定計時系統(tǒng)的精度,將標準秒信號送入“秒計數(shù)器”,“秒計數(shù)器”采用60進制計數(shù)器,每累計60秒發(fā)出一個“分脈沖”信號,該信號將作為“分計數(shù)器”的時鐘脈沖。“分計數(shù)器”也采用60進制計數(shù)器,每累計60分鐘,發(fā)出一個“時脈沖”信號,該信號將被送到“時計數(shù)器”。“時計數(shù)器”采用24進制計時器,可實現(xiàn)對一天24小時的累計。顯示電路將“時”、“分”、“秒”計數(shù)器的輸出,通過六個七段LED顯示器顯示出來。校時電路是直接加一個脈沖信

12、號到時計數(shù)器或者分計數(shù)器或者秒計數(shù)器來對“時”、“分”、“秒”顯示數(shù)字進行校對調(diào)整。在本設計中,24小時時鐘顯示、秒表的設計和顯示都是依靠單片機中的定時器完成。使用(shyng)定時器T0產(chǎn)生1s的中斷,在中斷程序中完成每一秒數(shù)字的變化,并在主程序中動態(tài)顯示該字符。典型(dinxng)的8051單片機有5個中斷(zhngdun)源(外部中斷0、1,內(nèi)部定時器中斷0、1,串口中斷),具有兩個中斷優(yōu)先級。與中斷系統(tǒng)有關的特殊功能寄存器有中斷允許寄存器IE、中斷優(yōu)先級控制寄存器IP、中斷控制寄存器TCON和SCON中有關位。MCS51單片機基本的中斷系統(tǒng)結(jié)構(gòu)如下圖所示。 圖2-1 MCS51的中斷系

13、統(tǒng)MCS51的CPU對中斷源的開放或屏蔽,即每一個中斷源是否被允許中斷,是由內(nèi)部的中斷允許寄存器IE(地址A8H)控制的。IE中具體各位的意義如下所示:EA:CPU的中斷開放標志。 EA 1,CPU開放中斷;EA 0,CPU屏蔽所有的中斷申請。EX0:外部中斷0中斷允許位。 EX0 1,允許中斷;EX0 0,禁止中斷。ET0:T0的溢出中斷允許位。ET0 1,允許T0中斷;ET0 0,禁止T0中斷。EX1:外部中斷1中斷允許位。EX1 1,允許外部中斷1中斷;EX1 0,禁止外部中斷1中斷。ET1:定時器計數(shù)器 T1的溢出中斷允許位。ET1 1,允許T1中斷;ET1 0禁止T1中斷。ES:串行

14、口中斷允許位。ES 1,允許串行口中斷;ES 0禁止串行口中斷。 中斷優(yōu)先級管理(gunl)寄存器IP(地址8BH):MCS51有兩個中斷優(yōu)先級,一個正在被執(zhí)行的低優(yōu)先級中斷服務程序能被高優(yōu)先級中斷所中斷,但不能被另一個同級(tn j)的或低優(yōu)先級中斷源所中斷。CPU的查詢順序是:外部(wib)中斷0,定時器T0中斷,外部中斷1,定時器T1中斷,串行口中斷(先外部后內(nèi)部,先0后1)。中斷服務函數(shù)的格式如下所示:void 函數(shù)名(void) interrupt n using m 函數(shù)體語句 其中,interrupt和using是為編寫C51中斷服務程序而引入的關鍵字,interrupt表示該函

15、數(shù)是一個中斷服務函數(shù),interrupt后的整數(shù)n表示該中斷服務函數(shù)是對應哪一個中斷源。每個中斷源都有系統(tǒng)指定的中斷編號:表1 中斷編號表中斷源外部中斷0定時器中斷T0外部中斷1定時器中斷T1串行口中斷中斷編號0123451單片機有三個內(nèi)部中斷,16位定時器計數(shù)器T0、T1的溢出中斷源和串行口的發(fā)送/接收中斷。對T0和T1中斷,當定時計數(shù)回0溢出時,由硬件自動置位TCON中的TF0或TF1中斷請求標志位。定時/計數(shù)器實際上是一個加1計數(shù)器,它可以工作于定時方式,也可以工作于計數(shù)方式。兩種工作方式實際上都是對脈沖計數(shù),只不過所計脈沖來源不同。定時器的脈沖是由51單片機的內(nèi)振蕩器經(jīng)過12分頻后產(chǎn)生

16、的,故當單片工作于定時狀態(tài)時,計數(shù)脈沖的最高頻率為f=fosc/12。51單片機的寄存器有方式控制寄存器TMOD;加法計數(shù)寄存器TH0、TH1 (高八位),TL0、TL1 (低八位);定時/計數(shù)到標志TF0、TF1(中斷控制寄存器TCON);定時/計數(shù)器啟??刂莆籘R0、TR1(TCON);定時/計數(shù)器中斷允許位ET0、ET1(中斷允許寄存IE);定時/計數(shù)器中斷優(yōu)先級控制位PT0、PT1(中斷優(yōu)IP)。在定時器工作前,必須將控制命令寫入定時器的控制寄存器,即進行初始化。TMOD的低四位為T0的方式字,高四位為T1的方式字。TMOD不能位尋址,必須整體賦值。TMOD各位的含義如下:工作方式(f

17、ngsh)選擇位M1、M0 :M1、M0的狀態(tài)(zhungti)決定定時器的工作方式:表2 工作方式(fngsh)選擇表M1M0功能說明00工作方式0(13位方式)01工作方式1(16位方式)10工作方式2(8位自動裝入計數(shù)初值方式)11工作方式3(T0為兩個8位方式)2. 定時和計數(shù)方式選擇位C/T。當C/T=1時為計數(shù)方式;C/T=0時為定時方式。3. 門控位GATE。GATE與TR0、TR1配合決定定時/計數(shù)器的啟停。當GATE = 0時,軟啟動。定時器/計數(shù)器的啟停只受定時器運行控制位(TR0、TR1)的控制。當GATE = 1時,軟硬啟動。定時器/計數(shù)器的啟停除受TR0、 TR1控制

18、外,還受外部引腳(INT0、 INT1)輸入電平的控制(為高)。即TR0和INT0控制T0的運行,TR1和INT1控制T1的運行。MCS51的定時器有方式0、方式1、方式2和方式3這4種工作方式。以方式1為例,當M1M0=01時,定時/計數(shù)器工作在方式1。MCS-51單片機定時計數(shù)器在方式1時的工作原理如下圖所示:圖2-1 計數(shù)/定時器圖當C/T=0時,工作在定時器狀態(tài),由振蕩器經(jīng)12分頻后輸入,否則由T1端輸入。在定時時,對工作頻率的12分頻進行計數(shù),先記入TL后記入TH,直到溢出為止,根據(jù)TL、TH內(nèi)的初值不同可以定出不同的時間;在計數(shù)工作方式時,對T0(T1)引腳的輸入脈沖進行計數(shù),將計

19、數(shù)值記入TL、TH。當定時/計數(shù)溢出時,會引起中斷。計數(shù)初值與定時時間的關系為:T = 12(T_all a)/fosc定時間隔為T,計數(shù)初值為a。所以有計數(shù)初值a =Tfosc/12,THx = a / 256,TLx = a % 256。定時器均有一個最大定時時間,對于長時間的定時需要,可以將定時間隔為固定的較小時間,通過另設一全局變量ah1用于計數(shù),累加固定的較小定時時間來進行。使用(shyng)MCS51單片機的定時(dn sh)/計數(shù)器的步驟(bzhu)是:1設定TMOD,確定:工作狀態(tài)(用作定時器/計數(shù)器);工作方式;控制方式。2設置合適的計數(shù)初值,以產(chǎn)生期望的定時間隔。由于定時/

20、計數(shù)器在方式0、方式1和方式2時的最大計數(shù)間隔取決于使用的晶振頻率fosc,如下表所示,當需要的定時間隔較大時,要采用適當?shù)姆椒ǎ磳⒍〞r間隔分段處理。 3確定定時/計數(shù)器工作于查詢方式還是中斷方式,若工作于中斷方式,則在初始化時開放定時/計數(shù)器的中斷及總中斷:ET0 = 1;EA = 1;還需要編寫中斷服務函數(shù):void T0_srv(void) interrupt 1 using 1TL0 = a % 256; TH0 = a / 256; 中斷服務程序段 4啟動定時器:TR0(TR1)= 1。時間調(diào)整有多種方式。一、可以直接進入相關狀態(tài)進行有關操作,二、將調(diào)整分兩步,先進入狀態(tài),然后執(zhí)行

21、操作,這兩步分別由兩個鍵控制。方式一,比較直接,設計思想也比較簡單,但是,這種方式存在操作時間和控制鍵數(shù)目的矛盾。如果用比較少的鍵,那么可能會在進入狀態(tài)后處于數(shù)據(jù)調(diào)整等待狀態(tài),這樣會影響到顯示的掃描速度。當然在這種方式下,還可以使用多個狀態(tài)鍵,每個狀態(tài)鍵,完成一個對應數(shù)據(jù)的調(diào)整。如果采用二的方式,就不會出現(xiàn)這種情況。因為狀態(tài)的調(diào)整,與狀態(tài)的操作可以分別由兩個鍵控制,其狀態(tài)的調(diào)整數(shù)可以多達256個(理論上),操作的完成是這樣的,一鍵控制狀態(tài)的調(diào)整,一鍵控制數(shù)據(jù)的調(diào)整。以上兩種方式的實現(xiàn)都可以采用查詢和中斷的方式。兩種方式必須注意的問題是兩者進行相關操作的過程不能太長否則會影響顯示的掃描?;诒鞠?/p>

22、統(tǒng)的設置:將時間調(diào)整分為狀態(tài)調(diào)整和數(shù)據(jù)調(diào)整兩部分,每次進入中斷只執(zhí)行一次操作,然后返回,這樣,就不必讓中斷處于調(diào)整等待狀態(tài),可以使中斷的耗時很小。將定時器中斷的優(yōu)先級設置為最高級,那么中斷的方式和查詢的方式一樣不會影響到時鐘的記數(shù)。通常的按鍵所用開關為機械彈性開關,當機械觸點斷開、閉合時,由于機械觸點的彈性作用,一個按鍵開關在閉合時不會馬上穩(wěn)定地接通,在斷開時也不會一下子斷開。因而在閉合及斷開的瞬間均伴隨有一連串的抖動,為了不產(chǎn)生這種現(xiàn)象而作的措施就是按鍵消抖。按鍵消抖的方式有硬件和軟件消抖,本系統(tǒng)采用軟件消抖。軟件消抖有定時器定時,和利用延時子程序的方式。一,定時器定時消抖可以不影響顯示模塊

23、掃描速度,其實現(xiàn)方法是:設置標志位,在定時器中斷中將其置位,然后在程序中查詢。將其中斷優(yōu)先級設置為低于時鐘定時中斷,那么它就可以完全不影響時鐘定時。二,在采用延時子程序時,如果顯示模塊的掃描速度本來就不是很快,此時可能會影響到顯示的效果,一般情況下,每秒的掃描次數(shù)不應小于50次,否則,數(shù)碼的顯示會出現(xiàn)閃爍的情況。因此,延時子程序的延時時間應該小于20毫秒,如果采用定時器定時的方式,延時時間不影響時鐘。如果,設計時采用的是中斷的方式來完成有關操作,同樣可以采用軟件的方式來消抖,其處理思想是:中斷不能連續(xù)執(zhí)行,兩次之間有一定的時間間隔。2.3 整體設計(shj)框圖AT89C51芯片時鐘模塊按鍵模

24、塊顯示模塊蜂鳴器模塊調(diào)時功能時間顯示鬧鐘功能3 硬件(yn jin)設計硬件電路的設計(shj)包括核心時間控制模塊、顯示模塊、按鍵模塊,以及鬧鐘的蜂鳴器模塊。3.1 顯示模塊通過外部連線,將P0線接到J16,使得P0口控制數(shù)碼管的位顯示,將P2線接到J12,使得P2口控制數(shù)碼管的段顯示。圖3-1 數(shù)碼管顯示(xinsh)原理圖3.2 按鍵(n jin)模塊使用8路獨立按鍵,通過改變排線連接,可以實現(xiàn)(shxin)按鈕的普通輸入和中斷輸入通過外部接線,將P3口與JP5相連,實現(xiàn)由P3口控制時間調(diào)試和鬧鐘設定的按鈕連接。圖3-2 按鍵原理圖3.3 蜂鳴器模塊通過單片機的內(nèi)部設定,將P1.5口作為

25、蜂鳴器的控制端口,通過跳帽連接J8口,使得蜂鳴器可以工作,再由軟件程序編寫,使得蜂鳴器能夠在特定的時刻響。圖3-3 蜂鳴器原理圖3.4 核心(hxn)控制(kngzh)以及時間(shjin)控制模塊圖3-4 復位電路圖圖3-5晶振連接圖圖3-6 P0口外接上拉電阻圖圖3-7 單片機核心控制模塊原理圖4 軟件及編程分析4.1 主程序流程圖如下所示經(jīng)過思路總結(jié)以及分析整個時鐘系統(tǒng)的硬件與軟件需求,可畫出程序流程圖如圖4-1所示:主程序初始化按鍵掃描鬧鐘設定正常走時時間調(diào)試有按鍵?鬧鐘按鍵?設定完畢YNYN圖4-1 程序設計(chn x sh j)流程圖4.2 軟件(run jin)編程及分析(fn

26、x)本系統(tǒng)的編程環(huán)境為keil uvision2,依照流程圖編寫程序并進行程序的編譯,燒錄軟件使用PZISP將程序燒錄進硬件中,軟件得編譯結(jié)果及燒錄結(jié)果分別如圖4-1,4-2所示:圖4-2 編譯結(jié)果圖圖4-3 燒錄結(jié)果圖編寫具體程序見附錄所示,以下(yxi)給出部分主要程序的分析說明:(1)、按鍵(n jin)消抖按鍵抖動會引起一次按鍵被誤讀多次。為確保(qubo)CPU對鍵的一次閉合僅作一次處理,必須去除鍵抖動。抖動時間的長短由按鍵的機械特性決定,一般為5ms10ms,通過delay函數(shù)的延時作用,在按鍵被按下時,延時一段時間,確定按鍵是否真的被按下,如果是就執(zhí)行程序,達到了消除按鍵的抖動的

27、目的,程序如下:if(key1=0)/按鍵被按下delay(10);/延時if(key1=0)/判斷按鍵是否被按下while(!key1);/進一步確認按鍵被按下(2)、初始化程序開中斷并選擇定時器void init()TMOD=0 x01;/選擇定時器工作方式為1TH0=(65536-50000)/256;/寫入計數(shù)初值,設定t=50msTL0=(65536-50000)%256;EA=1;/開總中斷ET0=1;/允許定時器中斷TR0=1;/啟動定時器(3)、中斷程序中斷程序采用定時器0,在中斷程序中進行顯示時間的準點走時,以及實現(xiàn)準點報時的功能。void timer0() interrup

28、t 1/中斷、定時器0、準點報時TH0=(65536-50000)/256;/工作方式1,定時時間為50msTL0=(65536-50000)%256;aa+;if(aa=20)/每20次為1saa=0;/aa清零s+;/秒加1if(s=60)/判斷秒是否為60s=0;/秒清零m+;/秒為60后,秒清零,分加1if(m=60)/判斷分是否為60 m=0;/分清零h+;/分為60后,分清零,時加1if(h=24) /若時為24,時清零h=0;5 實驗(shyn)結(jié)果圖硬件的位選、段選,以及按鍵(n jin)的連線如下所示:圖5-1 正常(zhngchng)走時圖當按下按鍵0,并且一直按著時,進入

29、鬧鐘的設定狀態(tài),開始的時候顯示為000000圖5-2 進入鬧鐘編輯狀態(tài)圖6 結(jié)論在此次的課程設計中,我了解到了自己(zj)能力的不足之處,在編程和調(diào)試的過程中,我體會到了自己(zj)所學的知識是遠遠的不夠,需要學習的方面還有很多。通過資料的收集和文件的檢索,我找到了設計(shj)過程中出現(xiàn)的問題及問題的解決方法,從而算是較為順利的完成了此次課程設計的任務。此次的課程設計使我學到了很多新的,課堂上無法學到的知識,同時也加深了課堂上學到的知識,并且增強了自己理論聯(lián)系實際的操作能力。我取得了一些寶貴的經(jīng)驗,比如,理論必須和實際結(jié)合才能承購,知識必須通過應用才能實現(xiàn)其價值。我還提高了自己的動手能力,為

30、將來的學習和工作奠定了良好的基礎。參考文獻:1余發(fā)山.王福忠.單片機原理及應用技術M.徐州:中國礦業(yè)大學出版社.2008.10-1002鐘睿.MCS-51.單片機原理及應用開發(fā)技術M.北京:中國鐵道出版社.2006.20-303彭偉.單片機C語言程序設計實訓100例:基于8051+Proteus仿真J.電子工業(yè)出版社4張靖武,周靈彬.單片機系統(tǒng)的PROTEUS設計與仿真J.電子工業(yè)5郭天祥.新概念51單片機C語言教程入門,提高,開發(fā),拓展全攻略M.北京:電子工業(yè)出版社附錄:實驗程序#include#define uchar unsigned char#define uint unsigned

31、intuchar code table=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;sbit Bueer=P15;sbit key1=P31;sbit key2=P32;sbit key3=P33;sbit key4=P34;sbit key5=P35;sbit key6=P36;sbit key7=P37;sbit key0=P30;uchar aa,h,m,s,n,i,sec,min,hour;void delay(uint z) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-);

32、void display() if(key0=1) P2=0 xfe; P0=tables%10; delay(1); P2=0 xfd; P0=tables/10; delay(1); P2=0 xfb; P0=0 x40; delay(1); P2=0 xf7; P0=tablem%10; delay(1); P2=0 xef; P0=tablem/10; delay(1); P2=0 xdf; P0=0 x40; delay(1); P2=0 xbf; P0=tableh%10; delay(1); P2=0 x7f; P0=tableh/10; delay(1); void timer

33、0() interrupt 1 TH0=(65536-50000)/256; TL0=(65536-50000)%256; aa+; if(aa=20) aa=0; s+; if(s=60) s=0; m+; if(m=60) m=0; h+; if(h=24) h=0; void keyscan() if(key1=0) delay(10); if(key1=0) while(!key1); n+; TR0=0; if(n=1) P2=0 xfe; P0=tables%10; delay(1); P2=0 xfd; P0=tables/10; delay(1); if(n=2) P2=0 xf7; P0=tablem%10; delay(1); P2=0 xef; P0=tablem/10; delay(1); if(n=3) P2=0 xbf; P0=tableh%10; delay(1); P2=0 x7f; P0=tabl

溫馨提示

  • 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

提交評論