自動(dòng)控制的交通指示燈課程設(shè)計(jì)說明_第1頁
已閱讀1頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  課程設(shè)計(jì)說明書</b></p><p>  名稱 單片機(jī)原理及應(yīng)用課程設(shè)計(jì) </p><p>  2012年9月17日至2011年9月28日共 2 周</p><p>  院  系 機(jī)電工程 </p><p>  班 級(jí)

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è)計(jì)要求4</p><p><b>  二 系統(tǒng)設(shè)計(jì)4</b></p><p>  2.1 系統(tǒng)總體

4、方案設(shè)計(jì)4</p><p>  2.2 系統(tǒng)的整體方案設(shè)計(jì)圖5</p><p>  2.3 系統(tǒng)硬件設(shè)計(jì)5</p><p>  2.4 系統(tǒng)軟件設(shè)計(jì)10</p><p><b>  三、系統(tǒng)仿真14</b></p><p>  3.1工具軟件簡(jiǎn)介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>  自動(dòng)控制的交通指示燈</p><p><b>  1.2 課題要求</b></p><p>  本設(shè)計(jì)要求

7、用單片機(jī)設(shè)計(jì)一個(gè)自動(dòng)控制交通燈系統(tǒng),十字路口兩個(gè)方向的交通指示燈控制,定時(shí)時(shí)間到后經(jīng)3秒黃燈后切換交通控制方向。該系統(tǒng)的具體功能如下:</p><p>  該控制系統(tǒng)能控制東、西、南、北四個(gè)路口的紅、黃、綠信號(hào)燈正常工作。</p><p>  當(dāng)東西方向準(zhǔn)行,南北方向禁行時(shí),東西方向亮綠燈,南北方向亮紅燈。</p><p>  當(dāng)南北方向準(zhǔn)行,東西方向禁行時(shí),南北方

8、向亮綠燈,東西方向亮紅燈。</p><p>  兩垂直方向的準(zhǔn)行時(shí)間均為30s。</p><p>  四個(gè)道口只用一組由十位和個(gè)位組成的數(shù)碼管顯示準(zhǔn)行(或禁行)的剩余時(shí)間。</p><p>  1.3 課程設(shè)計(jì)要求</p><p> ?。?)根據(jù)課題要求,確定設(shè)計(jì)方案;</p><p> ?。?)在Proteus軟件

9、中,繪制系統(tǒng)原理圖;</p><p>  (3)在keil中編寫單片機(jī)程序,結(jié)合原理圖進(jìn)行系統(tǒng)調(diào)試;</p><p> ?。?)記錄系統(tǒng)運(yùn)行結(jié)果,書寫課程設(shè)計(jì)報(bào)告。</p><p><b>  二 系統(tǒng)設(shè)計(jì)</b></p><p>  2.1 系統(tǒng)總體方案設(shè)計(jì)</p><p>  本系統(tǒng)擬采用

10、AT89C51單片機(jī)作為智能交通燈系統(tǒng)的控制核心。從設(shè)計(jì)所要完成的任務(wù)來看,單一路口顯示倒計(jì)時(shí)時(shí)間的數(shù)碼必須用兩位,對(duì)于七段數(shù)碼管,考慮到AT89C51單片機(jī)所能提供I/O接口的數(shù)量,倒計(jì)時(shí)顯示裝置中的數(shù)碼管在本系統(tǒng)中采用的是靜態(tài)顯示;十字路口共需4組紅綠燈,加上轉(zhuǎn)換黃燈,一共是12只燈,須用6個(gè)端口進(jìn)行控制,具體I/O接口分配為:P1.0~P1.2分別接?xùn)|西方向的紅、綠、黃共6盞信號(hào)燈,P1.3~P1.5分別接南北方向的紅、綠、黃共6

11、盞信號(hào)燈;AT89C51單片機(jī)的I/O口作為輸出時(shí),具有較大的吸收電流能力,因此我們可以選用共陽極數(shù)碼管,這樣由單片機(jī)的I/O口就可以驅(qū)動(dòng),從而簡(jiǎn)化硬件電路的設(shè)計(jì);此外專門設(shè)計(jì)了監(jiān)控電路對(duì)控制系統(tǒng)進(jìn)行實(shí)時(shí)監(jiān)控,保證系統(tǒng)工作的穩(wěn)定性和持續(xù)性。</p><p>  2.2 系統(tǒng)的整體方案設(shè)計(jì)圖</p><p>  圖1 系統(tǒng)的整體方案設(shè)計(jì)圖</p><p>  2.

12、3 系統(tǒng)硬件設(shè)計(jì)</p><p><b>  2.3.1復(fù)位電路</b></p><p>  圖2上電自動(dòng)復(fù)位電路</p><p>  為了確??刂葡到y(tǒng)能夠穩(wěn)定可靠的工作,復(fù)位電路是必不可少的一部分。它可以保證程序從指保證程序從指定處開始執(zhí)行,即從程序存儲(chǔ)器的0000H地址單元開始執(zhí)行程序。另外當(dāng)程序運(yùn)行出錯(cuò)或操作錯(cuò)誤使系統(tǒng)處于死機(jī)狀態(tài)時(shí)需

13、復(fù)位以重新啟動(dòng)。</p><p>  上電自動(dòng)復(fù)位是通過外部復(fù)位電路的電容充電實(shí)現(xiàn)的。通電時(shí),電容兩端相當(dāng)于短路,于是RST引腳上為高電平,然后電源通過電阻對(duì)電容進(jìn)行麅,RST端電壓慢慢降下來,降到一定程度時(shí)變?yōu)榈碗娖?,單片機(jī)正常工作。上電自動(dòng)復(fù)位電路如圖4-1所示</p><p>  2.3.2 晶體振蕩電路</p><p><b>  圖3 晶體振

14、蕩電路</b></p><p>  單片機(jī)必須在時(shí)鐘的驅(qū)動(dòng)下才能進(jìn)行工作。AT89C51單片機(jī)內(nèi)部具有一個(gè)時(shí)鐘振蕩電路,只需要外接振蕩器,即可為各部分提供時(shí)鐘信號(hào)。</p><p>  使用晶振電路時(shí),只要在引腳XTAL1和XTAL2上外接定時(shí)反饋回路,振蕩器OSC就能自激振蕩,產(chǎn)生矩形時(shí)鐘脈沖序列。定時(shí)反饋回路常由石英晶振和微調(diào)電容組成,其中石英晶振的頻率是單片機(jī)的重要性能指

15、標(biāo)之一,時(shí)鐘頻率越高,單片機(jī)控制器的控制節(jié)拍就越快,運(yùn)算速度也就越快。該電路是用12MHz的石英晶振和兩個(gè)30p的電容器。石英晶振的頻率選為典型值12MHz,這樣有得于得到?jīng)]有誤差的波特率。電容器C2和C3是起穩(wěn)定振蕩頻率、快速起振的作用。</p><p>  2.3.3 AT89S51單片機(jī)最小系統(tǒng)設(shè)計(jì)</p><p>  圖4 AT89S51單片機(jī)最小系統(tǒng)原理圖</p>

16、;<p>  2.3.4 交通燈電路的設(shè)計(jì) </p><p>  圖5 交通燈電路圖</p><p>  單片機(jī)的I/O接口直接和交通燈(LED)連接。在十字路口的四組紅、黃、綠三色交通燈中,東西方向道路上的兩組同色燈連接在一起,南北方向道路上的兩組同色燈連接在一起,受單片機(jī)P1.0~P1.5控制。12個(gè)發(fā)光二極管采用了共陽極的連接方式,因此I/O口輸出低電平時(shí),與之

17、相連的LED會(huì)亮,I/O口輸出高電平時(shí),與之相連的LED會(huì)滅。交通燈電路如圖5所示。</p><p>  2.3.5 倒計(jì)時(shí)顯示裝置電路</p><p>  圖6 倒計(jì)時(shí)顯示電路圖</p><p>  該交通燈控制系統(tǒng)在正常工作情況下,每15s循環(huán)變換一次,為方便提示路上的行人及車輛交通燈轉(zhuǎn)換的剩余時(shí)間,專門為控制系統(tǒng)設(shè)計(jì)了一個(gè)倒計(jì)時(shí)顯示裝置。該顯示裝置選用七段

18、數(shù)碼管來顯示交通燈的剩余時(shí)間。本來根據(jù)控制要求,每個(gè)路口需要兩個(gè)數(shù)碼管,這樣四個(gè)路口就需要八個(gè)數(shù)碼管,但由于四組顯示的倒計(jì)時(shí)時(shí)間都是一樣所以只需使用一組數(shù)碼管即可。由于AT89C51單片機(jī)的I/O作為輸出時(shí),具有較大的吸收電流能力,因此我們可以選用共陽型數(shù)碼管,這樣由單片機(jī)的I/O就可以直接驅(qū)動(dòng),從而簡(jiǎn)化硬件電路的設(shè)計(jì)。而在電路中是用阻值為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è)計(jì)</p><p>  2.4.1 主程序流程圖</p><p>  該智能交通燈控制系統(tǒng)的軟件設(shè)計(jì)采用的是順序執(zhí)行并反復(fù)循環(huán)的方法。智能交通燈控制系統(tǒng)在正常的情況下,每

20、15s循環(huán)變化一次。每個(gè)循環(huán)周期在還剩余5s時(shí),四個(gè)路口的黃燈同時(shí)點(diǎn)亮并開始閃爍,以提醒行人及車輛,交通燈將發(fā)生轉(zhuǎn)換。要程序中定時(shí)掃描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è)置倒計(jì)時(shí)顯示數(shù)值</p><p>  MOV P1,#0F3H ;使交通燈東西綠,南北紅</p><p>  MOV R7,#1BH ;紅燈顯示時(shí)間數(shù)值</p><p><b>  LP1:</b></

22、p><p>  LCALL DISP ;調(diào)用子程序</p><p>  DJNZ R7,LP1 ;</p><p>  MOV P1,#0E1H ;交通燈東西綠,南北紅同時(shí)加亮黃燈</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í)間數(shù)值</p><p><b>

24、;  LP3:</b></p><p>  LCALL DISP ;調(diào)用子程序</p><p>  DJNZ R7,LP3</p><p>  MOV P1,#0CCH ;交通燈南北綠,東西紅同時(shí)加亮黃燈</p><p>  MOV 20H,#02H ;黃燈顯示次數(shù)</p><

25、p>  2.4.3 子程序</p><p><b> ?。貉訒r(shí)1秒子程序</b></p><p>  DEL_1S: MOV R3,#4 ;延時(shí)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ù)碼管倒計(jì)時(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 ;提取出倒計(jì)時(shí)數(shù)值的十位和個(gè)位數(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 ;查表獲取個(gè)位數(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工具軟件簡(jiǎn)介</b></p><p>  3.1.1 Proteus簡(jiǎn)介</p><p>  Pro

33、teus ISIS是英國Labcenter公司開發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點(diǎn)是:①實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動(dòng)態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。②支持主流單片機(jī)系統(tǒng)

34、的仿真。目前支持的單片機(jī)類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。③提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境。④具有強(qiáng)大的原理圖繪制功能。總之,該軟件是一款集單片機(jī)和SPICE分析于一身的仿真

35、軟件,功能極其強(qiáng)大。</p><p>  3.1.2 Keil簡(jiǎn)介</p><p>  隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級(jí)語言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā)MCS-51系列單片機(jī)的軟件,這從近年來各仿真機(jī)廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的

36、完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。運(yùn)行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對(duì)于使用51系列單片機(jī)的愛好者來說是十分必要的,如果你使用C語言編程,那么Keil幾乎就是你的不二之選(目前在國內(nèi)你只能買到該軟件、而你買的仿真機(jī)也很可能只支持該軟件),即使不使用C語言而僅用匯

37、編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。</p><p>  3.2系統(tǒng)仿真模型的建立</p><p>  3.2.1 將所需元器件加入到對(duì)象選擇器窗口</p><p>  單擊對(duì)象選擇器按鈕,彈出“Pick Devices”頁面,在“Keywords”輸入AT89C51,系統(tǒng)在對(duì)象庫中進(jìn)行搜索查找,并將搜索結(jié)果顯示在“Resu

38、lts”中。在“Results”欄中的列表項(xiàng)中,雙擊“AT89C51”,則可將“AT89C51”添加至對(duì)象選擇器窗口。同樣,可以添加7SEG-MPX1-CA,AUDIO1OU,CAP-ELEC,CRYSTAL,LED-GREEN,LED-RED,LED-YELLOW,RES,RX8等元器件對(duì)象。若單擊AT89C51,在預(yù)覽窗口中,見到AT89C51的實(shí)物圖,如圖:</p><p><b>  圖9 元

39、器件</b></p><p>  若單擊RES,在預(yù)覽窗口中,見到RES的實(shí)物圖。此時(shí),我們已注意到在繪圖工具欄中的元器件按鈕處于選中狀態(tài)。</p><p>  3.2.2 放置元器件至圖形編輯窗口</p><p>  在對(duì)象選擇器窗口中,選中RES,將鼠標(biāo)置于圖形編輯窗口該對(duì)象的欲放位置、單擊鼠標(biāo)左鍵,該對(duì)象被完成放置。同理,將AT89C51等放置

40、到圖形編輯窗口中。</p><p>  若對(duì)象位置需要移動(dòng),將鼠標(biāo)移到該對(duì)象上,單擊鼠標(biāo)右鍵,此時(shí)我們已經(jīng)注意到,該對(duì)象的顏色已變至紅色,表明該對(duì)象已被選中,按下鼠標(biāo)左鍵,拖動(dòng)鼠標(biāo),將對(duì)象移至新位置后,松開鼠標(biāo),完成移動(dòng)操作。</p><p>  由于許多電阻的型號(hào)和電阻值均相同,因此可利用復(fù)制功能作圖。將鼠標(biāo)移到R1,單擊鼠標(biāo)右鍵,選中R1,在標(biāo)準(zhǔn)工具欄中,單擊復(fù)制按鈕,拖動(dòng)鼠標(biāo),按下鼠

41、標(biāo)左鍵,將對(duì)象復(fù)制到新位置,如此反復(fù),直到按下鼠標(biāo)右鍵,結(jié)束復(fù)制。此時(shí)我們已經(jīng)注意到,電阻名的標(biāo)識(shí),系統(tǒng)自動(dòng)加以區(qū)分。</p><p>  3.2.3 放置總線至圖形編輯窗口</p><p>  單擊繪圖工具欄中的總線按鈕,使之處于選中狀態(tài)。將鼠標(biāo)置于圖形編輯窗口,單擊鼠標(biāo)左鍵,確定總線的起始位置;移動(dòng)鼠標(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的智能化可以在你想要畫線的時(shí)候進(jìn)行自動(dòng)檢測(cè)。下面,我們來操作將電阻R13的右端連接到八段數(shù)碼管的a端。當(dāng)鼠標(biāo)的指針靠近R13右端的連接點(diǎn)時(shí),跟著鼠標(biāo)的指針就會(huì)出現(xiàn)一個(gè)“&#

43、215;”號(hào),表明找到了R13的連接點(diǎn),單擊鼠標(biāo)左鍵,移動(dòng)鼠標(biāo)(不用拖動(dòng)鼠標(biāo)),將鼠標(biāo)的指針靠近八段數(shù)碼管的a端的連接點(diǎn)時(shí),跟著鼠標(biāo)的指針就會(huì)出現(xiàn)一個(gè)“×”號(hào),表明找到了八段數(shù)碼管的連接點(diǎn),同時(shí)屏幕上出現(xiàn)了粉紅色的連接,單擊鼠標(biāo)左鍵,粉紅色的連接線變成了深綠色,同時(shí),線形由直線自動(dòng)變成了90º的折線,這是因?yàn)槲覀冞x中了線路自動(dòng)路徑功能。</p><p>  Proteus具有線路自動(dòng)路徑功能(

44、簡(jiǎn)稱WAR),當(dāng)選中兩個(gè)連接點(diǎn)后,WAR將選擇一個(gè)合適的路徑連線。WAR可通過使用標(biāo)準(zhǔn)工具欄里的“WAR”命令按鈕來關(guān)閉或打開,也可以在菜單欄的“Tools”下找到這個(gè)圖標(biāo)。</p><p>  同理,我們可以完成其它連線。在此過程的任何時(shí)刻,都可以按ESC鍵或者單擊鼠標(biāo)的右鍵來放棄畫線。</p><p>  3.2.5 元器件與總線的連線</p><p>  畫

45、總線的時(shí)候?yàn)榱撕鸵话愕膶?dǎo)線區(qū)分,我們一般喜歡畫斜線來表示分支線。此時(shí)我們需要自己決定走線路徑,只需在想要拐點(diǎn)處單擊鼠標(biāo)左鍵即可。連線如圖:</p><p>  圖11 元器件連線圖</p><p>  3.3 Keil和Proteus的聯(lián)合調(diào)試</p><p>  在Proteus繪制電路圖,在Keil uVision3對(duì)匯編語言程序進(jìn)行編譯調(diào)試,下面首先簡(jiǎn)單地

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ù)實(shí)際情況寫,不要和原來的重復(fù)(步驟1和2只需在初次使用設(shè)置)。</p><p> 

48、 3、進(jìn)入Keil uVision3開發(fā)集成環(huán)境,創(chuàng)建一個(gè)新項(xiàng)目(Project),并為該項(xiàng)目選定合適的單片機(jī)CPU器件(如:Atmel公司的AT89C51),并為該項(xiàng)目加入Keil uVision3源程序。如圖</p><p>  圖12 Keil uVision3新建文件圖</p><p>  圖13 Keil uVision3選擇CPU圖</p><p>

49、  圖14 Keil uVision3選擇CPU圖</p><p>  點(diǎn)擊確定→然后點(diǎn)擊按鍵寫入程序點(diǎn)擊保存,鍵入**.asm,</p><p>  圖15 寫入?yún)R編語言程序圖</p><p>  4.然后用右鍵點(diǎn)擊左邊的“Source Group 1”,在跳出的菜單中選中“Add Files to Group‘Source Group 1’”。</p&

50、gt;<p>  圖16 添加文件圖</p><p>  5、單擊“Project菜單/Options for Target”選項(xiàng)或者點(diǎn)擊工具欄的“option for ta rget”按鈕,彈出窗口,點(diǎn)擊“Debug”按鈕。在出現(xiàn)的對(duì)話框里在右欄上部的下拉菜單里選中“Proteus VSM Monitor一51 Driver”。并且還要點(diǎn)擊一下“Use”前面表明選中的小圓點(diǎn)。再點(diǎn)擊“Settin

51、g”按鈕,設(shè)置通信接口,在“Host”后面添上“127.0.0.1”,如果使用的不是同一臺(tái)電腦,則需要在這里添上另一臺(tái)電腦的IP地址(另一臺(tái)電腦也應(yīng)安裝Proteus)。在“Port”后面添加“8000”。設(shè)置好后,點(diǎn)擊“OK”按鈕即可。最后將工程編譯,進(jìn)入調(diào)試狀態(tài),并運(yùn)行。</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)左鍵點(diǎn)擊菜單“Debug”, 選中“use romote debuger monitor”。此后,便可實(shí)現(xiàn)Keil uVisi

53、on3與Proteus連接調(diào)試。</p><p>  3.4 系統(tǒng)仿真結(jié)果</p><p>  在proteus里開始仿真,雙擊AT89C51單片機(jī)跳出編輯元件對(duì)話框,在program file一項(xiàng)打開在Keil 中生成的XX.hex文件,點(diǎn)擊確定后,在點(diǎn)擊proteus主頁面的左下方運(yùn)行開始仿真,本實(shí)例仿真結(jié)果如下:</p><p>  十字路口東西通行(東西綠

54、燈亮),南北禁行(南北紅燈亮)</p><p>  圖20 交通燈東西通行圖</p><p>  十字路口東西南北四個(gè)方向黃燈亮3秒,開始換指示燈控制方向(有東西通行,換成南北通行)</p><p>  圖21 交通燈東西轉(zhuǎn)南北向通行圖</p><p>  十字路口東西禁行(東西紅燈亮),南北通行(南北綠燈亮)</p>&l

55、t;p>  圖22 交通燈南北通行圖</p><p>  十字路口東西南北四個(gè)方向黃燈亮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 ;定時(shí)器T1工作在方式1</p><p>  MOV TH1,#9EH ;給定時(shí)器T1賦初值</p><p>  MOV TL1,#58H</p><p>  SETB EA ;開中斷系統(tǒng)總開關(guān)</p><p>  SETB ET1 ;開定時(shí)

58、器T1中斷開關(guān)</p><p>  SETB TR1 ;啟動(dòng)定時(shí)器T1</p><p><b>  LP:</b></p><p>  MOV 33H,#1EH ;設(shè)置倒計(jì)時(shí)顯示數(shù)值</p><p>  MOV P1,#0F3H ;使交通燈東西綠,南北紅</p><

59、;p>  MOV R7,#1BH ;紅燈顯示時(shí)間數(shù)值</p><p><b>  LP1:</b></p><p>  LCALL DISP ;調(diào)用子程序</p><p>  DJNZ R7,LP1 ;</p><p>  MOV P1,#0E1H ;交通燈東西綠,南北紅同時(shí)加亮

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í)間數(shù)值</p><p><b>  LP3:</b></p><p>  LCALL DISP ;調(diào)用子程序</p><p>  DJNZ R7,LP3</p><p>  MOV P1,#0CCH

62、 ;交通燈南北綠,東西紅同時(shí)加亮黃燈</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 ;延時(shí)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 ;重新給定時(shí)器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 ;提取出倒計(jì)時(shí)數(shù)值的十位和個(gè)位數(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 ;查表獲取個(gè)位數(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等.壓縮文件請(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)論