版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> ****學院</b></p><p><b> 課 程 設(shè) 計</b></p><p> 課程名稱: 智能儀器 </p><p> 題目: LED電子時鐘設(shè)計 </p><p> 專業(yè)班次:
2、 </p><p> 姓 名: </p><p> 學 號: </p><p> 指導教師: ****老師 </p><p
3、> 學 期: </p><p> 日 期: </p><p><b> 目錄</b></p><p><b> 前 言0</b></p><p> 第
4、一章 任務(wù)設(shè)計及原理1</p><p><b> 1.1課題內(nèi)容1</b></p><p> 1.2設(shè)計任務(wù)和要求1</p><p> 1.3 LED動態(tài)顯示的原理:1</p><p><b> 1.4設(shè)計內(nèi)容2</b></p><p> 第二章 設(shè)
5、計總體方案論證3</p><p> 2.1 LED顯示電子時鐘設(shè)計思路3</p><p> 2.2 時鐘系統(tǒng)方案論證3</p><p> 2.2.1 單片機的選擇3</p><p> 2.2.2 顯示系統(tǒng)方案比較3</p><p> 2.2.3 鍵盤控制方案的選擇3</p><
6、p> 2.3 元件清單,電子鐘元件清單如表1所示:4</p><p> 第三章 系統(tǒng)硬件設(shè)計5</p><p> 3.1 單片機控制系統(tǒng)5</p><p> 3.2 各部分功能的實現(xiàn)5</p><p> 3.2.1 控制部分(AT89C51)5</p><p> 3.2.2 DS13
7、02時鐘芯片5</p><p> 3.2.3 單片機最小系統(tǒng)5</p><p> 3.2.4 鍵盤控制系統(tǒng)的設(shè)計7</p><p> 3.2.5 LED顯示電路7</p><p> 第四章 系統(tǒng)軟件設(shè)計8</p><p> 4.1 軟件主要完成功能8</p><p>
8、 4.2 程序設(shè)計8</p><p> 4.3 軟件設(shè)計的主要流程8</p><p> 4.3.1 系統(tǒng)總的流程圖8</p><p> 4.3.2 地址分配如下:10</p><p> 4.3.3 I/O口:11</p><p> 4.3.4 程序編寫:11</p><
9、p> 4.3.5 誤差分析20</p><p> 第五章 仿真演示21</p><p> 第六章 設(shè)計總結(jié)23</p><p><b> 參考文獻24</b></p><p><b> 前 言</b></p><p> 1957年,Ventura
10、發(fā)明了世界上第一個電子表,從而奠定了電子時鐘的基礎(chǔ),電子時鐘開始迅速發(fā)展起來?,F(xiàn)代的電子時鐘是基于單片機的一種計時工具,采用延時程序產(chǎn)生一定的時間中斷,用于一秒的定義,通過計數(shù)方式進行滿六十秒分鐘進一,滿六十分小時進一,滿二十四小時小時清零。從而達到計時的功能,是人民日常生活不可缺少的工具。</p><p> 20世紀末,電子技術(shù)獲得了飛速的發(fā)展,在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個領(lǐng)域,有力地推動了社
11、會生產(chǎn)力的發(fā)展和社會信息化程度的提高,同時也使現(xiàn)代電子產(chǎn)品性能進一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。 數(shù)字鐘已成為人們?nèi)粘I钪斜夭豢缮俚谋匦杵?,廣泛用于個人家庭以及辦公室等公共場所,給人們的生活、學習、工作、娛樂帶來極大的方便。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進的石英技術(shù),使數(shù)字鐘具有走時準確、性能穩(wěn)定、攜帶方便等優(yōu)點,它還用于計時、自動報時及自動控制等各個領(lǐng)域。盡管目前市場上已有現(xiàn)成的數(shù)字鐘集成電路芯片出售,價格便宜、使用也
12、方便,但鑒于數(shù)字鐘電路的基本組成包含了數(shù)字電路的主要組成部分,因此進行數(shù)字鐘的設(shè)計是必要的,研究數(shù)字鐘及擴大其應(yīng)用,有著非?,F(xiàn)實的意義。單片機數(shù)字時鐘就是其中的一款設(shè)計。它具有編程靈活,便于電子鐘功能的擴充,即可用該電子鐘發(fā)出各種控制信號,精確度高等特點,同時可以用該電子鐘發(fā)出各種控制信號。單片機數(shù)字鐘是單片機為核心。時鐘,自從它發(fā)明的那天起,就成為人類的朋友,但隨著時間的推移,科學技術(shù)的不斷發(fā)展,人們對時間計量的精度要求越來越高,應(yīng)用
13、越來越廣。怎樣讓時</p><p> 本設(shè)計主要介紹單片機內(nèi)部的定時\計數(shù)器來實現(xiàn)電子時鐘的方法,本設(shè)計由單片機AT89C51芯片和LED數(shù)碼管為核心,鋪以必要的電路,構(gòu)成一個單片機電子時鐘。</p><p> 第一章 任務(wù)設(shè)計及原理</p><p><b> 1.1課題內(nèi)容</b></p><p><b&
14、gt; LED電子時鐘設(shè)計</b></p><p> 1.2設(shè)計任務(wù)和要求</p><p> (1)利用單片機AT89C51和7段LED數(shù)碼管設(shè)計一個數(shù)字時鐘;</p><p> (2)在6位數(shù)碼管上顯示當前時間。顯示格式“時時分分秒秒”。</p><p> (3)在6位數(shù)碼管上顯示當前日期。顯示格式“年年(后兩位)月月
15、日日”。用按鍵在時間顯示和日期顯示之間切換。</p><p> (4)實現(xiàn)年月日,時分秒的調(diào)整。</p><p> 1.3 LED動態(tài)顯示的原理</p><p> 數(shù)碼管的動態(tài)顯示利用視覺暫留作用,使得人眼看到的是靜態(tài)的不變的顯示,視覺暫留時間約為0.01秒,因而每次顯示的時間間距要比較短。</p><p> 首先P0口向LED顯示器
16、數(shù)據(jù)端口發(fā)送第一個8位數(shù)據(jù)。此時只有一位低電平而其他口都為高電平,因此只有LED數(shù)碼管顯示該數(shù)碼,讓其顯示1ms。再可以發(fā)送第二個數(shù)據(jù),同時應(yīng)使其對應(yīng)的位碼為低電平且保證其他位為高電平。依次類推,對各顯示器進行掃描,顯示器分時輪流工作。雖然買此只有一個顯示器顯示,但由于人的視覺暫留現(xiàn)象我們?nèi)詴杏X所有的顯示器都在同時顯示。它的優(yōu)點是硬件電路簡單,占用較少的I/O口,但其傳送速度相對較慢。采用此方法,我們的板子除單片機以外,沒用其他芯片。
17、</p><p> 由數(shù)碼管的顯示原理,再考慮到數(shù)碼管上顯示的數(shù)字對應(yīng)與一個八位的二進制數(shù),0~9一共十個,把顯示這些數(shù)對應(yīng)的數(shù)碼管段信息存到程序存儲器的TABLE表中,將DPTR作為指針,用程序分配的地址單元分別存儲實際的時分秒、年月日的數(shù)字,把存儲的數(shù)字用DIV指令分出高低位,作為偏移量,這樣,程序中通過查表,就把實際的數(shù)字和數(shù)碼管中顯示的數(shù)字對應(yīng)起來了。</p><p><b
18、> 1.4設(shè)計內(nèi)容</b></p><p> 1、查閱相關(guān)資料,整體構(gòu)思。</p><p> 2、進行調(diào)研和總體設(shè)計,并繪制系統(tǒng)方框圖和主程序流程圖等。</p><p><b> 3、詳細設(shè)計:</b></p><p> 1)LED顯示電路的設(shè)計及功能的實現(xiàn)。</p><p
19、> 2)實現(xiàn)時鐘電路的設(shè)計及其功能的實現(xiàn)。</p><p> 3)按鍵設(shè)置電路的設(shè)計及其功能的實現(xiàn)。</p><p> 第二章 設(shè)計總體方案論證</p><p> 2.1 LED顯示電子時鐘設(shè)計思路</p><p> 按照系統(tǒng)的設(shè)計功能要求,本時鐘系統(tǒng)的設(shè)計必須采用單片機軟件系統(tǒng)實現(xiàn),用單片機的自動控制能力配合按鍵控制,來
20、控制時鐘的調(diào)整及顯示。</p><p> 2.2 時鐘系統(tǒng)方案論證</p><p> 2.2.1 單片機的選擇</p><p> 對于單片機的選擇,如果用8031系列,由于它沒有內(nèi)部RAM,系統(tǒng)又需要大量內(nèi)存存儲數(shù)據(jù),因而不可用;51系列單片機的ROM為4K,對于我們設(shè)計的系統(tǒng)可能有點?。?2系列單片機與51系列的結(jié)構(gòu)一樣,而ROM擴大為8K,對我們設(shè)計系統(tǒng)提
21、供充足的空間進行功能的擴展。再有51系列單片機與52系列的單片機價格差不多。但此次51的內(nèi)存足夠我們使用了,因此,我們選擇51系列的單片機。</p><p> 2.2.2 顯示系統(tǒng)方案比較</p><p> 方案1:用液晶1602顯示。</p><p> 方案2:用LED數(shù)碼管顯示。</p><p> 鐘和溫度的顯示可以用數(shù)碼管或LE
22、D,價格便宜。而且LED數(shù)碼管能顯示簡單的設(shè)計的系統(tǒng),與我們設(shè)計要求相符,因此我們選擇方案2。</p><p> 2.2.3 鍵盤控制方案的選擇</p><p> 方案1:購買集成鍵盤,采用矩陣形式連接。</p><p> 方案2:購買單個復位開關(guān)做成鍵盤。</p><p> 雖然集成鍵盤美觀,與單片機的接口少,但是它的成本比較高。單
23、片機的IO口對于我們的設(shè)計綽綽有余。通常我們選用價格便宜單個復位開關(guān)做成鍵盤。</p><p> 在本系統(tǒng)的電路設(shè)計方框圖如圖2.1所示,它由三部分組成:</p><p> ?、倏刂撇糠种餍酒捎脝纹瑱CAT89C51;</p><p> ?、陲@示部分采用LED數(shù)碼管實現(xiàn)時鐘顯示;</p><p> ③時鐘調(diào)節(jié)部分使用按鍵來控制;</
24、p><p> 圖2.1 系統(tǒng)總原理圖</p><p> 2.3 元件清單,電子鐘元件清單如表1所示</p><p> 表1 電子鐘元器件清單</p><p> 第三章 系統(tǒng)硬件設(shè)計</p><p> 3.1 單片機控制系統(tǒng)</p><p> 本次智能儀器設(shè)計時鐘電路,使用了ATC
25、89C51單片機芯片控制電路和單片機DS1302時鐘芯片,單片機控制電路簡單且省去了很多復雜的線路,使得電路簡明易懂,使用鍵盤鍵上的按鍵來調(diào)整時鐘的時、分、秒,年、月、日同時使用匯編語言程序來控制整個時鐘顯示,使得編程變得更容易,這樣通過三個模塊:鍵盤、芯片、顯示屏即可滿足設(shè)計要求。</p><p> 3.2 各部分功能的實現(xiàn)</p><p> 3.2.1 控制部分(AT89C51)&
26、lt;/p><p> 單片機采用51系列單片機。由ATMEL公司生產(chǎn)的AT89C51是一種低功耗、高性能CMOS8位微控制器,具有4K 在系統(tǒng)可編程Flash 存儲器。單片機的可擦除只讀存儲器可以反復擦除100次。使用Atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)MCS-51 產(chǎn)品指令和引腳完全兼容。在單芯片上,擁有靈巧的8 位CPU 和在線系統(tǒng)可編程Flash,使得AT89C51為眾多嵌入式控制應(yīng)用系統(tǒng)提供
27、高靈活、有效的解決方案。AT89C51具有以下標準功能: 4k字節(jié)Flash,128字節(jié)RAM,8 位雙向I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16 位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復位為止。而且,它還具有一個看門狗(WD
28、T)定時/計數(shù)器,如果程序沒有正常工作,就會強制整個系統(tǒng)復位,還可以在程序陷入死循環(huán)的時候,讓單片機復位而不用整個系統(tǒng)斷電,從而保護你的硬件電路。AT89C51單片</p><p> 3.2.2 DS1302時鐘芯片</p><p> DS1302為達拉斯公司的一種實時時鐘芯片,主要特點是采用串行數(shù)據(jù)傳輸,可為掉電保護電源提供可編程的充電功能,并且可以關(guān)閉充電功能。</p>
29、;<p> 3.2.3 單片機最小系統(tǒng)</p><p> 單片機最小系統(tǒng)主要由復位電路,晶振電路,電源等幾部分組成。</p><p><b> 1. 復位電路</b></p><p> 復位電路有兩種方式:上電復位和按鈕復位,我們主要用按鈕復位方式。如圖3 .1所示。</p><p> 圖3.1
30、 復位電路</p><p><b> 2. 晶振電路</b></p><p> 單片機系統(tǒng)里都有晶振,在單片機系統(tǒng)里晶振作用非常大,全程叫晶體振蕩器,他結(jié)合單片機內(nèi)部電路產(chǎn)生單片機所需的時鐘頻率,單片機晶振提供的時鐘頻率越高,那么單片機運行速度就越快,單片接的一切指令的執(zhí)行都是建立在單片機晶振提供的時鐘頻率。在通常工作條件下,普通的晶振頻率絕對精度可達百萬分之
31、五十。高級的精度更高。有些晶振還可以由外加電壓在一定范圍內(nèi)調(diào)整頻率,稱為壓控振蕩器(VCO)。晶振用一種能把電能和機械能相互轉(zhuǎn)化的晶體在共振的狀態(tài)下工作,以提供穩(wěn)定,精確的單頻振蕩。</p><p> 單片機晶振的作用是為系統(tǒng)提供基本的時鐘信號。通常一個系統(tǒng)共用一個晶振,便于各部分保持同步。有些通訊系統(tǒng)的基頻和射頻使用不同的晶振,而通過電子調(diào)整頻率的方法保持同步。</p><p> 晶
32、振通常與鎖相環(huán)電路配合使用,以提供系統(tǒng)所需的時鐘頻率。如果不同子系統(tǒng)需要不同頻率的時鐘信號,可以用與同一個晶振相連的不同鎖相環(huán)來提供。</p><p> 選取原則:電容取30PF,晶振為12MHz</p><p> 圖3.2 晶振模塊原理圖</p><p><b> 3. 電源</b></p><p> AT8
33、9C51單片機的供電電源是+5V的直流電</p><p> 4. EA非/Vpp 腳</p><p> 我們沒有用外部擴展ROM,因此EA非/Vpp為高電平,即接+5V電源。如圖3.3所示。</p><p> 圖3.3 EA腳電路圖</p><p> 3.2.4 鍵盤控制系統(tǒng)的設(shè)計</p><p> 按鍵
34、需要5個,分別實現(xiàn)為時間、日期調(diào)整,時間、日期的加和時間、日期的更換等功能。用單片機的5個I/O口接收控制信號,其電路如圖3.4所示:</p><p> 圖3.4 按鍵調(diào)時電路</p><p> 通過控制鍵來控制所要調(diào)節(jié)的是時、分、還是秒。在控制鍵按下后LCD中會在相應(yīng)的位置出現(xiàn)光標,這時在通過加數(shù)鍵或減數(shù)鍵來控制時分秒的加或減。</p><p> 3.2.
35、5 LED顯示電路</p><p> 圖3.5 顯示電路 </p><p> 第四章 系統(tǒng)軟件設(shè)計</p><p> 4.1 軟件主要完成功能</p><p><b> (1)顯示時間程序</b></p><p> 用軟件調(diào)節(jié)時間,通過程序的調(diào)節(jié),最后用LED數(shù)碼管實現(xiàn)時鐘<
36、/p><p> (2)調(diào)節(jié)時間程序按鍵調(diào)節(jié)時間,能實現(xiàn)時、分、秒,年、月、日的調(diào)節(jié)</p><p><b> 4.2 程序設(shè)計</b></p><p> 首先分配地址空間,并對程序進行初始化。</p><p> 然后對按鍵動作進行判斷,如果P2.3按下,顯示日期,此時若有調(diào)整鍵按下,則對日期進行調(diào)整,此時定時器仍在工
37、作,只是不顯示當前時間;</p><p> 循環(huán)定時,秒加1,并判斷秒是否到了60,若到了秒清零,分加1,若不到,返回繼續(xù)循環(huán)。同理,處理分鐘和小時,處理小時時,把60換成24。24小時到了之后,DATE(日)加1,此時,需要對MONTH(月份)判斷,小月時,DATE到31就進位(即記到30),大月時,DATE到32再進位(顯示到31),對于2月,還要判斷年份,平年到29(28天),瑞年到30(29天)。然后是
38、月進位,年加1。</p><p> 4.3 軟件設(shè)計的主要流程</p><p> 4.3.1 系統(tǒng)總的流程圖</p><p> 主要功能是負責時間的顯示,通過寫地址和寫數(shù)據(jù)來實現(xiàn)時間的調(diào)節(jié)和控制,最后通過調(diào)用顯示子程序顯示出來 如圖4.1所示。</p><p> 圖4.1 總程序流程圖</p><p>
39、程序設(shè)計流程圖在下頁,如圖4.2所示</p><p> 4.3.2 地址分配如下</p><p> SEC EQU 30H ;當前秒</p><p> MIN EQU 31H</p><p> HOUR EQU 32H</p><p> DAY
40、 EQU 33H</p><p> MONTH EQU 34H</p><p> WEEK2 EQU 35H</p><p> YEAR EQU 36H</p><p> A_BIT EQU 20H</p><p> B_BIT EQU
41、 21H</p><p> C_BIT EQU 22H</p><p> D_BIT EQU 23H</p><p> E_BIT EQU 24H</p><p> F_BIT EQU 25H</p><p> AB_BIT EQU 26H
42、 ;秒/日</p><p> CD_BIT EQU 27H ;分/月</p><p> EF_BIT EQU 28H ;時/年</p><p> DS1302_ADDR
43、 EQU 5EH</p><p> DS1302_DATA EQU 5FH</p><p> 4.3.3 I/O口</p><p> T_RST BIT P3.2 ;實時時鐘復位線引腳</p><p> T_CLK BIT P3.3 ;實時時鐘時鐘線引腳</p><p> T_IO
44、 BIT P3.4 ;實時時鐘數(shù)據(jù)線引腳</p><p> H_ADJ BIT P2.0 ;時/年調(diào)整</p><p> M_ADJ BIT P2.1 ;分/月調(diào)整</p><p> S_ADJ BIT P2.2 ;秒/日調(diào)整</p><p> DT_SET BIT P2.3 ;時間/日期選擇</p><p&g
45、t; STR BIT P2.4 ;啟動走時</p><p> 4.3.4 程序編寫</p><p> SEC EQU 30H ;當前秒</p><p> MIN EQU 31H</p><p> HOUR EQU 32H</p><p> DAY EQU 3
46、3H</p><p> MONTH EQU 34H</p><p> WEEK2 EQU 35H</p><p> YEAR EQU 36H</p><p> A_BIT EQU 20H</p><p> B_BIT EQU 21H</p><p> C_B
47、IT EQU 22H</p><p> D_BIT EQU 23H</p><p> E_BIT EQU 24H</p><p> F_BIT EQU 25H</p><p> AB_BIT EQU 26H ;秒/日</p><p> CD_BIT EQU 27H
48、 ;分/月</p><p> EF_BIT EQU 28H ;時/年</p><p> DS1302_ADDR EQU 5EH</p><p> DS1302_DATA EQU 5FH</p><p><b> ORG 00H</b></p><
49、;p> AJMP MAIN</p><p><b> ORG 30H</b></p><p> MAIN: MOV SP,#64H</p><p> MOV YEAR,#11H ;上電預置日期、時間</p><p> MOV MONTH,#12H ;2011
50、 12 12 09:30:00 </p><p> MOV DAY,#12H</p><p> MOV HOUR,#09H</p><p> MOV MIN,#30H</p><p> MOV SEC,#00H </p><p> MAIN1: LCALL KEY</p>&l
51、t;p> JB F0,MAIN10 ;F0=1,開始走時。走時前寫,不讀。走時后讀,不寫。</p><p> LCALL WR1302 </p><p> AJMP MAIN2</p><p> MAIN10: LCALL RD1302 </p><p> MAIN2: JB
52、 7FH,YMD</p><p> MOV EF_BIT,HOUR</p><p> MOV CD_BIT,MIN</p><p> MOV AB_BIT,SEC</p><p> AJMP MAIN20</p><p> YMD: MOV EF_BIT,YEAR
53、</p><p> MOV CD_BIT,MONTH</p><p> MOV AB_BIT,DAY </p><p> MAIN20: MOV A,EF_BIT </p><p> MOV B,#10H</p><p><b> DIV AB</b><
54、/p><p> MOV E_BIT,B</p><p> MOV F_BIT,A</p><p> MOV A,CD_BIT</p><p> MOV B,#10H</p><p><b> DIV AB</b></p><p> MOV
55、C_BIT,B</p><p> MOV D_BIT,A</p><p> MOV A,AB_BIT</p><p> MOV B,#10H</p><p><b> DIV AB</b></p><p> MOV A_BIT,B</p><p&
56、gt; MOV B_BIT,A</p><p> LCALL DISP</p><p> AJMP MAIN1</p><p> KEY: ;按鍵子程序</p><p> ACALL DISP</p><p><b> KEY_
57、SET:</b></p><p> JB DT_SET,KEY_H</p><p> ACALL DISP</p><p> JNB DT_SET,$-2</p><p> CPL 7FH</p><p> CPL P2.5 ;點亮日期設(shè)
58、定/顯示LED</p><p> AJMP RT</p><p><b> KEY_H:</b></p><p> JB H_ADJ,KEY_M</p><p> ACALL DISP</p><p> JNB H_ADJ,$-2</p><p&g
59、t; AJMP H_ADD</p><p><b> KEY_M:</b></p><p> JB M_ADJ,KEY_S</p><p> ACALL DISP</p><p> JNB M_ADJ,$-2</p><p> AJMP M_ADD</p&g
60、t;<p><b> KEY_S:</b></p><p> JB S_ADJ,KEY_ST</p><p> ACALL DISP</p><p> JNB S_ADJ,$-2</p><p> AJMP S_ADD</p><p><b>
61、 KEY_ST:</b></p><p> JB STR,RT</p><p> ACALL DISP</p><p> JNB STR,$-2</p><p> AJMP K_STR</p><p> RT: RET </p><p> H
62、_ADD: JB 7FH,Y_ADD ;7FH為日期/時間切換鍵標志。1為年月日。</p><p> MOV A,HOUR</p><p> ADD A,#01H</p><p><b> DA A</b></p><p> CJNE A,#24H,H_ADD1
63、</p><p> MOV A,#0</p><p><b> H_ADD1:</b></p><p> MOV HOUR,A</p><p> AJMP RT</p><p><b> Y_ADD:</b></p><p&g
64、t; MOV A,YEAR</p><p> ADD A,#01H</p><p><b> DA A</b></p><p> CJNE A,#20H,Y_ADD1</p><p> MOV A,#0</p><p><b> Y_ADD1
65、:</b></p><p> MOV YEAR,A</p><p> AJMP RT</p><p><b> M_ADD:</b></p><p> JB 7FH,MO_ADD </p><p> MOV A,MIN</p><p
66、> ADD A,#01H</p><p><b> DA A</b></p><p> CJNE A,#60H,M_ADD1</p><p> MOV A,#0</p><p><b> M_ADD1:</b></p><p> MOV
67、 MIN,A</p><p> AJMP RT</p><p><b> MO_ADD:</b></p><p> MOV A,MONTH</p><p> ADD A,#01H</p><p><b> DA A</b></p>
68、<p> CJNE A,#13H,MO_ADD1</p><p> MOV A,#1</p><p><b> MO_ADD1:</b></p><p> MOV MONTH,A</p><p><b> AJMP RT</b></p>&
69、lt;p><b> S_ADD:</b></p><p> JB 7FH,D_ADD</p><p> MOV A,SEC</p><p> ADD A,#01H</p><p><b> DA A</b></p><p> CJNE
70、 A,#60H,S_ADD1</p><p><b> S_ADD1:</b></p><p> MOV SEC,A</p><p> AJMP RT</p><p><b> D_ADD:</b></p><p> MOV A,DAY<
71、/p><p> ADD A,#01H</p><p><b> DA A</b></p><p> CJNE A,#32H,D_ADD1</p><p> MOV A,#01H</p><p><b> D_ADD1:</b></p>
72、<p> MOV DAY,A</p><p> AJMP RT</p><p><b> K_STR:</b></p><p> MOV DS1302_ADDR,#80H ;開始振蕩</p><p> MOV DS1302_DATA,SEC,#00H</p&
73、gt;<p> LCALL WRITE</p><p> MOV DS1302_ADDR,#8EH ;禁止寫入1302</p><p> MOV DS1302_DATA,#80H</p><p> LCALL WRITE</p><p> SETB F0</p>&l
74、t;p><b> AJMP RT</b></p><p><b> WR1302: </b></p><p> MOV DS1302_ADDR,#8EH </p><p> MOV DS1302_DATA,#00H ;允許寫1302</p><p> L
75、CALL WRITE</p><p> MOV DS1302_ADDR,#80H</p><p> MOV DS1302_DATA,#80H ;1302停止振蕩</p><p> LCALL WRITE</p><p> MOV DS1302_ADDR,#8CH ;年寫入1302<
76、;/p><p> MOV DS1302_DATA,YEAR</p><p> LCALL WRITE</p><p> MOV DS1302_ADDR,#88H ;月寫入1302</p><p> MOV DS1302_DATA,MONTH</p><p> LCALL
77、 WRITE</p><p> MOV DS1302_ADDR,#86H ;日寫入1302</p><p> MOV DS1302_DATA,DAY</p><p> LCALL WRITE</p><p> MOV DS1302_ADDR,#84H ;時寫入1302</
78、p><p> MOV DS1302_DATA,HOUR</p><p> LCALL WRITE</p><p> MOV DS1302_ADDR,#82H ;分寫入1302</p><p> MOV DS1302_DATA,MIN</p><p> LCALL WRITE
79、</p><p> MOV DS1302_ADDR,#82H ;秒寫入1302</p><p> MOV DS1302_DATA,MIN</p><p> LCALL WRITE</p><p><b> RET</b></p><p><b>
80、; WRITE: </b></p><p> CLR T_CLK</p><p><b> NOP</b></p><p> SETB T_RST</p><p><b> NOP</b></p><p> MOV A,DS1302_A
81、DDR</p><p> MOV R4,#8</p><p><b> WRITE1:</b></p><p> RRC A </p><p><b> NOP</b></p><p><b> NOP
82、</b></p><p> CLR T_CLK</p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p> MOV T_IO,C</p
83、><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p> SETB T_CLK</p><p><b> NOP</b></p>
84、<p><b> NOP</b></p><p> DJNZ R4,WRITE1</p><p> CLR T_CLK</p><p><b> NOP</b></p><p> MOV A,DS1302_DATA</p><p>
85、MOV R4,#8</p><p> WRITE2: RRC A</p><p> NOP </p><p> CLR T_CLK</p><p><b> NOP</b></p><p><b> NOP&
86、lt;/b></p><p> MOV T_IO,C</p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p> SETB T_CLK<
87、/p><p><b> NOP</b></p><p><b> NOP</b></p><p> DJNZ R4,WRITE2</p><p> CLR T_RST</p><p><b> RET</b></p>
88、<p><b> RD1302:</b></p><p> MOV DS1302_ADDR,#8DH </p><p> LCALL READ</p><p> MOV YEAR,DS1302_DATA</p><p> MOV DS1302_ADDR,#8BH &l
89、t;/p><p> LCALL READ</p><p> MOV WEEK2,DS1302_DATA</p><p> MOV DS1302_ADDR,#89H </p><p> LCALL READ</p><p> MOV MONTH,DS1302_DATA&l
90、t;/p><p> MOV DS1302_ADDR,#87H </p><p> LCALL READ</p><p> MOV DAY,DS1302_DATA</p><p> MOV DS1302_ADDR,#85H </p><p> LCALL READ&l
91、t;/p><p> MOV HOUR,DS1302_DATA</p><p> MOV DS1302_ADDR,#83H </p><p> LCALL READ</p><p> MOV MIN,DS1302_DATA</p><p> MOV DS1
92、302_ADDR,#81H </p><p> LCALL READ</p><p> MOV SEC,DS1302_DATA</p><p><b> RET </b></p><p><b> READ: </b></p><p> CL
93、R T_CLK</p><p><b> NOP</b></p><p><b> NOP</b></p><p> SETB T_RST</p><p><b> NOP</b></p><p> MOV A,DS1302
94、_ADDR</p><p> MOV R4,#8 </p><p><b> READ1: </b></p><p><b> RRC A</b></p><p> MOV T_IO,C</p><p><b> NOP</b&
95、gt;</p><p><b> NOP</b></p><p><b> NOP</b></p><p> SETB T_CLK</p><p><b> NOP</b></p><p><b> NOP</b>
96、</p><p><b> NOP</b></p><p> CLR T_CLK</p><p><b> NOP</b></p><p><b> NOP</b></p><p> DJNZ R4,READ1</p>
97、;<p> MOV R4,#8 </p><p><b> READ2: </b></p><p> CLR T_CLK</p><p><b> NOP</b></p><p><b> NOP</b></p><
98、p><b> NOP</b></p><p> MOV C,T_IO</p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p>
99、;<b> NOP</b></p><p><b> NOP</b></p><p><b> RRC A</b></p><p><b> NOP</b></p><p><b> NOP</b></p>
100、<p><b> NOP</b></p><p><b> NOP</b></p><p> SETB T_CLK</p><p><b> NOP</b></p><p> DJNZ R4,READ2</p><p>
101、; MOV DS1302_DATA,A</p><p> CLR T_RST</p><p><b> RET</b></p><p><b> DISP: </b></p><p> MOV A,A_BIT </p><p> MOV DP
102、TR,#TAB</p><p> MOVC A,@A+DPTR </p><p> MOV P0,A </p><p> CLR P1.2 </p><p> ACALL D1MS </p><p> SETB P1.2</p><p> MOV A,
103、B_BIT </p><p> MOVC A,@A+DPTR </p><p> MOV P0,A </p><p> CLR P1.3 </p><p> ACALL D1MS </p><p> SETB P1.3</p><p> MOV
104、A,C_BIT </p><p> MOVC A,@A+DPTR </p><p> MOV P0,A</p><p> SETB P0.7 </p><p> CLR P1.4 </p><p> ACALL D1MS ;顯示1ms</p>
105、<p> SETB P1.4</p><p> MOV A,D_BIT </p><p> MOVC A,@A+DPTR ;</p><p> MOV P0,A </p><p> CLR P1.5 </p><p> ACALL D1MS
106、 ;顯示1ms</p><p> SETB P1.5 </p><p> MOV A,E_BIT</p><p> MOVC A,@A+DPTR ;</p><p> MOV P0,A</p><p> SETB P0.7 </p><p> CLR
107、P1.6 </p><p> ACALL D1MS ;顯示1ms</p><p> SETB P1.6</p><p> MOV A,F_BIT </p><p> MOVC A,@A+DPTR ;</p><p> MOV P0,A </p>
108、<p> CLR P1.7 </p><p> ACALL D1MS ;顯示1ms</p><p><b> SETB P1.7</b></p><p> RET ;1MS延時(按12MHZ算)</p><p><b> D1
109、MS: </b></p><p> MOV R5,#2</p><p> MOV R6,#250</p><p> DJNZ R6,$</p><p> DJNZ R5,$-4</p><p><b> RET</b></p><p&
110、gt; TAB: ;共陰</p><p> DB 03FH ;0</p><p> DB 006H ;1</p><p> DB 05BH ;2</p><p> DB 04FH ;3</p>
111、<p> DB 066H ;4</p><p> DB 06DH ;5</p><p> DB 07DH ;6</p><p> DB 007H ;7</p><p> DB 07FH ;8</p>
112、<p> DB 06FH ;9</p><p><b> END</b></p><p> 4.3.5 誤差分析</p><p> 在調(diào)試運行過程中,在所有參數(shù)正確的情況下,我的結(jié)果仍出現(xiàn)運行緩慢情況。產(chǎn)生誤差的主要原因是我們用軟件計時,計時1秒是采用定時器的中斷服務(wù)程序。當電子鐘運行1秒,執(zhí)行中斷
113、程序需要一定時間,這個時間就是所產(chǎn)生的誤差,這個誤差是不可避免的。同時,單片機工作也會受到環(huán)境的影響,比如溫度、濕度,以及其它電子設(shè)備的干擾。</p><p> 因此,應(yīng)該讓電子鐘工作在適度溫度、干燥和電子干擾較少的環(huán)境下,還有一種方法就是采用實時時鐘芯片,這樣可以使誤差降低到最少。</p><p><b> 第五章 仿真演示</b></p><
114、;p> 經(jīng)過硬件及軟件的綜合設(shè)計之后,LED顯示的電子時鐘功能即完成。并能夠通過LED數(shù)碼管顯示數(shù)字。按照上文所說的思路,利用匯編語言進行編程,通過KEIL軟件調(diào)試編譯后,生成***.hex文件,即可用PROTEUS軟件仿真。仿真原理電路如5.1所示,仿真后效果如圖5.2所示。</p><p> 圖5.1 實驗Proteus仿真圖 </p><p> 圖5.2 實驗PRO
115、TEUS仿真效果圖</p><p><b> 第六章 設(shè)計總結(jié)</b></p><p> 經(jīng)過兩周的努力,本次課程設(shè)計的任務(wù)——基于單片機控制LED數(shù)碼管顯示的電子時鐘的設(shè)計已經(jīng)完成。</p><p> 眾所周知,單片機是自動化工程專業(yè)的一們重要的課程,也是當今電子行業(yè)的重要分支之一,應(yīng)用范圍之廣,普遍程度之高大家有目共睹,所以學好單片
116、機對于我們專業(yè)的學生來說至關(guān)重要,甚至直接關(guān)系到日后的就業(yè)。正因為這重要性才需要我們?nèi)嵺`,去鍛煉。</p><p> 在此次課程設(shè)計中,在最初的寫程序及設(shè)計仿真電路時都遇到了一些困難。后來經(jīng)過上網(wǎng)了解知道,下載來認真看了后大有所得。這樣來不僅進一步增強了自己對單片機的興趣,也讓自己對單片機的認識又有新的提高。在經(jīng)過后面的查閱,知道單片機深入我們生活的方方面又讓我“一定要學好單片機”的念頭更深了。</p&
117、gt;<p> 雖然此次的選題難度并不大,但是就是這樣一個簡單的題目卻讓我明白“紙上得來終覺淺”的深刻意義。這次的課設(shè)我做了三個類型的LED電子時鐘,但是都遇到了問題,在老師的幫助下,我經(jīng)過一次次的修改程序和軟件調(diào)試,最后有一個LED電子時鐘成功。這次課設(shè)使我了解了KEIL 和PROTEUS軟件的使用,為日后自己主動地去設(shè)計一些東西打下了基礎(chǔ)。</p><p> 當然在此期間也出現(xiàn)了不少問題,如
118、:在寫程序的時候,中斷的靈活使用掌握不是很好。但這些問題最后都迎刃而解,讓我知道查閱資料的重要性。</p><p> 通過此次課程設(shè)計.掌握單片機編程的流程,以及程序的調(diào)試方式,了解LED動態(tài)顯示原理及動態(tài)顯示程序設(shè)計方法,我們懂得不管做什么事都要有恒心,只要堅持一切都會會實現(xiàn)的。讓我對單片機的學習激發(fā)了強烈的興趣,也重新讓我溫習了下WORD的使用。感謝老師的教導,感謝同學的幫助。</p><
119、;p><b> 參考文獻</b></p><p> [1]求是科技 《單片機典型模塊設(shè)計實例導航》 .北京:人民郵電出版社</p><p> [2]徐淑華 ,程退安等 《單片微型機原理及應(yīng)用》 .哈爾濱:哈爾濱工業(yè)大學出版社</p><p> [3]孫余凱 《精選實用電子電路260例》 北京:電子工業(yè)出版社</p>
120、;<p> [4]王幸之,鐘愛琴等 《AT89系列單片機原理與接口技術(shù)》 北京:北京航空航天大學出版社</p><p> [5] 周堅 《單片機項目教程》. 北京:北京航空航天大學出版社</p><p> [6]何立民.單片機應(yīng)用系統(tǒng)設(shè)計[M].北京:北京航空航天大學出版社,1993.</p><p> [7]楊志忠 數(shù)字電子技術(shù).高等教育
121、出版社(第二版)[M].2003年</p><p> [8] 李光飛.單片機課程設(shè)計指導[M]. 北京:北京航空航天大學出版社 2007.</p><p> [9] 戴勝華 蔣大明 楊世武 趙俊慧 編著 單片機原理與應(yīng)用[M]. 北京交通大學出出版社 2005</p><p> [10] 朱定華.單片機原理及接口技術(shù)實驗[M].北京:北方交通大學出版社
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子時鐘課程設(shè)計
- 電子時鐘 課程設(shè)計
- 電子時鐘課程設(shè)計
- 電子時鐘課程設(shè)計
- 課程設(shè)計--電子時鐘
- 課程設(shè)計----電子時鐘設(shè)計
- 電子時鐘課程設(shè)計--數(shù)字電子時鐘焊接調(diào)試報告
- 電子時鐘接口課程設(shè)計
- 電子時鐘課程設(shè)計 (2)
- 電子時鐘課程設(shè)計2
- 單片機課程設(shè)計--led數(shù)字顯示電子時鐘
- 電子時鐘課程設(shè)計報告
- eda課程設(shè)計---電子時鐘
- 電子時鐘課程設(shè)計 (2)
- 數(shù)字電子時鐘課程設(shè)計
- 數(shù)字電子時鐘課程設(shè)計
- eda課程設(shè)計--電子時鐘
- 電子時鐘課程設(shè)計--proteus環(huán)境下的電子時鐘設(shè)計
- 電子時鐘課程設(shè)計(論文)
- 數(shù)字電子時鐘課程設(shè)計
評論
0/150
提交評論