版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 畢 業(yè) 設(shè) 計(論 文)</p><p> 設(shè)計(論文)題目: 基于At89C系列的 </p><p><b> 電子萬年歷 </b></p><p> 系 別: 電子工程系 1</p><p> 專 業(yè): 通信工程 1</p
2、><p> 班 級: </p><p> 姓 名: </p><p> 學 號: 1</p><p> 指導教師: </p><p> 完成時間: </p&
3、gt;<p><b> 摘要</b></p><p> 在當代繁忙的工作與生活中,時間與我們每一個人都有非常密切的關(guān)系,每個人都受到時間的影響。我們必須對時間有一個度量,因此產(chǎn)生了鐘表。鐘表的發(fā)展是非常迅速的,從剛開始的機械式鐘表到現(xiàn)在普遍用到的數(shù)字式鐘表,即使現(xiàn)在鐘表千奇百怪,但是它們都只是完成一種功能——計時,只是工作原理不同而已,在人們的使用過程中,逐漸發(fā)現(xiàn)了鐘表的功
4、能太單一,沒有更大程度上的滿足人們的需求。因此在這里,我想能不能把一些輔助功能加入鐘表中去。在此設(shè)計中所設(shè)計的鐘表具有鐘表的功能。</p><p> 本系統(tǒng)采用了以廣泛使用的單片機技術(shù)為核心,軟硬件結(jié)合,使硬件部分大為簡化,提高了系統(tǒng)穩(wěn)定性,并采用LCD顯示電路、鍵盤電路,本方案設(shè)計出的萬年歷可以顯示日期時間、農(nóng)歷,設(shè)置鬧鈴功能。</p><p> In busy job of the
5、 present age and life, time has very close something to do with all of us , everyone all accepts the time effect. we must have a magnanimity to time , have produced clock and watch therefore. Development of clock and wat
6、ch is very prompt , use clock and watch to the digital from just originally mechanical dyadic clock and watch to now commonly, even if now clock and watch is exceedingly strange, they accomplish but one kind of time func
7、tion of function all only , are only opera</p><p> And the monolithic machine technology that this system has adopt to use broad usage has been that core , soft hardware combine , the hardware part has faci
8、litated a messenger extremely , has raised system stability, adopt LCD demonstrates circuit , keyboard circuit , The perpetual calendar that the scheme designs out can demonstrate date time , unar calendar , set up the n
9、oisy bell function.</p><p> 關(guān)鍵字:AT89C52、字符液晶顯示模塊、DS1302</p><p><b> 目 錄</b></p><p> 摘 要…………………………………………………………………………………………………………2</p><p> 關(guān)鍵字…………………
10、…………………………………………………………………………………………2</p><p> 第一章 概 述……………………………………………………………………………………………………4</p><p> 1.1 課題的背景研究意義………………………………………………………………………………………4</p><p> 1.2 本課題實現(xiàn)的功能及要求……………………
11、……………………………………………………………4</p><p> 1.3 方案論證……………………………………………………………………………………………………4</p><p> 1.4 章節(jié)安排……………………………………………………………………………………………………4</p><p> 第二章 系統(tǒng)硬件設(shè)計</p><p>
12、2.1 硬件電路設(shè)計總框圖………………………………………………………………………………………5</p><p> 2.2 主控制器AT89C52的介紹…………………………………………………………………………………5</p><p> 2.3 其余應(yīng)用電路的介紹………………………………………………………………………………………8</p><p><b>
13、 第三章 軟件設(shè)計</b></p><p> 3.1 軟件設(shè)計總述……………………………………………………………………………………………13</p><p> 3.2 程序模塊介紹……………………………………………………………………………………………13</p><p> 第四章 調(diào)試和總結(jié)</p><p> 4.1
14、 硬件調(diào)試…………………………………………………………………………………………………20</p><p> 4.2 軟件調(diào)試…………………………………………………………………………………………………20</p><p> 4.3 聯(lián)調(diào)………………………………………………………………………………………………………21</p><p> 第五章 心得體會…………
15、…………………………………………………………………………………22</p><p><b> 參考文獻 </b></p><p> 附錄一 匯編源程序…………………………………………………………………………………………23</p><p> 附錄二 仿真電路圖…………………………………………………………………………………………35<
16、/p><p> 附錄三 參考文獻……………………………………………………………………………………………36</p><p><b> 第一章 概述</b></p><p> 1.1 課題的背景、研究意義 </p><p> 隨著電子技術(shù)的迅速發(fā)展,時間的流逝,從觀察太陽、擺鐘到現(xiàn)在的電子鐘, 人類不斷研究、不斷
17、 創(chuàng)新?,F(xiàn)市場的電子鐘具有低功耗的實時時鐘電路,它們可以對年、月、日、周日、時、分、秒進行計時,還具有潤年補償?shù)裙δ?,且使用壽命長、誤差小、使用方便。電子萬年歷的出現(xiàn)給人們的生活帶來的諸多方便。目前,國際上的電子萬年歷正從模擬式向數(shù)字式、由集成化向智能化的方向飛速發(fā)展。</p><p> 綜上所述此萬年歷
18、具有讀取方便、顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點,符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。</p><p> 1.2實現(xiàn)的功能及要求 </p><p><b> ?。ǎ保┗疽?</b></p><p> ?、倬哂心辍⒃?、日、星期、時、分、秒等功能;</p><p> ?、诰邆淠?、月、日、星期、
19、時、分、秒校準功能 。</p><p> ?、坌蕰r具有閃爍功能。</p><p> ( 2 ) 創(chuàng)新要求</p><p> 具有上、下課響鈴功能;</p><p><b> 1.3 方案論證</b></p><p> 顯示模塊選擇方案和論證:</p><p>
20、方案一:采用LED數(shù)碼管動態(tài)掃描,LED數(shù)碼管價格適中,對于顯示數(shù)字最合適,而且采用動態(tài)掃描法與單片機連接時,占用的單片機口線少。但這里顯示位數(shù)多,所要求的數(shù)碼管多,成本更高。</p><p> 方案二:采用LCD液晶顯示屏,液晶顯示屏的顯示功能強大,可顯示大量文字,圖形,顯示多樣,清晰可見,雖價格昂貴,但接口線多,所以在此設(shè)計中采用LCD液晶顯示屏。</p><p> 時鐘芯片的選擇
21、方案和論證:</p><p> 方案一:采用DS1302時鐘芯片實現(xiàn)時鐘,DS1302芯片是一種高性能的時鐘芯片,可自動對秒、分、時、日、周、月、年以及閏年補償?shù)哪赀M行計數(shù),而且精度高,結(jié)構(gòu)簡單。所以采用DS1302時鐘芯片。</p><p> 方案二:直接采用單片機定時計數(shù)器提供秒信號,使用程序?qū)崿F(xiàn)年、月、日、星期、 時、分、秒計數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,
22、實現(xiàn)的時間誤差較大。且算法復雜,所以不采用此方案。</p><p> 經(jīng)論證本次設(shè)計采用采用AT89S52作為主控制系統(tǒng); DS1302提供時鐘; 采用LCD液晶作為顯示。</p><p><b> 1.4章節(jié)安排</b></p><p><b> 第一章概述</b></p><p><
23、b> 第二章系統(tǒng)硬件設(shè)計</b></p><p><b> 第三章系統(tǒng)軟件設(shè)計</b></p><p><b> 第四章調(diào)試</b></p><p><b> 第五章心得體會</b></p><p> 第二章 系統(tǒng)硬件設(shè)計</p>&
24、lt;p> 2.1硬件的設(shè)計總框圖</p><p> 本次設(shè)計的基于單片機控制的電子萬年歷,其具有年、月、日、星期、時、分、秒的顯示等功能;具有時間與陰、陽歷能夠自動關(guān)聯(lián);可以設(shè)置鬧鈴的功能。其具體實現(xiàn)過程就是由主控制發(fā)送信息給DS1302時鐘芯片再由時鐘芯片反饋給單片機,再由主控制器傳送給LCD顯示信息。并且可以在鍵盤設(shè)置模塊輸入修改時間,設(shè)置鬧鈴等信息,當鍵盤設(shè)置時間、日期時,單片機主控制根據(jù)輸入信
25、息,通過串口通信傳送給DS1302時鐘芯片,DS1302芯片讀取當前新信息產(chǎn)生反饋傳送給單片機,然后單片機根據(jù)控制最后輸送顯示信息到LCD模塊上顯示。</p><p> 2.2主控制器AT89C52介紹 </p><p> 1.AT89C52功能介紹</p><p> AT89C52是8字節(jié)FLASH閃速存儲器,256字竹內(nèi)部RAM , 32個I/O口線,3個
26、16 位定時/計數(shù)器,一個6向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。同時,AT89c52可降至OHz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電上作模式??臻e方式停止CPU 的工作,但允許RAM,定時/計數(shù)器.串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM 中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復位.</p><p><b> 2.功能引腳說明:</b
27、></p><p><b> Vcc:電源電壓</b></p><p><b> GND:地</b></p><p> P0:P0口是一組8位漏極開路型雙向1/O 口,也即地址/數(shù)據(jù)總線復用口。作為輸出口用時.每位能吸收電流的方式驅(qū)動8個TTL 邏輯門電路,對端口P0 寫“1”時,可作為高阻抗輸入端用。<
28、/p><p> 在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復用,在訪問期間激活內(nèi)部 上拉電阻。</p><p> 在FLASH由編程時,P0口接收指令字節(jié),而在程序校驗時,輸出指令字 節(jié),校驗時,要求外接上拉電阻。</p><p> P1口:PI 是一個帶內(nèi)部上拉電阻的8位雙向I/O口,Pl的輸出緩沖級可驅(qū)動(吸收或輸出電流4個T
29、TL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作 輸入口使用時,因為內(nèi)部存在上拉電阻某個引腳被外部信號拉低時會輸出一個電流IIL</p><p> 與AT89C51不同之處是,Pl.0 和P1.1還可分別作為定時/計數(shù)器2 的外部計數(shù)輸入(Pl.0/T2 )和輸入(P1.1/T2EX) , </p><p> FLASH編程和程序校驗期間,Pl接收
30、低8位地址。</p><p> PI.O 和PI.l 的第二功能:</p><p> P2 是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯電路。對端口P2寫“l(fā)",通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口, 作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(llt )。
31、</p><p> 在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器,P2送出高8 位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器、如執(zhí)行MOVX@RI指令)時,P2口輸出P2鎖存器的內(nèi)容。</p><p> FLASH編程或校驗時,P2亦接收高位地址和一些控制信號。</p><p> P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅(qū)動
32、(吸收或輸出電流)4個TTL邏輯門電路。對P3口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時,被外部拉低的P3口將用上拉電阻輸出電流(IIL) . </p><p> P3口除了作為一般的I/0口線外,更重要的用途是它的第二功能,如下表所示:</p><p> P3.0 RXD(串行輸入口〕 </p><p> P3.1 TXD(串行輸出口〕 &
33、lt;/p><p> P3.2 INTO(外中斷0〕 </p><p> P3.3 INTO(外中斷l(xiāng)) </p><p> P3.4 TO (定時/計數(shù)器0 ) </p><p> P3.5 Tl (定時/計數(shù)器l ) </p><p> P3.6 WR(外部數(shù)據(jù)存儲器寫選通) </p><
34、p> P3.7 RD(外部數(shù)據(jù)存儲器讀選通) </p><p> 此外,P3口還接收一些用于FLASH閃速存儲器編程和程序校驗的控制信號。</p><p> RST:復位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復位。</p><p> ALE/PROG:當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖
35、存地址的低8位字節(jié).一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。對Flash存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位.可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活,此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,
36、應(yīng)設(shè)置ALE禁止位無效。</p><p> PSEN:程序儲存允許PSEN輸出是外部程序存儲器的讀選通信號,當AT89C52由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效,即輸出兩個脈沖。在此期間,當訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。</p><p> EA/VPP:外部訪問允許。欲使CPU 僅訪問外部程序存儲器(地址為0000H-FFFFH ) , EA端
37、必須保持低電平(接地).需注怠的是:如果加密位LBI被編程,復位時內(nèi)部會鎖存EA端狀態(tài)。</p><p><b> 3.最小系統(tǒng)</b></p><p> 單片機最小系統(tǒng)包括時鐘電路、電源和復位電路等,是單片機工作的基本要求。單片機控制整個系統(tǒng)的工作,一方面讀取日歷時鐘芯片中的日期等數(shù)據(jù),檢測是否需要設(shè)置,并處理相應(yīng)的按鍵。另一方面,控制顯示器的工作,將各種數(shù)據(jù)送
38、到液晶顯示器去顯示。</p><p><b> 時鐘電路</b></p><p> 80C52型單片機內(nèi)有一增益反相放大器,振蕩頻率取決于石英晶體的振蕩頻率。范圍可取1。2—12MHZ,C01、C02主要起頻率微調(diào)和穩(wěn)定作用。</p><p><b> 復位電路</b></p><p> 單
39、片機在開關(guān)機時都需要復位,以便中央處理器CPU及其他功能部件都RC構(gòu)成處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。80C51的RST引腳是復位信號的輸入端。復位信號高電平有效,持續(xù)時間需要24個時鐘周期以上。</p><p> RC構(gòu)成微分電路,在接電瞬間,產(chǎn)生一個微分脈沖,其寬度若大于2個機器周期,80C51型單片機將復位。為保證微分脈沖寬度足夠大,RC時間常數(shù)應(yīng)大于2個機器周期。一般取10uF電容、8.2
40、K歐姆電阻。</p><p><b> 4.振蕩器特性:</b></p><p> XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。<
41、;/p><p><b> 2.3其余電路介紹</b></p><p><b> 2.3.1顯示電路</b></p><p> 液晶顯示器的接口有兩種:一種是總線式接口電路方式;另一種是非總線接口電路方式。總線式接口方式是把液晶顯示器看做外部的數(shù)據(jù)存儲器,訪問液晶顯示器就像訪問數(shù)據(jù)存儲器的一個單元一樣,采用這種方式能充分發(fā)
42、揮單片機的總線讀寫功能,便于升級和擴展。而非總線方式是直接利用IO口進行讀寫,較靈活,不便于升級。這里采用總線式接口方式。接口時要注意顯示器的功能信號E是高電平有效,所以要取反。這里使用的液晶顯示器為LCD1602為字符點陣式液晶顯示器。可以顯示16×2個字符,而要顯示日期字符有23個,可以滿足要求。</p><p> 1、LCD模塊接口引腳功能</p><p> 液晶顯示模
43、塊具有體積小、功耗低、顯示內(nèi)容豐富、超薄輕巧等優(yōu)點,在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用。目前字符型液晶顯示模塊已經(jīng)是單片機應(yīng)用設(shè)計中最常用的信息顯示器件。這里向大家介紹一款LCD1602液晶顯示模塊,它可以顯示兩行,每行16個字符,采用單+5V電源供電,外圍電路配置簡單,價格便宜,具有很高的性價比。</p><p><b> 2. 硬件電路</b></p><
44、p> DS1302的4、5、6的三個管腳是其控制位。其7、8、9、10、11、12、13、14管腳是總線接口。1管腳是電源地。2管腳是電源接口。</p><p> 3、LCD1602與AT89c52的接口</p><p> AT89c52的P1口直接與液晶模塊的數(shù)據(jù)總線D0~D7相連;P2 口的0,1,2腳分別與液晶模塊的RS、RW、E腳相連?;瑒幼?阻器用于調(diào)整液晶顯示的亮度
45、。</p><p> 液晶顯示器的接口有兩種:一種是總線式接口電路方式;另一種是非總線接口電路方式。總線式接口方式是把液晶顯示器看做外部的數(shù)據(jù)存儲器,訪問液晶顯示器就像訪問數(shù)據(jù)存儲器的一個單元一樣,采用這種方式能充分發(fā)揮單片機的總線讀寫功能,便于升級和擴展。而非總線方式是直接利用IO口進行讀寫,較靈活,不便于升級。這里采用總線式接口方式。接口時要注意顯示器的功能信號E是高電平有效,所以要取反。這里使用的液晶顯示
46、器為LCD1602為字符點陣式液晶顯示器。可以顯示16×2個字符,而要顯示日期字符有23個,可以滿足要求。</p><p><b> 2.3.2時鐘電路</b></p><p> DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當Vcc2大
47、于Vcc1+0.2V時,Vcc2給DS1302供電。當Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作。如果在傳送
48、過程中RST置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc>2.0V之前,RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向),后面有詳細說明。SCLK為時鐘輸入端。 下圖為DS1302的引腳功能圖:</p><p> 引腳功能(如圖 6)</p><p> VCC1.VCC2:電源引腳 。
49、 </p><p> 其中VCC2接主電源 .VCC1接備用電源。 </p><p> GND:接地。輸出數(shù)據(jù)。</p><p> X1、X2:32.768kHz。晶振引腳。</p><p> RST為復位端,高電平時允許I/O端進行數(shù)據(jù)傳輸,低電平則禁止數(shù)據(jù)傳送且使I/O端呈高阻狀態(tài);I/
50、O為串行數(shù)據(jù)輸入、輸出端,所有輸入、輸出數(shù)據(jù)的傳送順序均以最低位LSB打頭,最高位MSB結(jié)束;SCLK為同步時鐘脈沖端,其上升沿將I/O端數(shù)據(jù)按位寫入DS1302,下降沿使DS1302按位輸出數(shù)據(jù)至I/O端;VCC2、VCC1為主電源和備份電源端,當主電源VCC2大于備份電源VCC1+0.2V時,由VCC2對芯片供電,否則,由VCC1對芯片供電。工作電壓范圍為2.5~5.5 V,工作電源和備份電源雙引腳輸入,功耗很低,當工作電壓為2.5
51、 V時正常工作,所需電流不超過300 nA。另外,如果選擇了涓流充電功能,在正常情況下,主電源還可對備份電源進行慢速充電,有效延長了備份電源的使用壽命,保證了系統(tǒng)時間的連續(xù)可靠運行。</p><p> 內(nèi)部有振蕩器。若采用外部振蕩信號時。32768Hz的信號從 X1腳輸入.x2腳懸空。 CE:片選端,高電平有效 ,在有些早期資料中該引腳標成爪ST,實際功能一樣。CE端接通控制邏輯,當其為‘0”時 ,IO引腳變
52、為高阻截狀態(tài),所有的數(shù)據(jù)傳送中止,當其為‘1’時,允許數(shù)據(jù)傳送。CE由‘0’至‘1’時。SCIX必須為“0”。 </p><p> DS1302的內(nèi)部主要由移位寄存器、指令和控制邏輯、振蕩分頻電路、實時時鐘以及RAM組成。每次操作時,必須首先把CE置為高電平。再把提供地址和命令信息的8位裝入移位寄存器。數(shù)據(jù)在SCLK的上升沿串行輸入。無論是讀周期還是寫周期發(fā)生,也無論傳送方式是單字節(jié)還是多字節(jié),開始8位將指定內(nèi)
53、部何處被進行訪問。在開始 8個時鐘周期把含有地址信息的命令字裝入移位寄存器之后。緊隨其后的時鐘在讀操作時輸出數(shù)據(jù).</p><p><b> 2.3.3串口電路</b></p><p> DS1302與微處理器的接口電路如下圖所示。該微處理器采用宏晶科技推出AT89C51單片機作為主控芯片,該產(chǎn)品具有片內(nèi)資源豐富、超強抗干擾、高抗靜電、超低功耗、寬電壓、不怕電源抖
54、動、在系統(tǒng)可編程、加密性強、無法解密、可降低單片機時鐘對外部電磁輻射等特點,其良好的性能保證了各個器件的協(xié)調(diào)可靠工作及控制要求。在電路中單片機的P1.7控制DS1302的復位輸入端,P1.4與數(shù)據(jù)輸入/輸出引腳相連,P1.3用來作為 DS1302的輸入時鐘SCLK控制端。由于單片機復位時,所有單片機的端口均為高電平,如果直接用單片機的某一口線同DS1302的RST相連,則影響了系統(tǒng)加電時對DS1302的初始化,從而造成 DS1302計時
55、的不穩(wěn)定。因此,本主電源(5 V)接 VCC2,備份電池采用可充電鎘鎳電池(3.6 V)接 VCC1,可啟用內(nèi)部涓流充電器在主電壓正常時向電池充電,以延長電池使用時間。備份電池也可用1微法以上的超容量電容代替,但需要注意的是備份電池電壓應(yīng)略低于主電源工作電壓。</p><p> 2.3.4鍵盤設(shè)置電路</p><p><b> 1. 鍵盤接口介紹</b></
56、p><p><b> 獨立式鍵盤</b></p><p> 獨立式鍵盤是指直接用I/O口線構(gòu)成單個按鍵電路,每個按鍵占用一條I/O口線,當某個鍵閉合時,相應(yīng)的I/O口線變?yōu)榈碗娖?,當CPU查詢到為低電平的I/O口線時,就可以判別出與其對應(yīng)的鍵處于釋放狀態(tài)。</p><p><b> 行列式鍵盤</b></p>
57、<p> 將I/O口線的一部分作為行線,另一部分作為行線,按鍵設(shè)置在行線的交叉點上。CPU通過其電平的高低來判別鍵是否被按下。但每根線上接有4個按鍵,任何鍵按下都有可能使其電平變低,到底是哪個鍵按下呢?這是采用了“時分復用”的方法,即在一個查詢周期里把時間分為4個間隔,每個時間間隔對應(yīng)一個鍵,在哪個時間間隔查到低電平,則代表是與之相對應(yīng)的鍵被按下。時間間隔的劃分是通過列線P1.4~P1.7來實現(xiàn)的。</p>
58、<p> 依次使列線P1.4~P1.7中的一根輸出為低電平,則只有與之對應(yīng)的鍵按下時,才能使行線為低電平,此時其他列線都輸出高電平,與它們對應(yīng)的鍵按下,不能使行線電平變低,所以就實現(xiàn)了行線的時分復用。</p><p> 由于行列式鍵盤的按鍵數(shù)量比較多,為了使程序簡潔,一般在鍵處理程序中,給予每個鍵一個鍵號,由從列線I/O口輸出的數(shù)據(jù)和從行線I/O口讀入的數(shù)據(jù)得到按鍵的鍵號,然后由該鍵號通過散轉(zhuǎn)表進
59、入各按鍵的服務(wù)程序。</p><p><b> 2.設(shè)置電路介紹</b></p><p> 設(shè)置電路的功能主要是把時間和日期設(shè)置到當前的時間,可以在系統(tǒng)運行中進行。用4個獨立式按鍵完成,分別接到單片機P1口的高4位。第1個按鈕表示是否進行設(shè)置,按下時表示設(shè)置,并且每按一次,在顯示器上分別在年、月、日等日期時間上跳轉(zhuǎn),表示對相應(yīng)的項進行更改;第2個按鈕按下表示對第1
60、個按鈕選中的項進行加1操作;第3個按鈕按下表示進行減1操作;第4個按鈕按下表示停止設(shè)置。只有在第1個按鈕按時才可進行加減操作。其電路如圖3所示。其中電容的作用是消除按鍵的抖動,也可用雙穩(wěn)態(tài)觸發(fā)器去除按鍵時的抖動,同時為了提高可靠性,硬件去抖動的同時,還可以用軟件去抖動的方法。</p><p> 第三章 系統(tǒng)軟件設(shè)計</p><p><b> 3.1軟件設(shè)計總述</b&
61、gt;</p><p> 系統(tǒng)軟件設(shè)計主要包括主程序設(shè)計、日期數(shù)據(jù)采集子模塊程序設(shè)計、按鍵處理子模塊程序設(shè)計和顯示子模塊程序設(shè)計等。主程序主要完成器件的初始化,并判斷有無按鍵按下,并根據(jù)判斷的結(jié)果調(diào)用相應(yīng)的子模塊程序;日期數(shù)據(jù)采集子模塊程序完成相應(yīng)的數(shù)據(jù)采集、處理和保存 ,按鍵處理子模塊程序完成日期的設(shè)置,而顯示子模塊程序只要把上述子模塊儲存的數(shù)據(jù)送去顯示即可。</p><p><
62、b> 程序流程圖</b></p><p><b> 3.2程序模塊介紹</b></p><p><b> 3.2.1顯示模塊</b></p><p> 1.LCD1602的指令系統(tǒng)</p><p> 液晶模塊內(nèi)部的控制器共有11條控制指令,如表1所示,</p>
63、<p> 它的讀寫操作、屏幕和光標的操作都是通過指令編程來實現(xiàn)的。</p><p> ?。ㄕf明:1為高電平、0為低電平)</p><p> 指令1:清顯示,指令碼01H,光標復位到地址00H位置 </p><p> 指令2:光標復位,光標返回到地址00H </p><p> 指令3:光標和顯示模式設(shè)置 </p>
64、;<p> I/D:光標移動方向,高電平右移,低電平左移</p><p> S: 屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效 </p><p> 指令4:顯示開關(guān)控制。</p><p> D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示</p><p> C:控制光標的開與關(guān),高電平表示有
65、光標,低電平表示無光標</p><p> B:控制光標是否閃爍,高電平閃爍,低電平不閃爍 </p><p> 指令5:光標或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標 </p><p> 指令6:功能設(shè)置命令 </p><p> DL:高電平時為4位總線,低電平時為8位總線 </p><p>
66、 N:低電平時為單行顯示,高電平時雙行顯示 </p><p> F: 低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符 </p><p> 指令7:字符發(fā)生器RAM地址設(shè)置 </p><p> 指令8:DDRAM地址設(shè)置 </p><p> 指令9:讀忙信號和光標地址 BF:忙標志位,高電平表示忙,此時模塊不能接收命令或者
67、數(shù)據(jù),如果為低電平表示不忙。 </p><p><b> 指令10:寫數(shù)據(jù) </b></p><p><b> 指令11:讀數(shù)據(jù) </b></p><p> 液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認模塊的忙標志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在
68、哪里顯示字符,表2是HS162-4的內(nèi)部顯示地址.</p><p> 即,第1行的顯示地址應(yīng)為:80H+顯示位置;第2行的顯示地址應(yīng)為:C0H+顯示位置。</p><p> 控制器接口時序說明(HD44780及兼容芯片)</p><p><b> 讀操作時序</b></p><p><b> 寫操作時序
69、</b></p><p><b> 液晶程序</b></p><p><b> 4.子程序流程圖</b></p><p> 3.2.2 時鐘模塊設(shè)計</p><p> 對年、月、13、時、分、秒進行計時</p><p><b> 1.編程思想&
70、lt;/b></p><p> DS1302所進行的一切工作必須先由 CPU向 DS1302發(fā)送命令字節(jié),命令字節(jié)格式如圖 3所示。各位定義如下:命令字節(jié)的最高位 7必須為 “1”,否則禁止對 DS1302進行操作。第 6位是時 鐘/日歷或 RAM 選擇位,如它為 “1,,可對 內(nèi)部 RAM讀寫,如它為“0”可對時鐘/日歷操作。此處所謂 日歷型數(shù)據(jù)即數(shù)據(jù)格式為壓縮型 BCD碼,且數(shù)值必須在它的定義域內(nèi);例
71、如,“月份”的定義域 為 1~12,“秒”的定義域為 0~59等等。所謂RAM 型數(shù)據(jù) 即指一般 16進制數(shù)據(jù)。位 5至位 1為 DS1302內(nèi)部寄存器地址。DS1302有單字節(jié)和多 字節(jié)兩種讀、寫方式。所謂單字節(jié)讀、寫方式即每 次只能從 DS1302中讀、寫 1字節(jié)數(shù)據(jù)。所謂多字節(jié)讀、寫方式則每次可從 DS1302中連續(xù)讀、寫若干字節(jié)數(shù)據(jù)。當位 5至位 1各位均為“1”時,DSI302為多字節(jié)讀、寫方式。最低位 0為“0”表示寫操作,
72、否則為讀操作。命令字節(jié)的傳輸都是從最低位開始。 </p><p> DS1302有12個寄存器,其中有7個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式,其日歷、時間寄存器及其控制字見表。DS1302所有的時間數(shù)據(jù)都放到數(shù)據(jù)寄存器中:</p><p><b> 2. 讀,寫時序</b></p><p> DS1302采用串行方式與微控
73、制器通訊。在片選信號RST變?yōu)楦唠娖胶?,可向芯片發(fā)送指令及讀取數(shù)據(jù)。DS1302的命令字的傳輸從最低位開始。當對 DS1302進行寫數(shù)據(jù)時,首先發(fā)寫控制指令,在控制指令字輸入后的下一個 SCLK時鐘的上升沿,數(shù)據(jù)被寫入 DS1302,數(shù)據(jù)輸入從低位即位 0開始。當對 DS1302進行讀數(shù)據(jù)時,首先發(fā)讀控制指令,在緊跟 8位的控制指令字后的下一個 SCLK脈沖的下降沿讀出 DS1302的數(shù)據(jù),讀出數(shù)據(jù)時從低位 0位至高位 7。注意在 SC
74、LK為高電平期問,不能讀 I/0線,此期間 l/O端為高阻狀態(tài)。因此,在程序設(shè)計時應(yīng)保證在 SCLK上升沿之前讀 I/O線,即可正確讀出時鐘數(shù)據(jù)。 </p><p> DS1302的讀,寫時序如網(wǎng)所示。輸入數(shù)據(jù)時.在 SCLK上升沿 .砌 輸入的數(shù)據(jù)位被有效接受輸出數(shù)據(jù)時,在SCLK下降沿時砌 輸出數(shù)據(jù)位。要注意的是.在讀 DS1302時.當8位命令字寫入后緊跟著的第一個下降沿芯片即開始輸出數(shù)據(jù)。</p&
75、gt;<p><b> 3.時鐘子程序設(shè)計</b></p><p> 實時時鐘軟件首先應(yīng)將Et歷信息初值——秒、分、時、日、月、星期、年等按序?qū)懭氲?DS1302相關(guān)寄存器中,此后,時鐘便以此初值為基準進行計時,只要主電源 VCC2和備份電源 VCC1尚有一個工作正常,則計時就不會終止。初始化El歷信息程序分為三部分: </p><p> (1)發(fā)
76、送“解除寫保護”命令字 8EH 和內(nèi)容</p><p> COH,以開放 DS1302寫操作。 </p><p> (2)發(fā)送“涓流充電”命令字 90H和內(nèi)容 A7H,以開放 DS1302內(nèi)部 充 電 電路。本 系統(tǒng) 選擇DSI302內(nèi)部充電電路為一只串聯(lián)二極管和 8kn限流電阻,因此常規(guī)情況下,主電源 VCC2對備份電源 VCC1之最大充電電流為 Imax:(VDD一二極管壓降)/限
77、流電阻一(5--0.7)--8=0.538mA。 </p><p> (3)發(fā)送“多字節(jié)寫 日歷型數(shù)據(jù)”或“單字節(jié)寫日歷型數(shù)據(jù)”命令字寫入日歷信息初值。上述第1、第2部分屬于對 DS1302內(nèi)部功能寄存器操作,因此必須以“單字節(jié)”方式進行發(fā)送;而第 3部分屬于對 DS1302一般寄存器操作,故可以采用“多字節(jié)”方式發(fā)送,以便提高效率。同時, 在儀表工作過程中需要讀取時間日歷信息時,可根 據(jù)具體需要采用“多字節(jié)”
78、方式或“單字節(jié)”方式。這里,無論采用“單字節(jié)”還是“多字節(jié)”方式,能否 可靠、準確地讀出這些信息,其技術(shù)關(guān)鍵是和硬件密切相聯(lián)的 DS1302讀寫驅(qū)動程序的設(shè)計。該驅(qū)動程序的功能是產(chǎn)生正確的同步時鐘脈沖,并在同步時鐘脈沖上升沿將數(shù)據(jù)按位寫人 DS1302或在同步時鐘脈沖的下降沿按位從 DS1302中讀出日歷型數(shù)據(jù),從而完成 1字節(jié)數(shù)據(jù)的發(fā)送或接收。對于“多字節(jié)”方式,只需改變命令控制字和增加循環(huán)次數(shù)即可完成多字節(jié)的連續(xù)讀寫。 </p
79、><p><b> ?。?)流程圖</b></p><p> 3.2.3鍵盤模塊設(shè)計</p><p><b> 程序流程圖</b></p><p><b> 出現(xiàn)的問題</b></p><p><b> ⑴鍵的消抖</b><
80、;/p><p> 理想的按鍵信號是方波形,是一個標準的負脈沖,但實際情況并非如此。按下和釋放都需要經(jīng)過一個過程才能達到穩(wěn)定,這一過程是處于高低電平之間的一種不穩(wěn)定狀態(tài),稱為抖動。抖動持續(xù)時間的長短、頻率的高低與按鍵的機械特性及人的操作有關(guān),一般在5~10ms之間。這就有可能造成CPU對一次按鍵過程做多次處理。為了避免這種情況的發(fā)生,應(yīng)采取措施消除抖動。消除抖動的方法有兩種,一種是采取硬件來實現(xiàn),如用濾波器電路、雙穩(wěn)
81、態(tài)電路等。</p><p><b> ?、埔绘I一操作</b></p><p> 一鍵一操作的原理就是當按鍵按下再彈起時才會有數(shù)據(jù)傳送給主控制器,所以在程序中要有指令,否則會引起誤操作,從而成為一鍵幾操作的現(xiàn)象。</p><p><b> 第四章 調(diào)試</b></p><p> 系統(tǒng)調(diào)試包括
82、硬件調(diào)試和軟件調(diào)試。硬件調(diào)試的任務(wù)是排除系統(tǒng)的硬件電路故障,包括設(shè)計性錯誤和工藝性故障。軟件調(diào)試是利用開發(fā)工具進行在線仿真調(diào)試,處發(fā)現(xiàn)和解決程序錯誤外,也可以發(fā)現(xiàn)硬件故障。</p><p><b> 4.1硬件調(diào)試</b></p><p> 單片機應(yīng)用系統(tǒng)的硬件調(diào)試和軟件調(diào)試十分不開的,許多硬件故障時在調(diào)試軟件時發(fā)現(xiàn)的,但通常是先排除系統(tǒng)中明顯的硬件故障后,在和軟
83、件結(jié)合起來調(diào)試。</p><p><b> 常見的硬件故障</b></p><p> ?、龠壿嬪e誤。樣機硬件的邏輯錯誤是由于設(shè)計錯誤或加工過程中的工藝性錯誤所造成的,包括錯線、開路和短路等幾種,其中短路是最常見的故障。當某一元件虛焊或短路時電路都無法調(diào)試成功。</p><p> ?、谠骷?。元器件失效的原因有兩個方面:一是器件本身已經(jīng)損壞
84、或性能不符合要求;二是由于組裝錯誤造成的元器件失效,如電解電容、二極管的極性錯誤或集成塊安裝方向錯誤等。</p><p> ③可靠性差。引起系統(tǒng)不可靠的因素很多,如接插件接觸不良會造成系統(tǒng)時好時壞,內(nèi)部和外部的干擾、電源紋波系數(shù)過大或器件負載過大等造成邏輯電平不穩(wěn)定,另外走線和布局不合理等會引起系統(tǒng)的可靠性差。</p><p> ④電源故障。若樣機中存在電源故障,則加點后將造成器件損壞
85、。電源故障包括電壓值不符合設(shè)計要求、電源引出線和插座不對應(yīng)、電源功率不足和負載能力差等。</p><p><b> 硬件調(diào)試方法</b></p><p> ?、俾?lián)機調(diào)試。通過脫機調(diào)試可排除一些明顯的硬件故障,有些硬件故障需要通過聯(lián)機調(diào)試才能發(fā)現(xiàn)和排除。通電后,執(zhí)行讀寫指令,對用戶樣機的存儲器、I/O端口進行讀寫和邏輯檢查等操作,用示波器等設(shè)備觀察波形(如輸出波形、讀
86、/寫控制信號、地址數(shù)據(jù)波形和有關(guān)控制電平),通過波形的觀察分析,發(fā)現(xiàn)和排除故障。</p><p> ②脫機調(diào)試。脫機調(diào)試實在樣機加電之前,先用萬用表等工具,根據(jù)硬件電氣原理圖和裝配圖,仔細檢查樣機線路的正確性,并核對元器件的型號、規(guī)格和安裝是否符合要求。</p><p> 特別注意電源的走線,防止電源之間的短路和極性錯誤,重點檢查系統(tǒng)的總線或其他信號線之間是否存在相互的短路。</
87、p><p> 樣機所用的電源,事先必須單獨調(diào)試后才能加到系統(tǒng)中。在不差芯片的情況下,加電檢查各插件上引腳的電位是否正常,仔細測量各點電位是否正常,尤其應(yīng)注意單片機插座上的各點電位是否正常。</p><p><b> 4.2軟件調(diào)試</b></p><p> 軟件調(diào)試方法與選用的軟件結(jié)構(gòu)和程序設(shè)計技術(shù)有關(guān)。如果采用模塊設(shè)計技術(shù),則逐個模塊調(diào)好以
88、后,再進行系統(tǒng)程序總調(diào)試。</p><p> 對于模塊結(jié)構(gòu)程序,要對子程序逐個進行調(diào)試。調(diào)試子程序是,一定要符合入口條件和出口條件,調(diào)試手段可采用單步運行方式和斷點運行方式,通過檢查用戶系統(tǒng)CPU的現(xiàn)場、RAM的內(nèi)容和I/O口的狀態(tài),檢測程序執(zhí)行結(jié)果是符合設(shè)計要求。通過檢測可以發(fā)現(xiàn)程序中的死循環(huán)錯誤、機器碼錯誤和轉(zhuǎn)移地址的錯誤,同時也可以發(fā)現(xiàn)用戶系統(tǒng)中的硬件故障,軟件算法和硬件設(shè)計錯誤,在調(diào)試過程中不斷調(diào)整用戶
89、系統(tǒng)的軟件和硬件,完成每個程序模塊的調(diào)試。</p><p> 每個程序模塊通過后,可以聯(lián)合各功能模塊進行整體程序綜合調(diào)試。在這一階段如果發(fā)生故障,可以分析子程序在運行時是否破壞現(xiàn)場、緩沖單元是否發(fā)生沖突、零位的建立和清除在設(shè)計上是否失誤、堆棧區(qū)域是否溢出或輸入設(shè)備的狀態(tài)是否正常等。若用戶系統(tǒng)是在開發(fā)系統(tǒng)的監(jiān)控程序下運行,還要考慮用戶緩沖單元是否和監(jiān)控程序的工作單元發(fā)生沖突。</p><p&g
90、t; 單步運行只能驗證程序正確與否,而不能確定定時精度、CPU的實時響應(yīng)等問題,所以單步和斷點調(diào)試后,還應(yīng)進行連續(xù)調(diào)試。除了觀察穩(wěn)定性之外,還要觀察用戶系統(tǒng)的操作是否符合原始設(shè)計要求,以及安排的用戶操作是夠合理等,必要時還要做適當修正。</p><p> DS1302 與微處理器進行數(shù)據(jù)交換時,首先由微處理器向電路發(fā)送命令字節(jié),命令字節(jié)最高位MSB(D7)必須為邏輯1,如果D7=0,則禁止寫DS1302,即寫
91、保護;D6=0,指定時鐘數(shù)據(jù),D6=1,指定RAM數(shù)據(jù);D5~D1指定輸入或輸出的特定寄存器;最低位LSB(D0)為邏輯0,指定寫操作(輸入), D0=1,指定讀操作(輸出)。 </p><p> 在DS1302的時鐘日歷或RAM進行數(shù)據(jù)傳送時,DS1302必須首先發(fā)送命令字節(jié)。若進行單字節(jié)傳送,8位命令字節(jié)傳送結(jié)束之后,在下2個SCLK周期的上升沿輸入數(shù)據(jù)字節(jié),或在下8個S
92、CLK周期的下降沿輸出數(shù)據(jù)字節(jié)。 </p><p> DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個RAM單元,共31個,每個單元組態(tài)為一個8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;再一類為突發(fā)方式下的RAM寄存器,在此方式下可一次性讀、寫所有的RAM的31個字節(jié)。 </p>
93、<p> 要特別說明的是備用電源B1,可以用電池或者超級電容器(0.1F以上)。雖然DS1302在主電源掉電后的耗電很小,但是,如果要長時間保證時鐘正常,最好選用小型充電電池??梢杂美鲜诫娔X主板上的3.6V充電電池。如果斷電時間較短(幾小時或幾天)時,就可以用漏電較小的普通電解電容器代替。100 μF就可以保證1小時的正常走時。DS1302在第一次加電后,必須進行初始化操作。初始化后就可以按正常方法調(diào)整時間。
94、160; </p><p><b> 4.3聯(lián)調(diào)</b></p><p> 聯(lián)調(diào)是指讓用戶系統(tǒng)的軟件在其硬件上實際運行,進行軟、硬件聯(lián)合調(diào)試,從中發(fā)現(xiàn)硬件故障或軟、硬件設(shè)計錯誤。這是對用戶系統(tǒng)檢驗的重要一關(guān)。</p><p> 聯(lián)調(diào)主要解決以下問題:</p><p> ?、佘?、硬件能否按預定要求配合工作,
95、如果不能,那么問題出在哪里?如何解決?</p><p> ?、谙到y(tǒng)運行中是否有潛在的設(shè)計是難以預料的錯誤,如硬件延時過長造成工作時序不符合要求、布線不合理造成有信號串擾等;</p><p> ③系統(tǒng)的動態(tài)性能指標(包括精度、速度參數(shù))是否滿足設(shè)計要求。</p><p> 系統(tǒng)聯(lián)調(diào)時,首先采用單步、斷點、連續(xù)運行方式調(diào)試與硬件相關(guān)的各程序段既可以檢驗這些用戶程序段
96、的正確性,又可以在各功能獨立的情況下,檢驗軟、硬件的配合情況。然后,將軟、硬件按系統(tǒng)工作要求進行綜合運行,采用全速斷點、連續(xù)運行方式進行總調(diào)試,以解決在系統(tǒng)總體運行的情況下軟、硬件的協(xié)調(diào)與提高系統(tǒng)動態(tài)性能。在具體操作中,用戶系統(tǒng)在開發(fā)系統(tǒng)環(huán)境下,先借用仿真器的CPU、存儲器等資源進行工作。若發(fā)現(xiàn)問題,按上述軟、硬件調(diào)試方法準確定位錯誤,分析錯誤原因,找出解決辦法。用戶系統(tǒng)調(diào)試完后,將用戶程序固化到用戶系統(tǒng)的程序存儲器中,再借用仿真器CP
97、U使用戶系統(tǒng)運行。若無問題,則用戶系統(tǒng)插上單片機即可正確工作(注意,不要忘記用戶系統(tǒng)時鐘、復位電路的調(diào)試)。</p><p> 第五章 心得體會</p><p> 在此次畢業(yè)設(shè)計中,收獲頗多。如果說我們以前學的都是一些理論知識和分散的知識,那么在這次畢業(yè)設(shè)計中則是系統(tǒng)的把大學里所學的連貫的靈活運用起來。從最簡單的電阻電容的識別和個電阻阻值的選擇,以及各種電子元器件的識別、使用及其檢
98、測,到電烙鐵的正確使用以及焊接的要求及注意點、PCB板的布局及其制作了解,都有了更詳細和更專業(yè)的學習和實踐。</p><p> 這次的畢業(yè)設(shè)計對我來說無疑是一次較好的動手鍛煉機會,因此從一開始就抱著一種較認真的態(tài)度,無論是從了解電子萬年歷背景、意義、及其實現(xiàn)原理,還是后來的焊接對我來說都是一種提高。</p><p> 在此次設(shè)計中,我負責的是硬件部分的設(shè)計。在方案選擇上我花了很大的功夫
99、,比如說:在萬年歷的顯示上到底是用LED數(shù)碼顯示還是用LCD液晶顯示,我做了很詳細的比較,選出最適合的。這樣在硬件設(shè)計時有關(guān)LCD液晶顯示的給、原理都有詳細的介紹。硬件部分除了主控制器的介紹還有顯示電路、時鐘電路、鍵盤電路的介紹,在介紹時我采用分模塊分小點介紹。經(jīng)過查閱資料和版塊設(shè)計我不僅把大學所學的都回憶了一遍并且靈活得把他們串起來運用。在硬件還有焊接的問題,其要注意不能虛焊、漏焊、短焊。其次就是軟件部分和調(diào)試部分,雖然這兩部分是由我
100、同組的同學負責的,但我也同樣參與了,當有我們問題時都互相討論和學習,經(jīng)過我們共同的努力和導師的指導我們終于完成了我們的畢業(yè)設(shè)計,并調(diào)試成功。</p><p> 這次的實習使我明白一個道理,做任何一件事都需要互相幫助和學習,任何事只有自己動手了才會學得更多和理解的更透徹。在現(xiàn)代高速發(fā)展的今天,僅僅用一些理論知識來武裝大腦是不夠的,我們還需要用實際動手操作能力來裝扮我們的雙手,只有如此才不負祖國對我們的培養(yǎng),做好祖
101、國的接班人,為祖國貢獻出自己的一份力量。</p><p><b> 致謝詞</b></p><p> 在本論文的寫作過程中,我的導師*老師傾注了大量的心血,從選題到開題報告,從寫作提綱,到一遍又一遍地指出稿中的具體問題,嚴格把關(guān),循循善誘,在此我表示衷心感謝。同時我還要感謝在我學習期間給我極大關(guān)心和支持的各位老師以及關(guān)心我的同學和朋友。</p>&l
102、t;p> 寫畢業(yè)設(shè)計論文是一次再系統(tǒng)學習的過程,畢業(yè)設(shè)計論文的完成,同樣也意味著新的學習生活的開始。</p><p> 附錄(一) 系統(tǒng)程序</p><p> EQU P2.0 ;定義地址</p><p> RW EQU P2.1</p><p> E EQU P2.2</p><p>
103、 CMD EQU 27H</p><p> DAT EQU 26H</p><p> FLAG BIT 00H</p><p> XSFLAG BIT 01H ;</p><p> COUNT EQU 28H</p><p> Char1 EQU 30H</p><p> Ch
104、ar2 EQU 40H</p><p> T_RST Bit P2.3 ;實時時鐘復位線引腳</p><p> T_CLK Bit P2.4 ;實時時鐘時鐘線引腳</p><p> T_IO Bit P2.5 ;實時時鐘數(shù)據(jù)線引腳</p><p> SECOND EQU 50H</p><p> MINUTE
105、 EQU 51H</p><p> HOUR EQU 52H</p><p> DAY EQU 53H</p><p> MONTH EQU 54H</p><p> WEEK EQU 55H</p><p> YEARL EQU 56H</p><p> ORG 0000H<
106、;/p><p> AJMP START</p><p> org 000bh</p><p> ljmp inter0</p><p><b> ORG 0100H</b></p><p> START:MOV SP,#60H ;主程序</p><p> M
107、OV TMOD,#01H</p><p> MOV TH0,#9EH ;置定時器初值(定時100ms)</p><p> MOV TL0,#58H</p><p> SETB TR0 ;啟動定時器0</p><p><b> setb ea</b></p><p><b>
108、 setb et0</b></p><p><b> CLR FLAG</b></p><p> CLR XSFLAG</p><p> MOV COUNT,#1</p><p> MOV R0,#16 ;把ROM的內(nèi)容轉(zhuǎn)入ram</p><p> MOV
109、 R1,#ChAR1</p><p> MOV DPTR,#TAB1</p><p> S1: CLR A</p><p> MOVC A,@A+DPTR</p><p><b> MOV @R1,A</b></p><p><b> inc dptr</b>&
110、lt;/p><p><b> inc r1</b></p><p> djnz r0,s1</p><p> MOV R0,#16</p><p> MOV R1,#Char2</p><p> MOV DPTR,#TAB2</p><p> S2: CLR A
111、</p><p> MOVC A,@A+DPTR</p><p><b> MOV @R1,A</b></p><p><b> INC DPTR</b></p><p><b> INC R1</b></p><p> DJNZ R0,S2&
112、lt;/p><p> LCALL LCD_INIT ;液晶初始化</p><p> LCALL LCD_R_BF</p><p> MOV CMD,#38H</p><p> LCALL LCD_W_C</p><p> MOV CMD,#0CH</p><p> LCALL LC
113、D_W_C</p><p> MOV CMD,#06H</p><p> LCALL LCD_W_C</p><p> MOV CMD,#01H</p><p> LCALL LCD_W_C</p><p> CLR T_RST ;DS1302初始化</p><
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 萬年歷畢業(yè)設(shè)計---基于stc89c52萬年歷的設(shè)計
- 電子萬年歷畢業(yè)設(shè)計
- 電子萬年歷畢業(yè)設(shè)計
- 基于89c51設(shè)計的電子萬年歷
- 電子萬年歷畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---電子萬年歷設(shè)計
- 畢業(yè)設(shè)計--基于stc89c52萬年歷的設(shè)計
- 畢業(yè)設(shè)計---電子萬年歷的設(shè)計
- 畢業(yè)設(shè)計---電子萬年歷的設(shè)計
- 基于89c52的電子萬年歷
- 電子萬年歷畢業(yè)設(shè)計稿
- 畢業(yè)設(shè)計----電子萬年歷論文設(shè)計
- 電子萬年歷畢業(yè)設(shè)計2
- 基于89c51的萬年歷設(shè)計
- 萬年歷畢業(yè)論文---基于at89s52單片機的電子萬年歷設(shè)計
- 電子萬年歷設(shè)計
- 基于at89c51單片機萬年歷畢業(yè)設(shè)計
- 電子鐘萬年歷畢業(yè)設(shè)計
- 基于at89c51單片機萬年歷的畢業(yè)設(shè)計
- 數(shù)字萬年歷畢業(yè)設(shè)計
評論
0/150
提交評論