版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)--數(shù)字鐘電子鐘
- 單片機(jī)數(shù)字鐘課程設(shè)計(jì)
- 單片機(jī)數(shù)字鐘課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---數(shù)字鐘設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--- 簡易數(shù)字鐘
- 單片機(jī)課程設(shè)計(jì)數(shù)字鐘
- 單片機(jī)課程設(shè)計(jì)--基于單片機(jī)數(shù)字鐘的設(shè)計(jì)
- 單片機(jī)多功能電子數(shù)字鐘課程設(shè)計(jì)報(bào)告
- 基于單片機(jī)的數(shù)字鐘課程設(shè)計(jì)
- 簡易數(shù)字鐘的單片機(jī)課程設(shè)計(jì)
- 基于單片機(jī)的數(shù)字鐘課程設(shè)計(jì)
- 課程設(shè)計(jì)--單片機(jī)控制的數(shù)字鐘
- 單片機(jī)課程設(shè)計(jì)數(shù)字鐘報(bào)告
- 單片機(jī)課程設(shè)計(jì)報(bào)告-數(shù)字鐘的設(shè)計(jì)
- 課程設(shè)計(jì)---基于單片機(jī)的數(shù)字鐘的設(shè)計(jì)
- 簡易數(shù)字鐘的單片機(jī)課程設(shè)計(jì)1
- 課程設(shè)計(jì)--智能電子數(shù)字鐘設(shè)計(jì)
- 單片機(jī)數(shù)字鐘畢業(yè)設(shè)計(jì)---單片機(jī)設(shè)計(jì)數(shù)字鐘
- 單片機(jī)課程設(shè)計(jì)——數(shù)字電子鐘
- 單片機(jī)課程設(shè)計(jì)--數(shù)字電子鐘
評(píng)論
0/150
提交評(píng)論