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

下載本文檔

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

文檔簡介

1、<p>  畢 業(yè) 設(shè) 計(jì)</p><p> 題目模擬交通燈 </p><p> 系別機(jī)電系 </p><p> 專業(yè)電氣自動(dòng)化技術(shù)         </p><p> 班級(jí)電氣0401

2、 </p><p> 姓名××× </p><p> 學(xué)號(hào)×××××× </p><p> 指導(dǎo)教師×××

3、 </p><p> 日期2007年12月 </p><p><b>  設(shè)計(jì)任務(wù)書</b></p><p><b>  設(shè)計(jì)題目:</b></p><p><b>  模擬交通燈</b></p>

4、<p><b>  設(shè)計(jì)要求:</b></p><p>  1.在十字路口的兩個(gè)方向上各設(shè)一組紅綠黃燈,顯示順序?yàn)椋?其中一個(gè)方向是綠燈、黃燈、紅燈,另一個(gè)方向是紅燈、綠燈、黃燈。</p><p>  2.設(shè)置一組數(shù)碼管,以倒計(jì)時(shí)的方式顯示允許通過或禁止通行的時(shí)間,其中左轉(zhuǎn)燈、綠燈、黃燈、紅燈的持續(xù)時(shí)間分別是15S、30S、3S、48S。</p>

5、;<p>  3.當(dāng)各條路上任意一條出現(xiàn)特殊情況,例如消防車、救護(hù)車或其他需要優(yōu)先放行的車輛時(shí),各方向上均是紅燈亮,倒計(jì)時(shí)停止,且顯示數(shù)字在閃爍,當(dāng)特殊運(yùn)行狀態(tài)結(jié)束后,控制器恢復(fù)原來狀態(tài),繼續(xù)正常運(yùn)行。</p><p><b>  設(shè)計(jì)進(jìn)度要求:</b></p><p><b>  第一周</b></p><p&

6、gt;<b>  第二周</b></p><p>  指導(dǎo)教師(簽名): </p><p><b>  摘  要</b></p><p>  設(shè)計(jì)以單片機(jī)為核心部件的模擬交通燈,利用74LS244作為斷碼驅(qū)動(dòng)器,74LS07作為位碼驅(qū)動(dòng),LED七斷數(shù)碼管作為計(jì)時(shí)顯示用,用發(fā)光二極管指示交通的通

7、行,用按鍵進(jìn)行緊急事件的發(fā)生,使兩個(gè)方向都亮紅燈,綠燈亮通行,紅燈亮停止通行。</p><p>  本設(shè)計(jì)利用定時(shí)器進(jìn)行定時(shí),使定時(shí)器工作于方式一定時(shí)50ms,配合軟件計(jì)數(shù)器,調(diào)用中斷程序使定時(shí)器定時(shí)20此,達(dá)到定時(shí)1S的目的,同時(shí)調(diào)用顯示程序,顯示到計(jì)時(shí)的時(shí)間,用單片機(jī)Intel89S51作為核心部件,8路74ls244總線驅(qū)動(dòng)器作為字形驅(qū)動(dòng)芯片和6路驅(qū)動(dòng)74ls07位選碼作為中心器件來設(shè)計(jì)交通燈控制器,實(shí)現(xiàn)了

8、交通燈的控制,顯示時(shí)間直接通過89S51的P0、P1口輸出;交通燈信號(hào)通過P3口輸出;按件通過p3口輸入,本交通燈系統(tǒng)簡單,實(shí)用性強(qiáng),成本低,使用維護(hù)方便,軟件功能強(qiáng),運(yùn)行穩(wěn)定可靠等優(yōu)點(diǎn)。</p><p>  關(guān)鍵詞:單片機(jī),交通燈,位碼,段碼,顯示</p><p><b>  目  錄</b></p><p><b>  摘  要

9、II</b></p><p>  1 單片機(jī)的發(fā)展及應(yīng)用1</p><p>  1.1 單片機(jī)的發(fā)展1</p><p>  1.2單片機(jī)的應(yīng)用1</p><p>  2 總體方案設(shè)計(jì)3</p><p><b>  2.1系統(tǒng)框圖3</b></p><p&g

10、t;  2.2 計(jì)時(shí)控制方案3</p><p>  2.3 顯示控制方案3</p><p>  2.4 鍵盤控制方案4</p><p><b>  3 硬件設(shè)計(jì)5</b></p><p>  3.1 89S51單片機(jī)的簡介5</p><p>  3.2 89S51單片機(jī)的引腳6<

11、/p><p>  3.3 89S51單片機(jī)復(fù)位方式7</p><p>  3.4 74LS244的功能7</p><p>  3.5 74LS07的功能8</p><p>  3.6 鍵盤接口工作原理9</p><p>  3.7 七段LED顯示工作原理10</p><p>  3.8 電

12、路原理11</p><p><b>  4 軟件設(shè)計(jì)13</b></p><p>  4.1 定時(shí)1秒的方法13</p><p>  4.2 定時(shí)器初值計(jì)算13</p><p>  4.3 主程序模塊13</p><p>  4.4 中斷服務(wù)程序模塊15</p><

13、p>  4.5 顯示程序模塊16</p><p><b>  5 系統(tǒng)調(diào)試18</b></p><p><b>  6 結(jié) 論20</b></p><p><b>  致  謝21</b></p><p><b>  參考文獻(xiàn)22</b>&

14、lt;/p><p><b>  附 錄A23</b></p><p>  1 單片機(jī)的發(fā)展及應(yīng)用</p><p>  1.1 單片機(jī)的發(fā)展</p><p>  單片微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是一種非?;钴S和頗具有生命力的機(jī)種。單片微型計(jì)算機(jī)簡稱單片機(jī),特別適用于工業(yè)控制領(lǐng)域,因此又稱為微控器。</p&g

15、t;<p>  1971年微處理器研制成功不久,就出現(xiàn)了單片微型計(jì)算機(jī)即單片機(jī),但最早的單片機(jī)是1位的,處理能力有限。</p><p>  單片機(jī)的發(fā)展分為4個(gè)階段:</p><p>  第一階段(1974—76年):單片機(jī)初級(jí)階段。因?yàn)槭芄に囅拗?,單片機(jī)采用單片的形式而且功能比較簡單。例如美國仙童公司生產(chǎn)的F8單片機(jī),實(shí)際上只包括了8位CPU,64個(gè)字節(jié)的RAM和2個(gè)并行接

16、口</p><p>  第二階段(1976—78年):低性能單片機(jī)階段。以Intel公司生產(chǎn)的MCS——48系列單片機(jī)為代表,該系列單片機(jī)片內(nèi)集成有8位CPU,8位定時(shí)器/計(jì)數(shù)器,并行I/O接口,RAM和ROM等,但是最大的缺點(diǎn)就是無串行接口,中斷處理比較簡單而且片內(nèi)RAM和ROM容量較小,且尋址范圍不大與4KB。</p><p>  第三階段(1978—83)高性能單片階段這個(gè)階段推出的

17、單片機(jī)普遍帶有串行接口。多級(jí)中斷系統(tǒng),16位定時(shí)器/計(jì)數(shù)器,片內(nèi)ROM,RAM容量加大,且尋址范圍可達(dá)64KB,有的片內(nèi)還帶有A/D轉(zhuǎn)換器。</p><p>  第四階段(1983年至今)8位單片機(jī)鞏固發(fā)展以及16位單片機(jī),32 位單片機(jī)推出階段。此階段的主要特征是:一方面發(fā)展16位單片機(jī),32位單片機(jī)及專用型單片機(jī);另一方面不斷完善高檔8位單片機(jī),改善其結(jié)構(gòu),增加片內(nèi)器件,以滿足不同的客戶要求。</p&g

18、t;<p>  1.2 單片機(jī)的應(yīng)用</p><p>  單片機(jī)的應(yīng)用很廣,分別在以下領(lǐng)域中得到了廣泛的應(yīng)用。</p><p>  工業(yè)自動(dòng)化:在自動(dòng)化技術(shù)中,無論是過程控制技術(shù)、數(shù)據(jù)采集技術(shù)還是測(cè)控技術(shù),都離不開單片機(jī)。在工業(yè)自動(dòng)化的領(lǐng)域中,機(jī)電一體化技術(shù)將發(fā)揮愈來愈重要的作用,在這種機(jī)械、微電子和計(jì)算機(jī)技術(shù)為一體的綜合技術(shù)(例如機(jī)器人技術(shù)、數(shù)控技術(shù))中,單片機(jī)將發(fā)揮非常重

19、要的作用特別是近些年來,隨著計(jì)算機(jī)技術(shù)的發(fā)展,工業(yè)自動(dòng)化也發(fā)展到了一個(gè)新的高度,出現(xiàn)了無人工廠、機(jī)器人作業(yè)、網(wǎng)絡(luò)化工廠等,不僅將人從繁重、重復(fù)和危險(xiǎn)的工業(yè)現(xiàn)場解放出來,還大大提高了生產(chǎn)效率,降低了生產(chǎn)成本。</p><p>  儀器儀表:目前對(duì)儀器儀表的自動(dòng)化和智能化要求越來越高。在自動(dòng)化測(cè)量儀器中,單片機(jī)應(yīng)用十分普及。單片機(jī)的使用有助于提高儀器儀表的精度和準(zhǔn)確度,簡化結(jié)構(gòu),減小體積,易于攜帶和使用,加速儀器儀表

20、向數(shù)字化、智能化和多功能化方向發(fā)展。</p><p>  消費(fèi)類電子產(chǎn)品:該應(yīng)用主要反映在家電領(lǐng)域。目前家電產(chǎn)品的一個(gè)重要發(fā)展趨勢(shì)是不斷提高其智能化程度。例如,電子游戲、照相機(jī)、洗衣機(jī)、電冰箱、空調(diào)、電視機(jī)、微波爐、手機(jī)、IC卡、汽車電子設(shè)備等。在這些設(shè)備中使用了單片機(jī)后,其功能和性能大大提高,并實(shí)現(xiàn)了智能化、最優(yōu)化控制</p><p>  信方面:較高檔的單片機(jī)都具有通信接口,因而為單片

21、機(jī)在通信設(shè)備中的應(yīng)用創(chuàng)造了很好的條件。例如,在微波通信、短波通信、載波通信、光纖通信、程控交換等通信設(shè)備和儀器中都能找到單片機(jī)的應(yīng)用。</p><p>  武器裝備:在現(xiàn)代化的武器裝備中, 如飛機(jī)、軍艦、坦克、導(dǎo)單、魚雷制導(dǎo)、智能武器設(shè)備、航天飛機(jī)導(dǎo)航系統(tǒng),都有單片機(jī)在其中發(fā)揮重要作用。</p><p>  終端及外部設(shè)備控制:計(jì)算機(jī)網(wǎng)絡(luò)終端設(shè)備,如銀行終端,以及計(jì)算機(jī)外部設(shè)備如打印機(jī)、硬

22、盤驅(qū)動(dòng)器、繪圖機(jī)、傳真機(jī)、復(fù)印機(jī)等,在這些設(shè)備中都使用了單片機(jī)。</p><p>  近年來隨著科技的飛速發(fā)展,同時(shí)帶動(dòng)自動(dòng)控制系統(tǒng)日新月異更新,單片機(jī)的應(yīng)用正在不斷地走向深入。</p><p><b>  2 總體方案設(shè)計(jì)</b></p><p><b>  2.1系統(tǒng)框圖</b></p><p>

23、;  交通燈控制的總體設(shè)計(jì)框圖如圖2.1所示。</p><p>  圖2.1 系統(tǒng)框圖</p><p>  2.2 計(jì)時(shí)控制方案</p><p>  利用MCS-51內(nèi)部的定時(shí)器/計(jì)數(shù)器進(jìn)行定時(shí),配合軟件延時(shí)實(shí)現(xiàn)到計(jì)時(shí)。該方案節(jié)省硬件成本,切能夠使讀者在定時(shí)器/計(jì)數(shù)器的使用、中斷及程序設(shè)計(jì)方面得到鍛煉與提高,</p><p>  2.3 顯

24、示控制方案</p><p>  顯示分為靜態(tài)示和動(dòng)態(tài)顯示靜態(tài)顯示由于占用較多的接口,在單片機(jī)設(shè)計(jì)中常采用串行擴(kuò)展來完成。該方案占用接口資源多,顯示亮度由保證,但硬件開銷大,電路復(fù)雜,信息刷新速度慢,實(shí)用于并行接口資源較少以及對(duì)顯示沒有要求的場合。LED動(dòng)態(tài)顯示硬件連接簡單,但動(dòng)態(tài)掃描的顯示方式需占用CPU較多的時(shí)間,在該系統(tǒng)中由于單片機(jī)除了掃描89S51芯片外沒有太多的實(shí)時(shí)測(cè)控任務(wù),故選用動(dòng)態(tài)掃描方式。 <

25、/p><p>  2.4 鍵盤控制方案</p><p>  鍵盤分為獨(dú)立式鍵盤和行列式鍵盤,獨(dú)立式鍵盤接口電路配置靈活,硬件結(jié)構(gòu)簡單,工作可靠但每個(gè)按鍵必須占用一跟I/O接口線,I/O接口線浪費(fèi)較大,在單片機(jī)應(yīng)用系統(tǒng)中,有時(shí)只需要幾個(gè)簡單的按鍵向系統(tǒng)輸入信息,可將按鍵直接在一根I/O接口線上,故只在按鍵數(shù)量不多時(shí)采用。而行列式鍵盤每條行線與列線在交叉處不直接相通,而是通過一個(gè)按鍵加以連接,當(dāng)按

26、鍵較多時(shí)可采用行列式鍵盤以節(jié)省I/O接口。本設(shè)計(jì)采用兩個(gè)按鍵,所以這里選用獨(dú)立式鍵盤。</p><p><b>  3 硬件設(shè)計(jì)</b></p><p>  3.1 89S51單片機(jī)的簡介</p><p>  89S51是MCS-51系列單片機(jī)的典型產(chǎn)品,我們就這一代表性的機(jī)型進(jìn)行系統(tǒng)的講解。89S51單片機(jī)包含中央處理器、程序存儲(chǔ)器(ROM)

27、、數(shù)據(jù)存儲(chǔ)器(RAM)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:</p><p>  圖3.1 單片機(jī)內(nèi)部結(jié)構(gòu)示意圖</p><p><b>  1、中央處理器</b></p><p>  中央處理器(CPU)是整個(gè)單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理

28、8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。</p><p>  2、數(shù)據(jù)存儲(chǔ)器(RAM)</p><p>  89S51內(nèi)部有128個(gè)8位用戶數(shù)據(jù)存儲(chǔ)單元和128個(gè)專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個(gè),可存放讀寫的數(shù)據(jù),

29、運(yùn)算的中間結(jié)果或用戶定義的字型表。</p><p>  3、程序存儲(chǔ)器(ROM)</p><p>  89S51共有4KB掩膜ROM,最大可擴(kuò)展64K字節(jié),用于存放用戶程序,原始數(shù)據(jù)或表格。</p><p><b>  4、定時(shí)/計(jì)數(shù)器:</b></p><p>  89S51有兩個(gè)16位的可編程定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)

30、或計(jì)數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。</p><p>  5、并行輸入輸出(I/O)口:</p><p>  89S51共有4組8位I/O口(P0、 P1、P2或P3),用于對(duì)外部數(shù)據(jù)的傳輸。</p><p><b>  6、中斷系統(tǒng)</b></p><p>  89S51具備較完善的中斷功能,有兩個(gè)外中斷、兩個(gè)定時(shí)/計(jì)數(shù)器

31、中斷和一個(gè)串行中斷,可滿足不同的控制要求,并具有2級(jí)的優(yōu)先級(jí)別選擇。</p><p>  3.2 89S51單片機(jī)的引腳</p><p>  89S51單片機(jī)內(nèi)部總線是單總線結(jié)構(gòu),即數(shù)據(jù)總線和地址總線是公用的. 89S51有40條引腳, 與其他51系列單片機(jī)引腳是兼容的. 這40條引腳可分為I/O接口線、電源線、控制線、外接晶體線4部分. 89S51單片機(jī)為雙列直插式封裝結(jié)構(gòu), 如圖3.2

32、所示.</p><p>  圖3.2 89S51引腳分配圖</p><p>  89S51單機(jī)的電源線有以下兩種:</p><p> ?。?) VCC:+5V電源線。電源線 </p><p> ?。?) GND:接地線。</p><p>  89S51單片機(jī)的外接晶體引腳有以下兩種: </p>&l

33、t;p> ?。?)XTAL1:片內(nèi)振蕩器反相放大器的輸入端和內(nèi)部時(shí)鐘工作的輸入端。采用內(nèi)部振蕩器時(shí),它接外部石英晶體和微調(diào)電容的一個(gè)引腳。</p><p> ?。?) XTAL2:片內(nèi)振蕩器反相放大器的輸出端,接外部石英晶體和微調(diào)電容的另一端。采用外部振蕩器時(shí),該引腳懸空。外接晶體引腳。</p><p>  控制線 89S51單片機(jī)的控制線有以下幾種:</p><

34、;p> ?。?) RST:復(fù)位輸入端,高電平有效。</p><p>  (2) ALE/PROG:地址鎖存允許/編程線。</p><p> ?。?) PSEN:外部程序存儲(chǔ)器的讀選通線。</p><p> ?。?) EA/Vpp:片外ROM允許訪問端/編程電源端。 </p><p>  3.3 89S51單片機(jī)復(fù)位方式</p&g

35、t;<p>  單片機(jī)在開機(jī)時(shí)或在工作中因干擾而使程序失控,或工作中程序處于某種死循環(huán)狀態(tài),在這種情況下都需要復(fù)位. 復(fù)位的作用是使中央處理器CPU以及其他功能部件都恢復(fù)到一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)重新開始工作.</p><p>  89S51單片機(jī)的復(fù)位靠外部電路實(shí)現(xiàn),信號(hào)由RESET(RST)引腳輸入,高電平有效,在振蕩器工作時(shí),只要保持RST引腳高電平兩個(gè)機(jī)器周期,單片機(jī)即復(fù)位. 復(fù)位后

36、,PC程序計(jì)數(shù)器的內(nèi)容為0000H,片內(nèi)RAM中內(nèi)容不變. 復(fù)位電路一般有上電復(fù)位、手動(dòng)開關(guān)復(fù)位和自動(dòng)復(fù)位電路3種,如圖3.3所示.</p><p>  a.上電復(fù)位電路 b. 手動(dòng)復(fù)位電路 c. 自動(dòng)復(fù)位電路</p><p>  圖3.3 單片機(jī)復(fù)位電路</p><p>  3.4 74LS244的功能</p><

37、p>  74LS244是原碼三態(tài)輸出的8緩沖數(shù)碼驅(qū)動(dòng)器,其管腳分布圖如圖3.4所示,G為控制端,又稱為使能端其工作原理如下: </p><p>  當(dāng)G=0時(shí),A輸入為低電平時(shí),Y輸出也為低電平。</p><p>  當(dāng)G=0時(shí),A輸入為高電平時(shí), Y輸出為高電平。</p><p>  當(dāng)G=1時(shí),A不論輸入高電平還是低電平Y(jié)為高阻狀態(tài)</p>

38、<p>  功能表如表3.1所示:</p><p>  表3.1 74LS244的功能表</p><p>  圖3.4 74LS244管腳圖</p><p>  3.5 74LS07的功能</p><p>  74LS07是六緩沖的數(shù)碼驅(qū)動(dòng)器,它是有6個(gè)集電極開路的非門所組成,管腳分布如圖3.5所示,其工作原理如下,當(dāng)使能端為低

39、電平時(shí),輸入為高電平時(shí)輸出也為高電平,當(dāng)輸入為低電平時(shí)輸出也為低電平,其邏輯表達(dá)式為:Y=A </p><p>  圖3.5 74LS07管腳圖</p><p>  3.6 鍵盤接口工作原理</p><p>  在單片機(jī)應(yīng)用系統(tǒng)中,常用鍵盤作為輸入設(shè)備,通過它將數(shù)據(jù)、內(nèi)存地址、命令及指令等輸入到系統(tǒng)中,來實(shí)現(xiàn)簡單的人機(jī)通信。</p><p>

40、;  3.6.1 按鍵開關(guān)的去除抖動(dòng)功能</p><p>  目前,MCS—51單片機(jī)應(yīng)用系統(tǒng)上的按鍵常采用機(jī)械觸點(diǎn)式按鍵,它在斷開、閉合時(shí)輸入電壓波形如圖3.6所示.可以看出機(jī)械觸點(diǎn)在閉合及斷開瞬間均有抖動(dòng)過程,時(shí)間長短與開關(guān)的機(jī)械特性有關(guān),一般為5~10ms。由于抖動(dòng),會(huì)造成被查詢的開關(guān)狀態(tài)無法準(zhǔn)確讀出。例如,一次按鍵產(chǎn)生的正確開關(guān)狀態(tài),由于鍵的抖動(dòng),CPU多次采集到底電平信號(hào),會(huì)被誤認(rèn)為按鍵被多次按下,就

41、會(huì)多次進(jìn)行鍵輸入操作,這是不允許的。為了保證CPU對(duì)鍵的一次閉合僅在按鍵穩(wěn)定時(shí)作一次鍵輸入處理,必須消除產(chǎn)生的前沿(后沿)抖動(dòng)影響。</p><p>  圖3.6 按鍵過程</p><p>  3.6.2 獨(dú)立式鍵盤的接口電路</p><p>  獨(dú)立式鍵盤的接口電路:在單片機(jī)應(yīng)用系統(tǒng)中,有時(shí)只需要幾個(gè)簡單的按鍵向系統(tǒng)輸入信息。這時(shí),可將每個(gè)按鍵直接接在一根I/O

42、接口線上,這種連接方式的鍵盤稱為獨(dú)立式鍵盤。如圖3.7所示,每個(gè)獨(dú)立按鍵單獨(dú)占有一根I/O接口線,每根I/O接口線的工作狀態(tài)不會(huì)影響到其他I/O接口線。這種按鍵接口電路配置靈活,硬件結(jié)構(gòu)簡單,但每個(gè)按鍵必須占用一根I/O線,I/O接口線浪費(fèi)較大。故只在按鍵數(shù)量不多時(shí)采用這種按鍵電路。</p><p>  在此電路中,按鍵輸入都采用低電平有效。上拉電阻保證了按鍵斷開時(shí),I/O接口線有確定的高電平。當(dāng)I/O接口內(nèi)部有

43、上拉電阻時(shí),外電路可以不配置上拉電阻。</p><p>  圖3.7 獨(dú)立式鍵盤電路</p><p>  3.7 七段LED顯示工作原理</p><p>  LED顯示器是由發(fā)光二極管顯示字段的MCS-51單片機(jī)輸出設(shè)備。單片機(jī)應(yīng)用系統(tǒng)常采用七段LED數(shù)碼管作為顯示器,這重顯示器具有耗電低、配置靈活、線路簡單、安裝方便、耐轉(zhuǎn)動(dòng)、價(jià)格低廉且壽命長等優(yōu)點(diǎn)。因此應(yīng)用比較

44、廣泛。</p><p>  LED數(shù)碼管顯示器可以分為共陰極和共陽極兩種結(jié)構(gòu)。</p><p>  (1)共陰極結(jié)構(gòu):如果所有的發(fā)光二極管的陰極接在一起,稱為共陰極結(jié)構(gòu),則數(shù)碼顯示段輸入高電平有效,當(dāng)某段輸入高電平該段便發(fā)光,如圖3.8a所示。</p><p>  (2)共陽極結(jié)構(gòu):如果所有的發(fā)光二極管的陽極接在一起,稱為共陽極結(jié)構(gòu),則數(shù)碼顯示段輸入低平有效,當(dāng)某段

45、輸入低電平該段便發(fā)光,如圖3.8b所示。</p><p>  a .共陰極 b .共陽極</p><p>  圖3.8 七段LED顯示器</p><p> ?。?)LED動(dòng)態(tài)顯示接口:LED動(dòng)態(tài)顯示就是利用單片機(jī)依次輸出每一位數(shù)碼管的段選碼和對(duì)應(yīng)于該位數(shù)碼管的位選控制信號(hào),一位一位輪流點(diǎn)亮各七段數(shù)碼管。對(duì)每位數(shù)碼管來

46、說,每隔一段時(shí)間點(diǎn)亮一次,如此循環(huán)。利用人眼的“視覺暫留”效應(yīng),只要每位顯示間隔足夠短就可以給人以同時(shí)顯示的感覺。在動(dòng)態(tài)顯示方式中,同一時(shí)刻,只有一位LED數(shù)碼管在顯示,其他各位是關(guān)閉的。在段選碼和位選碼每送出一次后,應(yīng)保持1ms左右,這個(gè)時(shí)間應(yīng)根據(jù)實(shí)際情況而定。不能太小,因而發(fā)光二極管從導(dǎo)通到發(fā)光有一定的延時(shí),導(dǎo)通時(shí)間太小,發(fā)光太弱人眼無法看清。但也不能太大,因?yàn)楫吘挂芟抻谂R界閃爍頻率,而且此時(shí)間越長,占用CPU時(shí)間也越多。<

47、/p><p>  采用動(dòng)態(tài)顯示方式比較節(jié)省I/O接口,硬件電路也較靜態(tài)顯示方式簡單,但其亮度不如靜態(tài)顯示方式,而且在顯示位數(shù)較多時(shí),CPU要依次掃描,占用CPU較多的時(shí)間。</p><p>  用MCS-51單片機(jī)構(gòu)建七段數(shù)碼管動(dòng)態(tài)顯示系統(tǒng)時(shí),4位數(shù)碼管均采用共陰極LED,p0接口作為段選碼輸出口,8路驅(qū)動(dòng)采用74LS244總線驅(qū)動(dòng)器作為字形驅(qū)動(dòng)芯片,經(jīng)過8路驅(qū)動(dòng)電路后接至數(shù)碼管的各段,字形驅(qū)

48、動(dòng)輸出0時(shí)發(fā)光。P2接口作為位選碼輸出口,4路驅(qū)動(dòng)采用74LS07(OC門驅(qū)動(dòng)器),當(dāng)C接口線輸出1時(shí),選通相應(yīng)位的數(shù)碼管工作。</p><p><b>  3.8 電路原理</b></p><p>  電路的核心是89S51單片機(jī),其內(nèi)部帶有4KB的FlashROM,無須擴(kuò)展程序存儲(chǔ)器;電腦沒有大量的運(yùn)算和暫存數(shù)據(jù),現(xiàn)有的128B片內(nèi)RAM已能滿足要求,也不必?cái)U(kuò)展片

49、外RAM,系統(tǒng)配備4位LED顯示和2個(gè)單接口鍵盤,采用P0接口外接8路反相三態(tài)緩沖器74LS244作LED動(dòng)態(tài)掃描的段碼控制驅(qū)動(dòng)信號(hào),用P1接口的P1.0-P1.3外接一片集電極開路反相門電路74LS07做為4位LED的位選信號(hào)驅(qū)動(dòng)口, LED共陰極端與74LS07的輸出端相連;按鍵接口,由P2.0,P2.1來完成。P3口接交通指示燈,整個(gè)系統(tǒng)采用查表的方發(fā),將交通燈的顯示情況和數(shù)碼管的計(jì)時(shí)情況,分別以代碼的形式送到指示燈和LED數(shù)碼管

50、,啟動(dòng)定時(shí)器,同時(shí)調(diào)用顯示程序,和查詢按鍵。利用軟件計(jì)數(shù)器的方法計(jì)時(shí)一秒,利用中斷的方法使計(jì)時(shí)時(shí)間循環(huán),當(dāng)按下應(yīng)急按鍵時(shí)停止定時(shí)器,送一個(gè)代碼使兩個(gè)方向都亮紅燈,按下一個(gè)按鍵時(shí)啟動(dòng)定時(shí)器,恢復(fù)循環(huán)。如圖3.9所示</p><p>  圖3.9 電路原理圖</p><p><b>  4 軟件設(shè)計(jì)</b></p><p>  4.1 定時(shí)1秒

51、的方法</p><p>  定時(shí)方法我們采用軟硬件結(jié)合的方法,在主程序中設(shè)定一個(gè)初值為20的軟件計(jì)數(shù)器使定時(shí)器0工作于方式1定時(shí)50毫秒,這樣每當(dāng)T0到50毫秒時(shí)CPU就響應(yīng)它的溢出中斷請(qǐng)求,進(jìn)入他的中斷服務(wù)子程序。在中斷服務(wù)子程序中,CPU先使軟件計(jì)數(shù)器減1,然后判斷它是否為零。為零表示1秒已到。</p><p>  4.2 定時(shí)器初值計(jì)算</p><p>  定

52、時(shí)器工作時(shí)必須給計(jì)數(shù)器送初值,將這個(gè)值送到TH和TL中。他是以加法記數(shù)的,并能從全1到全0時(shí)自動(dòng)產(chǎn)生溢出中斷請(qǐng)求。因此工作于方式1,定時(shí)器為16位計(jì)數(shù)器其定時(shí)時(shí)間由下式計(jì)算:</p><p>  定時(shí)時(shí)間=(216-X)×振蕩周期×12(或)</p><p>  X=216-定時(shí)時(shí)間/振蕩周期×12</p><p>  式中x為T0的初

53、始值,該值和計(jì)數(shù)器工作方式有關(guān)。</p><p>  如單片機(jī)的主脈沖頻率為12MHZ ,經(jīng)過12分頻</p><p>  方式0  定時(shí)時(shí)間=213 × 1微秒=8.192毫秒</p><p>  方式1  定時(shí)時(shí)間=216 × 1微秒=65.536毫秒</p><p>  秒鐘已經(jīng)超過了計(jì)數(shù)器的最大定時(shí)間,所以我們只

54、有采用定時(shí)器和軟件相結(jié)合的辦法才能解決這個(gè)問題,定時(shí)器需定時(shí)50毫秒,故T0工作于方式1,定時(shí)20次,就可定時(shí)一秒。 </p><p><b>  4.3 主程序模塊</b></p><p>  主程序初始化和按鍵控制,首先將時(shí)間、中斷、次數(shù)、和顯示分別進(jìn)行初始化,然后啟動(dòng)定時(shí)器對(duì)時(shí)間進(jìn)行判斷,將時(shí)間送數(shù)據(jù)緩沖區(qū),調(diào)用顯示程序,同時(shí)掃描按鍵程序,用無條件跳轉(zhuǎn)指令返回,

55、 再調(diào)用顯示程序,如此周而復(fù)始的循環(huán),如圖4.1所示</p><p>  圖4.1 主程序流程圖</p><p><b>  主程序:</b></p><p>  初值:X=216-定時(shí)時(shí)間/振蕩周期×12=216-50ms/1us=15536=3CB0H,TH0=3CH , TL0=0B0H。</p><p&g

56、t;  ORG 0000H</p><p>  AJMP START</p><p>  ORG 0030H</p><p>  START: MOV TMOD, #01H; 令T0為定時(shí)器方式1</p><p>  MOV TH0, #3CH ;裝入定時(shí)器初值</p>&

57、lt;p>  MOV TL0, #0B0H  </p><p>  SETB EA ;開T0中斷</p><p>  SETB TF0</p><p>  SEBT  TR0        ;啟動(dòng)T0計(jì)數(shù)器</p><p>  MOV   R0,  #20H    ;軟件計(jì)數(shù)器賦初值

58、</p><p>  LJMP $         ; 等待中斷</p><p>  4.4 中斷服務(wù)程序模塊</p><p>  進(jìn)入中斷程序后,先保護(hù)現(xiàn)場,判斷一秒鐘到了嗎?如果沒有到將定時(shí)器重裝初值恢復(fù)現(xiàn)場,返回主程序,如果一秒鐘到了,將軟件計(jì)數(shù)器重初值;判斷指示燈循環(huán)顯示完了嗎?如果沒完,將保地址重新送入程序計(jì)數(shù)器中,然后再查表下一地址,顯示下一組指

59、示燈狀態(tài)和顯示時(shí)間,保存下一組程序數(shù)據(jù)地址,將定時(shí)器重裝初值,恢復(fù)現(xiàn)場,返回主程序,如果完了,查表首地址,查時(shí)間地址,保存下一地址,將定時(shí)器重裝初值,恢復(fù)現(xiàn)場,返回主程序。同時(shí)一秒到了應(yīng)先判斷個(gè)位是否為0,如果個(gè)位是0,判斷十位是不是0,如果十位也是0,判斷交通燈是否安黃、綠、紅的順序循環(huán)完必,如果沒循環(huán)完應(yīng)查下一組數(shù)據(jù)繼續(xù)循環(huán),如果循環(huán)完必,應(yīng)查表首地址,周而復(fù)始的循環(huán),如果十位不是0,應(yīng)將十位先減1,個(gè)位送9,然后返回,再進(jìn)行中斷定

60、時(shí)一秒,然后再判斷,如果個(gè)位不是0,應(yīng)將個(gè)位減1,將定時(shí)器重裝初值,恢復(fù)現(xiàn)場。重新周而復(fù)始的循環(huán),如圖4.2所示。</p><p>  圖4.2 中斷程序流程圖</p><p>  4.5 顯示程序模塊</p><p>  顯示程序采用動(dòng)態(tài)顯示,由位碼控制那一個(gè)數(shù)碼管顯示,由段碼控制數(shù)碼管顯示什么數(shù)值,根據(jù)中斷程序顯示時(shí)間來查表顯示數(shù)值,從第一位到第四位逐個(gè)點(diǎn)亮,

61、同時(shí)每顯示一位判斷一次四位顯示完了嗎?沒有顯示完進(jìn)行顯示下一位,顯示完了從頭開始再循環(huán)。如圖4.3所示</p><p>  圖4.3 顯示程序流程圖 </p><p>  DESPLAY: MOV R2 , #01H ;將位碼送R2</p><p>  MOV R0 , #30 ;將段碼送R0</p>

62、<p>  NEXT3: MOV A , @R0 </p><p>  MOV DPTR , #TAB2</p><p>  MOVC A , @A+DPTR</p><p>  MOV P0 , A ;將段碼送R0</p><p>  MOV P1 ,

63、 R2 ;將位碼送R2</p><p>  LCALL DELAY1 ;調(diào)用延時(shí)程序</p><p>  MOV A , R2</p><p>  JB ACC.3 , U2 ;顯示完轉(zhuǎn)U2</p><p>  RL A

64、;未顯示完,將未碼左移</p><p>  MOV R2 , A ;將位碼重送、R2中</p><p>  INC R0 ;指向31H</p><p>  LJMP NEXT3 </p><p>  U2: RET ;顯示返回<

65、/p><p><b>  5 系統(tǒng)調(diào)試</b></p><p>  完成了硬件的設(shè)計(jì)、制作和軟件編程之后,要使系統(tǒng)能夠按設(shè)計(jì)意圖正常運(yùn)行,必須進(jìn)行系統(tǒng)調(diào)試。系統(tǒng)調(diào)試包括硬件調(diào)試和軟件調(diào)試兩個(gè)部分。不過,作為一個(gè)單片機(jī)系統(tǒng),其運(yùn)行是軟硬件相結(jié)合的,因此,軟硬件的調(diào)試也是絕對(duì)不可能分開的。</p><p>  程序的調(diào)式應(yīng)一個(gè)模塊一個(gè)模塊地進(jìn)行,單獨(dú)調(diào)

66、試各功能子程序,檢驗(yàn)程序是否能夠?qū)崿F(xiàn)預(yù)期的功能,接口電路的控制是否正常等;最后逐步將各個(gè)子程序連接起來總調(diào)。聯(lián)調(diào)需要注意的是,各程序模塊間能否正確傳遞參數(shù),特別要注意各子程序的現(xiàn)場保護(hù)與恢復(fù)。調(diào)試的基本步驟如下:</p><p>  將所要調(diào)試的程序輸入道偉福6000中,然后進(jìn)行編譯,根據(jù)系統(tǒng)的提示查找原因?qū)⒊鲥e(cuò)的地方調(diào)整正確,例如:有的時(shí)標(biāo)號(hào)未定義,有的時(shí)少標(biāo)點(diǎn)符號(hào)等。最后以ASM擴(kuò)展名保存。</p>

67、;<p>  將在偉福中調(diào)試好的程序方入keil內(nèi),將單片機(jī)實(shí)驗(yàn)相與計(jì)算機(jī)連接,然后在keil中進(jìn)行編譯程序,運(yùn)行程序,根據(jù)單片機(jī)所顯示的結(jié)果分析程序,修改程序直到程序正常。</p><p>  在調(diào)試過程中出現(xiàn)的問題:</p><p> ?。?)指示燈顯示不正常,經(jīng)分析原因在與燈的表格列的不對(duì),指示燈輸出低電瓶時(shí)亮,結(jié)果程序中都是以高電瓶輸出,經(jīng)修改后正常</p>

68、;<p>  (2)數(shù)碼管從15到計(jì)時(shí),當(dāng)減到11時(shí)直接變成了9,而沒有經(jīng)過10,經(jīng)過對(duì)整個(gè)程序的分析也沒能夠找到問題,后經(jīng)老師的講解分析最后發(fā)現(xiàn)是程序設(shè)計(jì)的錯(cuò)誤,在計(jì)時(shí)時(shí)間到時(shí),必須先判斷個(gè)位是否為0,如果個(gè)位是0,判斷十位是不是0,如果十位也是0,判斷交通燈是否安黃、綠、紅的順序循環(huán)完必,如果沒循環(huán)完應(yīng)查下一組數(shù)據(jù)繼續(xù)循環(huán),如果循環(huán)完必,應(yīng)查表首地址,周而復(fù)始的循環(huán),如果十位不是0,應(yīng)將十位先減1,個(gè)位送9,然后返回,

69、再進(jìn)行中斷定時(shí)一秒,然后再判斷,如果個(gè)位不是0,應(yīng)將個(gè)位減1,而不能先減1再判斷,而我開始設(shè)計(jì)的正好與此相反,我先減1后進(jìn)行判斷,然后又減1所以就出現(xiàn)了這種現(xiàn)象,經(jīng)改正數(shù)碼管能夠按設(shè)定的數(shù)據(jù)變化。</p><p> ?。?)緊急事件發(fā)生時(shí),按下急停按鍵時(shí)兩個(gè)方向都亮紅燈,而數(shù)碼管不會(huì)閃爍,經(jīng)老師幫助當(dāng)按鍵按下時(shí),在按鍵服務(wù)程序中向數(shù)據(jù)緩沖器中送入#16H即可。</p><p><b&

70、gt;  6 結(jié) 論</b></p><p>  依據(jù)本論文設(shè)計(jì)以89S51單片機(jī)為核心的交通燈,經(jīng)過近4個(gè)月的設(shè)計(jì),最后按設(shè)計(jì)要求終于在單片機(jī)實(shí)驗(yàn)箱上試驗(yàn)成功,選擇不同的單片機(jī),可以組成具有較強(qiáng)抗干擾能力和運(yùn)行可靠性的產(chǎn)品,其抗干擾能力雖然不如PLC,但PLC價(jià)格較貴,用單片機(jī)運(yùn)行效果仍然令人滿意,同時(shí)證明了本方案的正確性。這種交通燈比較適合應(yīng)用于中小型城市的十字路口,如果將本方案加上定時(shí)器和傳感器

71、比較適合應(yīng)用于大種型城市,它能根據(jù)時(shí)間的變化自動(dòng)調(diào)節(jié)交通燈的時(shí)間,或根據(jù)車流量的大小自動(dòng)調(diào)節(jié)時(shí)間的長短,效果會(huì)更佳。</p><p><b>  致  謝</b></p><p>  本課題在選題及研究過程中得到郭繼紅老師的悉心指導(dǎo)。郭老師多次詢問研究進(jìn)程,并為我指點(diǎn)迷津,幫助我開拓研究思路,精心點(diǎn)撥、熱忱鼓勵(lì)。郭老師一絲不茍的作風(fēng),嚴(yán)謹(jǐn)求實(shí)的態(tài)度,踏踏實(shí)實(shí)的精神,不

72、僅授我以文,而且教我做人,雖歷時(shí)三載,卻給以終生受益無窮之道。對(duì)郭老師的感激之情是無法用言語表達(dá)的。</p><p>  通過這次畢業(yè)設(shè)計(jì),使我得到了一次用專業(yè)知識(shí)、專業(yè)技能分析和解決問題全面系統(tǒng)的鍛煉。使我在單片機(jī)的基本原理、單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程,以及在常用編程設(shè)計(jì)思路技巧的掌握方面都能向前邁了一大步,為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)。我在指導(dǎo)老師郭老師的精心指導(dǎo)和嚴(yán)格要求下,獲得了豐富的理論知識(shí),極

73、大地提高了實(shí)踐能力,并對(duì)當(dāng)前電子領(lǐng)域的研究狀況和發(fā)展方向有了一定的了解,這對(duì)我今后進(jìn)一步學(xué)習(xí)單片機(jī)方面的知識(shí)有極大的幫助。在此,我忠心感謝郭繼紅指導(dǎo)和支持。在未來的工作和學(xué)習(xí)中,我將以更好的成績來回報(bào)老師。</p><p>  在此,我還要感謝在一起愉快的度過大學(xué)生生活的機(jī)電系全體老師和同門,正是由于你們的幫助和支持,我才能克服一個(gè)一個(gè)的困難和疑惑,直至本文的順利完成。 在論文即將完成之際,我的心情無法平

74、靜,從開始進(jìn)入課題到論文的順利完成,有多少可敬的師長、同學(xué)、朋友給了我無言的幫助,在這里請(qǐng)接受我誠摯的謝意!最后我還要感謝培養(yǎng)我長大含辛茹苦的父母,謝謝你們!</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 王玉龍.數(shù)字邏輯.北京.高等教育出版社,1987</p><p>  [2] 傅承義.地球物理學(xué)基礎(chǔ).北京.科學(xué)

75、出版社,1985,447</p><p>  [3] 華羅庚,王元.論一致分布與近似分析. 北京.中國科學(xué),1973(4):339~357</p><p>  [4] 張筑生.微分半動(dòng)力系統(tǒng)的不變集研究.[學(xué)位論文].北京.數(shù)學(xué)系統(tǒng)學(xué)研究所,1983</p><p><b>  …………</b></p><p><

76、b>  附 錄A </b></p><p>  ORG 0000H</p><p>  LJMP START</p><p>  ORG 000BH</p><p>  LJMP CTC0</p><p>  ORG 0030H</p>

77、<p>  START: MOV TMOD , #01H ;定時(shí)器T0初始化</p><p>  MOV TH0 , #3CH ;定時(shí)器T0初始化</p><p>  MOV TL0 , #0B0 ;定時(shí)器T0初始化</p><p>  MOV R3 , #20 ; 定時(shí)器次數(shù)初始化&

78、lt;/p><p>  MOV R5 , #03 ; 循環(huán)次數(shù)初始化</p><p>  MOV 30H , #16H ;數(shù)據(jù)緩沖區(qū)初始化</p><p>  MOV 31H , #16H ;數(shù)據(jù)緩沖區(qū)初始化</p><p>  MOV 32H , #16H ;數(shù)據(jù)緩沖區(qū)初始化<

79、/p><p>  MOV 33H , #16H ;數(shù)據(jù)緩沖區(qū)初始化</p><p>  SETB EA ;總允許中斷</p><p>  SETB ET0 ;T0允許中斷</p><p>  SETB TR0 ;啟動(dòng)T0</p>

80、<p>  MOV DPTR ,#TAB ;置表格TAB起始值</p><p><b>  CLR A</b></p><p>  MOVC A ,@A+DPTR</p><p>  MOV P3 , A ;查表將結(jié)果送P3口</p><p>  INC DPT

81、R</p><p><b>  CLR A</b></p><p>  MOVC A ,@A+DPTR</p><p>  MOV R4 , A ;查表下一地址,結(jié)果送寄存器R4</p><p>  MOV 30H ,A ;將結(jié)果送30H</p><p

82、>  INC DPTR</p><p><b>  CLR A</b></p><p>  MOVC A , @A+DPTR</p><p>  MOV R6 , A ;查表下一地址,將結(jié)果送R6</p><p>  MOV 31H , A ;將

83、結(jié)果送31H </p><p>  INC DPTR</p><p><b>  CLR A</b></p><p>  MOVC A , @A+DPTR</p><p>  MOV R7 , A ;查表下一地址,將結(jié)果送R7</p><p> 

84、 MOV 32H , A ;將結(jié)果送32H </p><p>  INC DPTR </p><p><b>  CLR A</b></p><p>  MOVC A , @A+DPTR</p><p>  MOV R2 , A ;查表下一地址,將

85、結(jié)果送R7</p><p>  MOV 33H , A ;將結(jié)果送32H</p><p>  INC DPTR</p><p>  MOV 50H , DPH ;將下一地址送50H和51H </p><p>  MOV 51H, DPL</p><p>  LOOP

86、: LCALL DISPLAY ;調(diào)用顯示程序</p><p>  JB P1.0 , LOOP1 ;K1鍵未按下,轉(zhuǎn)LOOP1</p><p>  LCALL DELAY1 ;延時(shí)10ms消除抖動(dòng)</p><p>  JB P1.0 , LOOP1 ;K1鍵未按下,轉(zhuǎn)LOOP1<

87、;/p><p>  LOOP2 JNB P1.0 , LOOP2 ;K1鍵按下,順序執(zhí)行K1鍵功能</p><p>  MOV A , P0</p><p>  MOV P0 , #11H ;送11H到P0口,使兩個(gè)方向的燈都亮紅燈</p><p>  CLR TR0 ;定

88、時(shí)器停止計(jì)數(shù)</p><p>  MOV 30H , #16H</p><p>  MOV 31H , #16H</p><p>  MOV 32H , #16H</p><p>  MOV 33H , #16H</p><p>  ANJIAN: JB P1.1 , LOOP ;K

89、2鍵未按下,轉(zhuǎn)LOOP</p><p>  LCALL DELAY ;延時(shí)10ms消除抖動(dòng)</p><p>  JB P1.1 , LOOP ;K2鍵未按下,轉(zhuǎn)LOOP</p><p>  L2 : JNB P1.1, L2 ;K2鍵按下,順序執(zhí)行K2鍵功能</p&g

90、t;<p>  SETB TR0 ;重新啟動(dòng)定時(shí)器</p><p>  MOV P0 , A ;將狀態(tài)送P0口</p><p>  LJMP LOOP</p><p>  CTCO: PUSH ACC ;保護(hù)現(xiàn)場</p><p>  PUS

91、H PSW</p><p>  DJNZ: R3 , NEXT2 ;定時(shí)器一秒未到轉(zhuǎn)NEXT2</p><p>  MOV R3, #20 ;定時(shí)一秒到,送20到R3</p><p>  MOV A,R4</p><p>  CJNE A, #0FF , L15 ;(主干道)判斷個(gè)位,

92、個(gè)位不等0,轉(zhuǎn)L15</p><p>  MOV A, R6 ;個(gè)位等0順續(xù)執(zhí)行</p><p>  CJNE A,#0FFH , L16 ; 判斷十位,十位不等0,轉(zhuǎn)L16</p><p>  LJMP L17 ; 十位等0,轉(zhuǎn)L17</p><p>  L16:

93、 DEC R6 ; 十位減1</p><p>  MOV R4 , #09 ; 個(gè)位送9</p><p>  LJMP L8</p><p>  L15 : DJNZ R4, L8 ;個(gè)位不為0時(shí),個(gè)位減1</p><p>  L17;

94、 DJNZ R5 , LL1 ;未循環(huán)完,轉(zhuǎn)LL1</p><p>  MOV R5 , #05 ;循環(huán)寄存器重裝初值</p><p>  MOV DPTR , #TAB1 ;將TAB1首地址送DPTR</p><p>  LJMP LL2</p><p>  L8:

95、 MOV A, R7</p><p>  CJNE A,#0FFH ,L11 ;(直干道)判斷個(gè)位,個(gè)位不等0,轉(zhuǎn)L11</p><p>  MOV A,R2 ;個(gè)位等0順續(xù)執(zhí)行</p><p>  CJNE A,#0FFH ,L18 ; 判斷十位,十位不等0,轉(zhuǎn)L18 </p><p>  L

96、JMP L18</p><p>  L12 : DEC R2 ;十位減1</p><p>  MOV R7 , #09 ;個(gè)位送9</p><p>  LJMP NEXT1</p><p>  L11: DJNZ R7 , NEXT1 ;個(gè)位不為0時(shí),個(gè)

97、位減1 </p><p>  L18: DJNZ R5 , LL1 ;未循環(huán)完,轉(zhuǎn)LL1</p><p>  MOV R5 , #05 ;循環(huán)寄存器重裝初值</p><p>  MOV DPTR , #TAB1 ;將TAB1首地址送DPTR</p><p>  LJ

98、MP LL2</p><p>  LL1: MOV DPL, 50H ;重保存地址送DPTR</p><p>  MOV DPH , 51H</p><p>  LL2: CLR A </p><p>  MOVC A , @A+DPTR</p><p>  MO

99、V P3 , A ;查表將結(jié)果送P3口</p><p>  INC DPTR</p><p><b>  CLR A</b></p><p>  MOVC A , @A+DPTR</p><p>  MOV R4 , A ;查表下一地址,結(jié)果送

100、寄存器R4</p><p>  MOV 30H,A ;將結(jié)果送30H</p><p>  INC DPTR</p><p><b>  CLR A</b></p><p>  MOVC A , @A+DPTR</p><p>  MOV R6 ,

101、A ;查表下一地址,結(jié)果送寄存器R6</p><p>  MOV 31H,A ;將結(jié)果送31H</p><p>  INC DPTR</p><p><b>  CLT A</b></p><p>  MOVC A , @A+DPTR</p&g

102、t;<p>  MOV R7 , A ;查表下一地址,結(jié)果送寄存器R6</p><p>  MOV 32H ,A ;將結(jié)果送31H</p><p>  INC DPTR</p><p><b>  CLR A</b></p><p>  

103、MOVC A , @A+DPTR</p><p>  MOV R2 , A ;查表下一地址,結(jié)果送寄存器R6</p><p>  MOV 33H ,A ;將結(jié)果送33H</p><p>  INC DPTR</p><p>  MOV 50H , DPH ;

104、重保存地址送DPTR</p><p>  MOV 51H , DPL</p><p>  NEXT1: MOV 30H , R4 </p><p>  MOV 31H , R6</p><p>  MOV 32H , R7</p><p>  MOV 33H ,

105、 R2</p><p>  NEXT2: MOV TH0 , #3CH ;重裝定時(shí)器初值</p><p>  MOV TL0 , #0B0H</p><p>  POP PSW </p><p>  POP ACC ; 恢復(fù)現(xiàn)場</p>

106、<p>  RETI ;中斷返回</p><p>  TAB1: DB 6EH , 05 , 01 , 08 , 04</p><p>  DB BEH , 00 , 03 , 03 , 03</p><p>  DB DEH , 03 , 00 ,

107、03 , 00</p><p>  DB E6H , 08 , 04 , 05 , 01</p><p>  DB EBH , 03 , 03 , 00 , 03</p><p>  DB EDH , 03 , 00 , 03 , 00</p><p>  DILPLAY:

108、MOV R2 , #01H ;將位碼送R2</p><p>  MOV R0 , #30 ;將段碼送R0</p><p>  NEXT3: MOV A , @R0 </p><p>  MOV DPTR , #TAB2</p><p>  MOVC A , @

109、A+DPTR</p><p>  MOV P0 , A ;將段碼送R0</p><p>  MOV P1 , R2 ;將位碼送R2</p><p>  LCALL DELAY1 ;調(diào)用延時(shí)程序</p><p>  MOV A , R2</p>

110、<p>  JB ACC.3 , U2 ;顯示完轉(zhuǎn)U2</p><p>  RL A ;未顯示完,將未碼左移</p><p>  MOV R2 , A ;將未碼重送、R2中</p><p>  INC R0 ;指向31H<

111、/p><p>  LJMP NEXT3 </p><p>  U2: RET ;顯示返回</p><p>  TAB2: DB 3FH , 06H , 5BH , 4FH ,66H ,6DH</p><p>  DB 7DH , 07H , 7FH , 6FH , 77H

112、 , 7CH</p><p>  DB 58H , 5EH , 7BH , 71H , 00H , 40H</p><p>  DELAY1: MOV R5 , #03H</p><p>  LOOP2: MOV R6 , #00H</p><p>  LOOP1: DJNZ R6 , LOO

113、P1</p><p>  DJNZ R5, LOOP2</p><p><b>  RET</b></p><p>  DELAY2: MOV R5 , #00H</p><p>  LOOP2: MOV R6 , #00H</p><p>  LOOP1: DJNZ R6

溫馨提示

  • 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)論