版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 課 程 設 計 報 告 書</p><p> 所屬課程名稱 單片機原理與接口技術 </p><p> 題 目 用LCD顯示實時日歷時鐘的應用 </p><p> 分 院 機電學院 </p><p> 專 業(yè)、班 級 機械設
2、計制造及其自動化 B0902 </p><p> 2012 年 7 月 15 日</p><p><b> 目 錄</b></p><p> 課程設計任務書………………………………2</p><p> 總體設計………………………………………3</p><p> 硬件系統(tǒng)
3、設計…………………………………4</p><p> 程序設計………………………………………12</p><p> 程序調試及結果分析…………………………19</p><p> 總結……………………………………………20</p><p> 參考文獻………………………………………21</p><p> 用LCD顯
4、示實時日歷時鐘應用說明書</p><p> 一. 課 程 設 計 任 務 書</p><p> 課程設計題目: 用LCD顯示實時日歷時鐘的應用 </p><p> 課程設計時間:自 2012 年 7 月 2 日起至 2012年 7 月 15 日。</p><p><b> 課程設計要求:&
5、lt;/b></p><p> 1.利用DS1302年月日時分秒,并用LCD顯示。</p><p> 2.硬件部分,根據(jù)設計的任務選定合適的單片機,根據(jù)控制對象設計接口電路。設計的單元電路必須有工作原理,器件的作用,分析和計算過程;</p><p> 3.軟件設計部分,根據(jù)電路工作過程,畫出軟件流程圖,根據(jù)流程圖編寫相應的程序,進行調試并打印程序清單;&
6、lt;/p><p> 4.原理圖設計部分別,根據(jù)所確定的設計電路,利用Protel工具軟件繪制電路原理圖,提供元器件清單。</p><p> 5.將程序運行并做記錄,完成報告。</p><p> 2012 年 7 月 15日</p><p><b> 課程設計評閱意見</b></p><p
7、> 評閱教師: </p><p> 2012年 月 日</p><p><b> 二.總體設計</b></p><p> 實現(xiàn)數(shù)字電子鐘的設計有以下兩種基本方案,現(xiàn)就兩種基本方案的優(yōu)劣進行具體論證,從而說明選擇方案二的理由。</p><p> 方案一:直接
8、用單片機的內部定時器來實現(xiàn)時間。該方案以MCS-51單片機為主控芯片,以MCS-51的內部定時器產生的1s中斷作為時鐘的驅動,然后再通LCD液晶顯示器來組成數(shù)字鐘電路。但是此方案最大的缺點在于單片機89C51產生的1s中斷存在誤差,如果工作時間長的話,數(shù)字時鐘顯示的時間將會出現(xiàn)嚴重的偏差,不夠精確。</p><p> 方案二:使用串行接口時鐘芯片DS1302設計時鐘電路。該設計方案以MCS-51單片機為主控芯片
9、,以串行時鐘芯片DS1302為核心計時芯片,然后再通過一個LCD液晶顯示器組成數(shù)字時鐘電路。更重要的是,DS1302時鐘芯片的加入大大提高了數(shù)字鐘時間的準確性,而且該電路在斷電后不丟失時間和數(shù)據(jù)信息時也使得該方案的研究與提升更具有開發(fā)的意義。</p><p> 本次設計的電路由主控部分(單片機MCS-51)、計時部分(實時時鐘芯片DS1302)、顯示部分(LM044L)3個部分組成。各部分之間相互協(xié)作,構成一個
10、統(tǒng)一的有機整體,實現(xiàn)數(shù)字時鐘的計時功能。現(xiàn)就各部分的硬件電路設計作出如下分析:</p><p> 1. 主控部分(單片機MCS-51)</p><p> MCS-51單片機作為主控芯片,控制整個電路的運行。通過分析我們發(fā)現(xiàn)要想顯示時間,必須先把DS1302中的時間信息通過單片機獲取,存放到40H到46H等RAM單元。并且是實時存放,刷新時間。</p><p>
11、 2. 計時部分(實時時鐘芯片DS1302)</p><p> 時鐘芯片DS1302能夠準確的記錄當前的時間,所以,通過單片機向其寫入命令來獲取相應的時間,而且一個命令字節(jié)控制讀一個時間。 </p><p><b> 3. 顯示部分</b></p><p> LM044L能夠顯示簡單的漢字及數(shù)字,功能十分強大,而且屬于動態(tài)顯示,所以將單片
12、機中存的時間信息傳送到LM044L中。另外還需要循環(huán)賦值。</p><p><b> 三.硬件系統(tǒng)設計</b></p><p><b> AT89C51</b></p><p> AT89S51[3]美國ATMEL公司生產的低功耗,高性能CMOS 8位單片機,片內含4K BytesISP(In-system prog
13、rammable)的可反復擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術制造,兼容標準MCS-51指令系統(tǒng)及AT89C51引腳結構,芯片內集成了通用8位中央處理器和ISP Flash存儲單元。單片機AT89S51強大的功能可為許多嵌入式控制應用系統(tǒng)提供高性價比的解決方案。</p><p> AT89C51芯片的引腳結構如圖1所示: </
14、p><p> 3.1.1功能特性概括: 圖1 AT89C51引腳圖 </p><p> AT89S51提供以下標準功能:40個引腳、4K Bytes Flash片內程序存儲器、128 Bytes的隨機存取數(shù)據(jù)存儲器(RAM)、32個外部雙向輸入/輸出(I/O)口、5個中斷優(yōu)先級2層中斷嵌套中斷、2個數(shù)據(jù)指針、2個16位可編程
15、定時/計數(shù)器、2個全雙工串行通信口、看門狗(WDT)電路、片內振蕩器及時鐘電路。此外,AT89S51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e模式下,CPU暫停工作,而RAM、定時/計數(shù)器、串行通信口、外中斷系統(tǒng)可繼續(xù)工作。掉電模式凍結振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應不同產品的需求。</p><
16、;p> 3.1.2管腳說明:</p><p> P0口:P0口為一個8位漏級開路雙向I/O口,也即地址/數(shù)據(jù)總線復用口。作為輸出口用時,能驅動8個TTL邏輯門電路。對端口寫“1”時,被定義為高阻輸入。</p><p> 在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉換地址(低8位)和數(shù)據(jù)總線復用,在訪問期間激活內部上拉電阻。</p><p> 在F
17、lash編程時,P0口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。</p><p> P1口:P1口是一個帶內部上拉電阻的8位雙向I/O口,P1口的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(I)。</p><
18、p> 在Flash編程和程序校驗期間,P1接收低8位地址。部分端口還有第二功能,如表1所示:</p><p> 表1 P1口部分引腳第二功能</p><p> P2口:P2口是一個帶有內部上拉電阻的8位雙向I/O口, P2口的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內部存
19、在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(I)。</p><p> 在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX@DPTR指令)時,P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)寄存器(例如執(zhí)行MOVX@Ri指令)時,P2口線上的內容(也即特殊功能寄存器(SFR)區(qū)中P2寄存器的內容),在整個訪問期間不改變。</p><p> 在Flash編程或校驗
20、時,P2亦接收高位地址和其它控制信號。</p><p> P3口: P3口是一個帶有內部上拉電阻的雙向8位I/O口, P3口的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對P3口寫“1”時,它們被內部的上拉電阻拉高并可作為輸入端口。作輸入口使用時,被外部信號拉低的P3口將用上拉電阻輸出電流(I)。</p><p> P3口除了作為一般的I/O口線外,更重要的用途是它的第二功
21、能,如表2所示:</p><p> P3口還接收一些用于Flash閃速存儲器編程和程序校驗的控制信號。</p><p> 表2 P3口引腳第二功能</p><p> RST:復位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上的高電平時間將使單片機復位。WDT溢出將使該引腳輸出高電平,設置SFR AUXR的DISRTO位(地址8EH)可打開或關閉該功能。
22、 DISRTO位缺省為RESET輸出高電平打開狀態(tài)。 </p><p> ALE/:當訪問外部存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問外部寄存器,ALE仍以時鐘振蕩頻率的1/6輸出固定的正脈沖信號,因此它可對外輸出時鐘或用于定時目的。值得注意的是:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。</p><p> 對Flash存儲器編程期間
23、,該引腳還用于輸入編程脈沖()。</p><p> 如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只要一條MOVX和MOVC指令才會激活ALE。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應設置ALE無效。</p><p> ?。撼绦虼鎯υ试S()輸出是外部程序存儲器的讀選通信號,當AT89S51由外部程序存儲器取指令(或數(shù)據(jù))時
24、,每個機器周期兩次有效,即輸出兩個脈沖。當訪問外部數(shù)據(jù)存儲器時,沒有兩次有效的信號。</p><p> EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需要注意的是:如果加密位LB1被編程,復位時內部會鎖存EA端狀態(tài)。</p><p> 如EA端保持高電平(接VCC端),CPU則執(zhí)行內部程序存儲器中的指令。<
25、;/p><p> Flash存儲器編程期間,該引腳用于施加+12V編程電壓(VPP)。</p><p> XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入端。</p><p> XTAL2:反向振蕩放大器器的輸出端。</p><p> 3.2 DS1302</p><p> DS1302[1]是美國DAL
26、LAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘芯片,它可以對年、月、日、周日、時、分、秒進行計時,且具有閏年補償功能,工作電壓寬達2.5~5.5V。時鐘可工作在24小時格式或12小時(AM/PM)格式。 DS1302與單片機的接口使用同步串行通信,僅用3條線與之相連接。可采用一次傳送一個字節(jié)或突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內部有一個31×8的用于臨時性存放數(shù)據(jù)的RAM寄存器。DS1302是
27、DS1202的升級產品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時提供了對后背電源進行涓細電流充電的能力。</p><p> 3.2.1 DS1302引腳功能</p><p> DS1302的引腳功能如表3所示,管腳圖如圖2所示</p><p> 表3 DS1302引腳功能表</p><p> 圖2 DS13
28、02管腳圖 </p><p> 3.2.2 DS1302的控制字 </p><p> DS1302的控制字節(jié)如圖3所示: </p><p> 7 6 5 4 3 2 1 0</p><p><b> 圖3控制字節(jié)如圖</b></p>&
29、lt;p> 控制字節(jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到DS1302中。位6如果為0,則表示存取日歷時鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進行寫操作,為1表示進行讀操作,控制字節(jié)總是從最低位開始輸出。</p><p> 3.2.3 DS1302的復位引腳</p><p> 通過把輸入驅動置高電平
30、來啟動所有的數(shù)據(jù)傳送。 輸入有兩種功能:首先,接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,提供了終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作。如果在傳送過程中置為低電平,則會終止此次數(shù)據(jù)傳送,并且I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc≥2.5V之前,必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。</p><p> 3.2.4
31、 DS1302的數(shù)據(jù)輸入輸出</p><p> 在控制指令字輸入后的下一個SCLK時鐘的上升沿時數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302</p><p> 圖4 讀寫數(shù)據(jù)如圖所示</p><p> 的數(shù)據(jù),讀出數(shù)據(jù)時從低位0位至高位7,數(shù)據(jù)讀寫時序如圖4所示:</p>
32、;<p> 3.2.5 DS1302的寄存器</p><p> DS1302共有12個寄存器,其中有7個寄存器與日歷、時鐘相關,存放的數(shù)據(jù)位為BCD碼形式。其日歷、時間寄存器及其控制字見表5。</p><p> 此外,DS1302還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與RAM相關的寄存器等。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器的內容
33、。 DS1302與RAM相關的寄存器分為兩類,一類是單個RAM單元,共31個,每個單元組態(tài)為一個8位的字節(jié),其命令控制字為C0H--FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;再一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個字節(jié),命令控制字為FEH(寫)、FFH(讀)。</p><p> 表5 DS1302的日歷、時鐘寄存器及其控</p><p><b&g
34、t; 3.3電路設計</b></p><p> 3.3.1分電路圖及原理說明</p><p> 本次設計的硬件電路由主控部分(單片機MCS-51)、計時部分(實時時鐘芯片DS1302)、顯示部分(LM044L)3個部分組成。各部分之間相互協(xié)作,構成一個統(tǒng)一的有機整體,實現(xiàn)數(shù)字時鐘的計時功能?,F(xiàn)就各部分的硬件電路設計作出如下論述.</p><p>
35、 3.3.2主控部分(單片機MCS-51)</p><p> MCS-51單片機作為主控芯片,控制整個電路的運行。其外圍電路主要有兩部分:復位電路和晶體振蕩器。</p><p> 復位電路的功能是:系統(tǒng)上電時提供復位信號,直至系統(tǒng)電源穩(wěn)定后,撤消復位信號。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時才撤銷復位信號,以防電源開關或電源插頭分-合過程中引起的抖動而影響復位。該設計采用含有二極管的
36、復位電路,復位電路可以有效的解決電源毛刺和電源緩慢下降(電池電壓不足)等引起的問題,在電源電壓瞬間下降時可以使電容迅速放電,一定寬度的電源毛刺也可令系統(tǒng)可靠復位。</p><p> 晶體振蕩電路:MCS-51單片機中有一個用于構成內部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別為該反向放大器的輸入端和輸出端。這個反向放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構成自激振蕩器。外接石英晶體(或陶
37、瓷諧振器)及電容C1、C2接在放大器的反饋回路中構成并聯(lián)振蕩電路。對外接電容C1、C2雖然沒有十分嚴格的要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程度及溫度穩(wěn)定性。如果使用石英晶體,電容應該使用30pF10pF。電路圖如下:</p><p><b> 圖5主控部分電路圖</b></p><p> 3.3.3計時部分(實時時鐘芯片
38、DS1302)</p><p> 時鐘芯片DS1302與外圍電路的連接:與MCS-51單片機的接口是由3條線來完成的,MCS-51單片機的P1.0與時鐘芯片的數(shù)據(jù)傳輸端I/O相連,P1.1用來作為DS1302輸入時鐘SCLK控制端,P1.2控制DS1302的復位輸入端RST。DS1302的X1和X2管腳外接標DS1302的復位引腳通過把輸入驅動置高電平來啟動所有的數(shù)據(jù)傳送。 輸入有兩種功能:首先,接通控制邏輯,
39、允許地址/命令序列送入移位寄存器;其次,提供了終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作。如果在傳送過程中置為低電平,則會終止此次數(shù)據(jù)傳送,并且I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc≥2.5V之前,必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。</p><p><b> 計時部分電路圖 </b></p&
40、gt;<p> 3.4 Protues仿真圖</p><p><b> protues仿真</b></p><p><b> 四.程序設計</b></p><p><b> 4.1序設計流程圖</b></p><p> 圖8 寫DS1302流程圖
41、 圖9 讀DS1302流程圖</p><p> 單片機AT89S51對時鐘芯片DS1302的控制需要通過程序驅動來實現(xiàn),程序主要完成兩個方面的任務:①利用單片機實現(xiàn)對DS1302寄存器的地址定義和控制字的寫入,②實現(xiàn)對DS1302的數(shù)據(jù)讀取。</p><p> 初始化DS1302要求為低電平,SCLK為低電平。 被設置為高電平就啟動了一個數(shù)據(jù)傳送的過程。SCLK的16
42、個方波完成一次數(shù)據(jù)傳送,前8個方波用于輸入命令字節(jié),后8個方波用于數(shù)據(jù)的輸出(讀DS1302)或數(shù)據(jù)的輸入(寫DS1302)。在SCLK的上升沿,I/O線上的數(shù)據(jù)被送入DS1302;在SCLK的下降沿,DS1302輸出數(shù)據(jù)在I/O線上。寫和讀各需要一個程序,寫DS1302程序流程圖如圖8所示,讀DS1302程序流程圖如圖9所示。總程序的流程圖如圖10所示。</p><p> 圖10 總程序的流程圖</p&
43、gt;<p><b> 4.2程序如下</b></p><p> IO EQU P1.0</p><p> SCLK EQU P1.1</p><p> RST EQU P1.2</p><p> RW BIT P1.6</p><p> RS BI
44、T P1.7</p><p> E BIT P1.5</p><p> ORG 0000H</p><p> JMP MAIN</p><p> ORG 0030H</p><p><b> MAIN:</b></p><p> CALL
45、INIT ;對LCD進行初始化</p><p> MOV A,#83H ;DDRAM的地址進行設置,選擇從哪里開始顯示</p><p><b> CALL WRC</b></p><p> MOV A,#54H ;T的ASCII碼</p><p><b> CALL
46、 WRD</b></p><p> MOV A,#49H ;I的ASCII碼</p><p><b> CALL WRD</b></p><p> MOV A,#4DH ;M的ASCII碼</p><p><b> CALL WRD</b></p&g
47、t;<p> MOV A,#45H ;E的ASCII碼</p><p> CALL WRD </p><p> MOV A,#3AH ;:的ASCII碼</p><p> CALL WRD </p><p><b> LOP5:</b><
48、/p><p> MOV 30H,#8 ;以下為將DS1302的數(shù)據(jù)存到單片機的40H到46H中</p><p> MOV R0,#40H</p><p> MOV R7,#7</p><p> MOV R6,#81H</p><p><b> LOP:</b><
49、/p><p> CLR P1.2</p><p> CLR P1.1</p><p> SETB P1.2</p><p> MOV B,R6</p><p> ACALL WRITE</p><p> ACALL READ</p><p> MO
50、V @R0,A</p><p><b> INC R0</b></p><p><b> INC R6</b></p><p><b> INC R6</b></p><p> DJNZ R7,LOP ;讀出DS1302中的數(shù)據(jù)存到單片機中<
51、;/p><p> MOV A,#88H ;取出42H中的數(shù)據(jù)(小時)并顯示</p><p><b> CALL WRC</b></p><p> MOV A,42H ;顯示小時</p><p> ANL A,#0F0H</p><p><b> SW
52、AP A </b></p><p> ADD A,#30H</p><p><b> ACALL WRD</b></p><p> MOV A,42H</p><p> ANL A,#0FH</p><p> ADD A,#30H</p>&l
53、t;p><b> ACALL WRD</b></p><p> MOV A,#8AH ;對DDRAM地址進行設置</p><p><b> CALL WRC</b></p><p> MOV A,#3AH ;:的ASCII碼</p><p><b>
54、 CALL WRD</b></p><p> MOV A,41H ;顯示分鐘</p><p> ANL A,#0F0H</p><p><b> SWAP A </b></p><p> ADD A,#30H</p><p><b> AC
55、ALL WRD</b></p><p> MOV A,41H</p><p> ANL A,#0FH</p><p> ADD A,#30H</p><p><b> ACALL WRD</b></p><p> MOV A,#8DH ;對DDRAM地
56、址進行設置</p><p><b> CALL WRC</b></p><p> MOV A,#3AH ;:的ASCII碼</p><p><b> CALL WRD</b></p><p> MOV A,40H ;顯示秒</p><p>
57、ANL A,#0F0H</p><p><b> SWAP A </b></p><p> ADD A,#30H</p><p><b> ACALL WRD</b></p><p> MOV A,40H</p><p> ANL A,#0FH&l
58、t;/p><p> ADD A,#30H</p><p><b> ACALL WRD</b></p><p> MOV A,#0D4H ;對DDRAM地址進行設置</p><p><b> CALL WRC</b></p><p> MOV A,#5
59、8H ;X的ASCII碼</p><p><b> CALL WRD</b></p><p> MOV A,#51H ;Q的ASCII碼</p><p><b> CALL WRD</b></p><p><b> DEC 45H</b>&
60、lt;/p><p> MOV A,45H ;顯示星期</p><p> ANL A,#0FH</p><p> ADD A,#30H</p><p><b> ACALL WRD</b></p><p> MOV A,#0C3H</p><p&g
61、t;<b> CALL WRC</b></p><p> MOV A,#44H ;D的ASCII碼</p><p><b> CALL WRD</b></p><p> MOV A,#41H ;A的ASCII碼</p><p><b> CALL WR
62、D</b></p><p> MOV A,#54H ;T的ASCII碼</p><p><b> CALL WRD</b></p><p> MOV A,#45H ;A的ASCII碼</p><p><b> CALL WRD</b></p>
63、;<p> MOV A,#3AH ;:的ASCII碼</p><p> CALL WRD </p><p> MOV A,46H ;顯示年</p><p> ANL A,#0F0H</p><p><b> SWAP A </b></p>&l
64、t;p> ADD A,#30H</p><p><b> ACALL WRD</b></p><p> MOV A,46H</p><p> ANL A,#0FH</p><p> ADD A,#30H</p><p> ACALL WRD </p>
65、<p> MOV A,#0CAH ;對DDRAM地址進行設置</p><p><b> CALL WRC</b></p><p> MOV A,#2DH ;-的ASCII碼</p><p><b> CALL WRD</b></p><p>
66、 MOV A,44H ;顯示月</p><p> ANL A,#0F0H</p><p><b> SWAP A </b></p><p> ADD A,#30H</p><p><b> ACALL WRD</b></p><p>
67、MOV A,44H</p><p> ANL A,#0FH</p><p> ADD A,#30H</p><p><b> ACALL WRD</b></p><p> MOV A,#0CDH ;對DDRAM地址進行設置</p><p><b>
68、CALL WRC</b></p><p> MOV A,#2DH ;-的ASCII碼</p><p> CALL WRD </p><p> MOV A,43H ;顯示日</p><p> ANL A,#0F0H</p><p><b> S
69、WAP A </b></p><p> ADD A,#30H</p><p><b> ACALL WRD</b></p><p> MOV A,43H</p><p> ANL A,#0FH</p><p> ADD A,#30H</p>&
70、lt;p><b> ACALL WRD</b></p><p> AJMP LOP5</p><p> WRITE: ;以下全為子程序</p><p> MOV 30H,#8</p><p><b> LOP1: </b></p>
71、<p><b> MOV A,B</b></p><p><b> RRC A</b></p><p><b> MOV B,A</b></p><p> MOV P1.0,C</p><p> SETB P1.1</p>
72、<p> CLR P1.1</p><p> DJNZ 30H,LOP1</p><p> RET ;寫入命令子程序DS1302</p><p><b> READ:</b></p><p> MOV 30H,#8</p><p>
73、 LOP2: </p><p> MOV C,P1.0</p>
74、;<p><b> RRC A</b></p><p> SETB P1.1</p><p> CLR P1.1</p><p> DJNZ 30H,LOP2</p><p> RET ;讀出數(shù)據(jù)子程序DS1302</p><p>
75、;<b> INIT:</b></p><p> MOV A,#01H</p><p><b> CALL WRC</b></p><p> MOV A,#38H</p><p><b> CALL WRC</b></p><p> MO
76、V A,#0CH</p><p><b> CALL WRC</b></p><p> MOV A,#06H</p><p><b> CALL WRC</b></p><p> RET ;對液晶顯示器初始功能設置</p><p&
77、gt;<b> WRC:</b></p><p><b> CLR RS</b></p><p><b> CLR RW</b></p><p><b> SETB E</b></p><p><b> MOV P2,A</
78、b></p><p><b> CLR E</b></p><p> CALL DELAY</p><p> RET ;寫入LCD命令的程序</p><p><b> WRD:</b></p><p><b> SET
79、B RS</b></p><p><b> CLR RW</b></p><p><b> SETB E</b></p><p><b> MOV P2,A</b></p><p><b> CLR E</b></p>
80、<p> CALL DELAY</p><p> RET ;寫入LCD要顯示的數(shù)據(jù)的</p><p><b> DELAY:</b></p><p> MOV R7,#035H</p><p><b> LP1:</b></p>
81、<p> MOV R6,#03FH</p><p><b> DJNZ R6,$</b></p><p> DJNZ R7,LP1</p><p> RET ;顯示數(shù)據(jù)的延時 </p><p><b> END</b></p>
82、<p> 五.程序調試及結果分析</p><p><b> 5.1程序調試</b></p><p> 由圖可知程序調試過程中無錯誤。</p><p> 5.2結果分析如圖11所示</p><p><b> 圖11 實驗結果圖</b></p><p>
83、 由圖11可以看出LM044L可以正常顯示時間,而且顯示時間準確無誤。</p><p><b> 六.總結</b></p><p> 設計,使我們對單片機的了解有了更加深一步,我發(fā)現(xiàn)只有動手做才會孰能技巧,還有對材料的整理和理解。這次設計運用到的知識很多方面,尤其是單片機,像AT89C51,引腳多,硬件內部線路接通,所以用起來很方便,還有ds1302芯片與單片機之
84、間的連接,以及如入使用ds1302芯片。當然也要對這些元器件作相應調查。主要就是電路原理圖,還有對引腳的作用熟悉。對于軟件方面則是靈活運用單片機有關的程序語言,還有很多擴展功能,由于知識匱乏,但是理論知識還是比較詳細的。我們最大的成功之處是在這整個過程,動腦尋求解決一個一個問題的辦法,對程序是不斷思索,務必寫出很簡單的程序來,使得電子時鐘能做成功!</p><p> 本設計利用單片機AT89S51控制串行實時時
85、鐘芯片DS1302構成數(shù)字時鐘電路,實現(xiàn)計時功能。該電路使用簡單的三線接口,為單片機節(jié)省大量的接口資源,時鐘芯片DS1302帶有后備電池,具備對后背電源進行涓細電流充電的能力,保證電路斷電后仍保存時間和數(shù)據(jù)信息,這些優(yōu)點解決了目前常用實時時鐘占用單片機資源多以及計時不可靠等缺點。該時鐘功能強大,性能優(yōu)越,能為很多領域,特別是對時鐘工作的精確性和可靠性有較高要求的場合,提供較好的實時時鐘。但是,由于DS1302易受環(huán)境影響,會使該電路出現(xiàn)
86、時鐘精度不高、時鐘混亂[5]等問題,還有待繼續(xù)研究和改進。</p><p> 89S51控制串行實時時鐘芯片DS1302構成數(shù)字時鐘電路,實現(xiàn)計時功能。該電路使用簡單的三線接口,為單片機節(jié)省大量的接口資源,時鐘芯片DS1302帶有后備電池,具備對后背電源進行涓細電流充電的能力,保證電路斷電后仍保存時間和數(shù)據(jù)信息,這些優(yōu)點解決了目前常用實時時鐘占用單片機資源多以及計時不可靠等缺點。該時鐘功能強大,性能優(yōu)越,能為很
87、多領域,特別是對時鐘工作的精確性和可靠性有較高要求的場合,提供較好的實時時鐘。但是,由于DS1302易受環(huán)境影響,會使該電路出現(xiàn)時鐘精度不高、時鐘混亂[5]等問題,還有待繼續(xù)研究和改進。</p><p><b> 七.參考文獻</b></p><p> 1.《單片機原理及應用教程》(第2版) 趙全利 肖興達主編 機械工業(yè)出版社 2008年6月</p&
88、gt;<p> 2.《電子設計自動化技術基礎》 馬建國、孟憲元編 清華大學出</p><p> 社 2004年4月</p><p> 3.《實用電子系統(tǒng)設計基礎》 姜威 2008年1月</p><p> 4.《單片機系統(tǒng)的PROTEUS設計與仿真》 張靖武 2007年4月</p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 用lcd顯示實時日歷時鐘單片機課程設計
- 實時日歷和時鐘顯示單片機畢業(yè)設計
- 單片機畢業(yè)設計---實時日歷和時鐘顯示設計
- 單片機課程設計--電子日歷時鐘顯示器設計
- 《智能儀器設計》課程設計-- 實時日歷時鐘顯示系統(tǒng)的制作
- 畢業(yè)設計開題報告--單片機實時日歷和時鐘的顯示
- 單片機畢業(yè)設計開題報告---實時日歷和時鐘的顯示
- 外文翻譯---基于基于單片機進行實時日歷和時鐘顯示設計
- 單片機畢業(yè)設計---基于51系列的單片機進行的實時日歷和時鐘顯示設計
- 單片機日歷時鐘開發(fā)
- 單片機畢業(yè)設計--基于51系列的單片機進行的實時日歷和時鐘顯示設計
- ds1302時鐘數(shù)碼管課程設計--用數(shù)碼管顯示實時日歷時鐘的設計
- 畢業(yè)設計-基于51系列的單片機進行的實時日歷和時鐘顯示設計
- lcd顯示設計單片機課程設計
- 畢業(yè)設計---基于51系列的單片機進行的實時日歷和時鐘顯示設計
- 單片機lcd系統(tǒng)顯示課程設計
- 基于51系列的單片機進行的實時日歷和時鐘顯示畢業(yè)論文
- 單片機日歷時鐘開發(fā)定稿.doc
- 單片機日歷時鐘開發(fā)初稿.doc
- 單片機課程設計lcd顯示屏設計
評論
0/150
提交評論