版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計說明書</b></p><p> 名稱 單片機原理及應(yīng)用課程設(shè)計 </p><p> 2012年9月17日至2011年9月28日共 2 周</p><p> 院 系 機電工程 </p><p> 班 級
2、 </p><p> 姓 名 </p><p> 系 主 任 </p><p> 教研室主任 </p><p> 指導(dǎo)教師 </p><p><b> 目錄</b></p><p
3、><b> 一 課題介紹3</b></p><p> 1.1 課題名稱3</p><p> 1.2 課題要求4</p><p> 1.3 課程設(shè)計要求4</p><p><b> 二 系統(tǒng)設(shè)計4</b></p><p> 2.1 系統(tǒng)總體
4、方案設(shè)計4</p><p> 2.2 系統(tǒng)的整體方案設(shè)計圖5</p><p> 2.3 系統(tǒng)硬件設(shè)計5</p><p> 2.4 系統(tǒng)軟件設(shè)計10</p><p><b> 三、系統(tǒng)仿真14</b></p><p> 3.1工具軟件簡介14</p>&
5、lt;p> 3.2系統(tǒng)仿真模型的建立16</p><p> 3.3 Keil和Proteus的聯(lián)合調(diào)試20</p><p> 3.4 系統(tǒng)仿真結(jié)果26</p><p><b> 附錄:31</b></p><p> 附錄1.匯編程序:31</p><p> 附錄2.
6、系統(tǒng)原理總圖34</p><p><b> 一 課題介紹</b></p><p><b> 1.1 課題名稱</b></p><p> 自動控制的交通指示燈</p><p><b> 1.2 課題要求</b></p><p> 本設(shè)計要求
7、用單片機設(shè)計一個自動控制交通燈系統(tǒng),十字路口兩個方向的交通指示燈控制,定時時間到后經(jīng)3秒黃燈后切換交通控制方向。該系統(tǒng)的具體功能如下:</p><p> 該控制系統(tǒng)能控制東、西、南、北四個路口的紅、黃、綠信號燈正常工作。</p><p> 當(dāng)東西方向準(zhǔn)行,南北方向禁行時,東西方向亮綠燈,南北方向亮紅燈。</p><p> 當(dāng)南北方向準(zhǔn)行,東西方向禁行時,南北方
8、向亮綠燈,東西方向亮紅燈。</p><p> 兩垂直方向的準(zhǔn)行時間均為30s。</p><p> 四個道口只用一組由十位和個位組成的數(shù)碼管顯示準(zhǔn)行(或禁行)的剩余時間。</p><p> 1.3 課程設(shè)計要求</p><p> ?。?)根據(jù)課題要求,確定設(shè)計方案;</p><p> ?。?)在Proteus軟件
9、中,繪制系統(tǒng)原理圖;</p><p> (3)在keil中編寫單片機程序,結(jié)合原理圖進(jìn)行系統(tǒng)調(diào)試;</p><p> ?。?)記錄系統(tǒng)運行結(jié)果,書寫課程設(shè)計報告。</p><p><b> 二 系統(tǒng)設(shè)計</b></p><p> 2.1 系統(tǒng)總體方案設(shè)計</p><p> 本系統(tǒng)擬采用
10、AT89C51單片機作為智能交通燈系統(tǒng)的控制核心。從設(shè)計所要完成的任務(wù)來看,單一路口顯示倒計時時間的數(shù)碼必須用兩位,對于七段數(shù)碼管,考慮到AT89C51單片機所能提供I/O接口的數(shù)量,倒計時顯示裝置中的數(shù)碼管在本系統(tǒng)中采用的是靜態(tài)顯示;十字路口共需4組紅綠燈,加上轉(zhuǎn)換黃燈,一共是12只燈,須用6個端口進(jìn)行控制,具體I/O接口分配為:P1.0~P1.2分別接?xùn)|西方向的紅、綠、黃共6盞信號燈,P1.3~P1.5分別接南北方向的紅、綠、黃共6
11、盞信號燈;AT89C51單片機的I/O口作為輸出時,具有較大的吸收電流能力,因此我們可以選用共陽極數(shù)碼管,這樣由單片機的I/O口就可以驅(qū)動,從而簡化硬件電路的設(shè)計;此外專門設(shè)計了監(jiān)控電路對控制系統(tǒng)進(jìn)行實時監(jiān)控,保證系統(tǒng)工作的穩(wěn)定性和持續(xù)性。</p><p> 2.2 系統(tǒng)的整體方案設(shè)計圖</p><p> 圖1 系統(tǒng)的整體方案設(shè)計圖</p><p> 2.
12、3 系統(tǒng)硬件設(shè)計</p><p><b> 2.3.1復(fù)位電路</b></p><p> 圖2上電自動復(fù)位電路</p><p> 為了確??刂葡到y(tǒng)能夠穩(wěn)定可靠的工作,復(fù)位電路是必不可少的一部分。它可以保證程序從指保證程序從指定處開始執(zhí)行,即從程序存儲器的0000H地址單元開始執(zhí)行程序。另外當(dāng)程序運行出錯或操作錯誤使系統(tǒng)處于死機狀態(tài)時需
13、復(fù)位以重新啟動。</p><p> 上電自動復(fù)位是通過外部復(fù)位電路的電容充電實現(xiàn)的。通電時,電容兩端相當(dāng)于短路,于是RST引腳上為高電平,然后電源通過電阻對電容進(jìn)行麅,RST端電壓慢慢降下來,降到一定程度時變?yōu)榈碗娖剑瑔纹瑱C正常工作。上電自動復(fù)位電路如圖4-1所示</p><p> 2.3.2 晶體振蕩電路</p><p><b> 圖3 晶體振
14、蕩電路</b></p><p> 單片機必須在時鐘的驅(qū)動下才能進(jìn)行工作。AT89C51單片機內(nèi)部具有一個時鐘振蕩電路,只需要外接振蕩器,即可為各部分提供時鐘信號。</p><p> 使用晶振電路時,只要在引腳XTAL1和XTAL2上外接定時反饋回路,振蕩器OSC就能自激振蕩,產(chǎn)生矩形時鐘脈沖序列。定時反饋回路常由石英晶振和微調(diào)電容組成,其中石英晶振的頻率是單片機的重要性能指
15、標(biāo)之一,時鐘頻率越高,單片機控制器的控制節(jié)拍就越快,運算速度也就越快。該電路是用12MHz的石英晶振和兩個30p的電容器。石英晶振的頻率選為典型值12MHz,這樣有得于得到?jīng)]有誤差的波特率。電容器C2和C3是起穩(wěn)定振蕩頻率、快速起振的作用。</p><p> 2.3.3 AT89S51單片機最小系統(tǒng)設(shè)計</p><p> 圖4 AT89S51單片機最小系統(tǒng)原理圖</p>
16、;<p> 2.3.4 交通燈電路的設(shè)計 </p><p> 圖5 交通燈電路圖</p><p> 單片機的I/O接口直接和交通燈(LED)連接。在十字路口的四組紅、黃、綠三色交通燈中,東西方向道路上的兩組同色燈連接在一起,南北方向道路上的兩組同色燈連接在一起,受單片機P1.0~P1.5控制。12個發(fā)光二極管采用了共陽極的連接方式,因此I/O口輸出低電平時,與之
17、相連的LED會亮,I/O口輸出高電平時,與之相連的LED會滅。交通燈電路如圖5所示。</p><p> 2.3.5 倒計時顯示裝置電路</p><p> 圖6 倒計時顯示電路圖</p><p> 該交通燈控制系統(tǒng)在正常工作情況下,每15s循環(huán)變換一次,為方便提示路上的行人及車輛交通燈轉(zhuǎn)換的剩余時間,專門為控制系統(tǒng)設(shè)計了一個倒計時顯示裝置。該顯示裝置選用七段
18、數(shù)碼管來顯示交通燈的剩余時間。本來根據(jù)控制要求,每個路口需要兩個數(shù)碼管,這樣四個路口就需要八個數(shù)碼管,但由于四組顯示的倒計時時間都是一樣所以只需使用一組數(shù)碼管即可。由于AT89C51單片機的I/O作為輸出時,具有較大的吸收電流能力,因此我們可以選用共陽型數(shù)碼管,這樣由單片機的I/O就可以直接驅(qū)動,從而簡化硬件電路的設(shè)計。而在電路中是用阻值為4.7k的排電路作為上位電路,限流電阻卻用阻值為200的電阻。如圖6所示。</p>
19、<p> 2.3.6 系統(tǒng)原理總圖</p><p><b> 圖7 系統(tǒng)原理總圖</b></p><p> 2.4 系統(tǒng)軟件設(shè)計</p><p> 2.4.1 主程序流程圖</p><p> 該智能交通燈控制系統(tǒng)的軟件設(shè)計采用的是順序執(zhí)行并反復(fù)循環(huán)的方法。智能交通燈控制系統(tǒng)在正常的情況下,每
20、15s循環(huán)變化一次。每個循環(huán)周期在還剩余5s時,四個路口的黃燈同時點亮并開始閃爍,以提醒行人及車輛,交通燈將發(fā)生轉(zhuǎn)換。要程序中定時掃描P3口,若有鍵按下,則調(diào)用鍵盤子程序進(jìn)行相應(yīng)也處理;若無,則程序繼續(xù)執(zhí)行。主程序流程圖如圖5-1所示。</p><p> 圖8 主程序流程圖</p><p> 2.4.2 主要代碼說明:</p><p><b>
21、 LP:</b></p><p> MOV 33H,#1EH ;設(shè)置倒計時顯示數(shù)值</p><p> MOV P1,#0F3H ;使交通燈東西綠,南北紅</p><p> MOV R7,#1BH ;紅燈顯示時間數(shù)值</p><p><b> LP1:</b></
22、p><p> LCALL DISP ;調(diào)用子程序</p><p> DJNZ R7,LP1 ;</p><p> MOV P1,#0E1H ;交通燈東西綠,南北紅同時加亮黃燈</p><p> MOV 20H,#02H ;黃燈顯示次數(shù)</p><p><b> LP2:&
23、lt;/b></p><p> LCALL DISP ;調(diào)用子程序</p><p> DJNZ 20H,LP2</p><p> MOV P1,#0DEH ;交通燈南北綠,東西紅</p><p> MOV R7,#1BH ;紅燈顯示時間數(shù)值</p><p><b>
24、; LP3:</b></p><p> LCALL DISP ;調(diào)用子程序</p><p> DJNZ R7,LP3</p><p> MOV P1,#0CCH ;交通燈南北綠,東西紅同時加亮黃燈</p><p> MOV 20H,#02H ;黃燈顯示次數(shù)</p><
25、p> 2.4.3 子程序</p><p><b> ?。貉訒r1秒子程序</b></p><p> DEL_1S: MOV R3,#4 ;延時1秒子程序</p><p> L3: MOV R2,#250</p><p> L2: MOV R1,#250</p><p><
26、b> L1: NOP</b></p><p><b> NOP</b></p><p> DJNZ R1,L1</p><p> DJNZ R2,L2</p><p> DJNZ R3,L3</p><p><b> RET</b></p&
27、gt;<p> ?。喊硕螖?shù)碼管倒計時子程序:</p><p><b> DISP:</b></p><p> DEC 33H ;減1操作</p><p><b> MOV A,33H</b></p><p> CJNE A,#01H,DIR1</p&g
28、t;<p> MOV 33H,#1EH</p><p><b> DIR1:</b></p><p> MOV B,#0AH</p><p> DIV AB ;提取出倒計時數(shù)值的十位和個位數(shù)</p><p> MOV DPTR,#TAB ;字形表的入口地址</
29、p><p> MOVC A,@A+DPTR ;查表獲取十位數(shù)的字型碼</p><p><b> MOV 30H,A</b></p><p><b> MOV A,B</b></p><p> MOVC A,@A+DPTR ;查表獲取個位數(shù)的字型碼</p><p
30、><b> MOV 31H,A</b></p><p><b> MOV A,30H</b></p><p> MOV P0,A ;將十位數(shù)字型碼送到P0口</p><p><b> MOV A,31H</b></p><p> MOV P
31、2,A ;將十位數(shù)字型碼送到P2口</p><p> LCALL DEL_1S</p><p><b> RET</b></p><p><b> TAB:</b></p><p> DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H
32、,080H,090H</p><p><b> END</b></p><p><b> 三、系統(tǒng)仿真</b></p><p><b> 3.1工具軟件簡介</b></p><p> 3.1.1 Proteus簡介</p><p> Pro
33、teus ISIS是英國Labcenter公司開發(fā)的電路分析與實物仿真軟件。它運行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點是:①實現(xiàn)了單片機仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS232動態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。②支持主流單片機系統(tǒng)
34、的仿真。目前支持的單片機類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。③提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點等調(diào)試功能,同時可以觀察各個變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調(diào)試環(huán)境。④具有強大的原理圖繪制功能??傊撥浖且豢罴瘑纹瑱C和SPICE分析于一身的仿真
35、軟件,功能極其強大。</p><p> 3.1.2 Keil簡介</p><p> 隨著單片機開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā)MCS-51系列單片機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的
36、完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。運行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對于使用51系列單片機的愛好者來說是十分必要的,如果你使用C語言編程,那么Keil幾乎就是你的不二之選(目前在國內(nèi)你只能買到該軟件、而你買的仿真機也很可能只支持該軟件),即使不使用C語言而僅用匯
37、編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調(diào)試工具也會令你事半功倍。</p><p> 3.2系統(tǒng)仿真模型的建立</p><p> 3.2.1 將所需元器件加入到對象選擇器窗口</p><p> 單擊對象選擇器按鈕,彈出“Pick Devices”頁面,在“Keywords”輸入AT89C51,系統(tǒng)在對象庫中進(jìn)行搜索查找,并將搜索結(jié)果顯示在“Resu
38、lts”中。在“Results”欄中的列表項中,雙擊“AT89C51”,則可將“AT89C51”添加至對象選擇器窗口。同樣,可以添加7SEG-MPX1-CA,AUDIO1OU,CAP-ELEC,CRYSTAL,LED-GREEN,LED-RED,LED-YELLOW,RES,RX8等元器件對象。若單擊AT89C51,在預(yù)覽窗口中,見到AT89C51的實物圖,如圖:</p><p><b> 圖9 元
39、器件</b></p><p> 若單擊RES,在預(yù)覽窗口中,見到RES的實物圖。此時,我們已注意到在繪圖工具欄中的元器件按鈕處于選中狀態(tài)。</p><p> 3.2.2 放置元器件至圖形編輯窗口</p><p> 在對象選擇器窗口中,選中RES,將鼠標(biāo)置于圖形編輯窗口該對象的欲放位置、單擊鼠標(biāo)左鍵,該對象被完成放置。同理,將AT89C51等放置
40、到圖形編輯窗口中。</p><p> 若對象位置需要移動,將鼠標(biāo)移到該對象上,單擊鼠標(biāo)右鍵,此時我們已經(jīng)注意到,該對象的顏色已變至紅色,表明該對象已被選中,按下鼠標(biāo)左鍵,拖動鼠標(biāo),將對象移至新位置后,松開鼠標(biāo),完成移動操作。</p><p> 由于許多電阻的型號和電阻值均相同,因此可利用復(fù)制功能作圖。將鼠標(biāo)移到R1,單擊鼠標(biāo)右鍵,選中R1,在標(biāo)準(zhǔn)工具欄中,單擊復(fù)制按鈕,拖動鼠標(biāo),按下鼠
41、標(biāo)左鍵,將對象復(fù)制到新位置,如此反復(fù),直到按下鼠標(biāo)右鍵,結(jié)束復(fù)制。此時我們已經(jīng)注意到,電阻名的標(biāo)識,系統(tǒng)自動加以區(qū)分。</p><p> 3.2.3 放置總線至圖形編輯窗口</p><p> 單擊繪圖工具欄中的總線按鈕,使之處于選中狀態(tài)。將鼠標(biāo)置于圖形編輯窗口,單擊鼠標(biāo)左鍵,確定總線的起始位置;移動鼠標(biāo),屏幕出現(xiàn)粉紅色細(xì)直線,找到總線的終了位置,單擊鼠標(biāo)左鍵,再單擊鼠標(biāo)右鍵,以表示
42、確認(rèn)并結(jié)束畫總線操作。此后,粉紅色細(xì)直線被藍(lán)色的粗直線所替代。如圖</p><p> 圖10 元器件放置圖</p><p> 3.2.4 元器件之間的連線</p><p> Proteus的智能化可以在你想要畫線的時候進(jìn)行自動檢測。下面,我們來操作將電阻R13的右端連接到八段數(shù)碼管的a端。當(dāng)鼠標(biāo)的指針靠近R13右端的連接點時,跟著鼠標(biāo)的指針就會出現(xiàn)一個“
43、215;”號,表明找到了R13的連接點,單擊鼠標(biāo)左鍵,移動鼠標(biāo)(不用拖動鼠標(biāo)),將鼠標(biāo)的指針靠近八段數(shù)碼管的a端的連接點時,跟著鼠標(biāo)的指針就會出現(xiàn)一個“×”號,表明找到了八段數(shù)碼管的連接點,同時屏幕上出現(xiàn)了粉紅色的連接,單擊鼠標(biāo)左鍵,粉紅色的連接線變成了深綠色,同時,線形由直線自動變成了90º的折線,這是因為我們選中了線路自動路徑功能。</p><p> Proteus具有線路自動路徑功能(
44、簡稱WAR),當(dāng)選中兩個連接點后,WAR將選擇一個合適的路徑連線。WAR可通過使用標(biāo)準(zhǔn)工具欄里的“WAR”命令按鈕來關(guān)閉或打開,也可以在菜單欄的“Tools”下找到這個圖標(biāo)。</p><p> 同理,我們可以完成其它連線。在此過程的任何時刻,都可以按ESC鍵或者單擊鼠標(biāo)的右鍵來放棄畫線。</p><p> 3.2.5 元器件與總線的連線</p><p> 畫
45、總線的時候為了和一般的導(dǎo)線區(qū)分,我們一般喜歡畫斜線來表示分支線。此時我們需要自己決定走線路徑,只需在想要拐點處單擊鼠標(biāo)左鍵即可。連線如圖:</p><p> 圖11 元器件連線圖</p><p> 3.3 Keil和Proteus的聯(lián)合調(diào)試</p><p> 在Proteus繪制電路圖,在Keil uVision3對匯編語言程序進(jìn)行編譯調(diào)試,下面首先簡單地
46、說明Keil uVision3與Proteus相結(jié)合的仿真步驟:</p><p> 1、假若Keil uVision3與Proteus均已正確安裝在C:\Program Files的目錄里,把C:\Program Files\Labcenter Electronics\Proteus 6 Professional\MODELS\VDM51.dll復(fù)制到C:\Program Files\keilC\C51\BIN
47、目錄中。</p><p> 2、用記事本打開C:\Program Files\keilC\C51\TOOLS.INI文件,在[C51]欄目下加入:TDRV5=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver")。其中“TDRV5”中的“5”要根據(jù)實際情況寫,不要和原來的重復(fù)(步驟1和2只需在初次使用設(shè)置)。</p><p>
48、 3、進(jìn)入Keil uVision3開發(fā)集成環(huán)境,創(chuàng)建一個新項目(Project),并為該項目選定合適的單片機CPU器件(如:Atmel公司的AT89C51),并為該項目加入Keil uVision3源程序。如圖</p><p> 圖12 Keil uVision3新建文件圖</p><p> 圖13 Keil uVision3選擇CPU圖</p><p>
49、 圖14 Keil uVision3選擇CPU圖</p><p> 點擊確定→然后點擊按鍵寫入程序點擊保存,鍵入**.asm,</p><p> 圖15 寫入?yún)R編語言程序圖</p><p> 4.然后用右鍵點擊左邊的“Source Group 1”,在跳出的菜單中選中“Add Files to Group‘Source Group 1’”。</p&
50、gt;<p> 圖16 添加文件圖</p><p> 5、單擊“Project菜單/Options for Target”選項或者點擊工具欄的“option for ta rget”按鈕,彈出窗口,點擊“Debug”按鈕。在出現(xiàn)的對話框里在右欄上部的下拉菜單里選中“Proteus VSM Monitor一51 Driver”。并且還要點擊一下“Use”前面表明選中的小圓點。再點擊“Settin
51、g”按鈕,設(shè)置通信接口,在“Host”后面添上“127.0.0.1”,如果使用的不是同一臺電腦,則需要在這里添上另一臺電腦的IP地址(另一臺電腦也應(yīng)安裝Proteus)。在“Port”后面添加“8000”。設(shè)置好后,點擊“OK”按鈕即可。最后將工程編譯,進(jìn)入調(diào)試狀態(tài),并運行。</p><p> 圖17 生成HEX文件圖</p><p> 圖18 Use Proteus VSM Mo
52、nitor一51 Driver圖</p><p> 圖19 Setting Proteus VSM Monitor一51 Driver圖</p><p> 6、Proteus的設(shè)置</p><p> 進(jìn)入Proteus的ISIS,鼠標(biāo)左鍵點擊菜單“Debug”, 選中“use romote debuger monitor”。此后,便可實現(xiàn)Keil uVisi
53、on3與Proteus連接調(diào)試。</p><p> 3.4 系統(tǒng)仿真結(jié)果</p><p> 在proteus里開始仿真,雙擊AT89C51單片機跳出編輯元件對話框,在program file一項打開在Keil 中生成的XX.hex文件,點擊確定后,在點擊proteus主頁面的左下方運行開始仿真,本實例仿真結(jié)果如下:</p><p> 十字路口東西通行(東西綠
54、燈亮),南北禁行(南北紅燈亮)</p><p> 圖20 交通燈東西通行圖</p><p> 十字路口東西南北四個方向黃燈亮3秒,開始換指示燈控制方向(有東西通行,換成南北通行)</p><p> 圖21 交通燈東西轉(zhuǎn)南北向通行圖</p><p> 十字路口東西禁行(東西紅燈亮),南北通行(南北綠燈亮)</p>&l
55、t;p> 圖22 交通燈南北通行圖</p><p> 十字路口東西南北四個方向黃燈亮3秒,開始換指示燈控制方向(有東西通行,換成南北禁行)</p><p> 圖23 交通燈南北轉(zhuǎn)東西向通行圖</p><p><b> 附錄:</b></p><p><b> 附錄1.匯編程序:</b&g
56、t;</p><p><b> ORG 0000H</b></p><p> LJMP MAIN</p><p> ORG 0300H ;主程序入口</p><p><b> MAIN:</b></p><p> MOV SP,#60H</p>
57、<p> MOV TMOD,#10H ;定時器T1工作在方式1</p><p> MOV TH1,#9EH ;給定時器T1賦初值</p><p> MOV TL1,#58H</p><p> SETB EA ;開中斷系統(tǒng)總開關(guān)</p><p> SETB ET1 ;開定時
58、器T1中斷開關(guān)</p><p> SETB TR1 ;啟動定時器T1</p><p><b> LP:</b></p><p> MOV 33H,#1EH ;設(shè)置倒計時顯示數(shù)值</p><p> MOV P1,#0F3H ;使交通燈東西綠,南北紅</p><
59、;p> MOV R7,#1BH ;紅燈顯示時間數(shù)值</p><p><b> LP1:</b></p><p> LCALL DISP ;調(diào)用子程序</p><p> DJNZ R7,LP1 ;</p><p> MOV P1,#0E1H ;交通燈東西綠,南北紅同時加亮
60、黃燈</p><p> MOV 20H,#02H ;黃燈顯示次數(shù)</p><p><b> LP2:</b></p><p> LCALL DISP ;調(diào)用子程序</p><p> DJNZ 20H,LP2</p><p> MOV P1,#0DEH ;交通
61、燈南北綠,東西紅</p><p> MOV R7,#1BH ;紅燈顯示時間數(shù)值</p><p><b> LP3:</b></p><p> LCALL DISP ;調(diào)用子程序</p><p> DJNZ R7,LP3</p><p> MOV P1,#0CCH
62、 ;交通燈南北綠,東西紅同時加亮黃燈</p><p> MOV 20H,#02H ;黃燈顯示次數(shù)</p><p><b> LP4:</b></p><p> LCALL DISP</p><p> DJNZ 20H,LP4</p><p> LCALL LP5<
63、;/p><p><b> LP5:</b></p><p><b> SJMP LP</b></p><p><b> RET</b></p><p> DEL_1S: MOV R3,#4 ;延時1秒子程序</p><p> L3: MOV
64、R2,#250</p><p> L2: MOV R1,#250</p><p><b> L1: NOP</b></p><p><b> NOP</b></p><p> DJNZ R1,L1</p><p> DJNZ R2,L2</p><
65、;p> DJNZ R3,L3</p><p><b> RET</b></p><p><b> LP6:</b></p><p> MOV TH1,#9EH ;重新給定時器T1賦初值</p><p> MOV TL1,#58H</p><p>
66、<b> RETI</b></p><p><b> DISP:</b></p><p> DEC 33H ;減1操作</p><p><b> MOV A,33H</b></p><p> CJNE A,#01H,DIR1</p>
67、<p> MOV 33H,#1EH</p><p><b> DIR1:</b></p><p> MOV B,#0AH</p><p> DIV AB ;提取出倒計時數(shù)值的十位和個位數(shù)</p><p> MOV DPTR,#TAB ;字形表的入口地址</p>
68、;<p> MOVC A,@A+DPTR ;查表獲取十位數(shù)的字型碼</p><p><b> MOV 30H,A</b></p><p><b> MOV A,B</b></p><p> MOVC A,@A+DPTR ;查表獲取個位數(shù)的字型碼</p><p>
69、<b> MOV 31H,A</b></p><p><b> MOV A,30H</b></p><p> MOV P0,A ;將十位數(shù)字型碼送到P0口</p><p><b> MOV A,31H</b></p><p> MOV P2,A
70、 ;將十位數(shù)字型碼送到P2口</p><p> LCALL DEL_1S</p><p><b> RET</b></p><p><b> TAB:</b></p><p> DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 交通指示燈課程設(shè)計
- 交通指示燈課程設(shè)計
- 交通指示燈課程設(shè)計
- 課程設(shè)計---模擬交通指示燈的控制
- 交通指示燈課程設(shè)計2
- 數(shù)電課程設(shè)計---交通指示燈
- 課程設(shè)計--交通指示燈電路設(shè)計
- 電子技術(shù)課程設(shè)計-- 交通指示燈電路
- 交通指示燈電路設(shè)計-數(shù)字電子技術(shù)課程設(shè)計說明書
- 交通指示燈控制系統(tǒng)畢業(yè)論文
- 交通指示燈控制系統(tǒng)畢業(yè)論文
- 交通指示燈控制系統(tǒng)畢業(yè)論文
- 課程設(shè)計-安全指示燈控制電路設(shè)計
- 課程設(shè)計---汽車轉(zhuǎn)彎剎車指示燈控制電路
- 自動控制交通燈系統(tǒng)課程設(shè)計報告
- 自動控制交通燈系統(tǒng)課程設(shè)計報告
- 自動控制交通燈系統(tǒng)課程設(shè)計報告.doc
- 數(shù)邏課程設(shè)計--病房呼叫指示燈電路的設(shè)計
- 溫度自動控制指示電路電子課程設(shè)計
- 指示燈.dwg
評論
0/150
提交評論