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

下載本文檔

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

文檔簡介

1、<p><b>  單片機(jī)課程設(shè)計(jì)報(bào)告</b></p><p>  題目名稱: 智能電子數(shù)字鐘設(shè)計(jì) </p><p>  系: 電氣工程系 </p><p>  專 業(yè): 電氣自動(dòng)化 </p><p>

2、  班 級(jí): </p><p>  學(xué) 號(hào): </p><p>  學(xué)生姓名: </p><p>  指導(dǎo)教師: </p><p>  職

3、 稱: </p><p>  2012年 06 月 27日</p><p><b>  目錄</b></p><p>  摘要………………………………………………………………………………</p><p>  智能電子數(shù)字時(shí)鐘總體方案的設(shè)計(jì)………………………………………

4、………</p><p>  1.1 系統(tǒng)方案的確定…………………………………………………………………..</p><p>  智能電子數(shù)字鐘硬件系統(tǒng)的設(shè)計(jì)…………………………………………………….</p><p>  2.1. AT89C51單片機(jī)簡介………………………………………………………..</p><p>  2.1.1 AT89C5

5、1概述…………………………………………………………………</p><p>  2.1.2 主要性能特點(diǎn)………………………………………………………………..</p><p>  2.1.3 AT89C51單片機(jī)引腳功能…………………………………………………….</p><p>  2.2 顯示電路的設(shè)計(jì)…………………………………………………………………</p&g

6、t;<p>  2.3 鍵盤電路的設(shè)計(jì)…………………………………………………………………..</p><p>  2.3.1 鍵盤的任務(wù)………………………………………………………………….</p><p>  2.3.2 獨(dú)立式鍵盤的特點(diǎn)及優(yōu)點(diǎn)………………………………………………………</p><p>  2.3.3 中斷掃描方式……………………………

7、……………………………………….</p><p>  2.3.4 鍵盤實(shí)現(xiàn)的功能………………………………………………………………… .</p><p>  2.4 晶振電路的設(shè)計(jì)…………………………………………………………………..</p><p>  2.5 復(fù)位電路的設(shè)計(jì)…………………………………………………………………..</p><p&g

8、t;  2.6 整點(diǎn)報(bào)時(shí)電路的設(shè)計(jì)……………………………………………………………</p><p>  3. 智能電子數(shù)字鐘軟件系統(tǒng)的設(shè)計(jì)……………………………………………….</p><p>  3.1主程序…………………………………………………………………………..</p><p>  3.2數(shù)碼管顯示子程序…………………………………………………………….<

9、/p><p>  3.3定時(shí)器/計(jì)數(shù)器中斷服務(wù)子程序……………………………………………….</p><p>  3.4鍵盤處理子程序………………………………………………………………….</p><p>  4. 結(jié)論和總結(jié)…………………………………………………………………………..</p><p>  參考文獻(xiàn)………………………………………………

10、…………………………………….</p><p>  附錄一:智能電子數(shù)字程序………………………………………………………………</p><p>  附錄二智能電子數(shù)字鐘電路圖…………………………………………………………</p><p><b>  摘要</b></p><p>  單片機(jī)自20世紀(jì)70年代問世以來,已對(duì)人類

11、社會(huì)產(chǎn)生了巨大影響。由于其具有集成度高、處理功能強(qiáng)、可靠性高、系統(tǒng)結(jié)構(gòu)簡單、體積小、低功耗、易于使用等優(yōu)點(diǎn),在智能控制、智能儀器儀表、辦公自動(dòng)化、家用電器等諸多領(lǐng)域得到廣泛的應(yīng)用。</p><p>  本設(shè)計(jì)介紹了一種基于AT89C51單片機(jī)設(shè)計(jì)智能電子數(shù)字鐘的方法,首先概述了智能電子數(shù)字鐘的總體方案,并介紹了硬件設(shè)計(jì)和軟件設(shè)計(jì)以及系統(tǒng)的主程序流程圖和中斷程序流程圖。它以AT89C51單片機(jī)為核心,能通過鍵盤預(yù)置

12、時(shí)間、星期;采用七段共陽數(shù)碼管顯示星期、時(shí)、分、秒;具有整點(diǎn)報(bào)時(shí)的功能;在軟件方面,利用AT89C51單片機(jī)內(nèi)部定時(shí)器T0的工作方式1實(shí)現(xiàn)定時(shí)功能,利用單片機(jī)的串口和74LS164擴(kuò)展并口實(shí)現(xiàn)LED靜態(tài)驅(qū)動(dòng),從而完成數(shù)字時(shí)鐘設(shè)計(jì)。</p><p>  關(guān)鍵詞:AT89C51單片機(jī) 中斷 定時(shí) 靜態(tài)驅(qū)動(dòng) 74LS164擴(kuò)展并口</p><p>  1.智能電子數(shù)字鐘總體方案

13、 </p><p>  1.1系統(tǒng)方案的確定</p><p>  單片機(jī)芯片作為控制系統(tǒng)的核心部件,它除了具備微機(jī)CPU的數(shù)值計(jì)算功能外,還具有靈活強(qiáng)大的控制功能,以便實(shí)時(shí)檢測(cè)系統(tǒng)的輸入量、控制系統(tǒng)的輸出量,實(shí)現(xiàn)自動(dòng)控制。在本次設(shè)計(jì)中采用單片機(jī)技術(shù)來實(shí)現(xiàn)智能電子數(shù)字鐘的功能。方案的設(shè)計(jì)可以從以下幾個(gè)方面來確定

14、:微處理器的選擇,在本次設(shè)計(jì)中采用AT89C51單片機(jī);顯示電路的設(shè)計(jì),采用7個(gè)共陽極LED數(shù)碼顯示管靜態(tài)顯示;該設(shè)計(jì)采用獨(dú)立式鍵盤,使用了4個(gè)按鍵,分別有:調(diào)整鍵、加一鍵、整點(diǎn)報(bào)時(shí)鍵、復(fù)位鍵;實(shí)時(shí)控制電路是時(shí)鐘電路的一個(gè)重要組成部分,采用的是AT89S51單片機(jī)內(nèi)部定時(shí)器T0,還有一些其他控制電路如復(fù)位電路、晶振電路等。通過這些控制電路的連接構(gòu)成了完整的電路,系統(tǒng)的整體框圖如圖所示。</p><p>  2.

15、智能數(shù)字電子時(shí)鐘硬件系統(tǒng)的設(shè)計(jì)</p><p>  本設(shè)計(jì)的硬件主要包括:單片機(jī)芯片AT89C51、晶振電路、數(shù)碼管顯示電路、鍵盤電路、整點(diǎn)報(bào)時(shí)電路、復(fù)位電路等,在硬件電路中采用AT89C51的串行口工作方式0發(fā)送,串行數(shù)據(jù)由P3.0(RXD)送出,移位時(shí)鐘由P3.1(TXD)送出,在移位時(shí)鐘的作用下,串行口發(fā)送緩沖器的數(shù)據(jù)一位一位的從P3.0移入74LS164中,并由數(shù)碼管靜態(tài)顯示。</p>&l

16、t;p>  2.1. AT89C51單片機(jī)簡介</p><p>  2.1.1 AT89C51概述</p><p>  AT89C51是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4KB的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和Flash存儲(chǔ)單元,AT89C51在眾多嵌入式控制應(yīng)用系統(tǒng)中得到廣

17、泛應(yīng)用 .</p><p>  2.1.2 主要性能特點(diǎn)</p><p>  (1)8位微處理器(CPU):包括運(yùn)算器和控制器兩大部分。</p><p>  數(shù)據(jù)存儲(chǔ)器(128B RAM):片內(nèi)為128B,片外最多可擴(kuò)64KB。</p><p> ?。?)程序存儲(chǔ)器(4KB Flash ROM):片內(nèi)集成有4KB的Flash存儲(chǔ)器,如片內(nèi)容量

18、不夠,片外可外擴(kuò)至64KB。</p><p> ?。?)4個(gè)8位可編程并行I/O口(P0口、P1口、P2口、P3口);</p><p> ?。?)1個(gè)全雙工的異步串行口;</p><p>  (6)2個(gè)可編程的16位定時(shí)器/計(jì)數(shù)器;</p><p>  (7)1個(gè)看門狗定時(shí)器;</p><p>  (8)中斷系統(tǒng)具有5

19、個(gè)中斷源、5個(gè)中斷向量;</p><p> ?。?)特殊功能寄存器(SFR)26個(gè);</p><p> ?。?0)低功耗模式有空閑模式和掉電模式,且具有掉電模式下的中斷恢復(fù)模式;</p><p>  2.1.3 AT89C51單片機(jī)引腳功能</p><p>  (1)電源及時(shí)鐘引腳—VCC、VSS;XTAL1、XTAL2。</p>

20、<p>  (2)控制引腳— PSEN、ALE、EA RST。</p><p> ?。?)I/O口引腳——P0口:8位,漏極開路的雙向I/O口,P0口可用作通用的I/O口,需加上拉電阻。 </p><p>  P1口:8位,準(zhǔn)雙向I/O口,具有內(nèi)部上拉電阻。</p><p>  P2口:8位,準(zhǔn)雙向I/O口,具有內(nèi)部上拉電阻。</p>

21、<p>  P3口:8位,準(zhǔn)雙向I/O口,具有內(nèi)部上拉電阻。P3口還可提供第二功能。</p><p>  2.2 顯示電路的設(shè)計(jì) 在本次設(shè)計(jì)中采用共陽極LED數(shù)碼顯示管靜態(tài)顯示。顯示原理如下:LED 數(shù)碼顯示管工作于靜態(tài)顯示方式時(shí),各位的共陽極連接在一起并接+5V電源,每位的斷碼線分別與一個(gè)8位的I/O口鎖存器輸出相連,如果送往各個(gè)LED數(shù)碼管所顯示字符的斷碼一經(jīng)確定,則相應(yīng)I/O口鎖存器鎖存的

22、斷碼輸出將維持不變,直到送入另一個(gè)字符的斷碼為止。正因?yàn)槿绱?,靜態(tài)顯示方式的顯示無閃爍、亮度都比較高,軟件控制比較容易。</p><p>  2.3 鍵盤電路的設(shè)計(jì)</p><p>  2.3.1 鍵盤的任務(wù):</p><p>  1.首先判別是否有鍵按下,若有進(jìn)入下一步工作。</p><p>  2.識(shí)別哪一個(gè)鍵被按下,并求出相應(yīng)的鍵值。&

23、lt;/p><p>  3.根據(jù)鍵值,找到相應(yīng)鍵值的處理程序入口。</p><p>  2.3.2 獨(dú)立式鍵盤的特點(diǎn)及優(yōu)點(diǎn):</p><p>  本設(shè)計(jì)采用獨(dú)立式鍵盤,它的特點(diǎn)是:一鍵一線,各鍵相互獨(dú)立,每個(gè)按鍵各接一個(gè)I/O口線,通過檢測(cè)I/O輸入線的電平狀態(tài),可以很容易的判斷哪個(gè)按鍵被按下。圖中上拉電阻保證按鍵釋放時(shí),輸入檢測(cè)線上有穩(wěn)定的高電平,當(dāng)某一按鍵按下時(shí),對(duì)

24、應(yīng)的檢測(cè)線就變成了低電平,與其他按鍵相連的檢測(cè)線仍為高電平,只需讀入I/O輸入線的狀態(tài),判別哪一條I/O輸入線為低電平,就很容易的識(shí)別出哪個(gè)鍵被按下。</p><p>  這種鍵盤的優(yōu)點(diǎn)是:電路簡單,各條檢測(cè)線獨(dú)立,識(shí)別按下按鍵的軟件編寫簡單,適用于按鍵數(shù)目較少的場(chǎng)合。</p><p>  2.3.3 中斷掃描方式:</p><p>  為了進(jìn)一步提高單片機(jī)掃描鍵盤

25、的工作效率,本設(shè)計(jì)采用中斷掃描方式。圖中的鍵盤只有在鍵盤有按鍵按下時(shí),對(duì)應(yīng)節(jié)點(diǎn)處為低電平,經(jīng)過74LS11反相后向單片機(jī)的中斷請(qǐng)求輸入INTO發(fā)出中斷請(qǐng)求信號(hào),單片機(jī)響應(yīng)中斷,執(zhí)行鍵盤掃描程序中斷服務(wù)子程序,識(shí)別按下的按鍵,并跳向該按鍵的處理程序。如果無鍵按下,單片機(jī)將不理睬鍵盤。此種方式的優(yōu)點(diǎn)是:只有按鍵按下時(shí),才進(jìn)行處理,所以其實(shí)時(shí)性強(qiáng),工作效率高。</p><p>  2.3.4 鍵盤實(shí)現(xiàn)的功能 </

26、p><p>  該設(shè)計(jì)使用了4個(gè)按鍵,分別有:調(diào)整鍵、加一鍵、整點(diǎn)報(bào)時(shí)鍵、復(fù)位鍵。按一下調(diào)整鍵第一個(gè)數(shù)碼管小數(shù)點(diǎn)(DP位)點(diǎn)亮,再按一下,第二位數(shù)碼管(DP位)點(diǎn)亮,如果想調(diào)整哪一位就按幾下,這樣的目的是清楚的知道正在調(diào)整哪位;加一鍵自動(dòng)實(shí)現(xiàn)加一功能;當(dāng)按下整點(diǎn)報(bào)時(shí)鍵時(shí),發(fā)光二極管點(diǎn)亮,當(dāng)?shù)秸c(diǎn)時(shí)蜂鳴器發(fā)出聲音;再按一下此鍵,發(fā)光二極管熄滅,到整點(diǎn)時(shí),蜂鳴器不會(huì)發(fā)聲。</p><p>  2.

27、4 晶振電路的設(shè)計(jì)</p><p>  AT89C51單片機(jī)有一個(gè)用于構(gòu)成內(nèi)部振蕩器的反相放大器,XTAL1和XTAL2分別是放大器的輸入、輸出端。石英晶體和陶瓷諧振器都可以用來一起構(gòu)成自激振蕩器。從外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2可以不接,而從XTAL1接入,由于外部時(shí)鐘信號(hào)經(jīng)過二分頻觸發(fā)后作為外部時(shí)鐘電路輸入的,所以對(duì)外部時(shí)鐘信號(hào)的占空比沒有其它要求,最長低電平持續(xù)時(shí)間和最少高電平持續(xù)時(shí)間等還是要符合要求的。反

28、相放大器的輸入端為XTALl,輸出端為XTAL2,兩端連接石英晶體及兩個(gè)電容形成穩(wěn)定的自激振蕩器。電容通常取30PF左右。振蕩頻率范圍是1.2~12MHz。本設(shè)計(jì)采用的頻率是12MHz。</p><p>  2.5 復(fù)位電路的設(shè)計(jì) 單片機(jī)復(fù)位是使CPU和系統(tǒng)中的其他功能部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作斷電后或者發(fā)生故障后都要復(fù)位。復(fù)位電路比較簡單,10uF電解電容與按鍵并聯(lián),+5V供電,實(shí)

29、現(xiàn)復(fù)位。</p><p>  2.6 整點(diǎn)報(bào)時(shí)電路的設(shè)計(jì)</p><p>  整點(diǎn)報(bào)時(shí)是數(shù)字鐘的一個(gè)重要功能,整點(diǎn)報(bào)時(shí)功能采用蜂鳴器來實(shí)現(xiàn)。當(dāng)按下整點(diǎn)報(bào)時(shí)鍵時(shí),發(fā)光二極管點(diǎn)亮,當(dāng)?shù)秸c(diǎn)時(shí)蜂鳴器發(fā)出聲音;再按一下此鍵,發(fā)光二極管熄滅,到整點(diǎn)時(shí),蜂鳴器不會(huì)發(fā)聲。</p><p>  3. 智能數(shù)字電子鐘軟件系統(tǒng)的設(shè)計(jì)</p><p>  單片機(jī)的

30、程序設(shè)計(jì)有其自身的特點(diǎn)。在單片機(jī)系統(tǒng)中,硬件與軟件緊密結(jié)合,由于硬件電路的設(shè)計(jì)不具有通用性,所以必須根據(jù)具體的硬件電路來設(shè)計(jì)對(duì)應(yīng)的軟件,硬件設(shè)計(jì)的優(yōu)劣直接影響到軟件設(shè)計(jì)的難易,軟件設(shè)計(jì)的優(yōu)劣又直接影響到硬件的發(fā)揮。在很多時(shí)候,軟件可以替代硬件的功能,當(dāng)然,需要付出額外占用CPU時(shí)間的代價(jià)。</p><p>  軟件程序的設(shè)計(jì)是根據(jù)硬件電路圖的連接和各個(gè)元器件的功能進(jìn)行設(shè)計(jì)。在編寫軟件時(shí),可以按各個(gè)程序的功能將軟件

31、細(xì)分為各個(gè)功能模塊,再通過主程序的調(diào)用來實(shí)現(xiàn)整個(gè)軟件系統(tǒng)。而一般編寫的程序都是根據(jù)事前所用的流程圖來編寫的,而且,流程圖中也包含了對(duì)設(shè)計(jì)所得結(jié)果的要求,因此,流程圖的設(shè)計(jì)直接影響到源程序的設(shè)計(jì)。</p><p>  智能電子數(shù)字鐘系統(tǒng)軟件程序由主程序和子程序組成。主程序包括:初始化參數(shù)設(shè)置、定時(shí)器/中斷服務(wù)子程序、按鍵處理程序、數(shù)碼管顯示模塊等。</p><p><b>  3.

32、1主程序</b></p><p>  主程序流程圖如圖所示,主程序先對(duì)定時(shí)器/計(jì)數(shù)器和顯示單元初始化,然后重復(fù)調(diào)用數(shù)碼管顯示模塊和按鍵處理模塊,當(dāng)有鍵按下,則轉(zhuǎn)入相應(yīng)的功能程序。</p><p>  ORG0100H</p><p>  MAIN:MOVDAY,#1</p><p>  MOVTMOD,#01H&l

33、t;/p><p>  MOVTH0,#3CH</p><p>  MOVTL0,#0B0H</p><p><b>  SETBTR0</b></p><p><b>  SETBPX0</b></p><p>  MOVIE,#83H</p>&l

34、t;p>  MOVR7,#20</p><p>  LCALLDISPLAY</p><p>  WAIT:JNBRING,WAIT</p><p><b>  CLRP1.3</b></p><p><b>  SETBEX0</b></p><p&g

35、t;<b>  SJMPWAIT</b></p><p>  3.2數(shù)碼管顯示子程序</p><p>  此次設(shè)計(jì)共用了7個(gè)數(shù)碼管,分別顯示星期、小時(shí)十位、小時(shí)個(gè)位、分十位、分個(gè)位、秒十位、秒個(gè)位。數(shù)碼管顯示的信息用7個(gè)內(nèi)存單元存放,這7個(gè)內(nèi)存單元為顯示緩沖區(qū),其中小時(shí)十位、小時(shí)個(gè)位、分十位、分個(gè)位、秒十位、秒個(gè)位分別由小時(shí)數(shù)據(jù)、分?jǐn)?shù)據(jù)、秒數(shù)據(jù)分拆得到。采用數(shù)碼管靜

36、態(tài)顯示,在存儲(chǔ)器中首先建立一張顯示信息的字段碼表,顯示時(shí),先從顯示緩沖區(qū)取出顯示的信息,然后通過查表程序在字段碼表中查出所顯示的信息字碼。</p><p>  DISPLAY:MOVR0,#SEC</p><p>  MOVR1,#BUFF</p><p>  MOVR2,#4</p><p>  DISPL1:MOVA,

37、@R0</p><p>  MOVB,#10</p><p><b>  DIVAB</b></p><p>  MOV@R1,B</p><p><b>  INCR1</b></p><p>  MOV@R1,A</p><p>

38、;<b>  DISPL1</b></p><p>  MOVR0,#BUFF</p><p>  MOVR2,#7</p><p>  MOVDPTR,#SEGTAB</p><p>  DISPL2:MOVA,@R0</p><p>  MOVCA,@A+DPTR</

39、p><p>  MOVSBUF,A</p><p>  DISPL3:JNBTI,DISPL3</p><p><b>  CLRTI</b></p><p><b>  INCR0</b></p><p>  DJNZR2,DISPL2</p>

40、<p><b>  RET</b></p><p>  3.3定時(shí)器/計(jì)數(shù)器中斷服務(wù)子程序</p><p>  定時(shí)器/計(jì)數(shù)器T0用于時(shí)間計(jì)時(shí)。選擇工作方式1,重復(fù)定時(shí),定時(shí)時(shí)間設(shè)為50ms,定時(shí)時(shí)間到則中斷,在中斷服務(wù)程序中用一個(gè)計(jì)數(shù)器對(duì)50ms計(jì)數(shù),計(jì)20次則對(duì)秒單元加1,秒單元到60則對(duì)分單元加1,同時(shí)秒單元清零;分單元加到60則對(duì)時(shí)單元加1,同時(shí)分

41、單元清零;時(shí)單元加到24則對(duì)星期單元加一,同時(shí)時(shí)單元清零;星期單元加到7則自動(dòng)清零。在對(duì)各單元計(jì)數(shù)的同時(shí),把它們的值放到存儲(chǔ)單元的指定位置。中斷程序流程圖如圖所示。</p><p>  SECINC:INCSEC</p><p>  MOVA,SEC</p><p>  CJNEA,#60,SECRET</p><p>  MOV

42、SEC,#0</p><p>  LCALLMININC</p><p>  SECRET:RET</p><p>  ;***********************************************************************</p><p>  MININC:INCMIN</p>

43、;<p>  MOVMIN,#0</p><p>  LCALLHOUINC</p><p>  MINRET:RET</p><p>  ;***********************************************************************</p><p>  HOUINC:

44、JNBRIN,HOUINC1</p><p><b>  SETBRING</b></p><p>  HOUINC1:INCHOU</p><p>  MOVA,HOU</p><p>  CJNEA,#24,HOURET</p><p>  MOVHOU,#0</p

45、><p>  LCALLDAYINC</p><p>  HOURET:RET</p><p>  ;***********************************************************************</p><p>  DAYINC:INCDAY</p><p>  

46、MOVA,DAY</p><p>  CJNEA,#8,DAYRET</p><p>  MOVDAY,#1</p><p>  DAYRET:RET</p><p>  3.4鍵盤處理子程序</p><p>  按鍵處理設(shè)置為:如沒有按鍵,則時(shí)鐘正常走時(shí)。按一下調(diào)整鍵第一個(gè)數(shù)碼管小數(shù)點(diǎn)(DP位)點(diǎn)亮,再按

47、一下,第二位數(shù)碼管(DP位)點(diǎn)亮,如果想調(diào)整哪一位就按幾下,這樣的目的是清楚的知道正在調(diào)整哪位;加一鍵自動(dòng)實(shí)現(xiàn)加一功能;當(dāng)按下整點(diǎn)報(bào)時(shí)鍵時(shí),發(fā)光二極管點(diǎn)亮當(dāng)?shù)秸c(diǎn)時(shí)蜂鳴器發(fā)出聲音;再按一下此鍵,發(fā)光二極管熄滅,到整點(diǎn)時(shí),蜂鳴器不會(huì)發(fā)聲。</p><p>  INTO:LCALLDELAY</p><p>  JBP3.2,INT0RET2</p><p>

48、  JNBP1.0,KEYSWI</p><p>  JNBP1.1,KEYINC</p><p>  JNBP1.2,KEYRIN</p><p>  INT0RET2:RETI</p><p>  ;***************************************************************

49、********</p><p>  KEYSWI:PUSHPSW</p><p>  PUSHAcc</p><p>  KEYSWIW:JNBP3.2,KEYSWIW</p><p>  JBBAL,STATEON</p><p>  MOV20H,#81H</p><p

50、><b>  SETBP2.7</b></p><p><b>  CLRP2.0</b></p><p>  SJMPINT0RET</p><p>  STATEON:MOVA,20H</p><p><b>  RLA</b></p>

51、<p>  MOV20H,A</p><p><b>  CLRBSL</b></p><p><b>  CPLBAL</b></p><p><b>  MOVA,P2</b></p><p><b>  RLA</b>

52、</p><p><b>  MOVP2,A</b></p><p>  SJMPINT0RET</p><p>  ;***********************************************************************</p><p>  KEYINC:PUSHPS

53、W</p><p><b>  PUSHAcc</b></p><p>  KEYINCW:JNBP3.2,KEYINCW</p><p>  JNBBAL,INT0RET</p><p>  JBBSL,KEYBSL</p><p>  JBBSH,KEYBSH</p&

54、gt;<p>  JBBML,KEYBML</p><p>  JBBMH,KEYBMH</p><p>  JBBHL,KEYBHL</p><p>  JBBHH,KEYBHH</p><p>  JBBDA,KEYBDA</p><p>  KEYBSL:LCALLKEYBS

55、LC</p><p>  KEYBSH:LCALLKEYBSHC</p><p>  SJMPINT0RET</p><p>  KEYBML:LCALLKEYBMLC</p><p>  SJMPINT0RET</p><p>  KEYBMH:LCALLKEYBMHC</p><

56、p>  SJMPINT0RET</p><p>  KEYBHL:LCALLKEYBHLC</p><p>  SJMPINT0RET</p><p>  KEYBHH:LCALLKEYBHHC</p><p>  SJMPINT0RET</p><p>  KEYBDA:LCALLKEYBDA

57、C</p><p>  SJMPINT0RET</p><p>  ;***********************************************************************</p><p>  KEYRIN:PUSHPSW</p><p><b>  PUSHAcc</b>

58、</p><p>  KEYRINW:JNBP3.2,KEYRINW</p><p>  JNBRING,RING1</p><p><b>  CLRRING</b></p><p><b>  SETBP1.3</b></p><p>  SJMPINT

59、0RET</p><p>  RING1:CPLRIN</p><p><b>  CPLP1.4</b></p><p>  ;***********************************************************************</p><p>  INT0RET:

60、POPAcc</p><p><b>  POPPSW</b></p><p>  INT0RETI:RETI</p><p><b>  4. 結(jié)論和總結(jié)</b></p><p>  通過這段時(shí)間的課程設(shè)計(jì),我學(xué)會(huì)了很多。起初對(duì)單片機(jī)這門課,一點(diǎn)都不了解,后來經(jīng)過慢慢看書,才發(fā)現(xiàn)這

61、門課很有意思。我這次設(shè)計(jì)的課題是智能電子數(shù)字鐘,它的基本功能是能顯示星期、小時(shí)、分鐘、秒;能通過鍵盤預(yù)置時(shí)間、星期;具有整點(diǎn)報(bào)時(shí)的功能。本次設(shè)計(jì)采用單片機(jī)作為核心控制器,實(shí)現(xiàn)具有定時(shí)、校時(shí)功能的數(shù)字鐘。</p><p>  課程設(shè)計(jì)任務(wù)布置后,我首先學(xué)習(xí)了AT89S51單片機(jī)的硬件組成,各引腳的基本功能,還自學(xué)了課本上有關(guān)數(shù)碼管顯示、鍵盤的有關(guān)內(nèi)容。在學(xué)習(xí)的過程中,有很多不會(huì)的地方,通過同學(xué)之間的相互交流和上網(wǎng)查

62、資料,基本上弄懂了。大學(xué)不光是為了學(xué)知識(shí),還要練習(xí)實(shí)踐能力,只有理論和實(shí)踐相結(jié)合,才能把知識(shí)徹底學(xué)懂、學(xué)透。</p><p>  單片機(jī)課程設(shè)計(jì)是對(duì)單片機(jī)這門課所學(xué)知識(shí)的驗(yàn)證,可以幫助我們更好的學(xué)習(xí)和鞏固所學(xué)知識(shí)。激發(fā)我們對(duì)單片機(jī)這門課的興趣,更鍛煉了我們獨(dú)立思考、遇到問題知道尋求答案、不斷創(chuàng)新的能力。</p><p>  在這次課程設(shè)計(jì)中,我首先自學(xué)了PROTEUS軟件,一步步的畫出了硬

63、件接線圖,雖然以前從未學(xué)過這個(gè)軟件,只聽同學(xué)說這個(gè)軟件很好用,懷著濃厚的興趣,學(xué)習(xí)它,最后真的學(xué)會(huì)了。后來自己編寫了中斷和定時(shí)程序,選擇了定時(shí)器0的工作方式1,它的最大定時(shí)時(shí)間為65.536毫秒,我設(shè)定了50毫秒,進(jìn)行20次中斷實(shí)現(xiàn)1秒的定時(shí)。然后設(shè)計(jì)了系統(tǒng)總的流程圖,接著中斷流程圖,再然后就是編寫了主程序。經(jīng)過這一步步的設(shè)計(jì),使自己的思維整體化,慢慢的有條不絮。我課程設(shè)計(jì)的最大收獲是發(fā)現(xiàn)帶著問題去學(xué)習(xí)效率很高。</p>

64、<p><b>  參考文獻(xiàn)</b></p><p>  [1] 張毅剛. 單片機(jī)原理及應(yīng)用. 北京: 高等教育出版社,2009</p><p>  [2] 何立民. 單片機(jī)應(yīng)用技術(shù)選編. 北京: 北京航空航天大學(xué)出版社,1994</p><p>  [3] 孫育才,王榮興,孫化芳. 新型AT89S52系列單片機(jī)及其應(yīng)用. 北京: 清

65、華大學(xué)出版社,2005</p><p>  [4] 蔣延彪. 單片機(jī)原理及應(yīng)用(MCS-51). 重慶: 重慶大學(xué)出版社,2003</p><p>  [5] 李云剛,龍志強(qiáng). 單片機(jī)原理與應(yīng)用系統(tǒng)設(shè)計(jì).北京:中國水利水電出版社,2008</p><p>  [6] 龍威林,胡山. 單片機(jī)應(yīng)用入門:AT89S51和AVR. 北京: 化學(xué)工業(yè)出版社,2008</

66、p><p>  [7] 張虹. 單片機(jī)原理及應(yīng)用. 北京: 中國電力出版社,2009 </p><p>  [8] 王幸之. AT89系列單片機(jī)原理與接口技術(shù). 北京: 北京航空航天大學(xué)出版社,2004</p><p>  [9] 謝維成,楊家國. 單片機(jī)原理與應(yīng)用及C51程序設(shè)計(jì).北京:清華大學(xué)出版

67、社,2006</p><p>  [10] 李光飛. 單片機(jī)課程設(shè)計(jì)實(shí)例指導(dǎo). 北京: 北京航空航天大學(xué)出版社,2005</p><p>  [11] 張培仁. 基于C語言編程MCS-51單片機(jī)原理與應(yīng)用. 北京: 清華大學(xué)出版社,2003</p><p><b>  附錄一:</b></p><p>  智能電子數(shù)字鐘

68、程序如下:</p><p>  SECEQU30H;秒寄存器</p><p>  MINEQU31H;分寄存器</p><p>  HOUEQU32H;時(shí)寄存器</p><p>  DAYEQU33H;星期寄存器</p><p>  BUFFEQU40H;串行發(fā)

69、送緩沖器</p><p>  BSLBIT00H;秒低位調(diào)整標(biāo)志</p><p>  BSHBIT01H;秒高位調(diào)整標(biāo)志</p><p>  BMLBIT02H;分低位調(diào)整標(biāo)志</p><p>  BMHBIT03H;分高位調(diào)整標(biāo)志</p><p>  BHLBIT0

70、4H;時(shí)低位調(diào)整標(biāo)志</p><p>  BHHBIT05H;時(shí)高位調(diào)整標(biāo)志</p><p>  BDABIT06H;星期位調(diào)整標(biāo)志</p><p>  BALBIT07H;總調(diào)整標(biāo)志</p><p>  RINBIT08H;整點(diǎn)報(bào)時(shí)標(biāo)志位</p><p>  R

71、INGBIT09H;響鈴標(biāo)志位</p><p>  ORG0000H</p><p><b>  LJMPMAIN</b></p><p>  ORG0003H</p><p><b>  LJMPINTO</b></p><p>  ORG000B

72、H</p><p><b>  LJMPIT0P</b></p><p>  ;***********************************************************************</p><p>  ORG0100H</p><p>  MAIN:MOVDAY,#

73、1</p><p>  MOVTMOD,#01H</p><p>  MOVTH0,#3CH</p><p>  MOVTL0,#0B0H</p><p><b>  SETBTR0</b></p><p><b>  SETBPX0</b></p>

74、;<p>  MOVIE,#83H</p><p>  MOVR7,#20</p><p>  LCALLDISPLAY</p><p>  WAIT:JNBRING,WAIT</p><p><b>  CLREX0</b></p><p><b>

75、  CLRP1.3</b></p><p><b>  SETBEX0</b></p><p><b>  SJMPWAIT</b></p><p>  ;***********************************************************************<

76、;/p><p>  SECINC:INCSEC</p><p>  MOVA,SEC</p><p>  CJNEA,#60,SECRET</p><p>  MOVSEC,#0</p><p>  LCALLMININC</p><p>  SECRET:RET</p&g

77、t;<p>  ;***********************************************************************</p><p>  MININC:INCMIN</p><p>  MOVA,MIN</p><p>  CJNEA,#60,MINRET</p><p>

78、  MOVMIN,#0</p><p>  LCALLHOUINC</p><p>  MINRET:RET</p><p>  ;***********************************************************************</p><p>  HOUINC:JNBRIN,HOU

79、INC1</p><p><b>  SETBRING</b></p><p>  HOUINC1:INCHOU</p><p>  MOVA,HOU</p><p>  CJNEA,#24,HOURET</p><p>  MOVHOU,#0</p><p&

80、gt;  LCALLDAYINC</p><p>  HOURET:RET</p><p>  ;***********************************************************************</p><p>  DAYINC:INCDAY</p><p>  MOVA,DAY&l

81、t;/p><p>  CJNEA,#8,DAYRET</p><p>  MOVDAY,#1</p><p>  DAYRET:RET</p><p>  ;***********************************************************************</p><p>

82、;  DISPLAY:MOVR0,#SEC</p><p>  MOVR1,#BUFF</p><p>  MOVR2,#4</p><p>  DISPL1:MOVA,@R0</p><p>  MOVB,#10</p><p><b>  DIVAB</b><

83、/p><p>  MOV@R1,B</p><p><b>  INCR1</b></p><p>  MOV@R1,A</p><p><b>  INCR0</b></p><p><b>  INCR1</b></p>

84、<p>  DJNZR2,DISPL1</p><p>  MOVR0,#BUFF</p><p>  MOVR2,#7</p><p>  MOVDPTR,#SEGTAB</p><p>  DISPL2:MOVA,@R0</p><p>  MOVCA,@A+DPTR</p&

85、gt;<p>  MOVSBUF,A</p><p>  DISPL3:JNBTI,DISPL3</p><p><b>  CLRTI</b></p><p><b>  INCR0</b></p><p>  DJNZR2,DISPL2</p>&

86、lt;p><b>  RET</b></p><p>  ;***********************************************************************</p><p>  SEGTAB:DB0C0H,0F9H,0A4H,0B0H,99H</p><p>  DB92H,82H,0F

87、8H,80H,90H</p><p>  ;***********************************************************************</p><p>  DELAY:MOVR3,#50</p><p>  DLOO1:MOVR4,#50</p><p>  DLOO2:

88、NOP</p><p><b>  NOP</b></p><p>  DJNZR4,DLOO2</p><p>  DJNZR3,DLOO1</p><p><b>  RET</b></p><p>  ;*******************************

89、****************************************</p><p>  IT0P:MOVTH0,#3CH</p><p>  MOVTL0,#0B0H</p><p><b>  PUSHPSW</b></p><p><b>  PUSHAcc</b>

90、</p><p>  DJNZR7,IT0PRET</p><p>  MOVR7,#20</p><p><b>  CLREA</b></p><p>  LCALLSECINC</p><p>  LCALLDISPLAY</p><p><b&g

91、t;  SETBEA</b></p><p>  IT0PRET:POPAcc</p><p><b>  POPPSW</b></p><p><b>  RETI</b></p><p>  ;***************************************

92、********************************</p><p>  ;***********************************************************************</p><p>  INTO:LCALLDELAY</p><p>  JBP3.2,INT0RET2</p>

93、<p>  JNBP1.0,KEYSWI</p><p>  JNBP1.1,KEYINC</p><p>  JNBP1.2,KEYRIN</p><p>  INT0RET2:RETI</p><p>  ;******************************************************

94、*****************</p><p>  KEYSWI:PUSHPSW</p><p>  PUSHAcc</p><p>  KEYSWIW:JNBP3.2,KEYSWIW</p><p>  JBBAL,STATEON</p><p>  MOV20H,#81H</p&g

95、t;<p><b>  SETBP2.7</b></p><p><b>  CLRP2.0</b></p><p>  SJMPINT0RET</p><p>  STATEON:MOVA,20H</p><p><b>  RLA</b>&l

96、t;/p><p>  MOV20H,A</p><p><b>  CLRBSL</b></p><p><b>  CPLBAL</b></p><p><b>  MOVA,P2</b></p><p><b>  RLA&

97、lt;/b></p><p><b>  MOVP2,A</b></p><p>  SJMPINT0RET</p><p>  ;***********************************************************************</p><p>  KEYINC

98、:PUSHPSW</p><p><b>  PUSHAcc</b></p><p>  KEYINCW:JNBP3.2,KEYINCW</p><p>  JNBBAL,INT0RET</p><p>  JBBSL,KEYBSL</p><p>  JBBSH,KEYB

99、SH</p><p>  JBBML,KEYBML</p><p>  JBBMH,KEYBMH</p><p>  JBBHL,KEYBHL</p><p>  JBBHH,KEYBHH</p><p>  JBBDA,KEYBDA</p><p>  KEYBSL:LC

100、ALLKEYBSLC</p><p>  KEYBSH:LCALLKEYBSHC</p><p>  SJMPINT0RET</p><p>  KEYBML:LCALLKEYBMLC</p><p>  SJMPINT0RET</p><p>  KEYBMH:LCALLKEYBMHC</p&

101、gt;<p>  SJMPINT0RET</p><p>  KEYBHL:LCALLKEYBHLC</p><p>  SJMPINT0RET</p><p>  KEYBHH:LCALLKEYBHHC</p><p>  SJMPINT0RET</p><p>  KEYBDA:LCA

102、LLKEYBDAC</p><p>  SJMPINT0RET</p><p>  ;***********************************************************************</p><p>  KEYRIN:PUSHPSW</p><p><b>  PUSHAcc&

103、lt;/b></p><p>  KEYRINW:JNBP3.2,KEYRINW</p><p>  JNBRING,RING1</p><p><b>  CLRRING</b></p><p><b>  SETBP1.3</b></p><p> 

104、 SJMPINT0RET</p><p>  RING1:CPLRIN</p><p><b>  CPLP1.4</b></p><p>  ;***********************************************************************</p><p> 

105、 INT0RET:POPAcc</p><p><b>  POPPSW</b></p><p>  INT0RETI:RETI</p><p>  ;***********************************************************************</p><p

106、>  ;***********************************************************************</p><p>  KEYBSLC:MOVA,SEC</p><p>  MOVB,#10</p><p><b>  DIVAB</b></p><p&

107、gt;<b>  MOVA,B</b></p><p>  CJNEA,#9,KEYBSL1</p><p>  MOVA,SEC</p><p><b>  SUBBA,#9</b></p><p>  MOVSEC,A</p><p>  LCALLDI

108、SPLAY</p><p><b>  RET</b></p><p>  KEYBSL1:INCSEC</p><p>  LCALLDISPLAY</p><p><b>  RET</b></p><p>  ;*************************

109、**********************************************</p><p>  KEYBSHC:MOVA,SEC</p><p>  MOVB,#10</p><p><b>  DIVAB</b></p><p>  CJNEA,#5,KEYBSH1</p>

110、<p>  MOVSEC,B</p><p>  LCALLDISPLAY</p><p><b>  RET</b></p><p>  KEYBSH1:MOVA,SEC</p><p>  ADDA,#10</p><p>  MOVSEC,A</p&g

111、t;<p>  LCALLDISPLAY</p><p><b>  RET</b></p><p>  ;***********************************************************************</p><p>  KEYBMLC:MOVA,MIN</p>

112、<p>  MOVB,#10</p><p><b>  DIVAB</b></p><p><b>  MOVA,B</b></p><p>  CJNEA,#9,KEYBML1</p><p>  MOVA,MIN</p><p><

113、b>  SUBBA,#9</b></p><p>  MOVMIN,A</p><p>  LCALLDISPLAY</p><p><b>  RET</b></p><p>  KEYBML1:INCMIN</p><p>  LCALLDISPLAY<

114、/p><p><b>  RET</b></p><p>  ;***********************************************************************</p><p>  KEYBMHC:MOVA,MIN</p><p>  MOVB,#10</p>

115、;<p><b>  DIVAB</b></p><p>  CJNEA,#5,KEYBMH1</p><p>  MOVMIN,B</p><p>  LCALLDISPLAY</p><p><b>  RET</b></p><p>  KEY

116、BMH1:MOVA,MIN</p><p>  ADDA,#10</p><p>  MOVMIN,A</p><p>  LCALLDISPLAY</p><p><b>  RET</b></p><p>  ;*********************************

117、**************************************</p><p>  KEYBHLC:MOVA,HOU</p><p>  MOVB,#10</p><p><b>  DIVAB</b></p><p>  CJNEA,#2,KBHL2</p><p>

118、;  KBHL1:MOVA,B</p><p>  CJNEA,#3,KBHL11</p><p>  MOVA,HOU</p><p><b>  SUBBA,#3</b></p><p>  MOVHOU,A</p><p>  LCALLDISPLAY</p>

119、;<p><b>  RET</b></p><p>  KBHL11:INCHOU</p><p>  LCALLDISPLAY</p><p><b>  RET</b></p><p>  KBHL2:MOVA,B</p><p>  CJ

120、NEA,#9,KBHL21</p><p>  MOVA,HOU</p><p><b>  SUBBA,#9</b></p><p>  MOVHOU,A</p><p>  LCALLDISPLAY</p><p><b>  RET</b></p&g

121、t;<p>  KBHL21:INCHOU</p><p>  LCALLDISPLAY</p><p><b>  RET</b></p><p>  ;***********************************************************************</p>&

122、lt;p>  KEYBHHC:MOVA,HOU</p><p>  MOVB,#10</p><p><b>  DIVAB</b></p><p><b>  MOVA,B</b></p><p>  CJNEA,#4,JUDGE</p><p>

123、  JUDGE:JNCMORE</p><p>  LESS:MOVA,HOU</p><p>  MOVB,#10</p><p><b>  DIVAB</b></p><p>  CJNEA,#2,LESS2</p><p>  LESS1:MOVHOU,B

124、</p><p>  LCALLDISPLAY</p><p><b>  RET</b></p><p>  LESS2:MOVA,HOU</p><p>  ADDA,#10</p><p>  MOVHOU,A</p><p>  LCALLDIS

125、PLA</p><p><b>  RET</b></p><p>  MORE:MOVA,HOU</p><p>  MOVB,#10</p><p><b>  DIVAB</b></p><p>  CJNEA,#1,MORE2</p>

126、<p>  MORE1:MOVA,HOU</p><p>  SUBBA,#10</p><p>  MOVHOU,A</p><p>  LCALLDISPLAY</p><p><b>  RET</b></p><p>  MORE2:MOVA,HOU<

127、;/p><p>  ADDA,#10</p><p>  MOVHOU,A</p><p>  LCALLDISPLAY</p><p><b>  RET</b></p><p>  ;****************************************************

128、*******************</p><p>  KEYBDAC:MOVA,DAY</p><p>  CJNEA,#7,INC1</p><p>  MOVDAY,#1</p><p>  LCALLDISPLAY</p><p><b>  RET</b></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)論