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

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  單片機(jī)電子萬年歷課程設(shè)計(jì)</p><p><b>  摘 要:</b></p><p>  電子萬年歷是一種非常廣泛日常計(jì)時(shí)工具,對(duì)現(xiàn)代社會(huì)越來越流行。它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),還具有閏年補(bǔ)償?shù)榷喾N功能,而且DS1302的使用壽命長(zhǎng),誤差小。對(duì)于數(shù)字電子萬年歷采用直觀的數(shù)字顯示,可以同時(shí)顯示年、月、日、周日、時(shí)、分、秒等信息

2、,還具有時(shí)間校準(zhǔn)等功能。該電路采用AT89S52單片機(jī)作為核心,功耗小,能在3V的低壓工作,電壓可選用3~5V電壓供電。</p><p>  本設(shè)計(jì)是基于51系列的單片機(jī)進(jìn)行的電子萬年歷設(shè)計(jì),可以顯示年月日時(shí)分秒及周信息,具有可調(diào)整日期和時(shí)間功能。在設(shè)計(jì)的同時(shí)對(duì)單片機(jī)的理論基礎(chǔ)和外圍擴(kuò)展知識(shí)進(jìn)行了比較全面準(zhǔn)備。在硬件與軟件設(shè)計(jì)時(shí),沒有良好的基礎(chǔ)知識(shí)和實(shí)踐經(jīng)驗(yàn)會(huì)受到很大限制,每項(xiàng)功能實(shí)現(xiàn)時(shí)需要那種硬件,程序該如何編

3、寫,算法如何實(shí)現(xiàn)等,沒有一定的基礎(chǔ)就不可能很好的實(shí)現(xiàn)。在編寫程序過程中發(fā)現(xiàn)以現(xiàn)有的相關(guān)知識(shí)要獨(dú)自完成編寫任務(wù)困難重重,在老師和同學(xué)的幫助下才完成了程序部分的編寫。 </p><p>  ~~~~~~目錄~~~~~~</p><p>  一、設(shè)計(jì)要求與方案論證

4、 ………………………………………………………………………4</p><p>  1.1 設(shè)計(jì)要求 ……………………………………………………………………………………4</p><p>  1.2 系統(tǒng)基本方案選擇和論證 …………………………………………………………………4</p><p>  1.2.1單片機(jī)芯片的選擇方案和論證 …………………………………………………

5、………4</p><p>  1.2.2 顯示模塊選擇方案和論證 ………………………………………………………………4</p><p>  1.2.3 時(shí)鐘芯片的選擇方案和論證 ……………………………………………………………4</p><p>  二.系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)………………………………………………………………………5</p><p>

6、  2.1 電路設(shè)計(jì)框圖 ………………………………………………………………………………5</p><p>  2.2 系統(tǒng)硬件概述 ………………………………………………………………………………5</p><p>  2.3 主要單元電路的設(shè)計(jì) ………………………………………………………………………6</p><p>  2.3.1單片機(jī)主控制模塊的設(shè)計(jì) ………………

7、………………………………………………6</p><p>  2.3.2時(shí)鐘電路模塊的設(shè)計(jì) ……………………………………………………………………6</p><p>  2.3.3電路原理及說明 …………………………………………………………………………7</p><p>  2.3.4顯示模塊的設(shè)計(jì) …………………………………………………………………………8</p

8、><p>  三、系統(tǒng)的軟件設(shè)計(jì) ……………………………………………………………………………9</p><p>  3.1程序流程框圖 ………………………………………………………………………………9</p><p>  3.2 子程序的設(shè)計(jì) ………………………………………………………………………………9</p><p>  3.2.1 DS18B

9、20溫度子程序 ……………………………………………………………………9</p><p>  3.2.2 讀、寫DS1302子程序 …………………………………………………………………10</p><p>  四. 指標(biāo)測(cè)………………………………………………………………………………………11</p><p>  4.1 測(cè)試儀器………………………………………………………

10、……………………………11</p><p>  4.2硬件測(cè)試……………………………………………………………………………………11</p><p>  4.3軟件測(cè)試……………………………………………………………………………………11</p><p>  4.4測(cè)試結(jié)果分析與結(jié)論………………………………………………………………………12</p><

11、;p>  4.4.1 測(cè)試結(jié)果分析……………………………………………………………………………12</p><p>  4.4.2 測(cè)試結(jié)論…………………………………………………………………………………12</p><p>  五、作品總結(jié)……………………………………………………………………………………12</p><p>  附錄一:系統(tǒng)電路圖……………………

12、………………………………………………………14</p><p>  附錄二:系統(tǒng)程序清單…………………………………………………………………………15</p><p>  附錄三:系統(tǒng)使用說明書………………………………………………………………………40</p><p>  一、設(shè)計(jì)要求與方案論證</p><p><b>  1.1 設(shè)

13、計(jì)要求:</b></p><p><b> ?。ǎ保┗疽?lt;/b></p><p>  具有年、月、日、星期、時(shí)、分、秒等功能;</p><p>  時(shí)間與陰、陽歷能夠自動(dòng)關(guān)聯(lián); </p><p>  具備年、月、日、星期、時(shí)、分、秒校準(zhǔn)功能;</p><p>  ( 2 ) 創(chuàng)新要

14、求</p><p> ?、?具有上、下課響鈴功能;</p><p> ?、?具有防御報(bào)警功能;</p><p>  1.2 系統(tǒng)基本方案選擇和論證</p><p>  1.2.1單片機(jī)芯片的選擇方案和論證:</p><p><b>  方案一: </b></p><p> 

15、 采用89C51芯片作為硬件核心,采用Flash ROM,內(nèi)部具有4KB ROM 存儲(chǔ)空間,能于3V的超低壓工作,而且與MCS-51系列單片機(jī)完全兼容,但是運(yùn)用于電路設(shè)計(jì)中時(shí)由于不具備ISP在線編程技術(shù), 當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),對(duì)芯片的多次拔插會(huì)對(duì)芯片造成一定的損壞。</p><p><b>  方案二:</b></p>&l

16、t;p>  采用AT89S52,片內(nèi)ROM全都采用Flash ROM;能以3V的超底壓工作;同時(shí)也與MCS-51系列單片機(jī)完全該芯片內(nèi)部存儲(chǔ)器為8KB ROM 存儲(chǔ)空間,同樣具有89C51的功能,且具有在線編程可擦除技術(shù),當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),不需要對(duì)芯片多次拔插,所以不會(huì)對(duì)芯片造成損壞。</p><p>  所以選擇采用AT89S52作為主控制系統(tǒng).&l

17、t;/p><p>  1.2.2 顯示模塊選擇方案和論證:</p><p><b>  方案一:</b></p><p>  采用LED液晶顯示屏,液晶顯示屏的顯示功能強(qiáng)大,可顯示大量文字,圖形,顯示多樣,清晰可見,但是價(jià)格昂貴,需要的接口線多,所以在此設(shè)計(jì)中不采用LED液晶顯示屏.</p><p><b>  方

18、案二:</b></p><p>  采用點(diǎn)陣式數(shù)碼管顯示,點(diǎn)陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對(duì)于顯示文字比較適合,如采用在顯示數(shù)字顯得太浪費(fèi),且價(jià)格也相對(duì)較高,所以也不用此種作為顯示.</p><p><b>  方案三:</b></p><p>  采用LED數(shù)碼管動(dòng)態(tài)掃描,LED數(shù)碼管價(jià)格適中,對(duì)于顯示數(shù)字最合適,而且采

19、用動(dòng)態(tài)掃描法與單片機(jī)連接時(shí),占用的單片機(jī)口線少。</p><p>  所以采用了LED數(shù)碼管作為顯示。</p><p>  1.2.3時(shí)鐘芯片的選擇方案和論證:</p><p><b>  方案一:</b></p><p>  直接采用單片機(jī)定時(shí)計(jì)數(shù)器提供秒信號(hào),使用程序?qū)崿F(xiàn)年、月、日、星期、時(shí)、分、秒計(jì)數(shù)。采用此種方案

20、雖然減少芯片的使用,節(jié)約成本,但是,實(shí)現(xiàn)的時(shí)間誤差較大。所以不采用此方案。</p><p><b>  方案二:</b></p><p>  采用DS1302時(shí)鐘芯片實(shí)現(xiàn)時(shí)鐘,DS1302芯片是一種高性能的時(shí)鐘芯片,可自動(dòng)對(duì)秒、分、時(shí)、日、周、月、年以及閏年補(bǔ)償?shù)哪赀M(jìn)行計(jì)數(shù),而且精度高,位的RAM做為數(shù)據(jù)暫存區(qū),工作電壓2.5V~5.5V范圍內(nèi),2.5V時(shí)耗電小于30

21、0nA.</p><p>  1.3 電路設(shè)計(jì)最終方案決定</p><p>  綜上各方案所述,對(duì)此次作品的方案選定: 采用AT89S52作為主控制系統(tǒng); DS1302提供時(shí)鐘;LED數(shù)碼管動(dòng)態(tài)掃描作為顯示。</p><p>  二.系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)</p><p>  2.1 電路設(shè)計(jì)框圖</p><p>  2

22、.2 系統(tǒng)硬件概述</p><p>  本電路是由AT89S52單片機(jī)為控制核心,具有在線編程功能,低功耗,能在3V超低壓工作;時(shí)鐘電路由DS1302提供,它是一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31*

23、8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器??僧a(chǎn)生年、月、日、周日、時(shí)、分、秒,具有使用壽命長(zhǎng),精度高和低功耗等特點(diǎn),同時(shí)具有掉電自動(dòng)保存功能;溫度的采集由DS18B20構(gòu)成;顯示部份由21個(gè)數(shù)碼管,74ls138、74ls47譯碼器構(gòu)成。使用動(dòng)態(tài)掃描顯示方式對(duì)數(shù)字的顯示。</p><p>  2.3 主要單元電路的設(shè)計(jì)</p><p>  2.3.1單片機(jī)主控制模塊的設(shè)計(jì)</p>

24、<p>  AT89S52單片機(jī)為40引腳雙列直插芯片,有四個(gè)I/O口P0,P1,P2,P3, MCS-51單片機(jī)共有4個(gè)8位的I/O口(P0、P1、P2、P3),每一條I/O線都能獨(dú)立地作輸出或輸入。</p><p>  單片機(jī)的最小系統(tǒng)如下圖所示,18引腳和19引腳接時(shí)鐘電路,XTAL1接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,XTAL2接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是

25、振蕩器倒相放大器的輸出.第9引腳為復(fù)位輸入端,接上電容,電阻及開關(guān)后夠上電復(fù)位電路,20引腳為接地端,40引腳為電源端. 如圖-1 所示</p><p>  圖-1 主控制系統(tǒng) </p><p>  2.3.2時(shí)鐘電路模塊的設(shè)計(jì)</p><p>  圖-2示出DS1302的引腳排列,其中Vcc1為后備電源,Vcc2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)

26、運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于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為高

27、電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過程中RSTS置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電動(dòng)行時(shí),在Vcc大于等于2.5V之前,RST必須保持低電平。中有在SCLK 為低電平時(shí),才能將RST置為高電平,I/O為串行數(shù)據(jù)輸入端(雙向)。SCLK始終是輸入端。</p><p>  圖-2 DS1302的引腳圖</p><p>  2.3.3

28、電路原理及說明</p><p>  (1) 時(shí)鐘芯片DS1302的工作原理:</p><p>  DS1302在每次進(jìn)行讀、寫程序前都必須初始化,先把SCLK端置 “0”,接著把RST端置“1”,最后才給予SCLK脈沖;讀/寫時(shí)序如下圖4所示。圖5為DS1302的控制字,此控制字的位7必須置1,若為0則不能把對(duì)DS1302進(jìn)行讀寫數(shù)據(jù)。對(duì)于位6,若對(duì)程序進(jìn)行讀/寫時(shí)RAM=1,對(duì)時(shí)間進(jìn)行讀

29、/寫時(shí),CK=0。位1至位5指操作單元的地址。位0是讀/寫操作位,進(jìn)行讀操作時(shí),該位為1;該位為0則表示進(jìn)行的是寫操作??刂谱止?jié)總是從最低位開始輸入/輸出的。表6為DS1302的日歷、時(shí)間寄存器內(nèi)容:“CH”是時(shí)鐘暫停標(biāo)志位,當(dāng)該位為1時(shí),時(shí)鐘振蕩器停止,DS1302處于低功耗狀態(tài);當(dāng)該位為0時(shí),時(shí)鐘開始運(yùn)行?!癢P”</p><p>  是寫保護(hù)位,在任何的對(duì)時(shí)鐘和RAM的寫操作之前,WP必須為0。當(dāng)“WP”為

30、1時(shí),寫保護(hù)位防止對(duì)任一寄存器的寫操作。</p><p>  (2) DS1302的控制字節(jié)</p><p>  DS1302的控制字如表-1所示??刂谱止?jié)的高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入DS1302中,位6如果0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進(jìn)行寫操作,為1表示進(jìn)行讀操作,控制字節(jié)

31、總是從最低位開始輸出</p><p>  RAM RD</p><p>  1 A4 A3 A2 A1 A0 </p><p>  / CK /W

32、R</p><p>  表-1 DS1302的控制字格式</p><p>  (3) 數(shù)據(jù)輸入輸出(I/O)</p><p>  在控制指令字輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個(gè)SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0位到高位7。如下圖-4所示</

33、p><p>  圖-4 DS1302讀/寫時(shí)序圖</p><p>  (4) DS1302的寄存器</p><p>  DS1302有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式,其日歷、時(shí)間寄存器及其控制字見表-2。</p><p>  表-2 DS1302的日歷、時(shí)間寄存器 </p><p&

34、gt;  此外,DS1302 還有年份寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。 DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個(gè)RAM單元,共31個(gè),每個(gè)單元組態(tài)為一個(gè)8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個(gè)字節(jié),命令控制字為FEH(

35、寫)、FFH(讀)。 </p><p>  2.3.4顯示模塊的設(shè)計(jì)</p><p>  如圖-5所示,采用動(dòng)態(tài)掃描顯示,由21個(gè)數(shù)碼管,3-8譯碼器74LS138接1K限流電阻,再接8550三極管接到共陽數(shù)碼管的CoM端作為選通位碼,每位選擇相應(yīng)的列。74ls47接</p><p>  240Ω限流電阻,再接共行的LED數(shù)碼管的斷碼。</p><

36、;p>  圖-5 LED動(dòng)態(tài)掃描顯示</p><p><b>  三、系統(tǒng)的軟件設(shè)計(jì)</b></p><p><b>  3.1程序流程框圖</b></p><p>  圖-A 主程序流程圖</p><p>  圖-B計(jì)算陽歷程序流程圖</p><p>  圖-C 時(shí)

37、間調(diào)整程序流程圖</p><p>  圖-D 陰歷程序流程圖</p><p>  3.2 子程序的設(shè)計(jì)</p><p>  3.2.1 DS18B20子程序</p><p>  CONFIG12 EQU 7FH</p><p>  TEMPH EQU 21H</p><p>  TEMPL EQ

38、U 20H</p><p>  REG2 EQU 22H</p><p>  REG3 EQU 23H</p><p>  REG4 EQU 24H</p><p>  DAT EQU P0.7</p><p><b>  TOUTOU:</b></p><p>  LCA

39、LL CHUSHI</p><p>  LCALL RDTEMP</p><p>  MOV A,TEMPL</p><p>  ANL A,#11110000B</p><p>  MOV TEMPL,A</p><p>  MOV A,TEMPH</p><p>  ANL A,#00000

40、111B</p><p>  ORL A,TEMPL</p><p><b>  SWAP A</b></p><p><b>  MOV 25H,A</b></p><p><b>  MOV A,25H</b></p><p>  MOV B,#64

41、H</p><p><b>  DIV AB</b></p><p><b>  MOV A,B</b></p><p>  MOV B,#0AH</p><p><b>  DIV AB</b></p><p><b>  SWAP A<

42、;/b></p><p><b>  ORL A,B</b></p><p><b>  MOV 10H,A</b></p><p><b>  RET</b></p><p><b>  CHUSHI:</b></p><p&g

43、t;  LCALL RESET</p><p>  MOV A,#0CCH</p><p>  LCALL WRITE111</p><p>  MOV A,#4EH</p><p>  LCALL WRITE111</p><p>  MOV A,#CONFIG12</p><p>  LCA

44、LL WRITE111</p><p><b>  RET</b></p><p><b>  RDTEMP:</b></p><p>  LCALL RESET</p><p>  MOV A,#0CCH</p><p>  LCALL WRITE111</p>

45、<p>  MOV A,#44H</p><p>  LCALL WRITE111</p><p>  LCALL DL1MS</p><p>  LCALL RESET</p><p>  MOV A,#0CCH</p><p>  LCALL WRITE111</p><p>

46、  MOV A,#0BEH</p><p>  LCALL WRITE111</p><p>  LCALL ERAD111</p><p>  MOV TEMPL,A</p><p>  LCALL ERAD111</p><p>  MOV TEMPH,A</p><p><b>

47、  RET</b></p><p><b>  RESET:</b></p><p><b>  LA:</b></p><p><b>  SETB DAT</b></p><p>  MOV 52H,#200</p><p><b&

48、gt;  LB:</b></p><p><b>  CLR DAT</b></p><p>  DJNZ 52H,LB</p><p><b>  SETB DAT</b></p><p>  MOV 52H,#30</p><p><b>  LC:

49、</b></p><p>  DJNZ 52H,LC</p><p><b>  CLR C</b></p><p><b>  ORL C,DAT</b></p><p><b>  JC LB</b></p><p>  MOV 58H,

50、#80</p><p><b>  LD:</b></p><p><b>  ORL C,DAT</b></p><p><b>  JC LP</b></p><p>  DJNZ 58H,LD</p><p><b>  SJMP LA&

51、lt;/b></p><p><b>  LP:</b></p><p>  MOV 52H,#250</p><p><b>  LF:</b></p><p>  DJNZ 52H,LF</p><p><b>  RET</b></p&

52、gt;<p><b>  WRITE111:</b></p><p>  MOV 53H,#8</p><p><b>  W51HA:</b></p><p><b>  SETB DAT</b></p><p>  MOV 54H,#8</p>

53、<p><b>  RRC A</b></p><p><b>  CLR DAT</b></p><p><b>  W52HA:</b></p><p>  DJNZ 54H,W52HA</p><p><b>  MOV DAT,C</b>

54、</p><p>  MOV 54H,#30</p><p><b>  W53HA:</b></p><p>  DJNZ 54H,W53HA</p><p>  DJNZ 53H,W51HA</p><p><b>  SETB DAT</b></p>&l

55、t;p><b>  RET</b></p><p><b>  ERAD111:</b></p><p><b>  CLR EA</b></p><p>  MOV 58H,#8</p><p><b>  RD1A:</b></p>

56、<p><b>  CLR DAT</b></p><p>  MOV 54H,#6</p><p><b>  NOP</b></p><p><b>  SETB DAT</b></p><p><b>  RD2A:</b></p&

57、gt;<p>  DJNZ 54H,RD2A</p><p><b>  MOV C,DAT</b></p><p><b>  RRC A</b></p><p>  MOV 55H,#30</p><p><b>  RD3A:</b></p>

58、<p>  DJNZ 55H,RD3A</p><p>  DJNZ 58H,RD1A</p><p><b>  SETB DAT</b></p><p><b>  RET</b></p><p>  3.2.2 讀、寫DS1302子程序</p><p>  ;

59、寫1302程序WRITE:</p><p><b>  CLR SCLK</b></p><p><b>  NOP</b></p><p><b>  SETB RST</b></p><p><b>  NOP</b></p><p

60、><b>  MOV A,32H</b></p><p><b>  MOV R4,#8</b></p><p><b>  WRITE1:</b></p><p>  RRC A ;送地址給1302</p><p><b>  NOP</b>&

61、lt;/p><p><b>  NOP</b></p><p><b>  CLR SCLK</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP&

62、lt;/b></p><p><b>  MOV IO,C</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b

63、>  SETB SCLK</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  DJNZ R4,WRITE1</p><p><b>  CLR SCLK</b></p><p&

64、gt;<b>  NOP</b></p><p><b>  MOV A,31H</b></p><p><b>  MOV R4,#8</b></p><p><b>  WRITE2:</b></p><p><b>  RRC A</

65、b></p><p>  NOP ;送數(shù)據(jù)給1302</p><p><b>  CLR SCLK</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  MOV

66、 IO,C</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  SETB SCLK</b></p><p&g

67、t;<b>  NOP</b></p><p><b>  NOP</b></p><p>  DJNZ R4,WRITE2</p><p><b>  CLR RST</b></p><p><b>  RET</b></p><p&

68、gt;<b>  ;讀1302程序</b></p><p><b>  READ:</b></p><p><b>  CLR SCLK</b></p><p><b>  NOP</b></p><p><b>  NOP</b>&

69、lt;/p><p><b>  SETB RST</b></p><p><b>  NOP</b></p><p><b>  MOV A,32H</b></p><p><b>  MOV R4,#8</b></p><p><

70、;b>  READ1:</b></p><p>  RRC A ;送地址給1302</p><p><b>  NOP</b></p><p><b>  MOV IO,C</b></p><p><b>  NOP</b></p><

71、p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  SETB SCLK</b></p><p><b>  NOP</b></p><p><b>  NOP</b></

72、p><p><b>  NOP</b></p><p><b>  CLR SCLK</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  DJNZ R4,READ1<

73、/p><p><b>  MOV R4,#8</b></p><p><b>  READ2:</b></p><p><b>  CLR SCLK</b></p><p>  NOP ;從1302中讀出數(shù)據(jù)</p><p><b>  NOP&l

74、t;/b></p><p><b>  NOP</b></p><p><b>  MOV C,IO</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b&

75、gt;  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  RRC A</b></p><p><b>  NOP</b></p><p>

76、;<b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  SETB SCLK</b></p><p><b>  NOP</b></p>

77、;<p>  DJNZ R4,READ2</p><p><b>  MOV 31H,A</b></p><p><b>  CLR RST</b></p><p><b>  RET</b></p><p><b>  四. 指標(biāo)測(cè)</b>

78、</p><p><b>  4.1 測(cè)試儀器</b></p><p><b>  4.2硬件測(cè)試</b></p><p>  電子萬年歷的電路系統(tǒng)較大,對(duì)于焊接方面更是不可輕視,龐大的電路系統(tǒng)中只要出于一處的錯(cuò)誤,則會(huì)對(duì)檢測(cè)造成很大的不便,而且電路的交線較多,對(duì)于各種鋒利的引腳要注意處理,否則會(huì)刺被帶有包皮的導(dǎo)線,則會(huì)對(duì)

79、電路造成短路現(xiàn)象。</p><p>  在本成電子萬年歷的設(shè)計(jì)調(diào)試中遇到了很多的問題?;叵脒@些問題只要認(rèn)真多思考都是可以避免的,以下為主要的問題:</p><p> ?。ǎ保㎜ED數(shù)碼管的斷碼錯(cuò)亂,原因出于沒有認(rèn)真看清a、b 、c等引腳信息。</p><p>  解決:重新排列74LS47的輸出端,相應(yīng)接入LED數(shù)碼管,即可解決出現(xiàn)在的斷碼或亂碼。</p&g

80、t;<p> ?。?2)對(duì)萬年歷修改時(shí)間或日期時(shí),有時(shí)LED數(shù)碼管被屏蔽掉,造成不亮現(xiàn)象。</p><p>  解決:根據(jù)儀器的測(cè)試,發(fā)現(xiàn)電路的驅(qū)動(dòng)能力不足,最后在DS1302時(shí)鐘芯片的/CS、SCLK、RET端接入5.1K的上拉電阻后,電路的驅(qū)動(dòng)能力才能滿足,即可解決不亮現(xiàn)象。</p><p><b>  4.3軟件測(cè)試</b></p>

81、<p>  電子成年歷是多功能的數(shù)字型,可以看當(dāng)前日期(陰、陽歷),時(shí)間,還有溫度的儀器。電子成年歷功能很多,所以對(duì)于它的程序也較為復(fù)雜,所以在編寫程序和調(diào)試時(shí)出現(xiàn)了相對(duì)較多的問題。最后經(jīng)過多次的模塊子程序的修改,一步一步的完成,最終解決了軟件。在軟件的調(diào)試過程中主要遇到的問題如下:</p><p>  1.燒入程序后,LED數(shù)碼管顯示閃動(dòng),而且亮度不均勻。</p><p>  

82、解決:首先對(duì)調(diào)用的延時(shí)進(jìn)行逐漸修改,可以解決顯示閃動(dòng)問題。其次,由于本作品使作動(dòng)態(tài)掃描方式顯示的數(shù)字,動(dòng)態(tài)掃描很快,人的肉眼是無法看出,但是調(diào)用的顯示程序時(shí),如果不在反回時(shí)屏蔽掉最后的附值,則會(huì)出現(xiàn)很亮的現(xiàn)象,所以在顯示的后面加了屏蔽子令,最后解決了此問題。</p><p>  2.修改時(shí)間、日期時(shí)沒有農(nóng)歷沒有自動(dòng)對(duì)應(yīng)上。</p><p>  解決:把不相關(guān)的程序暫時(shí)屏蔽,地農(nóng)歷的子程序獨(dú)

83、立調(diào)試,發(fā)現(xiàn)在調(diào)用農(nóng)歷自動(dòng)更新時(shí),對(duì)十進(jìn)制和十六進(jìn)制處理不好,所以會(huì)造成錯(cuò)亂。最后把相應(yīng)的十進(jìn)制進(jìn)行修改,使得可以與十六進(jìn)制對(duì)應(yīng),最后解決了此問題.</p><p>  3.加入溫度的程序后,進(jìn)行修改時(shí)間、日期時(shí)相應(yīng)的數(shù)碼管位沒有按要求閃動(dòng)。</p><p>  解決:由于DS18B20是串行通信數(shù)據(jù),只用一個(gè)口線傳輸,在處理采集的模擬信號(hào)時(shí)需要一定的時(shí)間,當(dāng)把萬年歷的程序相接入時(shí),會(huì)對(duì)延

84、時(shí)有很大的影響。所以在調(diào)用溫度子程序時(shí),先關(guān)閉定時(shí)器1中斷允許,在溫度子程序反回時(shí)再打開定時(shí)器1中斷允許。最終解決了此問題。</p><p>  4.4測(cè)試結(jié)果分析與結(jié)論</p><p>  4.4.1 測(cè)試結(jié)果分析</p><p>  (1).在測(cè)試中遇到發(fā)光二極管、LED數(shù)碼管為不顯示時(shí),首先使用試測(cè)儀對(duì)電路進(jìn)行測(cè)試,觀察是否存在漏焊,虛焊,或者元件損壞.<

85、;/p><p> ?。?).LED 數(shù)碼管顯示不正常,還有亮度不夠,首先使用試測(cè)儀對(duì)電路進(jìn)行測(cè)試,觀察電路是否存在短路現(xiàn)象。查看燒寫的程序是否正確無誤,對(duì)程序進(jìn)行認(rèn)真修改。</p><p>  4.4.2 測(cè)試結(jié)論</p><p>  經(jīng)過多次的反復(fù)測(cè)試與分析,可以對(duì)電路的原理及功能更加熟悉,同時(shí)提高了設(shè)計(jì)能力與及對(duì)電路的分析能力.同時(shí)在軟件的編程方面得到更到的提高,對(duì)

86、編程能力得到加強(qiáng).同時(shí)對(duì)所學(xué)的知識(shí)得到很大的提高與鞏固.</p><p><b>  五、作品總結(jié)</b></p><p>  在整個(gè)設(shè)計(jì)過程中,發(fā)揮團(tuán)隊(duì)精神,分工合作,充分發(fā)揮人的主觀能動(dòng)性,自主學(xué)習(xí),學(xué)到了許多沒學(xué)到的知識(shí)。較好的完成了作品。達(dá)到了預(yù)期的目的,在最初的設(shè)計(jì)中,發(fā)揮“三個(gè)臭皮匠,頂個(gè)諸葛亮”的作用。相互學(xué)習(xí)、相互討論、研究。完了最初的設(shè)想。從中也知道

87、了焊接在整個(gè)作品中的重要性,電路工程量大,不能心急,一個(gè)個(gè)慢慢來不能急于求成。反而達(dá)到事半功倍的效果。對(duì)電路的設(shè)計(jì)、布局要先有一個(gè)好的構(gòu)思,才顯得電路板美觀、大方。程序編寫中,由于思路不清晰,開始時(shí)遇到了很多的問題,經(jīng)過靜下心來思考,和同組員的討論,理清了思路,反而得心應(yīng)手。在此次設(shè)計(jì)中,知道了做凡事要有一顆平常的心,不要想著走捷徑,一步一腳印。也練就了我們的耐心,做什么事都在有耐心。此次課程設(shè)計(jì)中學(xué)到了很多很多東西,這是最重要的。&l

88、t;/p><p><b>  附錄一:系統(tǒng)電路圖</b></p><p>  附錄二:系統(tǒng)程序清單</p><p>  CONFIG12 EQU 7FH</p><p>  TEMPH EQU 21H</p><p>  TEMPL EQU 20H</p><p>  REG2

89、 EQU 22H</p><p>  REG3 EQU 23H</p><p>  REG4 EQU 24H</p><p>  DAT EQU P0.7</p><p>  SCLK EQU P3.2</p><p>  IO EQU P3.3</p><p>  RST EQU P3

90、.4</p><p>  year DATA 66H</p><p>  month DATA 65H</p><p>  week DATA 64H</p><p>  day DATA 63H</p><p>  hour DATA 62H</p><p>  mintue DATA 61

91、H</p><p>  second DATA 60H</p><p><b>  ORG 0000H</b></p><p>  LJMP START</p><p><b>  ORG 001BH</b></p><p>  LJMP INTT1</p>

92、<p>  START: ;初值</p><p><b>  LCALL ZJ</b></p><p><b>  SETB EA</b></p><p>  MOV SCON,#00H ; 串行輸出,方式0</p><p>  MOV TMOD,#10H

93、 ;計(jì)數(shù)器1,方式1</p><p>  MOV TL1,#00H</p><p>  MOV TH1,#00H</p><p>  MOV 32H,#8EH</p><p>  MOV 31H,#00H ;允許寫1302</p><p>  LCALL WRITE</p><p> 

94、 MOV 32H,#90H</p><p>  MOV 31H,#0A6H ;1302充電,充電電流1.1MA</p><p>  LCALL WRITE</p><p>  ;主程序~~~~~~~~~~~~~~~~~~~~~</p><p><b>  MAIN1:</b></p><p>

95、  MOV 32H,#8DH ;讀出年</p><p>  LCALL READ</p><p>  MOV year,31H</p><p>  MOV 32H,#8BH ;讀出星期</p><p>  LCALL READ</p><p>  MOV week,31H</p><p&

96、gt;  MOV 32H,#89H ;讀出月</p><p>  LCALL READ</p><p>  MOV month,31H</p><p>  MOV 32H,#87H ;讀出日</p><p>  LCALL READ</p><p>  MOV day,31H</p><p&g

97、t;  MOV 32H,#85H ;讀出小時(shí)</p><p>  LCALL READ</p><p>  MOV hour,31H</p><p>  MOV 32H,#83H ;讀出分鐘</p><p>  LCALL READ</p><p>  MOV mintue,31H</p><p

98、>  MOV 32H,#81H ;讀出秒</p><p>  LCALL READ</p><p>  MOV second,31H</p><p>  ;~~~~~~~~~~~~分離緩存~~~~~~~~</p><p>  MOV R0,year ;年分離,送顯示緩存</p><p>  LCALL D

99、IVIDE</p><p>  MOV 7BH,R1</p><p>  MOV 4BH,R1</p><p>  MOV 7CH,R2</p><p>  MOV 4CH,R2</p><p>  MOV 78H,week</p><p>  MOV 48H,week</p>&

100、lt;p>  MOV R0,month ;月分離,送顯示緩存</p><p>  LCALL DIVIDE</p><p>  MOV 79H,R1</p><p>  MOV 49H,R1</p><p>  MOV 7AH,R2</p><p>  MOV 4AH,R2</p><p&g

101、t;  MOV R0,day ;日分離,送顯示緩存</p><p>  LCALL DIVIDE</p><p>  MOV 76H,R1</p><p>  MOV 46H,R1</p><p>  MOV 77H,R2</p><p>  MOV 47H,R2</p><p>  MOV

102、 R0,hour ;小時(shí)分離,送顯示緩存</p><p>  LCALL DIVIDE</p><p>  MOV 74H,R1</p><p>  MOV 44H,R1</p><p>  MOV 75H,R2</p><p>  MOV 45H,R2</p><p>  MOV R0,min

103、tue ;分鐘分離,送顯示緩存</p><p>  LCALL DIVIDE</p><p>  MOV 72H,R1</p><p>  MOV 42H,R1</p><p>  MOV 73H,R2</p><p>  MOV 43H,R2</p><p>  MOV R0,second

104、;秒分離,送顯示緩存</p><p>  LCALL DIVIDE</p><p>  MOV 70H,R1</p><p>  MOV 40H,R1</p><p>  MOV 71H,R2</p><p>  MOV 41H,R2</p><p><b>  CLR EA<

105、/b></p><p>  LCALL TOUTOU</p><p><b>  SETB EA</b></p><p>  LCALL DISPLAY</p><p>  LCALL GENGXIAN ;更新農(nóng)歷程序</p><p>  JNB P0.1,SETG111</p&

106、gt;<p>  JNB F0,SSS</p><p>  setb P0.4 ;非閏月,則p0.4清零,指示燈亮</p><p>  LJMP MAIN1</p><p><b>  SETG111:</b></p><p><b>  LJMP SETG</b>&l

107、t;/p><p><b>  SSS:</b></p><p>  clr P0.4 ;閏月,則p0.4置位,指示燈不亮</p><p>  LJMP MAIN1</p><p>  ;~~~~~~~~~~~~~~ 溫度</p><p><b>  TOUTOU:</b>&

108、lt;/p><p>  LCALL CHUSHI</p><p>  LCALL RDTEMP</p><p>  MOV A,TEMPL</p><p>  ANL A,#11110000B</p><p>  MOV TEMPL,A</p><p>  MOV A,TEMPH</p>

109、<p>  ANL A,#00000111B</p><p>  ORL A,TEMPL</p><p><b>  SWAP A</b></p><p><b>  MOV 25H,A</b></p><p><b>  MOV A,25H</b></p&

110、gt;<p>  MOV B,#64H</p><p><b>  DIV AB</b></p><p><b>  MOV A,B</b></p><p>  MOV B,#0AH</p><p><b>  DIV AB</b></p><

111、p><b>  SWAP A</b></p><p><b>  ORL A,B</b></p><p><b>  MOV 10H,A</b></p><p><b>  RET</b></p><p><b>  CHUSHI:<

112、/b></p><p>  LCALL RESET</p><p>  MOV A,#0CCH</p><p>  LCALL WRITE111</p><p>  MOV A,#4EH</p><p>  LCALL WRITE111</p><p>  MOV A,#CONFIG12&

113、lt;/p><p>  LCALL WRITE111</p><p><b>  RET</b></p><p><b>  RDTEMP:</b></p><p>  LCALL RESET</p><p>  MOV A,#0CCH</p><p> 

114、 LCALL WRITE111</p><p>  MOV A,#44H</p><p>  LCALL WRITE111</p><p>  LCALL DL1MS</p><p>  LCALL RESET</p><p>  MOV A,#0CCH</p><p>  LCALL WRIT

115、E111</p><p>  MOV A,#0BEH</p><p>  LCALL WRITE111</p><p>  LCALL ERAD111</p><p>  MOV TEMPL,A</p><p>  LCALL ERAD111</p><p>  MOV TEMPH,A</

116、p><p><b>  RET</b></p><p><b>  RESET:</b></p><p><b>  LA:</b></p><p><b>  SETB DAT</b></p><p>  MOV 52H,#200&l

117、t;/p><p><b>  LB:</b></p><p><b>  CLR DAT</b></p><p>  DJNZ 52H,LB</p><p><b>  SETB DAT</b></p><p>  MOV 52H,#30</p>

118、<p><b>  LC:</b></p><p>  DJNZ 52H,LC</p><p><b>  CLR C</b></p><p><b>  ORL C,DAT</b></p><p><b>  JC LB</b></p

119、><p>  MOV 58H,#80</p><p><b>  LD:</b></p><p><b>  ORL C,DAT</b></p><p><b>  JC LP</b></p><p>  DJNZ 58H,LD</p><

120、;p><b>  SJMP LA</b></p><p><b>  LP:</b></p><p>  MOV 52H,#250</p><p><b>  LF:</b></p><p>  DJNZ 52H,LF</p><p><b&

121、gt;  RET</b></p><p><b>  WRITE111:</b></p><p>  MOV 53H,#8</p><p><b>  W51HA:</b></p><p><b>  SETB DAT</b></p><p>

122、;  MOV 54H,#8</p><p><b>  RRC A</b></p><p><b>  CLR DAT</b></p><p><b>  W52HA:</b></p><p>  DJNZ 54H,W52HA</p><p><b

123、>  MOV DAT,C</b></p><p>  MOV 54H,#30</p><p><b>  W53HA:</b></p><p>  DJNZ 54H,W53HA</p><p>  DJNZ 53H,W51HA</p><p><b>  SETB DA

124、T</b></p><p><b>  RET</b></p><p><b>  ERAD111:</b></p><p><b>  CLR EA</b></p><p>  MOV 58H,#8</p><p><b>  R

125、D1A:</b></p><p><b>  CLR DAT</b></p><p>  MOV 54H,#6</p><p><b>  NOP</b></p><p><b>  SETB DAT</b></p><p><b>

126、;  RD2A:</b></p><p>  DJNZ 54H,RD2A</p><p><b>  MOV C,DAT</b></p><p><b>  RRC A</b></p><p>  MOV 55H,#30</p><p><b>  RD

127、3A:</b></p><p>  DJNZ 55H,RD3A</p><p>  DJNZ 58H,RD1A</p><p><b>  SETB DAT</b></p><p><b>  RET</b></p><p>  ;公歷設(shè)置程序~~~~~~~~~~

128、~~~~~~~~~~~</p><p><b>  SETG :</b></p><p><b>  SETB TR1</b></p><p><b>  SETB ET1</b></p><p>  MOV 32H,#8EH</p><p>  MOV

129、 31H,#00H ;允許寫1302</p><p>  LCALL WRITE</p><p>  MOV 32H,#80H</p><p>  MOV 31H,#80H ;1302停止振蕩</p><p>  LCALL WRITE</p><p>  GWAIT: ;~~~~~~~~~~~

130、~~~~~~~</p><p>  LCALL DISPLAY</p><p>  JNB P0.1,GWAIT</p><p><b>  SETG1:</b></p><p>  LCALL DISPLAY</p><p>  JNB P0.1,SETG2</p><p&g

131、t;  JNB P0.2,GADDYEAR</p><p>  JNB P0.3,JIANYEAR</p><p>  AJMP SETG1</p><p><b>  GADDYEAR:</b></p><p>  MOV R7,66H ;年加一</p><p>  LCALL ADD

132、1</p><p><b>  MOV 66H,A</b></p><p>  CJNE A,#51H,GADDYEAR1</p><p>  MOV 66H,#00H</p><p>  AJMP GADDYEAR1</p><p><b>  JIANYEAR:</b>&

133、lt;/p><p>  MOV R7,66H ;年減一</p><p>  LCALL JIAN1</p><p><b>  MOV 66H,A</b></p><p>  CJNE A,#00H,GADDYEAR1</p><p>  MOV 66H,#51H</p>&l

134、t;p>  GADDYEAR1:</p><p>  MOV 32H,#8CH ;年值送人1302</p><p>  MOV 31H,66H</p><p>  LCALL WRITE</p><p>  MOV R0,66H</p><p>  LCALL DIVIDE ;年分離送顯示緩存<

135、/p><p>  MOV 4BH,R1</p><p>  MOV 7BH,R1</p><p>  MOV 4CH,R2</p><p>  MOV 7CH,R2</p><p>  WAITT1: ;~~~~~~~~~~~~~~~~</p><p>  LCALL DISPLAY<

136、/p><p>  JNB P0.2,WAITT1</p><p>  JNB P0.3,WAITT1</p><p>  AJMP SETG1</p><p><b>  SETG2:</b></p><p>  SETB 0AH ;調(diào)月時(shí)閃標(biāo)志</p><p>

137、;<b>  GWAIT2:</b></p><p>  LCALL DISPLAY</p><p>  JNB P0.1,GWAIT2</p><p><b>  SETG3:</b></p><p>  LCALL DISPLAY</p><p>  JNB P0.1,S

138、ETG4</p><p>  JNB P0.2,GADDMONTH</p><p>  JNB P0.3,JIANMONTH</p><p>  AJMP SETG3</p><p>  GADDMONTH:</p><p>  MOV R7,65H ;月加一</p><p>  LCA

139、LL ADD1</p><p><b>  MOV 65H,A</b></p><p>  CJNE A,#13H,GADDMONTH1</p><p>  MOV 65H,#01H</p><p>  AJMP GADDMONTH1</p><p>  JIANMONTH:</p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論