版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目 錄</b></p><p><b> 1 緒論1</b></p><p><b> 1.1 概述1</b></p><p> 1.2 設(shè)計目的1</p><p> 2 設(shè)計任務(wù)及內(nèi)容1</p><p&g
2、t; 2.1 設(shè)計任務(wù)1</p><p> 2.2 設(shè)計內(nèi)容1</p><p> 3 總體設(shè)計及核心器件簡介2</p><p> 3.1 總體設(shè)計2</p><p> 3.2 硬件設(shè)計2</p><p> 3.2.1 硬件系統(tǒng)總體設(shè)計2</p><p> 3.2.2 單
3、片機(jī)的選擇3</p><p> 3.2.3 顯示電路的選擇與設(shè)計4</p><p> 3.2.4 按鍵電路的選擇與設(shè)計6</p><p> 3.2.5 時鐘電路的選擇與設(shè)計7</p><p> 3.2.6 復(fù)位電路的選擇與設(shè)計8</p><p> 3.2.7 系統(tǒng)總電路的設(shè)計10</p>
4、;<p> 3.3 軟件設(shè)計11</p><p> 3.3.1 程序設(shè)計思想11</p><p> 3.3.2 系統(tǒng)資源的分配11</p><p> 3.3.3 主程序設(shè)計11</p><p> 3.3.4 中斷程序設(shè)計12</p><p> 4 數(shù)字電子秒表的安裝與調(diào)試15<
5、;/p><p> 4.1 軟件的仿真與調(diào)試15</p><p> 4.2 硬件的安裝與調(diào)試15</p><p> 4.2 匯編程序16</p><p> 5 設(shè)計體會與總結(jié)21</p><p><b> 1 緒論</b></p><p><b>
6、1.1 概述</b></p><p> 單片微型計算機(jī)簡稱單片機(jī),又稱微控制器,是微型計算機(jī)的一個重要分支。單片機(jī)是20世紀(jì)七十年代中期發(fā)展起來的一種大規(guī)模集成電路芯片,是集CPU、RAM、ROM、I/O接口和終端系統(tǒng)與同一硅片的器件。20世紀(jì)八十年代以來單片機(jī)發(fā)展迅速各類新產(chǎn)品不斷涌現(xiàn)出現(xiàn)許多新產(chǎn)品,出現(xiàn)了許多高性能新型機(jī)種現(xiàn)已成為工業(yè)控制和各控制領(lǐng)域的支柱產(chǎn)業(yè)之一。由于單片機(jī)功能強(qiáng)、體積小、可靠
7、性好、價格便宜等獨特優(yōu)點因而受到人們的高度重視并取到了一系列的科研成果,成為傳統(tǒng)工業(yè)技術(shù)改造和新產(chǎn)品更新?lián)Q代的理想機(jī)種,并具有廣闊的發(fā)展前景。</p><p> 本設(shè)計運(yùn)用所學(xué)的單片機(jī)知識,將單片機(jī)與普通秒表相結(jié)合設(shè)計了電子秒表,具有顯示直觀、讀取方便、精度高等優(yōu)良特點,在計時中應(yīng)用廣泛。</p><p><b> 1.2 設(shè)計目的</b></p>
8、<p> 加強(qiáng)對51系列單片機(jī)的構(gòu)造了解及應(yīng)用,熟悉匯編語言或C語言編程,綜合掌握和理解設(shè)計各部分的工作原理、設(shè)計過程、芯片器件的選擇方法、模塊化編程等多項知識。 </p><p> ?。?)用單片機(jī)模擬實現(xiàn)具體應(yīng)用使個人設(shè)計系統(tǒng)能夠真正使用;</p><p> ?。?)把理論知識與實踐知識相結(jié)合,充分發(fā)揮個人能力,并在實踐中得到鍛煉;</p><p>
9、; ?。?)提高利用已學(xué)的知識分析和解決問題的能力;</p><p><b> 提高動手實踐能力。</b></p><p><b> 2 設(shè)計任務(wù)及內(nèi)容</b></p><p><b> 2.1 設(shè)計任務(wù)</b></p><p> 結(jié)合教材及參考資料,用80C51單片機(jī)
10、模擬實現(xiàn)電子秒表的開啟,計時,停止并顯示時間等功能。</p><p><b> 2.2 設(shè)計內(nèi)容</b></p><p> ?。?)填寫設(shè)計任務(wù)書;</p><p> (2)進(jìn)行總體設(shè)計,畫出設(shè)計原理圖;</p><p> (3)用PROTEUS軟件畫出設(shè)計電路圖;</p><p> ?。?
11、)用Keil軟件編寫程序;</p><p> ?。?)在PROTEUS里模擬并調(diào)試程序達(dá)到期望功能。</p><p> 3 總體設(shè)計及核心器件簡介</p><p><b> 3.1 總體設(shè)計</b></p><p> 本設(shè)計中包括硬件電路的設(shè)計和系統(tǒng)程序的設(shè)計。其硬件電路的設(shè)計主要包括單片機(jī)的選擇、顯示電路的選擇與
12、設(shè)計、按鍵電路的選擇與設(shè)計、時鐘電路的選擇與設(shè)計、復(fù)位電路的選擇與設(shè)計等。系統(tǒng)程序的設(shè)計包括系統(tǒng)程序設(shè)計思路、系統(tǒng)資源的分配、匯編程序的設(shè)計等。</p><p><b> 3.2 硬件設(shè)計</b></p><p> 3.2.1 硬件系統(tǒng)總體設(shè)計</p><p> 主控制器選用80C51單片機(jī),顯示電路采用共陰極LED數(shù)碼管顯示計時時間,四
13、個按鍵均采用觸點式按鍵。</p><p> 1. 利用80C51單片機(jī)的定時器/計數(shù)器定時和記數(shù)的原理,使其能精確計時。利用中斷系統(tǒng)使其實現(xiàn)開始暫停的功能。P0口輸出段碼數(shù)據(jù),P2.2-P2.4口作列掃描輸出,P1.0、P3.2、P3.3口接三個按鈕開關(guān),分別實現(xiàn)電子秒表的啟動、開始、暫停功能。電路原理圖設(shè)計最基本的要求是正確性,其次是布局合理,最后在正確性和布局合理的前提下力求美觀。硬件電路圖按照圖3.1進(jìn)
14、行設(shè)計。</p><p> 圖3.1 數(shù)字秒表硬件電路基本原理圖</p><p> 2. 根據(jù)要求知道秒表設(shè)計主要實現(xiàn)的功能是計時和顯示。因此設(shè)置了四個按鍵和三位數(shù)碼管顯示時間,三個按鍵分別是啟動、開始,停止和復(fù)位按鍵。利用這四個鍵來實現(xiàn)秒表的全部功能,而三位數(shù)碼管則能顯示00.0-99.9秒的計時。</p><p> 本設(shè)計中,數(shù)碼管顯示的數(shù)據(jù)存放在內(nèi)存
15、單元7BH-7DH中。其中7BH存放0.1秒位數(shù)據(jù),7CH存放1秒位數(shù)據(jù),7DH存放10秒位數(shù)據(jù),每一地址單元內(nèi)均為十進(jìn)制BCD碼。由于采用軟件動態(tài)掃描實現(xiàn)數(shù)據(jù)顯示功能,顯示用十進(jìn)制BCD碼數(shù)據(jù)的對應(yīng)段碼存放在ROM表中。顯示時,先取出7BH-7DH某一地址中的數(shù)據(jù),然后查得對應(yīng)的顯示用段碼,并從P0口輸出,P2口將對應(yīng)的數(shù)碼管選中供電,就能顯示該地址單元的數(shù)據(jù)值。</p><p> 3. 計時采用定時器T0
16、中斷完成,定時溢出中斷周期為0.1s,當(dāng)一處中斷后向CPU發(fā)出溢出中斷請求,每發(fā)出一次中斷請求就對0.1秒計數(shù)單元進(jìn)行加一,達(dá)到10次就對1秒位進(jìn)行加一,依次類推,直到99.9秒重新復(fù)位。 </p><p> 4. 按鍵的處理。這兩個鍵采用中斷的方法來識別,對開始和停止鍵采用外部中斷INT0、INT1的方式,即A、B鍵分別接P3.2、P3.3口。</p><p> 3.2.2 單片機(jī)
17、的選擇</p><p> 本課題在選取單片機(jī)時,充分借鑒了許多成形產(chǎn)品使用單片機(jī)的經(jīng)驗,并根據(jù)自己的實際情況,選擇了80C51。</p><p> 80C51是MCS-51系列單片機(jī)中的一個子系列,是一族高性能兼容型單片機(jī)。其內(nèi)部資源分配和性能如下;8位CPU;尋址能力2X64K;4KB的內(nèi)部ROM和128B內(nèi)部RAM;四個8位I/O接口電路;一個串行全雙工異步接口;五個中斷源和兩個中
18、斷優(yōu)先級;采用CMOS工藝電流小,低功耗。</p><p> 80C51各引腳主要功能簡介:
19、(1)Vss(20腳):接地</p><p> (2)VCC(40腳): 主電源+5V</p><p> ?。?)XTAL1(19腳):接外部晶體的一端。在片內(nèi)它是振蕩電路反相放大器的輸入端。在采用外部時鐘時,對于HMOS單片機(jī),該端引腳必須接地;對于CHMOS單片機(jī),此引腳作為驅(qū)動端。</p><p> XTAL2(18腳):接外部晶體的另一端。在片內(nèi)它是一個
20、振蕩電路反相放大器的輸出端,振蕩電路的頻率是晶體振蕩頻率。若需采用外部時鐘電路,對于HMOS單片機(jī),該引腳輸入外部時鐘脈沖;對于CHMOS單片機(jī),此引腳應(yīng)懸浮。</p><p> ?。?) RST(9腳): 單片機(jī)剛接上電源時,其內(nèi)部各寄存器處于隨機(jī)狀態(tài),在該腳輸入24個時鐘周期寬度以上的高電平將使單片機(jī)復(fù)位(RESET)</p><p> ?。?)PSEN(29腳): 在訪問片外程序存儲
21、器時,此端輸出負(fù)脈沖作為存儲器讀選通信號。CPU在向片外存儲器取指令期間,PSEN信號在12個時鐘周期中兩次生效。不過,在訪問片外數(shù)據(jù)存儲器時,這兩次有效PSEN信號不出現(xiàn)。PSEN端同樣可驅(qū)動8個LSTTL負(fù)載。我們根據(jù)PSEN、ALE和XTAL2輸出端是否有信號輸出,可以判別80C51是否在工作。</p><p> (6)ALE/PROG(30腳):在訪問片外程序存儲器時,此端輸出負(fù)脈沖作為存儲器讀選通信號
22、。CPU在向片外存儲器取指令期間,PSEN信號在12個時鐘周期中兩次生效。不過,在訪問片外數(shù)據(jù)存儲器時,這兩次有效PSEN信號不出現(xiàn)。PSEN端同樣可驅(qū)動8個LSTTL負(fù)載。我們根據(jù)PSEN、ALE和XTAL2輸出端是否有信號輸出,可以判別80C51是否在工作。</p><p> ?。?)EA/VPP(31腳):當(dāng)EA端輸入高電平時,CPU從片內(nèi)程序存儲器地址0000單元開始執(zhí)行程序。當(dāng)?shù)刂烦?KB時,將自動執(zhí)
23、行片外程序存儲器的程序。當(dāng)EA輸入低電平時,CPU僅訪問片外程序存儲器。在對87C51EPROM編程時,此引腳用于施加編程電壓VPP。</p><p> (8)輸入/輸出引腳:</p><p> 1)P0.0—P0.7 (39腳—32腳) </p><p> 2)P1.0—P1.7 (01腳—08腳)</p>&l
24、t;p> 3)P2.0—P2.7 (26腳—21腳)</p><p> 4)P3.0—P3.7 (10腳—17腳)</p><p> 圖3.2 80C51引腳圖</p><p> 3.2.3 顯示電路的選擇與設(shè)計</p><p> 1. 對于數(shù)字顯示電路,通常采用液晶顯示或數(shù)碼管顯示。對于一般的段式液晶屏,需要專門
25、的驅(qū)動電路,而且液晶顯示作為一種被動顯示,可視性差,不適合遠(yuǎn)距離觀看;對于具有驅(qū)動電路和單片機(jī)接口的液晶顯示模塊(字符或點陣),一般多采用并行接口,對單片機(jī)的接口要求較高,占用資源多。而數(shù)碼管作為一種主動顯示器件,具有亮度高、響應(yīng)速度快、防潮防濕性能好、溫度特性極性、價格便宜、易于購買等優(yōu)點,而且有遠(yuǎn)距離視覺效果,很適合夜間或是遠(yuǎn)距離操作。因此,本設(shè)計的顯示電路采用7段數(shù)碼管作為顯示介質(zhì)。</p><p> 2
26、. 數(shù)碼管顯示可以分為靜態(tài)顯示和動態(tài)顯示兩種。由于本設(shè)計需要采用五位數(shù)碼管顯示時間,如果靜態(tài)顯示則占用的口線多,硬件電路復(fù)雜。所以采用動態(tài)顯示。</p><p> 動態(tài)顯示是一位一位地輪流點亮各位數(shù)碼管,這種逐位點亮顯示器的方式稱為位掃描。通常各位數(shù)碼管的段選線相應(yīng)并聯(lián)在一起,由一個8位的I/O口控制;各位的公共陰極位選線由另外的I/O口線控制。動態(tài)方式顯示時,各數(shù)碼管分時輪流選通,要使其穩(wěn)定顯示必須采用掃描
27、方式,即在某一時刻只選通一位數(shù)碼管,并送出相應(yīng)的段碼,在另一時刻選通另一位數(shù)碼管,并送出相應(yīng)的段碼,依此規(guī)律循環(huán),即可使各位數(shù)碼管顯示將要顯示的字符,雖然這些字符是在不同的時刻分別顯示,但由于人眼存在視覺暫留效應(yīng),只要每位顯示間隔足夠短就可以給人同時顯示的感覺。</p><p> 圖3.3 顯示電路基本原理圖</p><p> 3. 數(shù)碼顯示管分為共陽數(shù)碼管和共陰數(shù)碼管兩種</
28、p><p> 共陽極數(shù)碼管的8個發(fā)光二極管的陽極(二極管正端)連接在一起,如圖3.4(b),通常,公共陽極接高電平(一般接電源),其它管腳接段驅(qū)動電路輸出端。當(dāng)某段驅(qū)動電路的輸出端為低電平時,則該端所連接的字段導(dǎo)通并點亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時,要求段驅(qū)動電路能吸收額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來確定相應(yīng)的限流電阻。</p><p> 圖3.
29、4(a)數(shù)碼管引腳圖 (b)共陽極內(nèi)部結(jié)構(gòu)圖 (c)共陰極內(nèi)部結(jié)構(gòu)</p><p> 共陰極數(shù)碼管的8個發(fā)光二極管的陰極(二極管負(fù)端)連接在一起,如圖3.4(c),通常,公共陰極接低電平(一般接地),其它管腳接段驅(qū)動電路輸出端,當(dāng)某段驅(qū)動電路的輸出端為高電平時,則該端所連接的字段導(dǎo)通并點亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時,要求段驅(qū)動電路能提供額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流
30、來確定相應(yīng)的限流電阻。 </p><p> 本設(shè)計采用共陰極數(shù)碼顯示管做顯示電路,由于采用的是共陰的數(shù)碼顯示管,所以只要數(shù)碼管的a、b、c、d、e、f、g、dp引腳為高電平,那么其對應(yīng)的二極管就會發(fā)光,使數(shù)碼顯示管顯示0~9的編碼見表3.1。</p><p> 表3.1 共陰極數(shù)碼顯示管字型代碼</p><p> 4. 動態(tài)顯示電路由顯示塊、字形碼驅(qū)動
31、模塊、字位驅(qū)動模塊三部分組成。如圖3.3所示為本系統(tǒng)的3位LED動態(tài)顯示器接口電路。圖中,3個數(shù)碼管的8段段選線分別與外接上拉電阻的單片機(jī)P0口對應(yīng)相連,而3個數(shù)碼管的位控制端則和NPN型三極管的集電極相連接。單片機(jī)的P2.2~P2.4口則分別對應(yīng)數(shù)碼顯示管的最低位到最高位,P2.2~P2.4口分別和 三個NPN型三極管的基極相連,做三極管導(dǎo)通的控制端,而NPN型三極管選用9013型三極管。根據(jù)9013的資料顯示:其耐壓值為40V,最大
32、功率為0.65W,最大電流為0.5A,電氣性能完全滿足本設(shè)計的要求。另外數(shù)碼管顯示是采用動態(tài)顯示,所以對三極管的開關(guān)頻率有一定的要求。根據(jù)電子秒表的設(shè)計計算可知動態(tài)顯示的頻率最高為3KHz,而9013的導(dǎo)通頻率為150MHz,完全能滿足本設(shè)計的要求,所以最終選取9013三極管最為位控制開關(guān)。</p><p> 5. 由于數(shù)碼管是有P0口來驅(qū)動,它內(nèi)部沒有上拉電阻,作為輸出口時驅(qū)動能力比較弱,不能點亮數(shù)碼顯示管
33、,因此P0口必須接上拉電阻來提高驅(qū)動能力。另外一位共陰數(shù)碼管的驅(qū)動電流一般為20mA左右,如果電流太大容易造成數(shù)碼管損壞,所以也需要根據(jù)電源的電壓值來確定上拉電阻的大小。如果電阻過小,勢必會形成灌電流過大,造成單片機(jī)IO的損壞,如果電阻過大,那么對拉電流沒有太大的影響。電源供電電壓為5V,當(dāng)上拉電阻選用220Ω電阻時灌電流為22mA。不會損壞單片機(jī)的I/O口,同時也可以為數(shù)碼顯示管起到限制電流的保護(hù)作用。 </p><
34、;p> 3.2.4 按鍵電路的選擇與設(shè)計</p><p> 本設(shè)計中有四個按鍵,分別實現(xiàn)啟動、開始、暫停和復(fù)位功能。按設(shè)計要求對開始和停止鍵采用外部中斷INT0、INT1的方式,即A、B鍵分別接P3.2、P3.3口。四個按鍵均采用低電平有效,具體電路連接圖如圖3.5所示。</p><p> 當(dāng)按鍵沒有按下時,單片機(jī)的I/O口直接連接電源,因此需要接上拉電阻來進(jìn)行限流,本設(shè)計中選
35、取阻值為100Ω 的電阻作為上拉電阻,根據(jù)計算可知此時的灌電流為50mA,查看80C51的資料得知次電流在安全范圍內(nèi),符合安全設(shè)計要求。</p><p> 按鍵電路中由于采用了外部中斷,所以需要用到P3口的第二功能。P3口引腳的第二功能如表2.2</p><p><b> 圖3.5 按鍵電路</b></p><p> 表3.2 P3
36、口引腳第二功能表</p><p> 3.2.5 時鐘電路的選擇與設(shè)計</p><p> 單片機(jī)的時鐘信號用來提供單片機(jī)內(nèi)各種微操作的時間基準(zhǔn),80C51片內(nèi)設(shè)有一個由反向放大器所構(gòu)成的振蕩電路,XTAL1和 XTAL2分別為振蕩電路的輸入和輸出端,80C51單片機(jī)的時鐘信號通常用兩種電路形式得到:內(nèi)部振蕩方式與外部振蕩方式。外部方式的時鐘很少用,若要用時,只要將XTAL1接地,XTAL
37、2接外部振蕩器就行。對外部振蕩信號無特殊要求,只要保證脈沖寬度,一般采用頻率低于12MHz的方波信號。</p><p> 時鐘發(fā)生器把振蕩頻率兩分頻,產(chǎn)生一個兩相時鐘信號P1和P2供單片機(jī)使用。P1在每一個狀態(tài)S的前半部分有效,P2在每個狀態(tài)的后半部分有效。本設(shè)計采用的內(nèi)部振蕩方式,內(nèi)部振蕩方式所得的時鐘信號比較穩(wěn)定,實用電路中使用較多。本設(shè)計系統(tǒng)的時鐘電路如圖3.6所示。只要按照圖3.6所示電路進(jìn)行設(shè)計連接就
38、能使系統(tǒng)可靠起振并能穩(wěn)定運(yùn)行。圖中,電容器C1 、C2起穩(wěn)定振蕩頻率、快速起振的作用,電容值一般為5~33pF。但在時鐘電路的實際應(yīng)用中一定要注意正確選擇其大小,并保證電路的對稱性,盡可能匹配,選用正牌的瓷片或云母電容,如果可能的話,溫度系數(shù)盡可能低。本設(shè)計中采用大小為30pF的電容和12MHz的晶振。</p><p> (a)原理圖
39、 (b)電路連接圖</p><p> 圖3.6 內(nèi)部振蕩電路</p><p> 3.2.6 復(fù)位電路的選擇與設(shè)計</p><p> 關(guān)于單片機(jī)的置位和復(fù)位,都是為了把電路初始化到一個確定的狀態(tài),一般來說,單片機(jī)復(fù)位電路作用是把一個例如狀態(tài)機(jī)初始化到空狀態(tài),而在單片機(jī)內(nèi)部,復(fù)位的時候單片機(jī)是把一些寄存器以及存儲設(shè)備裝入廠商預(yù)設(shè)的一個值,復(fù)位是一個很重要的操作
40、方式。但單片機(jī)本身是不能自動進(jìn)行復(fù)位的,必須配合相應(yīng)的外部電路才能實現(xiàn)。</p><p> 根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電復(fù)位、手動復(fù)位。</p><p> 上電復(fù)位要求接通電源后,自動實現(xiàn)復(fù)位操作。80C51單片機(jī)的上電復(fù)位POR(Power On Reset)實質(zhì)上就是上電延時復(fù)位,也就是在上電延時期間把單片機(jī)鎖定在復(fù)位狀態(tài)上。在單片機(jī)每次初始加電時,首先投入工作
41、的功能部件是復(fù)位電路。復(fù)位電路把單片機(jī)鎖定在復(fù)位狀態(tài)上并且維持一個延時(記作TRST),以便給予電源電壓從上升到穩(wěn)定的一個等待時間;在電源電壓穩(wěn)定之后,再插入一個延時,給予時鐘振蕩器從起振到穩(wěn)定的一個等待時間;在單片機(jī)開始進(jìn)入運(yùn)行狀態(tài)之前,還要至少推遲2個機(jī)器周期的延時。</p><p> 上述一系列的延時,都是利用在單片機(jī)RST引腳上外接一個RC支路的充電時間而形成的。典型復(fù)位電路如圖3.7(a)所示,其中的
42、阻容值是原始手冊中提供的。在經(jīng)歷了一系列延時之后,單片機(jī)才開始按照時鐘源的工作頻率,進(jìn)入到正常的程序運(yùn)行狀態(tài)。在電源電壓以及振蕩器輸出信號穩(wěn)定之后,又等待了一段較長的延時才釋放RST信號,使得CPU脫離復(fù)位鎖定狀態(tài);而RST信號一旦被釋放,立刻在ALE引腳上就可檢測到持續(xù)的脈沖信號。</p><p> 由于標(biāo)準(zhǔn)80C51的復(fù)位邏輯相對簡單,復(fù)位源只有RST一個(相對新型單片機(jī)來說,復(fù)位源比較單一),因此各種原因
43、所導(dǎo)致的復(fù)位活動以及復(fù)位狀態(tài)的進(jìn)入,都要依靠在外接引腳RST上施加一定時間寬度的高電平信號來實現(xiàn)。</p><p> 標(biāo)準(zhǔn)80C51不僅復(fù)位源比較單一,而且還沒有設(shè)計內(nèi)部上電復(fù)位的延時功能,因此必須借助于外接阻容支路來增加延時環(huán)節(jié),如圖3.7(a)所示。其實,外接電阻R還是可以省略的,理由是一些CMOS單片機(jī)芯片內(nèi)部存在一個現(xiàn)成的下拉電阻Rrst。如圖2.8所示。因此,在圖3.7(a)的基礎(chǔ)上,上電復(fù)位延時電路
44、還可以精簡為圖3.7(b)所示的簡化電路(其中電容C的容量也相應(yīng)減小了)。</p><p> 圖3.7上電復(fù)位延時電路 圖3.8復(fù)位引腳RST內(nèi)部電路</p><p> 在每次單片機(jī)斷電之后,須使延時電容C上的電荷立刻放掉,以便為隨后可能在很短的時間內(nèi)再次加電作好準(zhǔn)備。否則,在斷電后C還沒有充分放電的情況下,如果很快又加電,那么RC支路就失去了它應(yīng)
45、有的延遲功能。因此,在圖3.7(a)的基礎(chǔ)上添加一個放電二極管D,上電復(fù)位延時電路就變成了如圖3.7(c)所示的改進(jìn)電路。也就是說,只有RC支路的充電過程對電路是有用的,放電過程不僅無用,而且會帶來潛在的危害。于是附加一個放電二極管D來大力縮短放電持續(xù)時間,以便消除隱患。二極管D只有在單片機(jī)斷電的瞬間(即VCC趨近于0 V,可以看作VCC對地短路)正向?qū)?,平時一直處于反偏截止?fàn)顟B(tài)。</p><p> 手動復(fù)位
46、要求在電源接通的條件下,在單片機(jī)運(yùn)行期間,如果發(fā)生死機(jī),用按鈕開關(guān)操作使單片機(jī)復(fù)位。單片機(jī)要完成復(fù)位,必須向復(fù)位端輸出并持續(xù)兩個機(jī)器周期以上的高電平,從而實現(xiàn)復(fù)位操作。</p><p> ?。╝)原理圖 (b)電路連接圖</p><p> 圖3.9 單片機(jī)復(fù)位電路</p><p> 本設(shè)計采用上電且開
47、關(guān)復(fù)位電路,如圖3.9所示上電后,由于電容充電,使RST持續(xù)一段高電平時間。當(dāng)單片機(jī)已在運(yùn)行之中時,按下復(fù)位鍵也能使RST持續(xù)一段時間的高電平,從而實現(xiàn)上電且開關(guān)復(fù)位的操作。通常選擇C=10~30μF,R=100Ω~1KΩ,本設(shè)計采用的電容值為22μF的電容和電阻為1K的電阻。</p><p> 3.2.7 系統(tǒng)總電路的設(shè)計</p><p> 系統(tǒng)總電路由以上設(shè)計的顯示電路,時鐘電路,
48、按鍵電路和復(fù)位電路組成,只要將單片機(jī)與以上各部分電路合理的連接就組成了系統(tǒng)總電路。系統(tǒng)總電路圖如圖3.10所示。</p><p> 80C51單片機(jī)為主電路的核心部分,各個電路均和單片機(jī)相連接,由單片機(jī)統(tǒng)籌和協(xié)調(diào)各個電路的運(yùn)行工作。</p><p> 80C51單片機(jī)提供了XTAL1和XTAL2兩個專用引腳接晶振電路,因此只要將晶振電路接到兩個專用引腳即可為單片機(jī)提供時鐘脈沖,但在焊接
49、晶振電路時要盡量使晶振電路靠近單片機(jī),這樣可以為單片機(jī)提供穩(wěn)定的始終脈沖。</p><p> 圖3.10 系統(tǒng)總電路圖</p><p> 復(fù)位電路同晶振電路,單片機(jī)設(shè)有一個專用的硬件復(fù)位接口,并設(shè)置為高電平有效。</p><p> 按鍵電路與單片機(jī)的端口連接可以由用戶自己設(shè)定,本設(shè)計中軟件復(fù)位鍵接單片機(jī)的P1.0設(shè)為低電平有效。而另外的開始鍵和暫停鍵兩鍵使用了
50、外部中斷,所以需要連接到單片機(jī)的特殊接口P3.2和P3.3,這兩個I/O口的第二功能分別為單片機(jī)的外部中斷INT0端口和外部中斷INT1端口。同樣設(shè)置為位低電平有效。</p><p> 顯示電路由三位數(shù)碼管組成,采用動態(tài)顯示方式,因此有8位段控制端和3位位控制端,八位段控制接P0口,P0.0-P0.7分別控制數(shù)碼顯示管的a、b、c、d、e、f、g、dp顯示,80C51的P0口沒有集成上拉電阻,高電平的驅(qū)動能力很
51、弱,所以需要接上拉電阻來提高P0的高電平驅(qū)動能力。三位位控制則由低位到高位分別接到P2.2-P2.4口,NPN三極管9013做為位控制端的開關(guān),當(dāng)P2.2-P2.4端口任意一個端口為高電平時,與其相對應(yīng)的三極管就導(dǎo)通,對應(yīng)的數(shù)碼管導(dǎo)通顯示。</p><p> 通過以上設(shè)計已經(jīng)將各部分電路與單片機(jī)有機(jī)的結(jié)合到一起,硬件部分的設(shè)計以大功告成,剩下的部分就是對單片機(jī)的編程,使單片機(jī)按程序運(yùn)行,實現(xiàn)數(shù)字電子秒表的全部功
52、能。</p><p><b> 3.3 軟件設(shè)計</b></p><p> 3.3.1 程序設(shè)計思想</p><p> 結(jié)合電路,程序的總體思路 如圖3.11。</p><p> 3.3.2 系統(tǒng)資源的分配</p><p> 本設(shè)計系統(tǒng)所用到的單片機(jī)端口數(shù)比較多,所以在這里將對數(shù)字電子秒
53、表的硬件資源的大概分配加以說明。片內(nèi)RAM的分配、各功能鍵的定義以及各端口的分配安排如表3.3所示。</p><p> 表3.3 端口的分配安排表</p><p> 3.3.3 主程序設(shè)計</p><p> 本系統(tǒng)程序主要模塊由主程序、定時中斷服務(wù)程序、外部中斷INT0服務(wù)程序和外部中斷INT1服務(wù)程序組成。其中主程序是整個程序的主體??梢詫Ω鱾€中斷程序進(jìn)行調(diào)
54、用,協(xié)調(diào)各個子程序之間的聯(lián)系。</p><p> 系統(tǒng)(上電)復(fù)位后,進(jìn)入主程序,主程序流程圖如圖3.11。首先對系統(tǒng)進(jìn)行初始化,包括設(shè)置各入口地址、中斷的開啟、對各個數(shù)據(jù)緩存區(qū)清“0”、賦定時器初值,初始化完畢后,就進(jìn)入數(shù)碼管顯示程序。數(shù)碼管顯示程序?qū)︼@示緩存區(qū)內(nèi)的數(shù)值進(jìn)行調(diào)用并在數(shù)碼管上進(jìn)行動態(tài)顯示。顯示一次就對P1.0進(jìn)行一次掃描,查詢啟動鍵P1.0是否按下,當(dāng)啟動鍵按下后,數(shù)碼管全零顯示,沒有按下則返回
55、開始,重新循環(huán)顯示數(shù)字8。</p><p> 在主程序中還進(jìn)行了賦寄存區(qū)的初始值、設(shè)置定時器初值以及開啟外部中斷等操作,當(dāng)定時時間到后就轉(zhuǎn)去執(zhí)行定時中斷程序。當(dāng)外部中斷有請求則去執(zhí)行外部中斷服務(wù)程序,并在執(zhí)行完后返回主程序。</p><p> 3.3.4 中斷程序設(shè)計</p><p> 現(xiàn)在方案中采用了兩個中斷,外部中斷INT0,INT1。CPU在響應(yīng)中斷時,
56、先處理高級中斷,在處理低級中斷,若有多個同級中斷時,則按自然優(yōu)先順序處理。例如當(dāng)CPU正在處理一個中斷申請時,有出現(xiàn)了另一個優(yōu)先級比它高的中斷請求,這是,CPU就暫停終止對當(dāng)前優(yōu)先級較低的中斷源的服務(wù),轉(zhuǎn)去響應(yīng)優(yōu)先級比它高的中斷請求,并為其服務(wù)。待服務(wù)結(jié)束,再繼續(xù)執(zhí)行原來較低級的中斷服務(wù)程序。而當(dāng)CPU為級別高的終端服務(wù)程序服務(wù)時,如果級別低的中斷發(fā)出中斷請求,此時CPU是不會響應(yīng)的,所以為了避免開始和暫停兩個按鍵中的一個出現(xiàn)沒有響應(yīng)的
57、情況,在進(jìn)行程序編輯時要注意對中斷的使用,避免出現(xiàn)中斷的嵌套。,合理分配中斷對本設(shè)計的實現(xiàn)是至關(guān)重要的。</p><p> 80C51的自然優(yōu)先級順序排列如下:</p><p> 中斷源 最高</p><p><b> 外部中斷INT0</b></p>
58、<p> 定時/計數(shù)器T0溢出中斷</p><p><b> 外部中斷INT1</b></p><p> 定時/計數(shù)器T1溢出中斷</p><p> 串行口中斷 最低</p><p> 數(shù)字式秒表中的兩個按鍵采用了中斷實現(xiàn)功能。開始采
59、用外部中斷INT0,停止采用外部中斷INT1。另外程序中還用到了定時/計數(shù)器0溢出中斷進(jìn)行計時。依據(jù)設(shè)計要求,停止的外部中斷INT1中斷級別最高,計時的定時/計數(shù)器0溢出中斷次之,開始的外部中斷INT0級別最低。</p><p> (1)外部中斷INT0服務(wù)程序</p><p> 外部中斷INT0服務(wù)程序結(jié)合外部P3.2開始鍵實現(xiàn)數(shù)字電子秒表的計時開始功能,具體流程圖如圖2.12。&l
60、t;/p><p> 當(dāng)按下P3.2開始鍵按下向CPU發(fā)出外部中斷請求,CPU轉(zhuǎn)向外部中斷0服務(wù)程序執(zhí)行,啟動定時器T0。</p><p> 圖3.11 主程序流程圖</p><p> 圖3.12外部中斷1服務(wù)程序流程圖 圖3.13外部中斷0服務(wù)程序流程圖</p><p> (2)外部中斷INT1服務(wù)程序:&l
61、t;/p><p> 外部中斷INT1服務(wù)程序結(jié)合外部P3.3停止鍵實現(xiàn)數(shù)字電子秒表的停止功能,具體流程圖如圖3.13。</p><p> 當(dāng)按下P3.2停止鍵按下向CPU發(fā)出外部中斷請求,CPU轉(zhuǎn)向外部中斷1服務(wù)程序執(zhí)行,停止定時器T0。</p><p> ?。?)定時中斷服務(wù)程序</p><p> 當(dāng)定時/計數(shù)器T0器溢出后,向CPU發(fā)出
62、中斷請求信號。CPU跳轉(zhuǎn)到定時中斷程序執(zhí)行。定時中斷程序是一個進(jìn)位程序,主要負(fù)責(zé)對0.1s的加一。當(dāng)如果滿十就向0.1s位加一,依次類推,最終達(dá)到99.9秒后歸零,從零開始再次計時。</p><p> 定時/計數(shù)器T0工作在方式1下,THX和TLX組成一個16位的二進(jìn)制數(shù)計數(shù)器。單片機(jī)開機(jī)或復(fù)位時,它的值為00H,當(dāng)T0啟動后,從第一個輸入脈沖開始計時,每來一個脈沖計數(shù)加一,即從0000000000000000
63、開始計數(shù)到1111111111111111,再計數(shù)一個脈沖時TH0和TL0組成的16位計數(shù)器將會從16個1變成16個0,并產(chǎn)生溢出,溢出位將被送到TF0標(biāo)志位,通過溢出標(biāo)志產(chǎn)生溢出中斷請求。顯然,T0定時器在方式1下引起一次中斷所允許計數(shù)的最多脈沖個數(shù)為216 個。</p><p> 但如果定時計數(shù)器如果每次都固定從0開始計數(shù),到計滿后,再向CPU發(fā)出溢出中斷請求信號那是毫無意義的。為了使定時計數(shù)器在規(guī)定的計數(shù)
64、脈沖個數(shù)字之后(此時應(yīng)小于216 個脈沖),向CPU發(fā)出溢出中斷請求,可采取預(yù)先向THX和TLX中放入一個初值X的方法,使計數(shù)器以X值為起始值開始計數(shù),即X+1,X+2,……直至計數(shù)器計滿,從1全變?yōu)?。設(shè)需要計數(shù)的脈沖個數(shù)為N,則有:N=216-X 。在定時方式下:定時時間T=N*Tcy=(216—X)*12/fosc?,F(xiàn)在本設(shè)計要求50ms實現(xiàn)一次中斷,選擇定時器T0工作在方式1。所以需要根據(jù)以上條件計算出T0的初值。設(shè)T0的初值為
65、X,則 X =216—50ms/1us=15536D=3CB0H。即THX=3CH(取X的高8位)TLX=0B0H(取X的低5位)</p><p> 由于定時50ms只是一個理想化的時間,其中并沒有考慮到中斷后單片機(jī)執(zhí)行語句所花的時間。雖然執(zhí)行語句所花的時間很短只有即微秒,但積少成多,數(shù)字秒表一秒中要溢出中斷20次,積累起來誤差就能達(dá)到毫秒級,這對于精度到達(dá)毫秒級的數(shù)字電子秒表來說是很大的誤差。所以要在后期編程
66、時還要將單片機(jī)讀程序的時間考慮進(jìn)去,在對定時器賦初值時將單片機(jī)需要執(zhí)行的語句所花的時間加上,這樣就能使數(shù)字電子秒表的誤差達(dá)到最小。</p><p> 4 數(shù)字電子秒表的安裝與調(diào)試</p><p> 4.1 軟件的仿真與調(diào)試</p><p> Proteus ISIS是英國Labcenter公司開發(fā)的電路分析與實物仿真軟件,它可以仿真、分析(SPICE)各種模擬
67、器件和集成電路。該軟件的主要特點總結(jié)后有以下四點:①實現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合的功能。②支持目前主流單片機(jī)系統(tǒng)的仿真。③提供了軟件調(diào)試功能,并可以與WAVE聯(lián)合仿真調(diào)試。④具有強(qiáng)大的原理圖繪制功能??傊?,該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。在電子領(lǐng)域中也起到了很大的作用,它的出現(xiàn)仿真不需要先焊接電路,可以先仿真調(diào)試通過后在焊電路,節(jié)省了不少在硬件調(diào)試上所花的時間。</p>&
68、lt;p> Proteus ISIS的工作界面是一種標(biāo)準(zhǔn)的Windows界面。它包括標(biāo)題欄、主菜單、狀態(tài)欄、標(biāo)準(zhǔn)工具欄、繪圖工具欄、對象選擇按鈕、預(yù)覽對象方位控制按鈕、仿真進(jìn)程控制按鈕、預(yù)覽窗口、對象選擇器窗口、圖形編輯窗口等十幾個工具,方便了使用者的使用。</p><p> Proteus SISI繪制原理圖的操作與Protel 99se繪制原理圖的操作基本相同,在這里就不再作贅述。下面拿本設(shè)計中的一
69、個仿真例子作簡述說明。運(yùn)行Proteus SISI后,繪制病床呼叫系統(tǒng)的原理圖。</p><p> 首先打開已經(jīng)畫好的proteus DSN文件,雙擊圖中的80C51芯片,就彈出一個窗口,在Program File項中通過路徑選擇在WAVE中生成的HEX文件,雙擊選中后確定,這樣仿真圖中的80C51芯片就已經(jīng)讀取了本設(shè)計中的HEX文件。單擊“三角形按鈕”進(jìn)行仿真。通過對仿真結(jié)果的觀察來對程序進(jìn)行修改,最終使程序
70、到達(dá)設(shè)計要求。</p><p> 4.2 硬件的安裝與調(diào)試</p><p> 按照之前設(shè)計好的數(shù)字電子秒表原理圖,詳細(xì)計算系統(tǒng)中各個元件的參數(shù),選擇相應(yīng)器件,制作實際電路板。由于考慮到萬能板大小的問題及元件之間連線的方便,在焊接元器件前必須考慮元件的布局然后進(jìn)行實際操作。</p><p> 制作好的電路板可以用萬用表(200歐姆檔)的紅、黑表筆測試電路板的每條
71、走線,當(dāng)其電阻非常小時,證明走線沒有斷開,當(dāng)其電阻很大時,證明該條走線斷了,應(yīng)該重新走線,使電路板在電氣上得到正確地連接。選用萬用表的20K歐姆檔,檢測電路中是否存在短路。因為系統(tǒng)采用的是共陰極數(shù)碼管作為顯示電路,必須確保數(shù)碼管的公共端接的是低電平。</p><p> ?。?)晶振電路的測試</p><p> 在單片機(jī)正常運(yùn)行的必要條件是單片機(jī)系統(tǒng)的時鐘穩(wěn)定正常。實際中,因為各種原因?qū)е?/p>
72、系統(tǒng)時鐘不正常而出現(xiàn)系統(tǒng)無法正常運(yùn)行的情況時有,因此系統(tǒng)時鐘是否振是通電檢查的首要環(huán)節(jié)。在系統(tǒng)通電的狀況下,用萬用表的直流電壓檔(20V),分別測量XTAL1和XTAL2引腳的電壓,看是否正常,在調(diào)試過程中,測得電壓XTAL1引腳應(yīng)為2.05V,XTAT2應(yīng)為2.15V。</p><p> (2)復(fù)位電路的測試</p><p> 復(fù)位不正常也會導(dǎo)致系統(tǒng)不能工作。如果復(fù)位引腳始終為高電平
73、,系統(tǒng)將始終處于復(fù)位狀態(tài);如果始終為低電平,不能產(chǎn)生復(fù)位所需的高電平信號脈沖,則系統(tǒng)也可能無法正常工作。單片機(jī)正常工作時,RST復(fù)位引腳應(yīng)為0V,按下復(fù)位按鍵時,復(fù)位引腳為高電平5V左右。</p><p> ?。?)顯示電路的測試</p><p> 顯示電路是數(shù)字電子秒表正常運(yùn)行最直觀的觀察窗口,我們可以通過觀察顯示電路的顯示結(jié)果觀察系統(tǒng)能否正常運(yùn)行。當(dāng)顯示電路按照電路圖焊接好后,用萬用
74、表的測二極管檔位,將黑表筆接共陰數(shù)碼管的公共段,然后將紅表筆接數(shù)碼管的各段,當(dāng)數(shù)碼管的段能正常顯示,說明各點焊接正常。</p><p><b> 4.2 匯編程序</b></p><p> ORG 0000H</p><p> LJMP MAIN</p><p> ORG 0003H
75、 ;外部中斷INT0中斷入口</p><p> LJMP START</p><p> ORG 000BH ;定時器T0中斷入口</p><p> LJMP UPDATE</p><p> ORG 0013H ;外部中斷INT1中斷入口</p><
76、;p> LJMP STOP</p><p> MAIN: MOV DPTR, #TAB ;存入表頭地址</p><p> MOV TMOD, #01H ;置T0為方式1</p><p> MOV TH0, #3CH ;賦定時器初值,50毫秒</p><p> MOV
77、 TL0, #0B0H</p><p> MOV 7BH, #00H ;0.1秒的存儲空間</p><p> MOV 7CH, #00H ;1秒的存儲空間</p><p> MOV 7DH, #00H ;10秒的存儲空間</p><p> MOV R2, #00
78、H ;R2、R3、R4寄存器置零</p><p> MOV R3, #00H</p><p> MOV R4, #00H</p><p> SETB EA ;開中斷總允許</p><p> SETB EX0 ;開外部中斷INT0</p>
79、;<p> SETB EX1 ;開外部中斷INT1</p><p> SETB IT0 ;外部中斷0位邊沿觸發(fā)方式</p><p> SETB IT1 ;外部中斷1位邊沿觸發(fā)方式</p><p> SETB ET0 ;定時器T0允
80、許位</p><p> XIAN1: MOV P0, #07FH ;顯示數(shù)字8</p><p> SETB P2.2 ;接通0.1s數(shù)碼管</p><p> LCALL DELAY1 ;調(diào)用延時子程序1</p><p> CLR P2.2
81、 ;斷開0.1s數(shù)碼管</p><p> MOV P0, #0FFH ;顯示數(shù)字8及小數(shù)點</p><p> SETB P2.3 ;接通1s數(shù)碼管</p><p> LCALL DELAY1 ;調(diào)用延時子程序1</p><p> CLR P2.3
82、 ;斷開1s數(shù)碼管</p><p> MOV P0, #07FH ;顯示數(shù)字8</p><p> SETB P2.4 ;接通10s數(shù)碼管</p><p> LCALL DELAY1 ;調(diào)用延時子程序1</p><p> CLR P2.4
83、 ;斷開10s數(shù)碼管</p><p> JNB P1.0,XIAN2 ;按下啟動鍵,跳轉(zhuǎn)到XIAN2(P1.0=0跳轉(zhuǎn))</p><p> LJMP XIAN1 ;返回顯示程序,重新進(jìn)行顯示</p><p> XIAN2: MOV A, 7BH ;顯示0.1s位數(shù)字</p>
84、<p> MOVC A, @A+DPTR ;查表</p><p> MOV P0, A </p><p> SETB P2.2</p><p> LCALL DELAY2 ;調(diào)用DELAY2</p><p> CLR P2.2</p>
85、<p> MOV A, 7CH ;顯示1s位數(shù)字</p><p> MOVC A, @A+DPTR</p><p> MOV P0, A</p><p> SETB P2.3</p><p> LCALL DELAY2</p><p> CL
86、R P2.3</p><p> MOV A, 7DH ;顯示10s位數(shù)字</p><p> MOVC A, @A+DPTR</p><p> MOV P0, A</p><p> SETB P2.4</p><p> LCALL DELAY2&l
87、t;/p><p> CLR P2.4</p><p> MOV P0, #80H ;顯示小數(shù)點</p><p> SETB P2.3</p><p> LCALL DELAY2</p><p> CLR P2.3</p><p> LJ
88、MP XIAN2 ;返回顯示程序,重新進(jìn)行顯示</p><p> START: LCALL DELAY3 ;調(diào)用延時子程序3</p><p> SETB TR0 ;啟動定時器T0</p><p> RETI ;中斷返回</p&
89、gt;<p> STOP: CLR TR0 ;停止定時器T0</p><p><b> RETI</b></p><p> UPDATE: MOV TH0, #3CH ;重賦定時器初值</p><p> MOV TL0, #0B0H</p>&
90、lt;p> MOV R5, #0FFH</p><p> MOV A, 7BH</p><p> ADD A, #01H ;0.1s位加1</p><p> MOV 7BH, A</p><p> MOV A, R2</p><p> ADD
91、 A, #01H</p><p> MOV R2, A</p><p> CJNE R2, #0AH, EXIT ;判斷0.1s位是否滿10,不滿10跳出</p><p> MOV 7BH, #00H ;對0.1s位清零</p><p> MOV R2, #00H</p&g
92、t;<p> MOV A, 7CH</p><p> ADD A, #01H ;1s位加一</p><p> MOV 7CH, A</p><p> MOV A, R3</p><p> ADD A, #01H</p><p>
93、MOV R3, A</p><p> CJNE R3, #0AH, EXIT ;判斷1s位是否滿10,不滿10跳出</p><p> MOV 7CH, #00H ;對1s位清零</p><p> MOV R3, #00H</p><p> MOV A, 7DH</p&g
94、t;<p> ADD A, #01H ;10s位加一</p><p> MOV 7DH, A</p><p> MOV A, R4</p><p> ADD A, #01H</p><p> MOV R4, A</p><p>
95、CJNE R4, #0AH, EXIT ;判斷10s位是否滿10,不滿10跳出</p><p> MOV 7DH, #00H ;對10s位清零</p><p> EXIT: RETI</p><p> DELAY1: MOV R5, #0FFH ;數(shù)字8循環(huán)用延時程序</p>
96、<p> DEL11: MOV R6, #0F5H</p><p> DEL12: MOV R7, #06H</p><p> DEL13: DJNZ R7 , DEL13 ; {1+[1+(1+2x6 +1+2)x245 +1+2]x255+2}</p><p> NOP
97、 ; x1us =1000623us≈1s</p><p> DJNZ R6, DEL12</p><p><b> NOP</b></p><p> DJNZ R5, DEL11</p><p><b> RET</b></p><p> DEL
98、AY2: MOV R6 , #05H ;計時用延時程序</p><p> DEL21: MOV R7, #62H</p><p> DEL22: DJNZ R7, DEL22 ; 1+(1+2x98 +1+2)x5 +2=1003≈1000</p><p><b> NOP</b>
99、</p><p> DJNZ R6, DEL21</p><p><b> RET</b></p><p> DELAY3: MOV R6, #0FFH ;50毫秒延時程序</p><p> DEL31: MOV R7, #60H</p><p>
100、 DEL32: DJNZ R7, DEL32 ; [1+(1+2x96 +1+2)x255 +2]x1us</p><p> NOP ; =49983us≈50ms</p><p> DJNZ R6, DEL31</p><p> RET ;返回
101、 </p><p> TAB: DB 3FH,06H,5BH,4FH,66H</p><p> DB 6DH,7DH,07H,7FH,6FH</p><p><b> END</b></p><p><b> 5 設(shè)計體會與總結(jié)</b></p><p>
102、 這次設(shè)計,為大家提供了應(yīng)用自己所學(xué)知識的平臺,是非??少F的。經(jīng)過此次設(shè)計使我們對單片機(jī)有了更加的系統(tǒng)認(rèn)識,同時對單片機(jī)模塊化編程以及程序的調(diào)試增加了實踐的經(jīng)驗。最重要的是提高大家對單片機(jī)開發(fā)的興趣,增強(qiáng)了大家團(tuán)隊意識。再設(shè)計過程中,遇到了諸如延時程序不能嵌套,數(shù)碼管顯示的問題,工作寄存器分配問題,跳轉(zhuǎn)指令程序的設(shè)計問題,短跳轉(zhuǎn)的超程問題,經(jīng)過大家的積極思考與熱烈討論,使問題都得到了解決。</p><p> 通
103、過課程設(shè)計,復(fù)習(xí)鞏固我們以前所學(xué)習(xí)的數(shù)字、模擬電子技術(shù)、單片機(jī)原理及接口等課程知識,加深對各門課程及相互關(guān)系的理解,并成功使用了Keil uVision2和Proteus ISIS電子軟件,使理論知識系統(tǒng)化、實用化,系統(tǒng)地掌握微機(jī)應(yīng)用系統(tǒng)的一般設(shè)計方法,培養(yǎng)較強(qiáng)的編程能力、開發(fā)能力。</p><p> 只有從課本上學(xué)習(xí)的知識只有運(yùn)用到實踐中來,才能真正的理解了所學(xué)的東西,同時增加了實踐的能力,從而為設(shè)計、創(chuàng)新新
104、的產(chǎn)品打下基礎(chǔ)。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 胡漢才 單片機(jī)原理及其接口技術(shù)(第二版)清華大學(xué)出版社2004 </p><p> [2] 李鄧化,彭書華,許曉飛.智能檢測技術(shù)及儀表.科學(xué)出版社,2007</p>
105、<p> [3] 戴佳. 單片機(jī)C51語言應(yīng)用程序設(shè)計. 電子工業(yè)出版社,2006.7</p><p> [4] 朱民雄.計算機(jī)語言技術(shù). 北京航空航天大學(xué)出版社,2002.1</p><p> [5] 李鴻. 單片機(jī)原理及應(yīng)用. 湖南大學(xué)出版社. 2004.8</p><p> [6] 劉建清. 單片機(jī)技術(shù). 國防工業(yè)出版社, 2006.8 &
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計電子秒表設(shè)計說明書
- 單片機(jī)課程設(shè)計--電子秒表設(shè)計說明書
- 單片機(jī)課程設(shè)計--電子秒表
- 單片機(jī)課程設(shè)計——電子秒表
- 數(shù)字式秒表-《單片機(jī)技術(shù)》課程設(shè)計說明書
- 單片機(jī)課程設(shè)計---電子秒表設(shè)計
- 單片機(jī)課程設(shè)計說明書
- 00-60秒表單片機(jī)課程設(shè)計說明書
- 單片機(jī)課程設(shè)計說明書
- 電子秒表課程設(shè)計說明書
- 基于單片機(jī)電子秒表系統(tǒng)設(shè)計課程設(shè)計說明
- 單片機(jī)秒表課程設(shè)計
- 單片機(jī)秒表課程設(shè)計
- 單片機(jī)秒表課程設(shè)計
- 單片機(jī)課程設(shè)計---秒表
- 單片機(jī)秒表課程設(shè)計
- 秒表(單片機(jī)課程設(shè)計)
- 單片機(jī)秒表單片機(jī)課程設(shè)計
- 單片機(jī)原理課程設(shè)計說明書
- 基于89c51單片機(jī)的秒表課程設(shè)計說明書
評論
0/150
提交評論