2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  畢 業(yè) 設(shè) 計(jì)(論 文)</p><p>  設(shè)計(jì)(論文)題目: 基于At89C系列的 </p><p><b>  電子萬年歷 </b></p><p>  系 別: 電子工程系 1</p><p>  專 業(yè): 通信工程 1</p

2、><p>  班 級(jí): </p><p>  姓 名: </p><p>  學(xué) 號(hào): 1</p><p>  指導(dǎo)教師: </p><p>  完成時(shí)間: </p&

3、gt;<p><b>  摘要</b></p><p>  在當(dāng)代繁忙的工作與生活中,時(shí)間與我們每一個(gè)人都有非常密切的關(guān)系,每個(gè)人都受到時(shí)間的影響。我們必須對時(shí)間有一個(gè)度量,因此產(chǎn)生了鐘表。鐘表的發(fā)展是非常迅速的,從剛開始的機(jī)械式鐘表到現(xiàn)在普遍用到的數(shù)字式鐘表,即使現(xiàn)在鐘表千奇百怪,但是它們都只是完成一種功能——計(jì)時(shí),只是工作原理不同而已,在人們的使用過程中,逐漸發(fā)現(xiàn)了鐘表的功

4、能太單一,沒有更大程度上的滿足人們的需求。因此在這里,我想能不能把一些輔助功能加入鐘表中去。在此設(shè)計(jì)中所設(shè)計(jì)的鐘表具有鐘表的功能。</p><p>  本系統(tǒng)采用了以廣泛使用的單片機(jī)技術(shù)為核心,軟硬件結(jié)合,使硬件部分大為簡化,提高了系統(tǒng)穩(wěn)定性,并采用LCD顯示電路、鍵盤電路,本方案設(shè)計(jì)出的萬年歷可以顯示日期時(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 本課題實(shí)現(xiàn)的功能及要求……………………

11、……………………………………………………………4</p><p>  1.3 方案論證……………………………………………………………………………………………………4</p><p>  1.4 章節(jié)安排……………………………………………………………………………………………………4</p><p>  第二章 系統(tǒng)硬件設(shè)計(jì)</p><p>  

12、2.1 硬件電路設(shè)計(jì)總框圖………………………………………………………………………………………5</p><p>  2.2 主控制器AT89C52的介紹…………………………………………………………………………………5</p><p>  2.3 其余應(yīng)用電路的介紹………………………………………………………………………………………8</p><p><b>

13、  第三章 軟件設(shè)計(jì)</b></p><p>  3.1 軟件設(shè)計(jì)總述……………………………………………………………………………………………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>  第五章 心得體會(huì)…………

15、…………………………………………………………………………………22</p><p><b>  參考文獻(xiàn) </b></p><p>  附錄一 匯編源程序…………………………………………………………………………………………23</p><p>  附錄二 仿真電路圖…………………………………………………………………………………………35<

16、/p><p>  附錄三 參考文獻(xiàn)……………………………………………………………………………………………36</p><p><b>  第一章 概述</b></p><p>  1.1 課題的背景、研究意義 </p><p>  隨著電子技術(shù)的迅速發(fā)展,時(shí)間的流逝,從觀察太陽、擺鐘到現(xiàn)在的電子鐘, 人類不斷研究、不斷

17、 創(chuàng)新。現(xiàn)市場的電子鐘具有低功耗的實(shí)時(shí)時(shí)鐘電路,它們可以對年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),還具有潤年補(bǔ)償?shù)裙δ?,且使用壽命長、誤差小、使用方便。電子萬年歷的出現(xiàn)給人們的生活帶來的諸多方便。目前,國際上的電子萬年歷正從模擬式向數(shù)字式、由集成化向智能化的方向飛速發(fā)展。</p><p>  綜上所述此萬年歷

18、具有讀取方便、顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點(diǎn),符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。</p><p>  1.2實(shí)現(xiàn)的功能及要求 </p><p><b> ?。ǎ保┗疽?</b></p><p>  ①具有年、月、日、星期、時(shí)、分、秒等功能;</p><p> ?、诰邆淠?、月、日、星期、

19、時(shí)、分、秒校準(zhǔn)功能 。</p><p>  ③校準(zhǔn)時(shí)具有閃爍功能。</p><p>  ( 2 ) 創(chuàng)新要求</p><p>  具有上、下課響鈴功能;</p><p><b>  1.3 方案論證</b></p><p>  顯示模塊選擇方案和論證:</p><p>  

20、方案一:采用LED數(shù)碼管動(dòng)態(tài)掃描,LED數(shù)碼管價(jià)格適中,對于顯示數(shù)字最合適,而且采用動(dòng)態(tài)掃描法與單片機(jī)連接時(shí),占用的單片機(jī)口線少。但這里顯示位數(shù)多,所要求的數(shù)碼管多,成本更高。</p><p>  方案二:采用LCD液晶顯示屏,液晶顯示屏的顯示功能強(qiáng)大,可顯示大量文字,圖形,顯示多樣,清晰可見,雖價(jià)格昂貴,但接口線多,所以在此設(shè)計(jì)中采用LCD液晶顯示屏。</p><p>  時(shí)鐘芯片的選擇

21、方案和論證:</p><p>  方案一:采用DS1302時(shí)鐘芯片實(shí)現(xiàn)時(shí)鐘,DS1302芯片是一種高性能的時(shí)鐘芯片,可自動(dòng)對秒、分、時(shí)、日、周、月、年以及閏年補(bǔ)償?shù)哪赀M(jìn)行計(jì)數(shù),而且精度高,結(jié)構(gòu)簡單。所以采用DS1302時(shí)鐘芯片。</p><p>  方案二:直接采用單片機(jī)定時(shí)計(jì)數(shù)器提供秒信號(hào),使用程序?qū)崿F(xiàn)年、月、日、星期、 時(shí)、分、秒計(jì)數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,

22、實(shí)現(xiàn)的時(shí)間誤差較大。且算法復(fù)雜,所以不采用此方案。</p><p>  經(jīng)論證本次設(shè)計(jì)采用采用AT89S52作為主控制系統(tǒng); DS1302提供時(shí)鐘; 采用LCD液晶作為顯示。</p><p><b>  1.4章節(jié)安排</b></p><p><b>  第一章概述</b></p><p><

23、b>  第二章系統(tǒng)硬件設(shè)計(jì)</b></p><p><b>  第三章系統(tǒng)軟件設(shè)計(jì)</b></p><p><b>  第四章調(diào)試</b></p><p><b>  第五章心得體會(huì)</b></p><p>  第二章 系統(tǒng)硬件設(shè)計(jì)</p>&

24、lt;p>  2.1硬件的設(shè)計(jì)總框圖</p><p>  本次設(shè)計(jì)的基于單片機(jī)控制的電子萬年歷,其具有年、月、日、星期、時(shí)、分、秒的顯示等功能;具有時(shí)間與陰、陽歷能夠自動(dòng)關(guān)聯(lián);可以設(shè)置鬧鈴的功能。其具體實(shí)現(xiàn)過程就是由主控制發(fā)送信息給DS1302時(shí)鐘芯片再由時(shí)鐘芯片反饋給單片機(jī),再由主控制器傳送給LCD顯示信息。并且可以在鍵盤設(shè)置模塊輸入修改時(shí)間,設(shè)置鬧鈴等信息,當(dāng)鍵盤設(shè)置時(shí)間、日期時(shí),單片機(jī)主控制根據(jù)輸入信

25、息,通過串口通信傳送給DS1302時(shí)鐘芯片,DS1302芯片讀取當(dāng)前新信息產(chǎn)生反饋傳送給單片機(jī),然后單片機(jī)根據(jù)控制最后輸送顯示信息到LCD模塊上顯示。</p><p>  2.2主控制器AT89C52介紹 </p><p>  1.AT89C52功能介紹</p><p>  AT89C52是8字節(jié)FLASH閃速存儲(chǔ)器,256字竹內(nèi)部RAM , 32個(gè)I/O口線,3個(gè)

26、16 位定時(shí)/計(jì)數(shù)器,一個(gè)6向量兩級(jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89c52可降至OHz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電上作模式??臻e方式停止CPU 的工作,但允許RAM,定時(shí)/計(jì)數(shù)器.串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM 中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位.</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ù)總線復(fù)用口。作為輸出口用時(shí).每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL 邏輯門電路,對端口P0 寫“1”時(shí),可作為高阻抗輸入端用。<

28、/p><p>  在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部 上拉電阻。</p><p>  在FLASH由編程時(shí),P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字 節(jié),校驗(yàn)時(shí),要求外接上拉電阻。</p><p>  P1口:PI 是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,Pl的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流4個(gè)T

29、TL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作 輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流IIL</p><p>  與AT89C51不同之處是,Pl.0 和P1.1還可分別作為定時(shí)/計(jì)數(shù)器2 的外部計(jì)數(shù)輸入(Pl.0/T2 )和輸入(P1.1/T2EX) , </p><p>  FLASH編程和程序校驗(yàn)期間,Pl接收

30、低8位地址。</p><p>  PI.O 和PI.l 的第二功能:</p><p>  P2 是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯電路。對端口P2寫“l(fā)",通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口, 作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(llt )。

31、</p><p>  在訪問外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器,P2送出高8 位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲(chǔ)器、如執(zhí)行MOVX@RI指令)時(shí),P2口輸出P2鎖存器的內(nèi)容。</p><p>  FLASH編程或校驗(yàn)時(shí),P2亦接收高位地址和一些控制信號(hào)。</p><p>  P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級(jí)可驅(qū)動(dòng)

32、(吸收或輸出電流)4個(gè)TTL邏輯門電路。對P3口寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時(shí),被外部拉低的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í)/計(jì)數(shù)器0 ) </p><p>  P3.5 Tl (定時(shí)/計(jì)數(shù)器l ) </p><p>  P3.6 WR(外部數(shù)據(jù)存儲(chǔ)器寫選通) </p><

34、p>  P3.7 RD(外部數(shù)據(jù)存儲(chǔ)器讀選通) </p><p>  此外,P3口還接收一些用于FLASH閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。</p><p>  RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。</p><p>  ALE/PROG:當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖

35、存地址的低8位字節(jié).一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過一個(gè)ALE脈沖。對Flash存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位.可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活,此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),

36、應(yīng)設(shè)置ALE禁止位無效。</p><p>  PSEN:程序儲(chǔ)存允許PSEN輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,將跳過兩次PSEN信號(hào)。</p><p>  EA/VPP:外部訪問允許。欲使CPU 僅訪問外部程序存儲(chǔ)器(地址為0000H-FFFFH ) , EA端

37、必須保持低電平(接地).需注怠的是:如果加密位LBI被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。</p><p><b>  3.最小系統(tǒng)</b></p><p>  單片機(jī)最小系統(tǒng)包括時(shí)鐘電路、電源和復(fù)位電路等,是單片機(jī)工作的基本要求。單片機(jī)控制整個(gè)系統(tǒng)的工作,一方面讀取日歷時(shí)鐘芯片中的日期等數(shù)據(jù),檢測是否需要設(shè)置,并處理相應(yīng)的按鍵。另一方面,控制顯示器的工作,將各種數(shù)據(jù)送

38、到液晶顯示器去顯示。</p><p><b>  時(shí)鐘電路</b></p><p>  80C52型單片機(jī)內(nèi)有一增益反相放大器,振蕩頻率取決于石英晶體的振蕩頻率。范圍可取1。2—12MHZ,C01、C02主要起頻率微調(diào)和穩(wěn)定作用。</p><p><b>  復(fù)位電路</b></p><p>  單

39、片機(jī)在開關(guān)機(jī)時(shí)都需要復(fù)位,以便中央處理器CPU及其他功能部件都RC構(gòu)成處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。80C51的RST引腳是復(fù)位信號(hào)的輸入端。復(fù)位信號(hào)高電平有效,持續(xù)時(shí)間需要24個(gè)時(shí)鐘周期以上。</p><p>  RC構(gòu)成微分電路,在接電瞬間,產(chǎn)生一個(gè)微分脈沖,其寬度若大于2個(gè)機(jī)器周期,80C51型單片機(jī)將復(fù)位。為保證微分脈沖寬度足夠大,RC時(shí)間常數(shù)應(yīng)大于2個(gè)機(jī)器周期。一般取10uF電容、8.2

40、K歐姆電阻。</p><p><b>  4.振蕩器特性:</b></p><p>  XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過一個(gè)二分頻觸發(fā)器,因此對外部時(shí)鐘信號(hào)的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。<

41、;/p><p><b>  2.3其余電路介紹</b></p><p><b>  2.3.1顯示電路</b></p><p>  液晶顯示器的接口有兩種:一種是總線式接口電路方式;另一種是非總線接口電路方式??偩€式接口方式是把液晶顯示器看做外部的數(shù)據(jù)存儲(chǔ)器,訪問液晶顯示器就像訪問數(shù)據(jù)存儲(chǔ)器的一個(gè)單元一樣,采用這種方式能充分發(fā)

42、揮單片機(jī)的總線讀寫功能,便于升級(jí)和擴(kuò)展。而非總線方式是直接利用IO口進(jìn)行讀寫,較靈活,不便于升級(jí)。這里采用總線式接口方式。接口時(shí)要注意顯示器的功能信號(hào)E是高電平有效,所以要取反。這里使用的液晶顯示器為LCD1602為字符點(diǎn)陣式液晶顯示器??梢燥@示16×2個(gè)字符,而要顯示日期字符有23個(gè),可以滿足要求。</p><p>  1、LCD模塊接口引腳功能</p><p>  液晶顯示模

43、塊具有體積小、功耗低、顯示內(nèi)容豐富、超薄輕巧等優(yōu)點(diǎn),在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用。目前字符型液晶顯示模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的信息顯示器件。這里向大家介紹一款LCD1602液晶顯示模塊,它可以顯示兩行,每行16個(gè)字符,采用單+5V電源供電,外圍電路配置簡單,價(jià)格便宜,具有很高的性價(jià)比。</p><p><b>  2. 硬件電路</b></p><

44、p>  DS1302的4、5、6的三個(gè)管腳是其控制位。其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腳相連?;瑒?dòng)變 阻器用于調(diào)整液晶顯示的亮度

45、。</p><p>  液晶顯示器的接口有兩種:一種是總線式接口電路方式;另一種是非總線接口電路方式??偩€式接口方式是把液晶顯示器看做外部的數(shù)據(jù)存儲(chǔ)器,訪問液晶顯示器就像訪問數(shù)據(jù)存儲(chǔ)器的一個(gè)單元一樣,采用這種方式能充分發(fā)揮單片機(jī)的總線讀寫功能,便于升級(jí)和擴(kuò)展。而非總線方式是直接利用IO口進(jìn)行讀寫,較靈活,不便于升級(jí)。這里采用總線式接口方式。接口時(shí)要注意顯示器的功能信號(hào)E是高電平有效,所以要取反。這里使用的液晶顯示

46、器為LCD1602為字符點(diǎn)陣式液晶顯示器??梢燥@示16×2個(gè)字符,而要顯示日期字符有23個(gè),可以滿足要求。</p><p><b>  2.3.2時(shí)鐘電路</b></p><p>  DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大

47、于Vcc1+0.2V時(shí),Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時(shí),DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動(dòng)置高電平來啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對DS1302進(jìn)行操作。如果在傳送

48、過程中RST置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc>2.0V之前,RST必須保持低電平。只有在SCLK為低電平時(shí),才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向),后面有詳細(xì)說明。SCLK為時(shí)鐘輸入端。 下圖為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為復(fù)位端,高電平時(shí)允許I/O端進(jìn)行數(shù)據(jù)傳輸,低電平則禁止數(shù)據(jù)傳送且使I/O端呈高阻狀態(tài);I/

50、O為串行數(shù)據(jù)輸入、輸出端,所有輸入、輸出數(shù)據(jù)的傳送順序均以最低位LSB打頭,最高位MSB結(jié)束;SCLK為同步時(shí)鐘脈沖端,其上升沿將I/O端數(shù)據(jù)按位寫入DS1302,下降沿使DS1302按位輸出數(shù)據(jù)至I/O端;VCC2、VCC1為主電源和備份電源端,當(dāng)主電源VCC2大于備份電源VCC1+0.2V時(shí),由VCC2對芯片供電,否則,由VCC1對芯片供電。工作電壓范圍為2.5~5.5 V,工作電源和備份電源雙引腳輸入,功耗很低,當(dāng)工作電壓為2.5

51、 V時(shí)正常工作,所需電流不超過300 nA。另外,如果選擇了涓流充電功能,在正常情況下,主電源還可對備份電源進(jìn)行慢速充電,有效延長了備份電源的使用壽命,保證了系統(tǒng)時(shí)間的連續(xù)可靠運(yùn)行。</p><p>  內(nèi)部有振蕩器。若采用外部振蕩信號(hào)時(shí)。32768Hz的信號(hào)從 X1腳輸入.x2腳懸空。 CE:片選端,高電平有效 ,在有些早期資料中該引腳標(biāo)成爪ST,實(shí)際功能一樣。CE端接通控制邏輯,當(dāng)其為‘0”時(shí) ,IO引腳變

52、為高阻截狀態(tài),所有的數(shù)據(jù)傳送中止,當(dāng)其為‘1’時(shí),允許數(shù)據(jù)傳送。CE由‘0’至‘1’時(shí)。SCIX必須為“0”。 </p><p>  DS1302的內(nèi)部主要由移位寄存器、指令和控制邏輯、振蕩分頻電路、實(shí)時(shí)時(shí)鐘以及RAM組成。每次操作時(shí),必須首先把CE置為高電平。再把提供地址和命令信息的8位裝入移位寄存器。數(shù)據(jù)在SCLK的上升沿串行輸入。無論是讀周期還是寫周期發(fā)生,也無論傳送方式是單字節(jié)還是多字節(jié),開始8位將指定內(nèi)

53、部何處被進(jìn)行訪問。在開始 8個(gè)時(shí)鐘周期把含有地址信息的命令字裝入移位寄存器之后。緊隨其后的時(shí)鐘在讀操作時(shí)輸出數(shù)據(jù).</p><p><b>  2.3.3串口電路</b></p><p>  DS1302與微處理器的接口電路如下圖所示。該微處理器采用宏晶科技推出AT89C51單片機(jī)作為主控芯片,該產(chǎn)品具有片內(nèi)資源豐富、超強(qiáng)抗干擾、高抗靜電、超低功耗、寬電壓、不怕電源抖

54、動(dòng)、在系統(tǒng)可編程、加密性強(qiáng)、無法解密、可降低單片機(jī)時(shí)鐘對外部電磁輻射等特點(diǎn),其良好的性能保證了各個(gè)器件的協(xié)調(diào)可靠工作及控制要求。在電路中單片機(jī)的P1.7控制DS1302的復(fù)位輸入端,P1.4與數(shù)據(jù)輸入/輸出引腳相連,P1.3用來作為 DS1302的輸入時(shí)鐘SCLK控制端。由于單片機(jī)復(fù)位時(shí),所有單片機(jī)的端口均為高電平,如果直接用單片機(jī)的某一口線同DS1302的RST相連,則影響了系統(tǒng)加電時(shí)對DS1302的初始化,從而造成 DS1302計(jì)時(shí)

55、的不穩(wěn)定。因此,本主電源(5 V)接 VCC2,備份電池采用可充電鎘鎳電池(3.6 V)接 VCC1,可啟用內(nèi)部涓流充電器在主電壓正常時(shí)向電池充電,以延長電池使用時(shí)間。備份電池也可用1微法以上的超容量電容代替,但需要注意的是備份電池電壓應(yīng)略低于主電源工作電壓。</p><p>  2.3.4鍵盤設(shè)置電路</p><p><b>  1. 鍵盤接口介紹</b></

56、p><p><b>  獨(dú)立式鍵盤</b></p><p>  獨(dú)立式鍵盤是指直接用I/O口線構(gòu)成單個(gè)按鍵電路,每個(gè)按鍵占用一條I/O口線,當(dāng)某個(gè)鍵閉合時(shí),相應(yīng)的I/O口線變?yōu)榈碗娖剑?dāng)CPU查詢到為低電平的I/O口線時(shí),就可以判別出與其對應(yīng)的鍵處于釋放狀態(tài)。</p><p><b>  行列式鍵盤</b></p>

57、<p>  將I/O口線的一部分作為行線,另一部分作為行線,按鍵設(shè)置在行線的交叉點(diǎn)上。CPU通過其電平的高低來判別鍵是否被按下。但每根線上接有4個(gè)按鍵,任何鍵按下都有可能使其電平變低,到底是哪個(gè)鍵按下呢?這是采用了“時(shí)分復(fù)用”的方法,即在一個(gè)查詢周期里把時(shí)間分為4個(gè)間隔,每個(gè)時(shí)間間隔對應(yīng)一個(gè)鍵,在哪個(gè)時(shí)間間隔查到低電平,則代表是與之相對應(yīng)的鍵被按下。時(shí)間間隔的劃分是通過列線P1.4~P1.7來實(shí)現(xiàn)的。</p>

58、<p>  依次使列線P1.4~P1.7中的一根輸出為低電平,則只有與之對應(yīng)的鍵按下時(shí),才能使行線為低電平,此時(shí)其他列線都輸出高電平,與它們對應(yīng)的鍵按下,不能使行線電平變低,所以就實(shí)現(xiàn)了行線的時(shí)分復(fù)用。</p><p>  由于行列式鍵盤的按鍵數(shù)量比較多,為了使程序簡潔,一般在鍵處理程序中,給予每個(gè)鍵一個(gè)鍵號(hào),由從列線I/O口輸出的數(shù)據(jù)和從行線I/O口讀入的數(shù)據(jù)得到按鍵的鍵號(hào),然后由該鍵號(hào)通過散轉(zhuǎn)表進(jìn)

59、入各按鍵的服務(wù)程序。</p><p><b>  2.設(shè)置電路介紹</b></p><p>  設(shè)置電路的功能主要是把時(shí)間和日期設(shè)置到當(dāng)前的時(shí)間,可以在系統(tǒng)運(yùn)行中進(jìn)行。用4個(gè)獨(dú)立式按鍵完成,分別接到單片機(jī)P1口的高4位。第1個(gè)按鈕表示是否進(jìn)行設(shè)置,按下時(shí)表示設(shè)置,并且每按一次,在顯示器上分別在年、月、日等日期時(shí)間上跳轉(zhuǎn),表示對相應(yīng)的項(xiàng)進(jìn)行更改;第2個(gè)按鈕按下表示對第1

60、個(gè)按鈕選中的項(xiàng)進(jìn)行加1操作;第3個(gè)按鈕按下表示進(jìn)行減1操作;第4個(gè)按鈕按下表示停止設(shè)置。只有在第1個(gè)按鈕按時(shí)才可進(jìn)行加減操作。其電路如圖3所示。其中電容的作用是消除按鍵的抖動(dòng),也可用雙穩(wěn)態(tài)觸發(fā)器去除按鍵時(shí)的抖動(dòng),同時(shí)為了提高可靠性,硬件去抖動(dòng)的同時(shí),還可以用軟件去抖動(dòng)的方法。</p><p>  第三章 系統(tǒng)軟件設(shè)計(jì)</p><p><b>  3.1軟件設(shè)計(jì)總述</b&

61、gt;</p><p>  系統(tǒng)軟件設(shè)計(jì)主要包括主程序設(shè)計(jì)、日期數(shù)據(jù)采集子模塊程序設(shè)計(jì)、按鍵處理子模塊程序設(shè)計(jì)和顯示子模塊程序設(shè)計(jì)等。主程序主要完成器件的初始化,并判斷有無按鍵按下,并根據(jù)判斷的結(jié)果調(diào)用相應(yīng)的子模塊程序;日期數(shù)據(jù)采集子模塊程序完成相應(yīng)的數(shù)據(jù)采集、處理和保存 ,按鍵處理子模塊程序完成日期的設(shè)置,而顯示子模塊程序只要把上述子模塊儲(chǔ)存的數(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>  它的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。</p><p> ?。ㄕf明:1為高電平、0為低電平)</p><p>  指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置 </p><p>  指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H </p><p>  指令3:光標(biāo)和顯示模式設(shè)置 </p>

64、;<p>  I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移</p><p>  S: 屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效 </p><p>  指令4:顯示開關(guān)控制。</p><p>  D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示</p><p>  C:控制光標(biāo)的開與關(guān),高電平表示有

65、光標(biāo),低電平表示無光標(biāo)</p><p>  B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍 </p><p>  指令5:光標(biāo)或顯示移位 S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo) </p><p>  指令6:功能設(shè)置命令 </p><p>  DL:高電平時(shí)為4位總線,低電平時(shí)為8位總線 </p><p> 

66、 N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示 </p><p>  F: 低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符 </p><p>  指令7:字符發(fā)生器RAM地址設(shè)置 </p><p>  指令8:DDRAM地址設(shè)置 </p><p>  指令9:讀忙信號(hào)和光標(biāo)地址 BF:忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者

67、數(shù)據(jù),如果為低電平表示不忙。 </p><p><b>  指令10:寫數(shù)據(jù) </b></p><p><b>  指令11:讀數(shù)據(jù) </b></p><p>  液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在

68、哪里顯示字符,表2是HS162-4的內(nèi)部顯示地址.</p><p>  即,第1行的顯示地址應(yīng)為:80H+顯示位置;第2行的顯示地址應(yīng)為:C0H+顯示位置。</p><p>  控制器接口時(shí)序說明(HD44780及兼容芯片)</p><p><b>  讀操作時(shí)序</b></p><p><b>  寫操作時(shí)序

69、</b></p><p><b>  液晶程序</b></p><p><b>  4.子程序流程圖</b></p><p>  3.2.2 時(shí)鐘模塊設(shè)計(jì)</p><p>  對年、月、13、時(shí)、分、秒進(jìn)行計(jì)時(shí)</p><p><b>  1.編程思想&

70、lt;/b></p><p>  DS1302所進(jìn)行的一切工作必須先由 CPU向 DS1302發(fā)送命令字節(jié),命令字節(jié)格式如圖 3所示。各位定義如下:命令字節(jié)的最高位 7必須為 “1”,否則禁止對 DS1302進(jìn)行操作。第 6位是時(shí) 鐘/日歷或 RAM 選擇位,如它為 “1,,可對 內(nèi)部 RAM讀寫,如它為“0”可對時(shí)鐘/日歷操作。此處所謂 日歷型數(shù)據(jù)即數(shù)據(jù)格式為壓縮型 BCD碼,且數(shù)值必須在它的定義域內(nèi);例

71、如,“月份”的定義域 為 1~12,“秒”的定義域?yàn)?0~59等等。所謂RAM 型數(shù)據(jù) 即指一般 16進(jìn)制數(shù)據(jù)。位 5至位 1為 DS1302內(nèi)部寄存器地址。DS1302有單字節(jié)和多 字節(jié)兩種讀、寫方式。所謂單字節(jié)讀、寫方式即每 次只能從 DS1302中讀、寫 1字節(jié)數(shù)據(jù)。所謂多字節(jié)讀、寫方式則每次可從 DS1302中連續(xù)讀、寫若干字節(jié)數(shù)據(jù)。當(dāng)位 5至位 1各位均為“1”時(shí),DSI302為多字節(jié)讀、寫方式。最低位 0為“0”表示寫操作,

72、否則為讀操作。命令字節(jié)的傳輸都是從最低位開始。 </p><p>  DS1302有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式,其日歷、時(shí)間寄存器及其控制字見表。DS1302所有的時(shí)間數(shù)據(jù)都放到數(shù)據(jù)寄存器中:</p><p><b>  2. 讀,寫時(shí)序</b></p><p>  DS1302采用串行方式與微控

73、制器通訊。在片選信號(hào)RST變?yōu)楦唠娖胶?,可向芯片發(fā)送指令及讀取數(shù)據(jù)。DS1302的命令字的傳輸從最低位開始。當(dāng)對 DS1302進(jìn)行寫數(shù)據(jù)時(shí),首先發(fā)寫控制指令,在控制指令字輸入后的下一個(gè) SCLK時(shí)鐘的上升沿,數(shù)據(jù)被寫入 DS1302,數(shù)據(jù)輸入從低位即位 0開始。當(dāng)對 DS1302進(jìn)行讀數(shù)據(jù)時(shí),首先發(fā)讀控制指令,在緊跟 8位的控制指令字后的下一個(gè) SCLK脈沖的下降沿讀出 DS1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位 0位至高位 7。注意在 SC

74、LK為高電平期問,不能讀 I/0線,此期間 l/O端為高阻狀態(tài)。因此,在程序設(shè)計(jì)時(shí)應(yīng)保證在 SCLK上升沿之前讀 I/O線,即可正確讀出時(shí)鐘數(shù)據(jù)。 </p><p>  DS1302的讀,寫時(shí)序如網(wǎng)所示。輸入數(shù)據(jù)時(shí).在 SCLK上升沿 .砌 輸入的數(shù)據(jù)位被有效接受輸出數(shù)據(jù)時(shí),在SCLK下降沿時(shí)砌 輸出數(shù)據(jù)位。要注意的是.在讀 DS1302時(shí).當(dāng)8位命令字寫入后緊跟著的第一個(gè)下降沿芯片即開始輸出數(shù)據(jù)。</p&

75、gt;<p><b>  3.時(shí)鐘子程序設(shè)計(jì)</b></p><p>  實(shí)時(shí)時(shí)鐘軟件首先應(yīng)將Et歷信息初值——秒、分、時(shí)、日、月、星期、年等按序?qū)懭氲?DS1302相關(guān)寄存器中,此后,時(shí)鐘便以此初值為基準(zhǔn)進(jìn)行計(jì)時(shí),只要主電源 VCC2和備份電源 VCC1尚有一個(gè)工作正常,則計(jì)時(shí)就不會(huì)終止。初始化El歷信息程序分為三部分: </p><p>  (1)發(fā)

76、送“解除寫保護(hù)”命令字 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é)”方式進(jìn)行發(fā)送;而第 3部分屬于對 DS1302一般寄存器操作,故可以采用“多字節(jié)”方式發(fā)送,以便提高效率。同時(shí), 在儀表工作過程中需要讀取時(shí)間日歷信息時(shí),可根 據(jù)具體需要采用“多字節(jié)”

78、方式或“單字節(jié)”方式。這里,無論采用“單字節(jié)”還是“多字節(jié)”方式,能否 可靠、準(zhǔn)確地讀出這些信息,其技術(shù)關(guān)鍵是和硬件密切相聯(lián)的 DS1302讀寫驅(qū)動(dòng)程序的設(shè)計(jì)。該驅(qū)動(dòng)程序的功能是產(chǎn)生正確的同步時(shí)鐘脈沖,并在同步時(shí)鐘脈沖上升沿將數(shù)據(jù)按位寫人 DS1302或在同步時(shí)鐘脈沖的下降沿按位從 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è)計(jì)</p><p><b>  程序流程圖</b></p><p><b>  出現(xiàn)的問題</b></p><p><b> ?、沛I的消抖</b><

80、;/p><p>  理想的按鍵信號(hào)是方波形,是一個(gè)標(biāo)準(zhǔn)的負(fù)脈沖,但實(shí)際情況并非如此。按下和釋放都需要經(jīng)過一個(gè)過程才能達(dá)到穩(wěn)定,這一過程是處于高低電平之間的一種不穩(wěn)定狀態(tài),稱為抖動(dòng)。抖動(dòng)持續(xù)時(shí)間的長短、頻率的高低與按鍵的機(jī)械特性及人的操作有關(guān),一般在5~10ms之間。這就有可能造成CPU對一次按鍵過程做多次處理。為了避免這種情況的發(fā)生,應(yīng)采取措施消除抖動(dòng)。消除抖動(dòng)的方法有兩種,一種是采取硬件來實(shí)現(xiàn),如用濾波器電路、雙穩(wěn)

81、態(tài)電路等。</p><p><b> ?、埔绘I一操作</b></p><p>  一鍵一操作的原理就是當(dāng)按鍵按下再彈起時(shí)才會(huì)有數(shù)據(jù)傳送給主控制器,所以在程序中要有指令,否則會(huì)引起誤操作,從而成為一鍵幾操作的現(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è)計(jì)性錯(cuò)誤和工藝性故障。軟件調(diào)試是利用開發(fā)工具進(jìn)行在線仿真調(diào)試,處發(fā)現(xiàn)和解決程序錯(cuò)誤外,也可以發(fā)現(xiàn)硬件故障。</p><p><b>  4.1硬件調(diào)試</b></p><p>  單片機(jī)應(yīng)用系統(tǒng)的硬件調(diào)試和軟件調(diào)試十分不開的,許多硬件故障時(shí)在調(diào)試軟件時(shí)發(fā)現(xiàn)的,但通常是先排除系統(tǒng)中明顯的硬件故障后,在和軟

83、件結(jié)合起來調(diào)試。</p><p><b>  常見的硬件故障</b></p><p> ?、龠壿嬪e(cuò)誤。樣機(jī)硬件的邏輯錯(cuò)誤是由于設(shè)計(jì)錯(cuò)誤或加工過程中的工藝性錯(cuò)誤所造成的,包括錯(cuò)線、開路和短路等幾種,其中短路是最常見的故障。當(dāng)某一元件虛焊或短路時(shí)電路都無法調(diào)試成功。</p><p> ?、谠骷АT骷У脑蛴袃蓚€(gè)方面:一是器件本身已經(jīng)損壞

84、或性能不符合要求;二是由于組裝錯(cuò)誤造成的元器件失效,如電解電容、二極管的極性錯(cuò)誤或集成塊安裝方向錯(cuò)誤等。</p><p> ?、劭煽啃圆?。引起系統(tǒng)不可靠的因素很多,如接插件接觸不良會(huì)造成系統(tǒng)時(shí)好時(shí)壞,內(nèi)部和外部的干擾、電源紋波系數(shù)過大或器件負(fù)載過大等造成邏輯電平不穩(wěn)定,另外走線和布局不合理等會(huì)引起系統(tǒng)的可靠性差。</p><p> ?、茈娫垂收?。若樣機(jī)中存在電源故障,則加點(diǎn)后將造成器件損壞

85、。電源故障包括電壓值不符合設(shè)計(jì)要求、電源引出線和插座不對應(yīng)、電源功率不足和負(fù)載能力差等。</p><p><b>  硬件調(diào)試方法</b></p><p> ?、俾?lián)機(jī)調(diào)試。通過脫機(jī)調(diào)試可排除一些明顯的硬件故障,有些硬件故障需要通過聯(lián)機(jī)調(diào)試才能發(fā)現(xiàn)和排除。通電后,執(zhí)行讀寫指令,對用戶樣機(jī)的存儲(chǔ)器、I/O端口進(jìn)行讀寫和邏輯檢查等操作,用示波器等設(shè)備觀察波形(如輸出波形、讀

86、/寫控制信號(hào)、地址數(shù)據(jù)波形和有關(guān)控制電平),通過波形的觀察分析,發(fā)現(xiàn)和排除故障。</p><p> ?、诿摍C(jī)調(diào)試。脫機(jī)調(diào)試實(shí)在樣機(jī)加電之前,先用萬用表等工具,根據(jù)硬件電氣原理圖和裝配圖,仔細(xì)檢查樣機(jī)線路的正確性,并核對元器件的型號(hào)、規(guī)格和安裝是否符合要求。</p><p>  特別注意電源的走線,防止電源之間的短路和極性錯(cuò)誤,重點(diǎn)檢查系統(tǒng)的總線或其他信號(hào)線之間是否存在相互的短路。</

87、p><p>  樣機(jī)所用的電源,事先必須單獨(dú)調(diào)試后才能加到系統(tǒng)中。在不差芯片的情況下,加電檢查各插件上引腳的電位是否正常,仔細(xì)測量各點(diǎn)電位是否正常,尤其應(yīng)注意單片機(jī)插座上的各點(diǎn)電位是否正常。</p><p><b>  4.2軟件調(diào)試</b></p><p>  軟件調(diào)試方法與選用的軟件結(jié)構(gòu)和程序設(shè)計(jì)技術(shù)有關(guān)。如果采用模塊設(shè)計(jì)技術(shù),則逐個(gè)模塊調(diào)好以

88、后,再進(jìn)行系統(tǒng)程序總調(diào)試。</p><p>  對于模塊結(jié)構(gòu)程序,要對子程序逐個(gè)進(jìn)行調(diào)試。調(diào)試子程序是,一定要符合入口條件和出口條件,調(diào)試手段可采用單步運(yùn)行方式和斷點(diǎn)運(yùn)行方式,通過檢查用戶系統(tǒng)CPU的現(xiàn)場、RAM的內(nèi)容和I/O口的狀態(tài),檢測程序執(zhí)行結(jié)果是符合設(shè)計(jì)要求。通過檢測可以發(fā)現(xiàn)程序中的死循環(huán)錯(cuò)誤、機(jī)器碼錯(cuò)誤和轉(zhuǎn)移地址的錯(cuò)誤,同時(shí)也可以發(fā)現(xiàn)用戶系統(tǒng)中的硬件故障,軟件算法和硬件設(shè)計(jì)錯(cuò)誤,在調(diào)試過程中不斷調(diào)整用戶

89、系統(tǒng)的軟件和硬件,完成每個(gè)程序模塊的調(diào)試。</p><p>  每個(gè)程序模塊通過后,可以聯(lián)合各功能模塊進(jìn)行整體程序綜合調(diào)試。在這一階段如果發(fā)生故障,可以分析子程序在運(yùn)行時(shí)是否破壞現(xiàn)場、緩沖單元是否發(fā)生沖突、零位的建立和清除在設(shè)計(jì)上是否失誤、堆棧區(qū)域是否溢出或輸入設(shè)備的狀態(tài)是否正常等。若用戶系統(tǒng)是在開發(fā)系統(tǒng)的監(jiān)控程序下運(yùn)行,還要考慮用戶緩沖單元是否和監(jiān)控程序的工作單元發(fā)生沖突。</p><p&g

90、t;  單步運(yùn)行只能驗(yàn)證程序正確與否,而不能確定定時(shí)精度、CPU的實(shí)時(shí)響應(yīng)等問題,所以單步和斷點(diǎn)調(diào)試后,還應(yīng)進(jìn)行連續(xù)調(diào)試。除了觀察穩(wěn)定性之外,還要觀察用戶系統(tǒng)的操作是否符合原始設(shè)計(jì)要求,以及安排的用戶操作是夠合理等,必要時(shí)還要做適當(dāng)修正。</p><p>  DS1302 與微處理器進(jìn)行數(shù)據(jù)交換時(shí),首先由微處理器向電路發(fā)送命令字節(jié),命令字節(jié)最高位MSB(D7)必須為邏輯1,如果D7=0,則禁止寫DS1302,即寫

91、保護(hù);D6=0,指定時(shí)鐘數(shù)據(jù),D6=1,指定RAM數(shù)據(jù);D5~D1指定輸入或輸出的特定寄存器;最低位LSB(D0)為邏輯0,指定寫操作(輸入), D0=1,指定讀操作(輸出)。    </p><p>  在DS1302的時(shí)鐘日歷或RAM進(jìn)行數(shù)據(jù)傳送時(shí),DS1302必須首先發(fā)送命令字節(jié)。若進(jìn)行單字節(jié)傳送,8位命令字節(jié)傳送結(jié)束之后,在下2個(gè)SCLK周期的上升沿輸入數(shù)據(jù)字節(jié),或在下8個(gè)S

92、CLK周期的下降沿輸出數(shù)據(jù)字節(jié)。    </p><p>  DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個(gè)RAM單元,共31個(gè),每個(gè)單元組態(tài)為一個(gè)8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;再一類為突發(fā)方式下的RAM寄存器,在此方式下可一次性讀、寫所有的RAM的31個(gè)字節(jié)。     </p>

93、<p>  要特別說明的是備用電源B1,可以用電池或者超級(jí)電容器(0.1F以上)。雖然DS1302在主電源掉電后的耗電很小,但是,如果要長時(shí)間保證時(shí)鐘正常,最好選用小型充電電池??梢杂美鲜诫娔X主板上的3.6V充電電池。如果斷電時(shí)間較短(幾小時(shí)或幾天)時(shí),就可以用漏電較小的普通電解電容器代替。100 μF就可以保證1小時(shí)的正常走時(shí)。DS1302在第一次加電后,必須進(jìn)行初始化操作。初始化后就可以按正常方法調(diào)整時(shí)間。 &#

94、160; </p><p><b>  4.3聯(lián)調(diào)</b></p><p>  聯(lián)調(diào)是指讓用戶系統(tǒng)的軟件在其硬件上實(shí)際運(yùn)行,進(jìn)行軟、硬件聯(lián)合調(diào)試,從中發(fā)現(xiàn)硬件故障或軟、硬件設(shè)計(jì)錯(cuò)誤。這是對用戶系統(tǒng)檢驗(yàn)的重要一關(guān)。</p><p>  聯(lián)調(diào)主要解決以下問題:</p><p>  ①軟、硬件能否按預(yù)定要求配合工作,

95、如果不能,那么問題出在哪里?如何解決?</p><p> ?、谙到y(tǒng)運(yùn)行中是否有潛在的設(shè)計(jì)是難以預(yù)料的錯(cuò)誤,如硬件延時(shí)過長造成工作時(shí)序不符合要求、布線不合理造成有信號(hào)串?dāng)_等;</p><p> ?、巯到y(tǒng)的動(dòng)態(tài)性能指標(biāo)(包括精度、速度參數(shù))是否滿足設(shè)計(jì)要求。</p><p>  系統(tǒng)聯(lián)調(diào)時(shí),首先采用單步、斷點(diǎn)、連續(xù)運(yùn)行方式調(diào)試與硬件相關(guān)的各程序段既可以檢驗(yàn)這些用戶程序段

96、的正確性,又可以在各功能獨(dú)立的情況下,檢驗(yàn)軟、硬件的配合情況。然后,將軟、硬件按系統(tǒng)工作要求進(jìn)行綜合運(yùn)行,采用全速斷點(diǎn)、連續(xù)運(yùn)行方式進(jìn)行總調(diào)試,以解決在系統(tǒng)總體運(yùn)行的情況下軟、硬件的協(xié)調(diào)與提高系統(tǒng)動(dòng)態(tài)性能。在具體操作中,用戶系統(tǒng)在開發(fā)系統(tǒng)環(huán)境下,先借用仿真器的CPU、存儲(chǔ)器等資源進(jìn)行工作。若發(fā)現(xiàn)問題,按上述軟、硬件調(diào)試方法準(zhǔn)確定位錯(cuò)誤,分析錯(cuò)誤原因,找出解決辦法。用戶系統(tǒng)調(diào)試完后,將用戶程序固化到用戶系統(tǒng)的程序存儲(chǔ)器中,再借用仿真器CP

97、U使用戶系統(tǒng)運(yùn)行。若無問題,則用戶系統(tǒng)插上單片機(jī)即可正確工作(注意,不要忘記用戶系統(tǒng)時(shí)鐘、復(fù)位電路的調(diào)試)。</p><p>  第五章 心得體會(huì)</p><p>  在此次畢業(yè)設(shè)計(jì)中,收獲頗多。如果說我們以前學(xué)的都是一些理論知識(shí)和分散的知識(shí),那么在這次畢業(yè)設(shè)計(jì)中則是系統(tǒng)的把大學(xué)里所學(xué)的連貫的靈活運(yùn)用起來。從最簡單的電阻電容的識(shí)別和個(gè)電阻阻值的選擇,以及各種電子元器件的識(shí)別、使用及其檢

98、測,到電烙鐵的正確使用以及焊接的要求及注意點(diǎn)、PCB板的布局及其制作了解,都有了更詳細(xì)和更專業(yè)的學(xué)習(xí)和實(shí)踐。</p><p>  這次的畢業(yè)設(shè)計(jì)對我來說無疑是一次較好的動(dòng)手鍛煉機(jī)會(huì),因此從一開始就抱著一種較認(rèn)真的態(tài)度,無論是從了解電子萬年歷背景、意義、及其實(shí)現(xiàn)原理,還是后來的焊接對我來說都是一種提高。</p><p>  在此次設(shè)計(jì)中,我負(fù)責(zé)的是硬件部分的設(shè)計(jì)。在方案選擇上我花了很大的功夫

99、,比如說:在萬年歷的顯示上到底是用LED數(shù)碼顯示還是用LCD液晶顯示,我做了很詳細(xì)的比較,選出最適合的。這樣在硬件設(shè)計(jì)時(shí)有關(guān)LCD液晶顯示的給、原理都有詳細(xì)的介紹。硬件部分除了主控制器的介紹還有顯示電路、時(shí)鐘電路、鍵盤電路的介紹,在介紹時(shí)我采用分模塊分小點(diǎn)介紹。經(jīng)過查閱資料和版塊設(shè)計(jì)我不僅把大學(xué)所學(xué)的都回憶了一遍并且靈活得把他們串起來運(yùn)用。在硬件還有焊接的問題,其要注意不能虛焊、漏焊、短焊。其次就是軟件部分和調(diào)試部分,雖然這兩部分是由我

100、同組的同學(xué)負(fù)責(zé)的,但我也同樣參與了,當(dāng)有我們問題時(shí)都互相討論和學(xué)習(xí),經(jīng)過我們共同的努力和導(dǎo)師的指導(dǎo)我們終于完成了我們的畢業(yè)設(shè)計(jì),并調(diào)試成功。</p><p>  這次的實(shí)習(xí)使我明白一個(gè)道理,做任何一件事都需要互相幫助和學(xué)習(xí),任何事只有自己動(dòng)手了才會(huì)學(xué)得更多和理解的更透徹。在現(xiàn)代高速發(fā)展的今天,僅僅用一些理論知識(shí)來武裝大腦是不夠的,我們還需要用實(shí)際動(dòng)手操作能力來裝扮我們的雙手,只有如此才不負(fù)祖國對我們的培養(yǎng),做好祖

101、國的接班人,為祖國貢獻(xiàn)出自己的一份力量。</p><p><b>  致謝詞</b></p><p>  在本論文的寫作過程中,我的導(dǎo)師*老師傾注了大量的心血,從選題到開題報(bào)告,從寫作提綱,到一遍又一遍地指出稿中的具體問題,嚴(yán)格把關(guān),循循善誘,在此我表示衷心感謝。同時(shí)我還要感謝在我學(xué)習(xí)期間給我極大關(guān)心和支持的各位老師以及關(guān)心我的同學(xué)和朋友。</p>&l

102、t;p>  寫畢業(yè)設(shè)計(jì)論文是一次再系統(tǒng)學(xué)習(xí)的過程,畢業(yè)設(shè)計(jì)論文的完成,同樣也意味著新的學(xué)習(xí)生活的開始。</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 ;實(shí)時(shí)時(shí)鐘復(fù)位線引腳</p><p>  T_CLK Bit P2.4 ;實(shí)時(shí)時(shí)鐘時(shí)鐘線引腳</p><p>  T_IO Bit P2.5 ;實(shí)時(shí)時(shí)鐘數(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 ;置定時(shí)器初值(定時(shí)100ms)</p><p>  MOV TL0,#58H</p><p>  SETB TR0 ;啟動(dòng)定時(shí)器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)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論