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

下載本文檔

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

文檔簡介

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

2、  班 級: </p><p>  學(xué) 號: </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è)計………………………………………

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

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

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

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

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

9、/p><p>  3.3定時器/計數(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>  單片機自20世紀(jì)70年代問世以來,已對人類

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

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

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

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

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

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

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

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

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

20、<p> ?。?)控制引腳— 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è)計 在本次設(shè)計中采用共陽極LED數(shù)碼顯示管靜態(tài)顯示。顯示原理如下:LED 數(shù)碼顯示管工作于靜態(tài)顯示方式時,各位的共陽極連接在一起并接+5V電源,每位的斷碼線分別與一個8位的I/O口鎖存器輸出相連,如果送往各個LED數(shù)碼管所顯示字符的斷碼一經(jīng)確定,則相應(yīng)I/O口鎖存器鎖存的

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

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

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

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

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

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

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

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

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

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

32、1主程序</b></p><p>  主程序流程圖如圖所示,主程序先對定時器/計數(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è)計共用了7個數(shù)碼管,分別顯示星期、小時十位、小時個位、分十位、分個位、秒十位、秒個位。數(shù)碼管顯示的信息用7個內(nèi)存單元存放,這7個內(nèi)存單元為顯示緩沖區(qū),其中小時十位、小時個位、分十位、分個位、秒十位、秒個位分別由小時數(shù)據(jù)、分?jǐn)?shù)據(jù)、秒數(shù)據(jù)分拆得到。采用數(shù)碼管靜

36、態(tài)顯示,在存儲器中首先建立一張顯示信息的字段碼表,顯示時,先從顯示緩沖區(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ù)器中斷服務(wù)子程序</p><p>  定時器/計數(shù)器T0用于時間計時。選擇工作方式1,重復(fù)定時,定時時間設(shè)為50ms,定時時間到則中斷,在中斷服務(wù)程序中用一個計數(shù)器對50ms計數(shù),計20次則對秒單元加1,秒單元到60則對分單元加1,同時秒單元清零;分單元加到60則對時單元加1,同時分

41、單元清零;時單元加到24則對星期單元加一,同時時單元清零;星期單元加到7則自動清零。在對各單元計數(shù)的同時,把它們的值放到存儲單元的指定位置。中斷程序流程圖如圖所示。</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è)置為:如沒有按鍵,則時鐘正常走時。按一下調(diào)整鍵第一個數(shù)碼管小數(shù)點(DP位)點亮,再按

47、一下,第二位數(shù)碼管(DP位)點亮,如果想調(diào)整哪一位就按幾下,這樣的目的是清楚的知道正在調(diào)整哪位;加一鍵自動實現(xiàn)加一功能;當(dāng)按下整點報時鍵時,發(fā)光二極管點亮當(dāng)?shù)秸c時蜂鳴器發(fā)出聲音;再按一下此鍵,發(fā)光二極管熄滅,到整點時,蜂鳴器不會發(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è)計,我學(xué)會了很多。起初對單片機這門課,一點都不了解,后來經(jīng)過慢慢看書,才發(fā)現(xiàn)這

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

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

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

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

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

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

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

68、程序如下:</p><p>  SECEQU30H;秒寄存器</p><p>  MINEQU31H;分寄存器</p><p>  HOUEQU32H;時寄存器</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;時低位調(diào)整標(biāo)志</p><p>  BHHBIT05H;時高位調(diào)整標(biāo)志</p><p>  BDABIT06H;星期位調(diào)整標(biāo)志</p><p>  BALBIT07H;總調(diào)整標(biāo)志</p><p>  RINBIT08H;整點報時標(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等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論