




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、課程設(shè)計(論文)題 目名稱 基于89C52的電子時鐘 課 程 名 稱單片機原理及應(yīng)在電氣測控學科中的應(yīng)用學生姓名學號系 、專 業(yè) 電氣工程 10自動化 指導教師 朱群峰 2012年6月1日摘 要電子鐘是一種利用數(shù)字電路來顯示秒、分、時的計時裝置,與傳統(tǒng)的機械鐘相比,它具有走時準確、顯示直觀、無機械傳動裝置等優(yōu)點,因而得到廣泛應(yīng)用。隨著人們生活環(huán)境的不斷改善和美化,在許多場合都用到電子時鐘?,F(xiàn)在高精度的計時工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘、石英鐘、石英表都采用了石英技術(shù),因此走時精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)試,數(shù)字式電子鐘用集成電路計時時,譯碼代替機械式傳動,用LCD顯示
2、器代替指針顯示進而顯示時間,減小了計時誤差,這種表具有時、分、秒顯示時間的功能,還可以進行時和分的校對,片選的靈活性好。本課程設(shè)計就是用一塊89C52單片機和一塊LCD1602液晶顯示屏及其他元器件設(shè)計出一個電子時鐘。用單片機的定時器來產(chǎn)生時鐘信號,用液晶顯示屏來顯示時鐘的變化,通過掃描幾個按鍵來控制時鐘。把這幾個模塊的程序及原理圖設(shè)計好后組合在一起就成了一個電子時鐘。關(guān)鍵詞:89C52單片機;LCD1602液晶;定時器;石英晶體振蕩器。目錄摘要. I1電子時鐘總體設(shè)計.11.1設(shè)計任務(wù)與要求.11.2方案設(shè)計與論證.12單片機應(yīng)用系統(tǒng)簡介22.1單片機結(jié)構(gòu).22.2單片機的封裝形式,引腳定義
3、及功能.32.3定時/計數(shù)器.42.4 鍵盤接口技術(shù).52.5 復位操作.82.6顯示控制模塊.83硬件電路設(shè)計133.1 電子時鐘的原理圖133.2單元電路設(shè)計134軟件設(shè)計174.1 系統(tǒng)主程序設(shè)計174.2 主程序清單194.3 系統(tǒng)調(diào)試245 結(jié)論與心得25參考文獻.26附錄.27致謝.301 電子時鐘總體設(shè)計1.1 設(shè)計任務(wù)與要求設(shè)計要求:熟悉單片機的I/O口原理;掌握LED驅(qū)動電路和LED顯示的原理;掌握定時計數(shù)器的使用。設(shè)計任務(wù):設(shè)計一個電子時鐘,要求實時顯示時間(時鐘/分鐘/秒鐘)要求可以通過按鍵設(shè)置當前時間。1、要求設(shè)計出電氣原理圖;2、要求設(shè)計出程序流程圖和程序;3、要求設(shè)
4、計出實物仿真模擬調(diào)試;4、用C語言編程,用proteus仿真。1.2方案設(shè)計與論證方案:該系統(tǒng)采用52系列單片機AT89C52作為控制核心,該系統(tǒng)可以完成運算控制、信號識別以及顯示功能的實現(xiàn)。由于用了單片機,使其技術(shù)比較成熟,應(yīng)用起來方便、簡單并且單片機周圍的輔助電路也比較少,便于控制和實現(xiàn)。整個系統(tǒng)具有極其靈活的可編程性,能方便地對系統(tǒng)進行功能的擴張和更改。MCS-52單片機特點如下:(1)單片機按照工業(yè)控制要求設(shè)計,抵抗工業(yè)噪聲干擾優(yōu)于一般的CPU,程序指令和數(shù)據(jù)都可以寫在ROM里,許多信號通道都在同一芯片,因此可靠性高,易擴充。(2)單片機有一般電腦所必須的器件,如三態(tài)雙向總線,串并行的
5、輸入及輸出引腳,可擴充為各種規(guī)模的微電腦系統(tǒng)。(3)控制功能強:單片機指令除了輸入輸出指令,邏輯判斷指令外還有更豐富的條件分支跳躍指令。其原理框圖如圖1.1所示:AT89C52最小應(yīng)用系統(tǒng)按鍵電路晶振電路復位電路LCD 顯 示 時 間蜂鳴器電路圖1.1 電子時鐘原理框圖2 單片機應(yīng)用系統(tǒng)簡介2.1單片機結(jié)構(gòu)89C52單片機的功能結(jié)構(gòu)如下圖所示,單片機是屬于三總線結(jié)構(gòu),89C52單片機功能方框圖如圖2.1所示:圖2.1單片機內(nèi)部結(jié)構(gòu)框圖 單片機內(nèi)容結(jié)構(gòu)單片機的內(nèi)部結(jié)構(gòu)如圖2.2所示。從圖中看出,它具有以下特征;(1)適于控制應(yīng)用的8位CPU(2)56字節(jié)片內(nèi)數(shù)據(jù)存儲器,分高低兩個128字節(jié)(3)
6、4K字節(jié)片內(nèi)程序存儲器(4)64KB程序存儲器空間(5)64KB數(shù)據(jù)存儲器空間(6)4個8位共32根雙向并可按位尋址的I/O口線(7)兩個16位定時/計數(shù)器;(8)一個全雙工的串行I/O接口(9)有5個中斷源(10)片內(nèi)時鐘振蕩器(11)具有布爾處理(位處理)能力圖2.2 單片機內(nèi)部結(jié)構(gòu)2.2單片機的封裝形式、引腳定義及功能89C52封裝89C52系列單片機具有雙列直插式和方形兩種封裝。如圖2.3所示圖2.3雙列直插式和方形89C52系列單片機引腳功能(1)引腳分布:如圖2.4所示為雙列直插式引腳分布圖圖2.4 雙列直插式引腳分布圖(2)引腳功能VCC-工作電源+5VGND-電源地ALE/PR
7、OG -訪問外部存儲器時作為低8位地址鎖存控制信號;在對EPROM編程時作為編程脈沖輸入;在不訪問外部存儲器和非EPROM編程狀態(tài)下,該腳輸出頻率為1/6單片機晶振頻率的方波信號,該信號,可作為時鐘脈沖,但在訪問數(shù)據(jù)存儲器時會丟失一個脈沖; PSEN外部程序存儲器讀選通信號.EA/VPP訪問程序存儲器控制信號。當EA為低電平時,只讀外部存儲器,當EA為高電平時則先讀內(nèi)部程序存儲器,再讀外部程序存儲器;這個引腳在編程時接編程電壓VPP. RST復位信號,對系統(tǒng)復位信號要>2T。XTAL1片內(nèi)振蕩電路輸入端。XTAL2片內(nèi)振蕩電路輸出端。P0-P3輸入輸出端口。2.3 定時計數(shù)器定時/計數(shù)器
8、結(jié)構(gòu)89C52單片機內(nèi)部設(shè)有兩個16位定時/計數(shù)器,簡稱為定時器0(T0)和定時器1(T1)。定時器計數(shù)器的結(jié)構(gòu)如圖2.5所示:TMOD-方式控制寄存器,用于設(shè)定定時計數(shù)器的工作方式TCON-定時器控制寄存器,用于啟動定時計數(shù)器IE-中斷允許控制寄存器:定時計數(shù)器是微機的中斷源 圖2. 589C52單片機內(nèi)部定時計數(shù)器的結(jié)構(gòu) 工作原理89C52系列單片機內(nèi)部定時計數(shù)器的工作原理可用圖2.6來說明。圖2.6 定時計數(shù)器的工作原理圖定時/計數(shù)功能選擇:當CT0時,為定時器功能,此時,C與A相連(計數(shù)脈沖為機器周期);當CT1時,為計數(shù)功能,此時,C與B相連(計數(shù)脈沖從P3.4或P3.5口輸入)。定
9、時/計數(shù)器設(shè)置:定時計數(shù)器設(shè)置由工作方式控制寄存器(TMOD)、定時控制寄存器(TCON)以及中斷允許寄存器(IE)共同完成。2.4 鍵盤接口技術(shù)鍵盤分兩類:獨立連接多鍵盤和矩陣式鍵盤,如圖2.7所示。 圖2.7獨立式鍵盤 獨立式鍵盤獨立式按鍵結(jié)構(gòu)獨立式按鍵結(jié)構(gòu)的鍵盤是最簡單的鍵盤電路,每個鍵獨立接入一根輸入線。這種鍵盤的優(yōu)點是結(jié)構(gòu)簡單、使用十分方便,目前這種結(jié)構(gòu)的鍵盤應(yīng)用還相當普遍,這種鍵盤的缺點是隨著鍵數(shù)數(shù)量的增加所占用的I/O口線也增加。獨立式按鍵結(jié)構(gòu)的鍵盤在沒有鍵按下時,數(shù)據(jù)輸入線均為高電平,當有鍵按下時,與之對應(yīng)的數(shù)據(jù)線將變成低電平。因此可用位指令判別是否有鍵按下。 行列式鍵盤獨立式
10、鍵盤雖然結(jié)構(gòu)簡單,使用方便,但每一個按鍵開關(guān)要占一根I/O口線,因此在按鍵數(shù)較多時,采用行列式鍵盤技術(shù)。輸出鎖存器輸入緩沖器行線列線(1)行列式鍵盤的結(jié)構(gòu)及原理行列式鍵盤的結(jié)構(gòu)圖2.8所示為行列式鍵盤的基本結(jié)構(gòu)。它由鍵盤開關(guān)矩陣、輸出(行線)鎖存器、輸入(列線)緩沖器三部分組成。在具體組成電路時,有以下幾種組合方式:直接使用I/O的鍵盤電路。MCU的I/O口輸出具有鎖存器,輸入具有緩沖器,因此應(yīng)用I/O口直接與行線與列線相連就可以組成行列式鍵盤。如圖2.7所示,是由P1口組成的44鍵盤。圖中左示的是普通接法,右示為帶中斷的鍵盤接法。 圖2.8 行列式鍵盤 利用I/O口和譯碼器的接口電路如圖2.
11、9所示為使用I/O口與74LS138譯碼器構(gòu)成的鍵盤電路利用串行口的鍵盤接口電路P00 P02P01P03P10A P11BP12C 圖2.9由I/O口與譯碼器組成的行列式列式如圖2.10為由I/O口與串行口組成的鍵盤電路。P10P11 AB P12RXD TXD圖2.10 I/O口與串行口組成的行列式鍵盤行列式鍵盤的工作原理:盡管構(gòu)成行列式鍵盤有多種形式,但它們的工作原理是相同的,現(xiàn)以圖1.7為例說說明:行線P14P17為輸出,列線P10P13為輸入。 CPU先使第一行( P14)為“0”,其余行為“1”。讀輸入口P10P13的狀態(tài),若輸入緩沖器的狀態(tài)全部為“1”,則表示所在行無鍵按下,CP
12、U使一下行線為“0”,其余行線為“1”,掃描下一行,這樣在P14P17循環(huán)進行。若輸入緩沖器不全為“1”,說明所在行有鍵按下,CPU停止當前行線掃描,轉(zhuǎn)入到列線掃描,列線P10 P13為“0”狀態(tài)的列表示對應(yīng)列有鍵按下。這樣,行線與列數(shù)交叉鍵就是掃描到的按鍵。鍵掃描方式:程控掃描方式:CPU從執(zhí)行程序就開始了鍵盤的掃描,等待來是鍵盤的命令。這種程控掃描方式,適用單任務(wù)多分支結(jié)構(gòu)。定時掃描方式:在多任務(wù)應(yīng)用系統(tǒng)中,既要執(zhí)行當前任務(wù),又要及時接受鍵盤命令,定時掃描方式適應(yīng)這種需要。具體做法是:在程序初始化時,先對定時/計數(shù)器進行設(shè)置,使其每10ms中斷一次,每次中斷,CPU將去掃描一次鍵盤,若兩次
13、中斷掃描到有鍵按下(這里考慮了消抖動),CPU將對鍵作相應(yīng)的處理。中斷掃描方式:采用中斷掃描方式必需有外部中斷接口,當有鍵按下時,產(chǎn)生中斷請請求,CPU響應(yīng)中斷,在中斷服務(wù)程序掃描鍵盤,作相應(yīng)處理。這是多任務(wù)應(yīng)用系統(tǒng)常用的一種方式。2.5 復位操作復位操作是單片機的初始化操作,單片機在進入運行前和在運行過程中程序出錯或操作失誤使系統(tǒng)不能正常運行時,需要進行復位操作。復位操作后,程序?qū)?000H開始重新執(zhí)行。除此之外,復位操作還使單片機的ALE和PSEN引腳信號在復位期間變?yōu)闊o效狀態(tài)。單片機對復位信號的要求:一是復位信號為高電平,二是復位信號有效持續(xù)時間不少于24個振蕩脈沖(兩個機器周期)以上
14、。在這里特別要提醒的是,在一個應(yīng)用系統(tǒng)中,如果有幾片單片機同時工作,在程序上有連接關(guān)系,系統(tǒng)復位時,應(yīng)確保每一片單片機同時復位。復位信號由單片機的RST引腳輸入,復位操作有上電自動復位、按鍵復位和外部脈沖復位三種方式。隨著單片機技術(shù)的發(fā)展,目前有些單片機內(nèi)部帶有看門狗電路,當程序進行出錯或進入了無休止循環(huán)時,看門狗電路將利用軟件強行使系統(tǒng)復位。2.6 顯示控制模塊LCD1602字符顯示器模塊是2行X16個字符的LCD顯示器。該器件由32個字符點陣塊組成,可以顯示ASCII碼表中的所有可顯示字符。LCD1602字符顯示器外形和引腳排列、名稱如圖2.11所示。圖2.11 LCD16021602采用
15、標準的16腳接口,其中:第1腳:VSS為地電源第2腳:VDD接5V正電源第3腳:V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。第5腳:RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和RW共同為低電平時可以寫入指令或者顯示地址,當RS為低電平RW為高電平時可以讀忙信號,當RS為高電平RW為低電平時可以寫入數(shù)據(jù)。第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第714腳:D0D7為8位雙向
16、數(shù)據(jù)線。 第1516腳:空腳1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點陣字符圖形,如表1所示,這些字符有:阿拉伯數(shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A”表11602液晶模塊內(nèi)部的控制器共有11條控制指令,如表2所示表2序號指令RSR/WD7D6D5D4D3D2D1D01清顯示 0 0 0 0 0 0 0 0 0 1 2光標返回 0 0 0 0 0 0 0 0 1 *3置輸入模式 0 0 0
17、0 0 0 0 1I/D S4顯示開/關(guān)控制0 0 0 0 0 0 1 D C B5光標或字符移位 0 0 0 0 0 1S/CR/L * *6置功能 0 0 0 0 1DL N F * *7置字符發(fā)生存貯器地址0 0 0 1字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址0 0 1顯示數(shù)據(jù)存貯器地址9讀忙標志或地址01BF計數(shù)器地址10寫數(shù)字到CGRAM或DDRAM) 10要寫的數(shù)據(jù)內(nèi)容11從CGRAM或DDRAM讀數(shù) 1 1讀出的數(shù)據(jù)內(nèi)容它的讀寫操作、屏幕和光標的操作都是通過指令編程來實現(xiàn)的。(說明:1為高電平、0為低電平) 指令1:清顯示,指令碼01H,光標復位到地址00H位置指令2:光標復位,光標
18、返回到地址00H指令3:光標和顯示模式設(shè)置 I/D:光標移動方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效 指令4:顯示開關(guān)控制。 D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示 C:控制光標的開與關(guān),高電平表示有光標,低電平表示無光標 B:控制光標是否閃爍,高電平閃爍,低電平不閃爍 指令5:光標或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標 指令6:功能設(shè)置命令 DL:高電平時為4位總線,低電平時為8位總線 N:低電平時為單行顯示,高電平時雙行顯示 F: 低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符
19、(有些模塊是 DL:高電平時為8位總線,低電平時為4位總線)指令7:字符發(fā)生器RAM地址設(shè)置 指令8:DDRAM地址設(shè)置 指令9:讀忙信號和光標地址 BF:為忙標志位,高電平表示忙,此時模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。 指令10:寫數(shù)據(jù) 指令11:讀數(shù)據(jù) 液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認模塊的忙標志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,表3是DM-162的內(nèi)部顯示地址.表3顯示字符123456789101112.第一行地址00H01H02H03H04H05H06H07H08H09H0AH
20、0BH.第二行地址40H41H42H43H44H45H46H47H48H49H4AH4BH.單片機與LCD1602典型連接 本單片機顯示模塊采用LCD1602A-1型液晶顯示器,用單片機的P2口作為1602的數(shù)據(jù)輸入端。同時讓1602的E、RW、RS針腳分別與單片機的P3.2、P3.1、P3.0口相接。如圖2.12所示圖2.123硬件電路設(shè)計3.1電子時鐘的電路圖如圖3.1所示為電路圖。其工作原理為:接通電源后,液晶顯示00:00:00,按下K1,可以調(diào)整秒,按下K2數(shù)值增一,按下K3數(shù)值減一,再次按下K1,則可以調(diào)整分,再按下K1,則可以調(diào)整時,再按次就可確定時間,開始工作。K4可以復位使液
21、晶顯示00:00:00。每按一次,蜂鳴器都給出聲響提示。圖3.1電子時鐘電路原理圖3.2單元電路設(shè)計鍵盤控制模塊根據(jù)題目要求及另加的一些功能要求,總共只需要4個按鍵(如圖3.2),故選用獨立按鍵模式。 這4個鍵分別為,調(diào)時選擇鍵k1、加值鍵k2、減值鍵k3、單片機復位鍵k4。下面具體介紹一下每個鍵的功能。K1:時、分、秒的調(diào)時選擇鍵。K2:加值鍵,每按一次所選的時間值加1;K3:減值鍵,每按一次所選的時間值減1;K4:單片機手動復位鍵;圖3.2蜂鳴器電路模塊蜂鳴器一腳與單片機的P1.3相連,一腳接地。如圖3.3所示圖 3.3復位電路模塊復位電路采用手動復位和上電自動復位組合。如圖3.4所示圖3
22、.4當MCS-5l系列單片機的復位引腳RST(全稱RESET)出現(xiàn)2個機器周期以上的高電平時,單片機就執(zhí)行復位操作。如果RST持續(xù)為高電平,單片機就處于循環(huán)復位狀態(tài)。根據(jù)應(yīng)用的要求,復位操作通常有兩種基本形式:上電復位和上電或開關(guān)復位。上電復位要求接通電源后,自動實現(xiàn)復位操作。上電后,保持RST一段高電平時間晶振電路模塊本設(shè)計采用12Mhz的晶振,30pF的電容。如圖3.5所示圖3.5外部中斷和內(nèi)部中斷并存,單片機硬件復位端,只要持續(xù)4個機器周期的高電平即可實現(xiàn)復位,硬件復位后的各狀態(tài)可知寄存器以及存儲器的值都恢復到了初始值,因為本設(shè)計中功能中有倒計時時間的記憶功能,所以不能對單片機進行硬件復
23、位,只能用軟件復位,軟件復位實際上就是當程序執(zhí)行完之后,將程序通過一條跳轉(zhuǎn)指令讓它完成復位。4軟件設(shè)計4.1 系統(tǒng)主程序設(shè)計初始化程序:設(shè)置單片機的定時器0和1工作在模式1(16位定時器),其中定時器0產(chǎn)生24小時時鐘模式的信號,定時器1產(chǎn)生60秒時鐘模式的信號;對定時器0和1裝初值,開啟總中斷和定時器中斷,LCD1602的初始化及其他變量的聲明和賦初值。該部分程序,LCD1602的初始化為重點。寫該部分程序應(yīng)該全面讀懂它的使用說明。按鍵掃描程序:對K1到K4四個按鍵進行掃描,對按下不同的鍵讓單片機做出不同的響應(yīng)。因為每個按鍵都有不同的功能,所以程序中需要使用大量的if語句層層嵌套,這是本部分
24、程序的兩個難點之一。另外一個難點就是對按鍵去抖動延時的設(shè)定,如果延時值太大了,則按鍵不靈敏;如果延時值太小,則出現(xiàn)重復操作的現(xiàn)象,解決這個問題需要在仿真時不斷的調(diào)試,以取個適中延時值。定時中斷程序:完成對時鐘的在LCD1602顯示前的數(shù)據(jù)處理,產(chǎn)生秒,分。時。主要難點為秒分時之間的進位關(guān)系。開始 初始化有按鍵按下?是否寫入命令顯示 延時結(jié)束LCD顯示程序:LCD顯示程序即包含在定時中斷程序里邊,也與前邊的LCD初始化程序有關(guān)。主要難點在將時鐘的變化顯示在LCD1602的正確位置,不要出現(xiàn)亂碼或者不符合時鐘的顯示格式。程序的運行步驟如圖4.1所示開始初始化函數(shù)有鍵按下?是K1鍵?b的次數(shù)是否K4
25、?K4?否是時鐘復位無效是否選定秒位選定分位返回時鐘工作選定時鐘b=1b=2b=3b=4有鍵按下K2?K3?選定為加1無效選定位減1是否否是4.2主程序清單根據(jù)硬件電路的連接以及我們要實現(xiàn)的功能,編寫出了如下的程序,該程序的實現(xiàn)的功能能完成我們設(shè)計所需要的功能,具體的程序代碼如下:#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit rs=P30; /各引腳定義 /液晶sbit rw=P31;sbit en=P32;sbit s1=P10; /鍵盤sbit s2=P11;sbit s3=P
26、12;sbit beep=P13; /蜂鳴器uint shi,fen,miao,s1num=0,num=0;void delay(uint x) /延時程序 uint i,j;for(i=0;i<110;i+)for(j=0;j<x;j+); void laba() /蜂鳴器程序 beep=1; delay(100); beep=0;void write_com(uchar command) /液晶寫命令 rs=0; en=0; rw=0; P2=command; delay(2); en=1; delay(2); en=0; delay(2); void write_date(u
27、char date) /液晶寫數(shù)據(jù) rs=1; en=0; rw=0; P2=date; delay(2); en=1; delay(2); en=0; delay(2); void init() /液晶初始化 write_com(0x30); write_com(0x0c); write_com(0x01); delay(2); void write_sfm(uchar add,uchar date) /數(shù)據(jù)分離、顯示uchar si,ge;si=date/10;ge=date%10;write_com(0x80+add);write_date(0x30+si);write_date(0x3
28、0+ge);void keyscan() /鍵盤掃描 if(s1=0) delay(5); if(s1=0) /確認功能鍵被按下 s1num+; /功能鍵按下次數(shù)記錄 while(!s1); /釋放確定 laba(); /每當有按鍵釋放蜂鳴器發(fā)出滴聲 if(s1num=1) /第一次被按下時 TR0=0; /關(guān)閉定時器write_com(0x80+0x06); /光標定位到秒位置 write_com(0x0f); /光標開始閃爍 if(s1num=2) /第二次按下光標閃爍定位到分鐘位置write_com(0x80+0x03); if(s1num=3)/第三次按下光標閃爍定位到小時位置writ
29、e_com(0x80+0x00);if(s1num=4)/第四次按下s1num=0; /記錄按鍵數(shù)清零write_com(0x0c); /取消光標閃爍TR0=1; /啟動定時器使時鐘開始走if(s1num!=0) /只有功能鍵被按下后,增大和減少鍵才有效 if(s2=0) delay(5);if(s2=0) /增加鍵確認被按下while(!s2); /按鍵釋放laba();if(s1num=1) /若功能鍵第一次按下miao+; /則調(diào)整秒加1if(miao=60) /若滿60后將清0miao=0;write_sfm(6,miao); /每調(diào)節(jié)一次送液晶顯示一下write_com(0x80+6
30、); /顯示位置重新回到調(diào)節(jié)處if(s1num=2)/若功能鍵第二次按下fen+;/則調(diào)整分加1if(fen=60)/若滿60后將請0fen=0;write_sfm(3,fen);/每調(diào)節(jié)一次送液晶顯示一下write_com(0x80+3);/顯示位置重新回到調(diào)節(jié)處if(s1num=3)/若功能鍵第三次按下shi+; /則調(diào)整時加1if(shi=24)/若滿24后將請0shi=0;write_sfm(0,shi);/每調(diào)節(jié)一次送液晶顯示一下write_com(0x80+0);/顯示位置重新回到調(diào)節(jié)處 if(s3=0)delay(5); if(s3=0)/確定減小鍵被按下while(!s3);/
31、按鍵釋放laba(); if(s1num=1)/若功能鍵第一次按下 miao-; /則調(diào)整秒減1if(miao=-1)/若減到負數(shù)則將其重新設(shè)置為59miao=59;write_sfm(6,miao);/每調(diào)節(jié)一次送液晶顯示一下write_com(0x80+0x06);/顯示位置重新回到調(diào)節(jié)處if(s1num=2) / 若功能鍵第二次按下fen-;if(fen=-1)fen=59;write_sfm(3,fen);write_com(0x80+0x03);if(s1num=3) / 若功能鍵第三次按下 shi-;if(shi=-1)/若減到負數(shù)則將其重新設(shè)置為23shi=23;write_sf
32、m(0,shi);/每調(diào)節(jié)一次送液晶顯示一下write_com(0x80+0x00);/顯示位置重新回到調(diào)節(jié)處 void main() /主程序 miao=0;fen=0;shi=0; init(); write_sfm(0x06,miao); write_com(0x80+0x05); write_date(':'); write_sfm(0x03,fen); write_com(0x80+0x02); write_date(':'); write_sfm(0x00,shi); TMOD=0X01; TH0=(65536-50000)/256;/初次裝定時器初
33、值 TL0=(65536-50000)%256; EA=1;/開總中斷 ET0=1;/開定時器0中斷 TR0=1; /啟動定時器0 while(1) keyscan();/不斷的檢測按鍵是否被按下 void T0_time() interrupt 1 /定時器0中斷 TH0=(65536-50000)/256;/再次裝定時器初值 TL0=(65536-50000)%256; num+; /中斷次數(shù)累加 if(num=20)/20次50毫秒為1秒 num=0; miao+; if(miao=60) /秒加到60則進位分鐘 miao=0; /同時秒數(shù)清零 fen+; if(fen=60)/分加到6
34、0則進位小時 fen=0;/同時分鐘清零 shi+; if(shi=24)/小時加到24則清零 shi=0; write_sfm(0x00,shi);/時若變化則重新寫入write_sfm(0x03,fen); /分若變化則重新寫入 write_sfm(0x6,miao);/秒若變化則重新寫入 4.3系統(tǒng)調(diào)試本設(shè)計中分4個模塊,測試的步驟如下:(1)檢測各模塊焊接是否到位。將各個模塊焊好,檢查確認無虛焊、粘焊;(2)接通電源,液晶亮并且顯示,之后秒鐘自動增加。(3)按下K1,可以調(diào)試秒,分,時,按下K2可以增一,按下K3可以減一,則調(diào)整當前時間,同時蜂鳴器會發(fā)出提示聲音。(4)按下K4,液晶顯
35、示則恢復00:00:00。5結(jié)論與心得這次課程設(shè)計老師給我們安排了兩個星期的時間,可以說是比較充裕的。雖然如此,我還是很用心的做設(shè)計,利用了周六周日兩天的時間在宿舍思考本次的課程設(shè)計,拿到題目,感覺太繁雜了,不知怎么下手,雖然這些知識以前都有接觸過,但也只是分部分來接觸,而這次的設(shè)計是要對前面幾次實驗的一個綜合,真的很難。通過運用單片機設(shè)計電子時鐘課程設(shè)計,發(fā)現(xiàn)自己的很多不足,自己知識的很多漏洞,看到了自己的實踐經(jīng)驗還是比較缺乏,理論聯(lián)系實際的能力還急需提高。在這個過程中,我也曾經(jīng)因為實踐經(jīng)驗的缺乏失落過,也曾經(jīng)仿真成功而熱情高漲。特別是Proteus仿真軟件的使用,不知是由于電腦的問題還是怎
36、么,這個軟件的安裝就花了我很長的時間,好不容易安裝好了,又對軟件的使用一點都不熟悉,要從頭開始學起,對著老師發(fā)給我們的芯片原理進行仿真畫圖,剛剛開始時候真的很難下手,因為是英文版的軟件,很多東西都看不太明白,都是通過自己一個個來慢慢琢磨,才把仿真圖畫了出來,然后把寫好的程序?qū)胄酒?,進行仿真,當看到程序正常運行的那一刻,心中真是有幾分的喜悅。生活就是這樣,汗水預(yù)示著結(jié)果也見證著收獲。勞動是人類生存生活永恒不變的話題。雖然這只是一次的較簡單的課程制作,可是平心而論,也耗費了我不少的心血。對我而言,知識上的收獲重要,精神上的豐收更加可喜。讓我知道了學無止境的道理。我們每一個人永遠不能滿足于現(xiàn)有的成
37、就,人生就像在爬山,一座山峰的后面還有更高的山峰在等著你。挫折是一份財富,經(jīng)歷是一份擁有。這次課程設(shè)計必將成為我人生旅途上一個非常美好的回憶。參考文獻1李朝青.單片機原理及接口技術(shù).M 北京航空航天大學出版社 第3版2彭偉.單片機C語言程序設(shè)計實訓100列基于8051+Proteus仿真.M北京:電子工業(yè)出版社.2010年1月3郭天祥.新概念51單片機C語言教程.M電子工業(yè)出版社4 鄭鋒.51 單片機應(yīng)用系統(tǒng)典型模塊開發(fā)大全.M中國鐵道出版社. 20105 于曉東.51 系列單片機叢書80C51 單片機原理、開發(fā)與應(yīng)用實例.M中國電力出版社. 2008附錄附錄元器件清單 系統(tǒng)元器件清單如下表所
38、示。序號名稱數(shù)量備注1LCD160212排針若干3電阻若干10K4導線若干5晶振112MHz6瓷片電容若干30pf7電解電容若干10uf8開關(guān)49排座若干10蜂鳴器 111電位器1附錄實物接線圖系統(tǒng)實物接線圖如下圖所示。附錄系統(tǒng)總電路圖系統(tǒng)總電路圖如下:致謝回顧起此次單片機課程設(shè)計,我仍感慨頗多,但是我學到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。在設(shè)計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,但是本設(shè)計能夠順利的完成得到了院系領(lǐng)導老師的大力支持和幫助,尤其是
39、我的指導老師朱群峰老師,仔細耐心為我為我指導。設(shè)計過程中,朱老師一并幫我們分析遇到的種種困難。使設(shè)計得以順利的完成。同時還要感謝我們這組的所有成員,正是我們的共同努力才使得這次設(shè)計圓滿完成。在此,對他們表示由衷的感謝!總之,要感謝電氣系所有老師,他們精心的栽培為我以后的學習工作打下了堅實的基礎(chǔ)。邵陽學院課程設(shè)計(論文)任務(wù)書年級專業(yè)10自動化學生姓名學 號題目名稱基于89C52的電子時鐘設(shè)計設(shè)計時間2012年5月21日2012年6月1日課程名稱單片機原理及應(yīng)在電氣測控學科中的應(yīng)用課程編號121200105設(shè)計地點數(shù)字控制與PLC實驗室(305)一、 課程設(shè)計(論文)目的課程設(shè)計是在校學生素質(zhì)教育的重要環(huán)節(jié),是理論與實踐相結(jié)合的橋梁和紐帶。單片機課程設(shè)計,要求學生更多的完成軟硬結(jié)合的動手實踐方案,解決目前學生課程設(shè)計過程中普遍存在的缺乏動手能力的現(xiàn)象. 單片機課程設(shè)計是繼電子技術(shù)、和單片機原理與應(yīng)用課程之后開出的實踐環(huán)節(jié)課程,其目的和任務(wù)是訓練學生綜合運用已學課程“電子技術(shù)基礎(chǔ)”、“單片機原理及應(yīng)用”的基本知識,獨立進行單片機應(yīng)用技術(shù)和開發(fā)工作,掌握單片機程序設(shè)計、調(diào)試和應(yīng)用電路設(shè)計、分析及調(diào)試檢測。二、已知技術(shù)參數(shù)和條件1、電子時鐘見第三項“任務(wù)和要求”具體參數(shù)2、89
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度外墻保溫材料供應(yīng)與施工質(zhì)量保證合同
- 二零二五年度貸款合同簽訂流程與貸款信用風險防控策略
- 二零二五年度公路貨物運輸合同環(huán)境保護與可持續(xù)發(fā)展協(xié)議
- 二零二五年度離職解除勞動合同范本:制造業(yè)企業(yè)適用
- 二零二五年度科技園區(qū)辦公樓租賃服務(wù)合同
- 綠化工程施工合同
- 智慧城市建設(shè)咨詢合同
- 農(nóng)民合作經(jīng)濟林地承包合同
- 建設(shè)工程材料居間合同
- 玩具公司玩具買賣合同
- 湖南省邵陽市新寧縣2024屆中考三?;瘜W試題含解析
- 電力系統(tǒng)光纖通信運行管理規(guī)程
- (高清版)TDT 1055-2019 第三次全國國土調(diào)查技術(shù)規(guī)程
- 電影活著展示課件
- 天堂旅行團讀書分享
- 室內(nèi)裝潢與裝修的危險源辨識與風險評估
- 護理安全警示教育案例完整版
- 醫(yī)療保險異地就醫(yī)登記備案表
- MAXIMO系統(tǒng)介紹課件
- 《雇主責任險》課件
- 煙花爆竹經(jīng)營安全培訓課件
評論
0/150
提交評論