版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 單片機(jī)接口設(shè)計(jì)</b></p><p><b> 交通燈</b></p><p> 專業(yè):電氣工程及其自動(dòng)化</p><p><b> 班級(jí):</b></p><p><b> 姓名:</b></p>&
2、lt;p><b> 學(xué)號(hào):</b></p><p> 2012.06.20</p><p><b> 摘 要1</b></p><p><b> 1.引言2</b></p><p> 2.總體設(shè)計(jì)方案2</p><p>
3、2.1.設(shè)計(jì)思路2</p><p> 2.1.1.設(shè)計(jì)目的2</p><p> 2.1.2.設(shè)計(jì)任務(wù)和內(nèi)容3</p><p> 2.1.3.芯片簡(jiǎn)介5</p><p> 2.2.設(shè)計(jì)方框圖8</p><p> 3.設(shè)計(jì)原理分析8</p><p> 3.1.交通燈顯示時(shí)
4、序的理論分析8</p><p> 3.2電路模塊11</p><p> 3.2.1. 數(shù)碼管顯示模塊11</p><p> 3.2.2.復(fù)位電路15</p><p> 3.2.3.晶振電路16</p><p><b> 4.總結(jié)16</b></p><
5、p> 5.參考文獻(xiàn)16</p><p><b> 6.附錄17</b></p><p> 6.1.附錄1:程序清單和硬件電路圖17</p><p><b> 摘 要</b></p><p> 交通在人們的日常生活中占有重要的地位,隨著人們社會(huì)活動(dòng)的日益頻繁,這點(diǎn)更是體
6、現(xiàn)的淋漓盡致。交通信號(hào)燈的出現(xiàn),使交通得以有效管制,對(duì)于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。近年來(lái)隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)技術(shù)日益更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往作為一個(gè)核心部件來(lái)使用,僅單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加以完善。</p><p> 本系統(tǒng)采用單片機(jī)AT80C51為中心器件來(lái)設(shè)計(jì)交通燈控
7、制器,系統(tǒng)實(shí)用性強(qiáng)、操作簡(jiǎn)單、擴(kuò)展性強(qiáng)。本設(shè)計(jì)就是采用單片機(jī)模擬十字路口交通燈的各種狀態(tài)顯示以及倒計(jì)時(shí)時(shí)間。</p><p> 本設(shè)計(jì)系統(tǒng)由單片機(jī)I/O口擴(kuò)展系統(tǒng)、交通燈狀態(tài)顯示系統(tǒng)、LED數(shù)碼顯示系統(tǒng)、復(fù)位電路等幾大部分組成。系統(tǒng)除基本的交通燈功能外,還具有倒計(jì)時(shí)等功能,較好的模擬實(shí)現(xiàn)了十字路口可能出現(xiàn)的狀況。</p><p> 軟件上采用C51編程,主要編寫了主程序,LED數(shù)碼管顯
8、示程序,中斷程序延時(shí)程序等。經(jīng)過(guò)整機(jī)調(diào)試,實(shí)現(xiàn)了對(duì)十字路口交通燈的模擬。</p><p> 關(guān)鍵字:電子線路 AT80C51 LED 交通燈</p><p><b> 2.總體設(shè)計(jì)方案</b></p><p><b> 2.1 設(shè)計(jì)思路</b></p><p> 2.1.1 設(shè)計(jì)目的<
9、;/p><p> ?。?)加強(qiáng)對(duì)單片機(jī)和匯編語(yǔ)言的認(rèn)識(shí),充分掌握和理解設(shè)計(jì)各部分的工作原理、設(shè)計(jì)過(guò)程、選擇芯片器件、模塊化編程等多項(xiàng)知識(shí)。</p><p> ?。?)用單片機(jī)模擬實(shí)現(xiàn)具體應(yīng)用,使個(gè)人設(shè)計(jì)能夠真正使用。</p><p> ?。?)把理論知識(shí)與實(shí)踐相結(jié)合,充分發(fā)揮個(gè)人能力,并在實(shí)踐中鍛煉。</p><p> ?。?)提高利用已學(xué)知識(shí)分
10、析和解決問題的能力。</p><p> ?。?)提高實(shí)踐動(dòng)手能力。</p><p> 2.1.2設(shè)計(jì)任務(wù)和內(nèi)容</p><p><b> 1.設(shè)計(jì)任務(wù)</b></p><p> 單片機(jī)采用用AT80C51芯片,由于實(shí)驗(yàn)用的單片機(jī)要求,這次實(shí)驗(yàn)要求:</p><p> 1、顯示要求與十字路口
11、要求一直</p><p><b> 2、有倒計(jì)時(shí)</b></p><p> 3、用6位數(shù)碼管顯示:左2位表示左轉(zhuǎn)彎,中間2位表示直行,右2位表示右轉(zhuǎn)彎;2個(gè)數(shù)碼管中其中1個(gè)表示燈(用H L U分別表示紅、綠、黃),另一個(gè)數(shù)碼管用于倒計(jì)時(shí)。</p><p> 4、本機(jī)地址為0AH,當(dāng)接到上位機(jī)發(fā)的0AH時(shí),則回發(fā)0AH</p>
12、;<p> 當(dāng)接到上位機(jī)發(fā)的AAH時(shí),則將當(dāng)前狀態(tài)發(fā)給上位機(jī),當(dāng)前狀態(tài)自己定義并分類</p><p><b> 2.設(shè)計(jì)內(nèi)容</b></p><p> ?。?)硬件系統(tǒng)設(shè)計(jì)說(shuō)明及原理圖。</p><p> ?。?)軟件流程圖及軟件清單。</p><p> (3)編寫程序并將調(diào)試好的程序固化到單片機(jī)中,
13、能夠?qū)崿F(xiàn)通信</p><p><b> 設(shè)計(jì)方框圖</b></p><p> 整個(gè)設(shè)計(jì)以AT80C51單片機(jī)為核心,由數(shù)碼管顯示,LED數(shù)碼管顯示,復(fù)位電路組成。</p><p> 硬件模塊入圖2-1。</p><p> 交通模式:條件有限,只能實(shí)現(xiàn)單方向交通控制,但是不會(huì)出現(xiàn)交通事故情況。具體要求:?jiǎn)畏较?,有?/p>
14、轉(zhuǎn),直行,右轉(zhuǎn)。每個(gè)方向用兩個(gè)數(shù)碼管表示,一個(gè)用作紅綠燈表示,另一個(gè)作為時(shí)間倒計(jì)時(shí)。具體時(shí)間安排是</p><p><b> 2.1.3芯片簡(jiǎn)介</b></p><p> 80C51單片機(jī)引腳圖及引腳功能介紹首先我們來(lái)介紹一下單片機(jī)的引腳圖及引腳功能(如下圖所示), 引腳的具體功能將在下面詳細(xì)介紹</p><p> 單片機(jī)的40個(gè)引腳大
15、致可分為4類:電源、時(shí)鐘、控制和I/O引腳。</p><p><b> ?、?電源:</b></p><p> ⑴ VCC - 芯片電源,接+5V;</p><p> ?、?VSS - 接地端;</p><p><b> ⒉ 時(shí)鐘:</b></p><p> XTAL1
16、、XTAL2 - 晶體振蕩電路反相輸入端和輸出端。</p><p> ?、?控制線:控制線共有4根,</p><p> ⑴ ALE/PROG:地址鎖存允許/片內(nèi)EPROM編程脈沖① ALE功能:用來(lái)鎖存P0口送出的低8位地址② PROG功能:片內(nèi)有EPROM的芯片,在EPROM編程期間,此引腳輸入編程脈沖。</p><p> ?、?PSEN:外ROM讀選通信號(hào)
17、。</p><p> ⑶ RST/VPD:復(fù)位/備用電源。</p><p> ?、?RST(Reset)功能:復(fù)位信號(hào)輸入端。</p><p> ② VPD功能:在Vcc掉電情況下,接備用電源。</p><p> ?、?EA/Vpp:內(nèi)外ROM選擇/片內(nèi)EPROM編程電源。</p><p> ?、?EA功能:內(nèi)外R
18、OM選擇端。</p><p> ② Vpp功能:片內(nèi)有EPROM的芯片,在EPROM編程期間,施加編程電源Vpp。</p><p><b> ?、?I/O線</b></p><p> 80C51共有4個(gè)8位并行I/O端口:P0、P1、P2、P3口,共32個(gè)引腳。</p><p> P3口還具有第二功能,用于特殊信號(hào)
19、輸入輸出和控制信號(hào)(屬控制總線)。2.2設(shè)計(jì)方框圖</p><p><b> 3.設(shè)計(jì)原理分析</b></p><p> 3.1 交通燈顯示時(shí)序的理論分析</p><p> 對(duì)于一個(gè)交通路口來(lái)說(shuō),首先是安全性能,再者是最短的時(shí)間內(nèi)達(dá)到最大的車流量,就算是達(dá)到了最佳的性能。</p><p> 先設(shè)定一些標(biāo)號(hào)如圖2
20、-1 所示。</p><p><b> 說(shuō)明:</b></p><p> 此圖為直方圖,上邊為北路口燈,右邊為東路口燈,下邊為南路口燈,左邊為西路口燈。 圖2-2 所示為一種紅綠燈規(guī)則的狀態(tài)圖,分別設(shè)定為S1、S2、S3、S4,交通燈以這四的狀態(tài)為一個(gè)周期,循環(huán)執(zhí)行(見圖2-3)。</p><p><b> 圖2-1&l
21、t;/b></p><p> 請(qǐng)注意圖2-1b和圖2-1d,它們?cè)谝粋€(gè)時(shí)間段中四個(gè)方向都可以通車,這種狀態(tài)能在一定的時(shí)間內(nèi)達(dá)到較大的車流量,效率特別高。依據(jù)上述的車輛行駛的狀態(tài)圖,可以列出各個(gè)路口燈的邏輯表,由于相向的燈的狀態(tài)圖是一樣的,所以只需寫出相鄰路口的燈的邏輯表;根據(jù)圖2-3 可以看出,相鄰路口的燈它們的狀態(tài)在相位上相差180°。</p><p><b&g
22、t; 電路模塊數(shù)碼管顯示</b></p><p> 動(dòng)態(tài)顯示方式:動(dòng)態(tài)顯示方式是指一位一位地輪流點(diǎn)亮每位顯示器(稱為掃描),即每個(gè)數(shù)碼管的位選被輪流選中,多個(gè)數(shù)碼管公用一組段選,段選數(shù)據(jù)僅對(duì)位選選中的數(shù)碼管有效。對(duì)于每一位顯示器來(lái)說(shuō),每隔一段時(shí)間點(diǎn)亮一次。顯示器的亮度既與導(dǎo)通電流有關(guān),也與點(diǎn)亮?xí)r間和間隔時(shí)間的比例有關(guān)。通過(guò)調(diào)整電流和時(shí)間參數(shù),可以既保證亮度,又保證顯示。若顯示器的位數(shù)不大于8位,則
23、顯示器的公共端只需一個(gè)8位I/O口進(jìn)行動(dòng)態(tài)掃描(稱為掃描口),控制每位顯示器所顯示的字形也需一個(gè)8位口(稱為段碼輸出)。不管是紅綠燈燈,還是時(shí)間顯示都是數(shù)碼管,所以都是動(dòng)態(tài)顯示。</p><p><b> 數(shù)碼管顯示子程序:</b></p><p> XS:MOV A,R1 ;顯示,數(shù)碼管的顯示,首先是十進(jìn)制轉(zhuǎn)換</p><p&
24、gt; MOV B,#10 ;將R1.R2.R3轉(zhuǎn)化成十進(jìn)制</p><p><b> DIV AB</b></p><p><b> MOV 30H,B</b></p><p><b> MOV A,R2</b></p><p><b> MO
25、V B,#10</b></p><p><b> DIV AB</b></p><p><b> MOV 31H,B</b></p><p><b> MOV A,R3</b></p><p><b> MOV B,#10</b><
26、;/p><p><b> DIV AB</b></p><p><b> MOV 32H,B</b></p><p> MOV A,R3 ;數(shù)碼管 的顯示</p><p> MOV DPTR,#LEDMAP</p><p> MOVC A,@A+D
27、PTR</p><p><b> PUSH A </b></p><p> MOV DPTR,#8002H</p><p><b> MOV A,#1H</b></p><p> MOVX @DPTR,A</p><p><b> POP A</b&
28、gt;</p><p> MOV DPTR,#8004H</p><p> MOVX @DPTR,A</p><p> CALL DELAY</p><p> MOV DPTR,#8002H</p><p><b> MOV A,#2H</b></p><p>
29、 MOVX @DPTR,A</p><p><b> MOV A,42H</b></p><p> MOV DPTR,#8004H</p><p> MOVX @DPTR,A</p><p> CALL DELAY</p><p><b> MOV A,R2</b>
30、</p><p> MOV DPTR,#LEDMAP</p><p> MOVC A,@A+DPTR</p><p><b> PUSH A</b></p><p> MOV DPTR,#8002H</p><p><b> MOV A,#4H</b></p&
31、gt;<p> MOVX @DPTR,A</p><p><b> POP A</b></p><p> MOV DPTR,#8004H</p><p> MOVX @DPTR,A</p><p> CALL DELAY</p><p> MOV DPTR,#8002H&
32、lt;/p><p><b> MOV A,#8H</b></p><p> MOVX @DPTR,A</p><p><b> MOV A,41H</b></p><p> MOV DPTR,#8004H</p><p> MOVX @DPTR,A</p>
33、<p> CALL DELAY</p><p><b> MOV A,R1</b></p><p> MOV DPTR,#LEDMAP</p><p> MOVC A,@A+DPTR</p><p><b> PUSH A</b></p><p> M
34、OV DPTR,#8002H</p><p> MOV A,#10H</p><p> MOVX @DPTR,A</p><p><b> POP A</b></p><p> MOV DPTR,#8004H</p><p> MOVX @DPTR,A</p><p&
35、gt; CALL DELAY</p><p> MOV DPTR,#8002H</p><p> MOV A,#20H</p><p> MOVX @DPTR,A</p><p><b> MOV A,40H</b></p><p> MOV DPTR,#8004H</p>
36、<p> MOVX @DPTR,A</p><p> CALL DELAY</p><p><b> RET</b></p><p> 3.2.1紅綠燈顯示模塊</p><p><b> 本實(shí)驗(yàn)狀態(tài)調(diào)節(jié):</b></p><p> BB: MOV R
37、1,#05H ;BB是顯示,其中先賦值,嵌套了時(shí)間中斷,調(diào)用時(shí)間中斷。</p><p> MOV R2,#05H</p><p> MOV R3,#09H ;下邊的都是相同的,時(shí)間的不同是用最短時(shí)間,然后重復(fù)賦值,實(shí)現(xiàn)的</p><p> MOV 40H,#76H</p><p> MOV 41H,#38H
38、 ;BB.MM.NN.FF.OO.ZZ.XX都是顯示程序,直接賦值調(diào)用時(shí)間程序,R1.R2.R3.在程序里一秒減一。</p><p> MOV 42H,#38H ;并且調(diào)用XS(顯示),顯示即為數(shù)碼管顯示程序</p><p><b> LCALL T0</b></p><p> MM:LCALL XS</p>
39、<p> CJNE R1,#00H,MM</p><p> MOV R1,#03H</p><p> MOV R2,#03H</p><p> MOV R3,#04H</p><p> MOV 40H,#38H</p><p> MOV 41H,#3EH</p><p>
40、 MOV 42H,#38H</p><p><b> LCALL T0</b></p><p> NN:LCALL XS</p><p> CJNE R1,#00H,NN</p><p> MOV R1,#04H</p><p> MOV R2,#08H</p><
41、p> MOV R3,#01H</p><p> MOV 40H,#3EH</p><p> MOV 41H,#76H</p><p> MOV 42H,#38H </p><p><b> LCALL T0</b></p><p> FF:LCALL XS</p&
42、gt;<p> CJNE R3,#00H,FF</p><p> MOV R1,#03H</p><p> MOV R2,#07H</p><p> MOV R3,#05H</p><p> MOV 40H,#3EH</p><p> MOV 41H,#76H</p><p
43、> MOV 42H,#76H</p><p><b> LCALL T0</b></p><p> OO:LCALL XS</p><p> CJNE R1,#00H,OO</p><p> MOV R1,#04H</p><p> MOV R2,#04H</p>
44、<p> MOV R3,#02H</p><p> MOV 40H,#76H</p><p> MOV 41H,#76H</p><p> MOV 42H,#76H</p><p><b> LCALL T0</b></p><p> ZZ:LCALL XS</p>
45、;<p> CJNE R3,#00H,ZZ</p><p> MOV R1,#02H</p><p> MOV R2,#02H</p><p> MOV R3,#02H</p><p> MOV 40H,#76H</p><p> MOV 41H,#76H</p><p&g
46、t; MOV 42H,#38H</p><p><b> LCALL T0</b></p><p> XX:LCALL XS</p><p> CJNE R3,#00H,XX</p><p><b> LJMP INT0</b></p><p> T0:SETB
47、TR0 ;時(shí)間T0中斷,R1.R2.R3.運(yùn)行一次減一</p><p> MOV TH0,#3CH</p><p> MOV TL0,#0B0H</p><p> DJNZ R0,YY</p><p> MOV R0,#0AH </p><p><b> DEC R2<
48、;/b></p><p><b> DEC R3</b></p><p><b> DEC R1</b></p><p><b> YY:RETI</b></p><p> 3.2.2 復(fù)位電路</p><p> 復(fù)位方式有多種,本設(shè)計(jì)采
49、用按鍵復(fù)位。接線圖如圖程序3.1復(fù)位電路,</p><p><b> 框圖</b></p><p> 在設(shè)定的定時(shí)時(shí)間內(nèi),89S52必須在RST引腳產(chǎn)生一個(gè)由高到低的電平變化,以清內(nèi)部定時(shí)器. </p><p> 3.2.3 晶振電路</p><p> 晶振電路原理圖如3-2:</p><p&
50、gt; 3-2 晶振模塊原理圖</p><p> 選取原則:傳統(tǒng)做法,但能夠?qū)崿F(xiàn)所需,即最簡(jiǎn)單也最是實(shí)用。電容選取30pF,晶振為30MHz。</p><p><b> 4.總結(jié)</b></p><p> 通過(guò)這次課程設(shè)計(jì),使我得到了一次用專業(yè)知識(shí)、專業(yè)技能分析和解決問題全面系統(tǒng)的鍛煉。使我在單片機(jī)的基本原理、單片機(jī)應(yīng)用系統(tǒng)開發(fā)過(guò)程,以
51、及在常用編程設(shè)計(jì)思路技巧(特別是匯編語(yǔ)言)的掌握方面都能向前邁了一大步。本次課程設(shè)計(jì)的過(guò)程是艱辛的,不過(guò)收獲卻是很大的。</p><p> 在設(shè)計(jì)過(guò)程中,會(huì)出現(xiàn)了一些問題,但經(jīng)過(guò)思考都一一解決了,如:首先是對(duì)于題目的審視,全部由數(shù)碼管顯示,并且有左右轉(zhuǎn),首先是確定是單方向的控制。再者是顯示的規(guī)則與順序,我們之間也進(jìn)行了相當(dāng)時(shí)間的討論,也一起去十字路口看過(guò)相關(guān)的顯示,但是單個(gè)數(shù)碼管顯示是有限的,所以最終定了一個(gè)比
52、較合理的方案,實(shí)現(xiàn)路口的正常交通,不產(chǎn)生交通事故。還有代碼的編寫,首先確定代碼需要的中斷,順序,結(jié)構(gòu),還是與前面實(shí)驗(yàn)的有相關(guān)的聯(lián)系,借鑒相關(guān)程序進(jìn)行了比較。狀態(tài)顯示并且是時(shí)間變化的現(xiàn)實(shí),不同步,使用一個(gè)定時(shí)器,是比較困難的。所以采用了,不同段,不同賦值的方法,實(shí)現(xiàn)現(xiàn)實(shí)的連續(xù)。通信的程序,因?yàn)闆]有硬件與上位機(jī)連接,所以一直沒法調(diào)試,小組的幾個(gè)人也都討論了相關(guān)的程序。每個(gè)人都寫了一段,但是相關(guān)協(xié)議必須是與上位機(jī)相同的,所以,最后才把通信程序
53、寫好,與上位機(jī)連接后還是沒有實(shí)現(xiàn),跳不出通信程序。最后發(fā)現(xiàn)通信程序,串行中斷進(jìn)入之后最后沒有中斷返回,而是內(nèi)部跳轉(zhuǎn),經(jīng)組內(nèi)成員檢查發(fā)現(xiàn)并及時(shí)改正。經(jīng)過(guò)調(diào)試修改都一一解決,程序順利完成,并實(shí)現(xiàn)了其功能。</p><p> 由于單片機(jī)板有限,實(shí)驗(yàn)調(diào)試時(shí)拷進(jìn)程序?qū)崿F(xiàn)了紅綠燈的顯示正常。進(jìn)行復(fù)位等的操作。之前沒注意,在試驗(yàn)箱的晶振是6M的,之后單片機(jī)是12M的,所以時(shí)間是有些不同,之后改的雙倍的。</p>
54、<p> 綜合課程設(shè)計(jì)讓我把以前學(xué)習(xí)到的知識(shí)得到鞏固和進(jìn)一步的提高認(rèn)識(shí),對(duì)已有知識(shí)有了更進(jìn)一步的理解和認(rèn)識(shí)。在此,由于自身能力有限,在課程設(shè)計(jì)中碰到了很多的問題,我通過(guò)查閱相關(guān)書籍、資料以及和周圍同學(xué)交流。</p><p> 當(dāng)然,通過(guò)這次課程設(shè)計(jì),我也發(fā)現(xiàn)了自身的很多不足之處,在以后的學(xué)習(xí)中,我會(huì)不斷的完善自我。</p><p><b> 參考文獻(xiàn)</b
55、></p><p> [1].李朝青.單片機(jī)原理及接口技術(shù)(第3版).2005年10月</p><p> [2].蔡朝洋.單片機(jī)控制實(shí)習(xí)與專題制作</p><p> [3].樓然苗.單片機(jī)課程設(shè)計(jì)指導(dǎo)</p><p> [4].趙廣林.電路設(shè)計(jì)與制版</p><p><b> 附錄</b
56、></p><p><b> 附錄1:程序清單</b></p><p> ORG 000H ;主程序</p><p><b> AJMP MAIN</b></p><p> ORG 0003H ;外中斷</p><p> LJ
57、MP INT0 </p><p> ORG 000BH ;時(shí)間中斷</p><p><b> LJMP T0</b></p><p> ORG 0023H ;串口中斷</p><p><b> LJMP TX</b></p>
58、<p> LEDMAP: DB 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h</p><p> DB 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h</p><p><b> ; 八段管顯示碼</b></p><p><b> ORG 00
59、60H</b></p><p> MAIN:MOV TMOD,#21H ;T1方式1,T0方式0</p><p> MOV SCON,#0F0H ;串口允許接收</p><p> MOV TH1,#0FAH</p><p> MOV TL1,#0FAH ;自動(dòng)重裝載</p><p><
60、b> SETB TR1</b></p><p> MOV PCON,#00H ;波特率不變化</p><p> MOV IE,#90H ;開中斷允許</p><p> MOV TH0,#3CH ;定時(shí)1S</p><p> MOV TL0,#0B0H</p><p> M
61、OV R0,#0AH ;循環(huán)十次</p><p> MOV R5,#02H ;設(shè)置初值</p><p> MOV R6,#02H</p><p> SETB EX0 ;T0設(shè)置</p><p><b> SETB IT0</b></p><p> SET
62、B ET0 </p><p> INT0:JNB TR0,BB ;判斷是否開中斷</p><p> CLR TR0 ;關(guān)閉中斷</p><p> MOV R1,#00H</p><p> MOV R2,#00H</p><p> MOV R3,#00H</p>
63、<p> MOV 40H,#00H</p><p> MOV 41H,#00H</p><p> MOV 42H,#00H</p><p> LCALL XS </p><p><b> JMP MAIN</b></p><p> BB: MOV R1,#05H
64、 ;BB是顯示,其中先賦值,嵌套了時(shí)間中斷,調(diào)用時(shí)間中斷。</p><p> MOV R2,#05H</p><p> MOV R3,#09H ;下邊的都是相同的,時(shí)間的不同是用最短時(shí)間,然后重復(fù)賦值,實(shí)現(xiàn)的</p><p> MOV 40H,#76H</p><p> MOV 41H,#38H ;BB.
65、MM.NN.FF.OO.ZZ.XX都是顯示程序,直接賦值調(diào)用時(shí)間程序,R1.R2.R3.在程序里一秒減一。</p><p> MOV 42H,#38H ;并且調(diào)用XS(顯示),顯示即為數(shù)碼管顯示程序</p><p><b> LCALL T0</b></p><p> MM:LCALL XS</p><p&
66、gt; CJNE R1,#00H,MM</p><p> MOV R1,#03H</p><p> MOV R2,#03H</p><p> MOV R3,#04H</p><p> MOV 40H,#38H</p><p> MOV 41H,#3EH</p><p> MOV 4
67、2H,#38H</p><p><b> LCALL T0</b></p><p> NN:LCALL XS</p><p> CJNE R1,#00H,NN</p><p> MOV R1,#04H</p><p> MOV R2,#08H</p><p>
68、MOV R3,#01H</p><p> MOV 40H,#3EH</p><p> MOV 41H,#76H</p><p> MOV 42H,#38H </p><p><b> LCALL T0</b></p><p> FF:LCALL XS</p>&l
69、t;p> CJNE R3,#00H,FF</p><p> MOV R1,#03H</p><p> MOV R2,#07H</p><p> MOV R3,#05H</p><p> MOV 40H,#3EH</p><p> MOV 41H,#76H</p><p> M
70、OV 42H,#76H</p><p><b> LCALL T0</b></p><p> OO:LCALL XS</p><p> CJNE R1,#00H,OO</p><p> MOV R1,#04H</p><p> MOV R2,#04H</p><p&g
71、t; MOV R3,#02H</p><p> MOV 40H,#76H</p><p> MOV 41H,#76H</p><p> MOV 42H,#76H</p><p><b> LCALL T0</b></p><p> ZZ:LCALL XS</p><
72、p> CJNE R3,#00H,ZZ</p><p> MOV R1,#02H</p><p> MOV R2,#02H</p><p> MOV R3,#02H</p><p> MOV 40H,#76H</p><p> MOV 41H,#76H</p><p> MOV
73、 42H,#38H</p><p><b> LCALL T0</b></p><p> XX:LCALL XS</p><p> CJNE R3,#00H,XX</p><p><b> LJMP INT0</b></p><p> T0:SETB TR0
74、 ;時(shí)間T0中斷,R1.R2.R3.運(yùn)行一次減一</p><p> MOV TH0,#3CH</p><p> MOV TL0,#0B0H</p><p> DJNZ R0,YY</p><p> MOV R0,#0AH </p><p><b> DEC R2</b>
75、</p><p><b> DEC R3</b></p><p><b> DEC R1</b></p><p><b> YY:RETI</b></p><p> XS:MOV A,R1 ;顯示,數(shù)碼管的顯示,首先是十進(jìn)制轉(zhuǎn)換</p>&
76、lt;p> MOV B,#10 ;將R1.R2.R3轉(zhuǎn)化成十進(jìn)制</p><p><b> DIV AB</b></p><p><b> MOV 30H,B</b></p><p><b> MOV A,R2</b></p><p><b>
77、; MOV B,#10</b></p><p><b> DIV AB</b></p><p><b> MOV 31H,B</b></p><p><b> MOV A,R3</b></p><p><b> MOV B,#10</b&g
78、t;</p><p><b> DIV AB</b></p><p><b> MOV 32H,B</b></p><p> MOV A,R3 ;數(shù)碼管的顯示</p><p> MOV DPTR,#LEDMAP</p><p> MOVC A,@
79、A+DPTR</p><p><b> PUSH A </b></p><p> MOV DPTR,#8002H</p><p><b> MOV A,#1H</b></p><p> MOVX @DPTR,A</p><p><b> POP A<
80、/b></p><p> MOV DPTR,#8004H</p><p> MOVX @DPTR,A</p><p> CALL DELAY</p><p> MOV DPTR,#8002H</p><p><b> MOV A,#2H</b></p><p&g
81、t; MOVX @DPTR,A</p><p><b> MOV A,42H</b></p><p> MOV DPTR,#8004H</p><p> MOVX @DPTR,A</p><p> CALL DELAY</p><p><b> MOV A,R2</b&
82、gt;</p><p> MOV DPTR,#LEDMAP</p><p> MOVC A,@A+DPTR</p><p><b> PUSH A</b></p><p> MOV DPTR,#8002H</p><p><b> MOV A,#4H</b><
83、/p><p> MOVX @DPTR,A</p><p><b> POP A</b></p><p> MOV DPTR,#8004H</p><p> MOVX @DPTR,A</p><p> CALL DELAY</p><p> MOV DPTR,#800
84、2H</p><p><b> MOV A,#8H</b></p><p> MOVX @DPTR,A</p><p><b> MOV A,41H</b></p><p> MOV DPTR,#8004H</p><p> MOVX @DPTR,A</p&g
85、t;<p> CALL DELAY</p><p><b> MOV A,R1</b></p><p> MOV DPTR,#LEDMAP</p><p> MOVC A,@A+DPTR</p><p><b> PUSH A</b></p><p>
86、 MOV DPTR,#8002H</p><p> MOV A,#10H</p><p> MOVX @DPTR,A</p><p><b> POP A</b></p><p> MOV DPTR,#8004H</p><p> MOVX @DPTR,A</p><
87、;p> CALL DELAY</p><p> MOV DPTR,#8002H</p><p> MOV A,#20H</p><p> MOVX @DPTR,A</p><p><b> MOV A,40H</b></p><p> MOV DPTR,#8004H</p&
88、gt;<p> MOVX @DPTR,A</p><p> CALL DELAY</p><p><b> RET</b></p><p> TX:JNB RI,$ ;通訊,多機(jī)通訊程序,判斷是否接到的是0A,若是0A那么返回0A。接通</p><p> CLR RI
89、 ;接收到0AA.開始傳送狀態(tài),左轉(zhuǎn)直行,右轉(zhuǎn)狀態(tài)</p><p> MOV A,SBUF</p><p> CJNE A,#0AH,HH</p><p><b> CLR SM2</b></p><p><b> JMP II</b></p>
90、<p> HH:SETB SM2</p><p> II:CJNE A,#0AAH,XX0</p><p><b> JMP YY0</b></p><p> XX0:CJNE A,#55H,ZZ0</p><p><b> RETI</b></p><p&g
91、t; ZZ0:MOV A,#0AH</p><p> MOV SBUF,A</p><p><b> JNB TI,$</b></p><p><b> CLR TI</b></p><p> RETI ;判斷</p><p> YY0:MOV A,4
92、1H</p><p> CJNE A,76H,HL</p><p> MOV A,#110</p><p><b> ADD A,31H</b></p><p> MOV SBUF,A</p><p><b> JNB TI,$</b></p><
93、;p><b> CLR TI</b></p><p> EXD:MOV A,40H</p><p> CJNE A,76H,EHL</p><p> MOV A,#110</p><p><b> ADD A,30H</b></p><p> MOV SBU
94、F,A</p><p><b> JNB TI,$</b></p><p><b> CLR TI</b></p><p> MOV A,#120</p><p><b> ADD A,32H</b></p><p> MOV SBUF,A&l
95、t;/p><p><b> JNB TI,$</b></p><p><b> CLR TI</b></p><p><b> RETI </b></p><p> EHL:CJNE A,38H,EHH</p><p> MOV A,#120<
96、;/p><p><b> ADD A,30H</b></p><p> MOV SBUF,A</p><p><b> JNB TI,$</b></p><p><b> CLR TI</b></p><p> MOV A,#120</p&g
97、t;<p><b> ADD A,32H</b></p><p> MOV SBUF,A</p><p><b> JNB TI,$</b></p><p><b> CLR TI</b></p><p><b> RETI </b>
98、;</p><p> EHH:MOV A,#130</p><p><b> ADD A,30H</b></p><p> MOV SBUF,A</p><p><b> JNB TI,$</b></p><p><b> CLR TI</b>
99、</p><p> MOV A,#120</p><p><b> ADD A,32H</b></p><p> MOV SBUF,A</p><p><b> JNB TI,$</b></p><p><b> CLR TI </b><
100、/p><p><b> RETI </b></p><p> HL:CJNE A,38H,HH0</p><p> MOV A,#120</p><p><b> ADD A,31H</b></p><p> MOV SBUF,A</p><p>
101、;<b> JNB TI,$</b></p><p><b> CLR TI</b></p><p> EEXD:MOV A,40H</p><p> CJNE A,76H,EEHL</p><p> MOV A,#110</p><p><b> AD
102、D A,30H</b></p><p> MOV SBUF,A</p><p><b> JNB TI,$</b></p><p><b> CLR TI</b></p><p> MOV A,#120</p><p><b> ADD A,3
103、2H</b></p><p> MOV SBUF,A</p><p><b> JNB TI,$</b></p><p><b> CLR TI</b></p><p><b> RETI </b></p><p> EEHL:CJ
104、NE A,38H,EEHH</p><p> MOV A,#120</p><p><b> ADD A,30H</b></p><p> MOV SBUF,A</p><p><b> JNB TI,$</b></p><p><b> CLR TI&l
105、t;/b></p><p> MOV A,#120</p><p><b> ADD A,32H</b></p><p> MOV SBUF,A</p><p><b> JNB TI,$</b></p><p><b> CLR TI</b&
106、gt;</p><p><b> RETI </b></p><p> EEHH:MOV A,#130</p><p><b> ADD A,30H</b></p><p> MOV SBUF,A</p><p><b> JNB TI,$</b&g
107、t;</p><p><b> CLR TI</b></p><p> MOV A,#120</p><p><b> ADD A,32H</b></p><p> MOV SBUF,A</p><p><b> JNB TI,$</b><
108、;/p><p><b> CLR TI</b></p><p><b> RETI </b></p><p> HH0:MOV A,#130</p><p><b> ADD A,31H</b></p><p> MOV SBUF,A</p&
109、gt;<p><b> JNB TI,$</b></p><p><b> CLR TI</b></p><p> EEEXD:MOV A,40H</p><p> CJNE A,76H,EEEHL</p><p> MOV A,#110</p><p&g
110、t;<b> ADD A,30H</b></p><p> MOV SBUF,A</p><p><b> JNB TI,$</b></p><p><b> CLR TI</b></p><p> MOV A,#120</p><p><
111、;b> ADD A,32H</b></p><p> MOV SBUF,A</p><p><b> JNB TI,$</b></p><p><b> CLR TI</b></p><p><b> RETI </b></p>&l
112、t;p> EEEHL:CJNE A,38H,EEEHH</p><p> MOV A,#120</p><p><b> ADD A,30H</b></p><p> MOV SBUF,A</p><p><b> JNB TI,$</b></p><p>&
113、lt;b> CLR TI</b></p><p> MOV A,#120</p><p><b> ADD A,32H</b></p><p> MOV SBUF,A</p><p><b> JNB TI,$</b></p><p><b&
114、gt; CLR TI</b></p><p><b> RETI </b></p><p> EEEHH:MOV A,#130</p><p><b> ADD A,30H</b></p><p> MOV SBUF,A</p><p><b>
115、; JNB TI,$</b></p><p><b> CLR TI</b></p><p> MOV A,#120</p><p><b> ADD A,32H</b></p><p> MOV SBUF,A</p><p><b> JN
116、B TI,$</b></p><p><b> CLR TI</b></p><p><b> RETI </b></p><p> GG:RETI </p><p> DELAY:DJNZ R5,DELAY ;孤立的延時(shí)子程序 ,上邊的為通訊程序</p&g
117、t;<p> DJNZ R6,DELAY</p><p><b> MOV R5,#2</b></p><p><b> MOV R6,#2</b></p><p><b> RET</b></p><p><b> END</b>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)---交通燈
- 單片機(jī)交通燈課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-交通燈
- 單片機(jī)課程設(shè)計(jì)--交通燈
- 單片機(jī)課程設(shè)計(jì)(交通燈)
- 單片機(jī)交通燈課程設(shè)計(jì)
- 單片機(jī)交通燈課程設(shè)計(jì)
- 單片機(jī)交通燈課程設(shè)計(jì)
- 單片機(jī)交通燈課程設(shè)計(jì)
- 單片機(jī)交通燈課程設(shè)計(jì)--基于單片機(jī)的交通燈控制設(shè)計(jì)
- 交通燈單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的交通燈顯示系統(tǒng)
- 交通燈單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的交通燈顯示系統(tǒng)
- 單片機(jī)交通燈課程設(shè)計(jì)--基于單片機(jī)的交通燈系統(tǒng)的設(shè)計(jì)
- 單片機(jī)交通燈課程設(shè)計(jì)--基于單片機(jī)的交通燈系統(tǒng)的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告---交通燈
- 單片機(jī)交通燈課程設(shè)計(jì)報(bào)告
- 單片機(jī)課程設(shè)計(jì)--模擬交通燈
- 模擬交通燈單片機(jī)課程設(shè)計(jì)
- 交通燈單片機(jī)課程設(shè)計(jì)報(bào)告
- 單片機(jī)交通燈課程設(shè)計(jì) (2)
評(píng)論
0/150
提交評(píng)論