基于Proteus的交通信號燈(共32頁)_第1頁
基于Proteus的交通信號燈(共32頁)_第2頁
基于Proteus的交通信號燈(共32頁)_第3頁
基于Proteus的交通信號燈(共32頁)_第4頁
基于Proteus的交通信號燈(共32頁)_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、四川師范大學成都學院??飘厴I(yè)設計- PAGE 35 -基于(jy)Protues的交通信號燈模擬(mn)控制概述(i sh) 1引言當今,紅綠燈安裝在各個道口上,已經成為疏導交通車輛最常見和最有效的手段。但這一技術在19世紀就已出現了。1858年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅,藍兩色的機械扳手式信號燈,用以指揮馬車通行。這是世界上最早的交通信號燈。1868年,英國機械工程師納伊特在倫敦威斯敏斯特區(qū)的議會大廈前的廣場上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩以旋轉式方形玻璃提燈組成,紅色表示“停止”,綠色表示“注意”。1869年1月2日,煤氣燈爆炸,使警察受傷,遂被取消。電氣啟動

2、的紅綠燈出現在美國,這種紅綠燈由紅綠黃三色圓形的投光器組成,1914年始安裝于紐約市5號大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”。1918年,又出現了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測器安在地下,車輛一接近紅燈便變?yōu)榫G燈;另一種是用擴音器來啟動紅綠燈,司機遇紅燈時按一下嗽叭,就使紅燈變?yōu)榫G燈。紅外線紅綠燈當行人踏上對壓力敏感的路面時,它就能察覺到有人要過馬路。紅外光束能把信號燈的紅燈延長一段時間,推遲汽車放行,以免發(fā)生交通事故。信號燈的出現,使交通得以有效管制,對于疏導交通流量、提高道路通行能力,減少交通事故有明顯效果。1968年,聯合國道路交通和道

3、路標志信號協(xié)定對各種信號燈的含義作了規(guī)定。綠燈是通行信號,面對綠燈的車輛可以直行,左轉彎和右轉彎,除非另一種標志禁止某一種轉向。左右轉彎車輛都必須讓合法地正在路口內行駛的車輛和過人行橫道的行人優(yōu)先通行。紅燈是禁行信號,面對紅燈的車輛必須在交叉路口的停車線后停車。黃燈是警告信號,面對黃燈的車輛不能越過停車線,但車輛已十分接近停車線而不能安全停車時可以進入交叉路口。 1.1 設計(shj)的思想該設計在熟練掌握單片機及其仿真系統(tǒng)的使用方法基礎上,綜合應用單片機原理、微機原理、微機接口技術等課程(kchng)方面的知識,設計一個采用AT89S52單片機控制的交通燈控制電路。上電復位電路89S52數據

4、信號LED數碼管段碼調時電路振蕩電路片選交通燈圖1設計(shj)流程圖根據設計功能及要求,我們可得系統(tǒng)的原理框圖如圖所示。根據系統(tǒng)的原理框圖,分別分析各部分電路的元器件的功能以及選擇合適的元件。具體設計思路如下:收集并整理資料,硬件設計,軟件設計,Proteus仿真,設計體會與總結。 1.2 設計滿足的基本功能(1)南北方向(主干道)車道和東西方向(支干道)車道兩條交叉道路上的車輛交替運行,主干道每次通行時間都設為30秒、支干道每次通行間為20秒,時間可設置修改。(2)在綠燈轉為紅燈時,要求黃燈先亮5秒鐘,才能變換運行車道;(3)黃燈亮時,要求每秒閃亮一次。(4)東西方向、南北方向車道除了有紅

5、、黃、綠燈指示外,每一種燈亮的時間都用顯示器進行顯示(采用計時的方法)。(5)一道有車而另一道無車(實驗時用開關 K0 和 K1 控制),交通燈控制系統(tǒng)(kn zh x tn)能立即讓有車道放行。 (6)有緊急車輛要求通過時,系統(tǒng)要能禁止(jnzh)普通車輛通行,A、B道均為紅燈,緊急車由K2 開關模擬。 2 系統(tǒng)總體方案及硬件(yn jin)設計2.1 系統(tǒng)方案的確定交通燈在安全行車過程中起著十分重要的作用,現在交通燈一般設在十字路口,在醒目位置用紅、綠、黃三種顏色的指示燈, 加上一個倒計時的顯示計時器來控制行車, 對于一般情況下的安全行車、車輛分流發(fā)揮著作用, 但根據實際行車過程中出現的情

6、況, 如何全面有效地利用交通燈指示交通情況,我們嘗試用單片機來控制交通燈,在軟、硬件方面采取一些改進措施,,使交通燈在控制中靈活而有效。硬件系統(tǒng)是指構成單片機系統(tǒng)的實體和裝置,通常由運算器、控制器、存儲器、輸入接口電路和輸入設備、輸出接口電路和輸出設備等組成。單片機實質上是一個硬件的芯片,在實際應用中,通常很難直接和被控對象進行電氣連接,必須外加各種擴展接口電路、外部設備、被控對象等硬件和軟件,才能構成一個單片機應用系統(tǒng)。該交通燈擬系統(tǒng)的硬件部分主要由鍵盤、顯示和運算部分組成。按照題目的設計要求,本課題需要使用LED數碼管顯示和擴展鍵盤。在該交通燈系統(tǒng)的設計中采用AT89s52單片機。 2.2

7、 顯示部分電路設計LED顯示器有兩中工作方式:靜態(tài)顯示方式和動態(tài)顯示方式。靜態(tài)顯示的特點是每個數碼管必須接一個8位鎖存器用來鎖存待顯示的字型碼。送入一次字型碼顯示自行一直保持,直到送入新字型碼為止。這種方法的優(yōu)點是占用CPU時間少,顯示便于監(jiān)測和控制。缺點是硬件電路比較復雜,成本較高。各數碼管在顯示過程中持續(xù)得到顯示信號,與各數碼管接口的I/O口是專用的。動態(tài)顯示的特點是將所有位數碼管的段選線并聯在一起,由位選線控制是哪一位數碼管有效。這樣一來,就沒有必要每一位數碼管配一個鎖存器,從而大大地簡化了硬件電路。選亮數碼管采用動態(tài)掃描顯示。所謂動態(tài)掃描顯示即輪流向各位數碼管送出字形碼和相應的位選,利

8、用發(fā)光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數碼管同時都在顯示。動態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時應略小于靜態(tài)顯示電路中的。各數碼管在顯示過程中輪流得到顯示信號,與各數碼管接口的I/O口是共用的。該設計采用(ciyng)如下所示的數碼管,分別顯示南北和東西燈的剩余時間。片選部分和數碼(shm)段顯示部分,分別接單片機管腳的P1口和P0口,具體的共陰數碼管下見圖2。其中(qzhng),A到G為碼段控制端口,1,2為片選端口。圖2共陰數碼管 2.3 時鐘部分電路設計 時鐘電路用于產生MCS-51單片機工作時所必須的時鐘控制信號。其內部電路在時鐘信號控制下,嚴格地按時序執(zhí)

9、行指令進行工作。在執(zhí)行指令時,CPU首先要到程序存儲器中取出需要執(zhí)行的指令操作碼,然后譯碼,并由時序電路產生一系列控制信號去完成指令所規(guī)定操作。本設計采用12MHz晶振和兩個30Pf瓷片電容,他們構成一個穩(wěn)定的自激振蕩器。該電容的大小影響振蕩器頻率的高低、振蕩器的穩(wěn)定性和起振的快速性。為單片機提供標準時鐘。其中兩個瓷片電容起微調作用。 如圖3所示:圖3 時鐘(shzhng)電路 2.4 復位(f wi)部分電路設計復位引腳RST通過一個斯密特觸發(fā)器與復位電路相連,斯密特觸發(fā)器用來抑制噪聲,在每個機器(j q)周期的S5P2,斯密特觸發(fā)器的輸出電平由復位電路采樣一次,然后才能得到內部復位操作所需

10、要的信號。 復位電路通常采用上電自動復位和按鈕復位兩種方式。該設計采用加電直接復位,復位電容采用22uF,電阻1000歐,為了節(jié)省元件,沒有采用上電加按鍵模式。加電瞬間,RES管腳為高電平。通過電阻回路放電,使電壓逐漸降為零,從而實現了復位功能。其連接圖如下圖4所示: 圖4 復位電路3 軟件設計 3.1 應用系統(tǒng)軟件設計要求在進行應用系統(tǒng)的總體設計時,軟件設計與硬件設計應統(tǒng)一考慮,相結合進行。當系統(tǒng)的電路設計定型以后,軟件的任務也就明確了。一般來說,軟件的功能可分為兩大類。一類是執(zhí)行軟件,它能完成各種實質性的功能,如測量計算、顯示、打印、輸出控制等;另一類是監(jiān)控軟件,它是專門用來協(xié)調各執(zhí)行模塊

11、和操作者的關系,在系統(tǒng)軟件中充當組織協(xié)調角色。我們設計時,應從以下幾個方面(fngmin)考慮: (1)根據軟件功能的要求,將系統(tǒng)軟件分為若干個相對(xingdu)獨立的部分。設計出合理的軟件總體結構,使其清晰、簡捷、流程合理。 (2)各功能(gngnng)程序實行模塊化、子程序化。 (3)在編寫應用軟件之前,應繪制出程序流程圖。 (4)要合理分配系統(tǒng)資源,包括ROM、RAM、定時器/計數器、中斷源等。 本設計采用了模塊化設計,主要由主程序模塊、功能實現模塊兩大部分模塊組成。 3.2 主程序模塊的設計主程序流程圖如下圖A所示:該交通信號燈控制系統(tǒng)的四中工作狀態(tài)(南北方向的交通燈為例):(1)南

12、北方向A車道紅燈亮,東西方向B車道綠燈亮。表示南北方向A車道上的車輛禁止通行,東西方向B車道允許通行。綠燈亮足規(guī)定的時間隔時,控制器發(fā)出狀態(tài)信號,轉到下一工作狀態(tài)。 (2)南北方向A車道紅燈亮,東西方向B車道黃燈亮。表示東西方向B車道上未過停車線的車輛停止通行,已過停車線的車輛繼續(xù)通行,南北方向A車道禁止通行。黃燈亮足規(guī)定時間間隔時,控制器發(fā)出狀態(tài)轉換信號,轉到下一工作狀態(tài)。 (3)南北方向A車道綠燈亮,東西方向B車道紅燈亮。表示南北方向A車道允許通行,東西方向B車道上的車輛禁止通行,綠燈亮足規(guī)定的時間間隔時,控制器發(fā)出狀態(tài)轉換信號,轉到下一工作狀態(tài)。 (4)南北方向A車道黃燈亮,東西方向B車

13、道紅燈亮。表示東西方向B車道禁止通行,南北方向A車道上位過限停車線的車輛停止通行,已過停車線的車輛繼續(xù)通行。黃燈亮足規(guī)定的時間間隔時,控制器發(fā)出狀態(tài)轉換信號,系統(tǒng)又轉換到第(1)種工作狀態(tài)??刂?kngzh)燈程序流程圖如圖5下:置A道放行標志0F0A到放行時間送 R4A道有車?A道亮綠燈,B道亮紅燈B道有車?YN開始允許/int0中斷B道亮黃燈,A道亮紅燈延時0.5秒A道亮黃燈,B道亮紅燈R1-1=0?A道有車?B到放行時間送 R3B道亮綠燈,A道亮紅燈延時0.5秒延時0.5秒置B道放行標志0F0延時0.5秒B道有車?R3-1=0?YNYYYN 圖5 交通燈控制流程圖該設計(shj)的主程序

14、中已經包含了顯示模塊的程序段,具體的主程序如下:MAIN: MOV 25H,#30 ; MOV 26H,#20 ; MOV SP,#40H ; CLR P3.0 ; MOV TMOD,#66H ; T0、T1都計數方式,工作(gngzu)模式2 ,啟動方式TRi確定 MOV TL0,#255 ; MOV TH0,#0 ; MOV TL1,#255 ; MOV TH1,#0 ; SETB IT0 ; SETB IT1 ; MOV IE,#8FH ; 開中斷(zhngdun) SETB TR0 ; T0開始計數 SETB TR1 ; T1 開始計數; 南北綠燈東西紅燈 NBLD: CLR P3.0

15、 ; MOV R1,25H ; 南北通行時間30秒(25h)=30NBLD即東西綠燈) NBLD1: MOV P2,#1EH ; 點亮南北綠燈東西紅燈 MOV 20H,R1 ; 為南北方向顯示時間做準備 MOV A,R1 ; ADD A,#5 ; MOV 21H,A ; 為東西方向顯示時間做準備 LCALL DISP1 ; 顯示通行所剩時間(shjin),其中有0.5秒延時 LCALL DISP1 ; DJNZ R1,NBLD1 ; 判斷(pndun)30秒是否已完,若未完則從新顯示、延時 ;南北黃燈閃東西(dngx)紅燈 ShanHD: MOV R2,#5 ; 黃燈閃亮5秒 HD: MOV

16、P2,#1DH ; 點亮黃燈 MOV 22H,R2 ; LCALL DISP2 ; 黃燈閃亮剩時顯示 ,其中延時0.5秒 MOV P2,#1FH ; 熄滅黃燈 LCALL DISP2 ; DJNZ R2,HD ; ;南北紅燈東西綠燈 DXLD: CLR P3.0 ; MOV R3,26H ; 東西通行20秒 DXLD1: MOV P2,#33H ; 點亮南北紅燈東西綠燈 MOV 24H,R3 ; MOV A,R3 ; ADD A,#5 ; MOV 23H,A ; LCALL DISP3 ; LCALL DISP3 ; DJNZ R3,DXLD1 ; 判斷20秒是否已完 ;南北紅燈東西黃燈閃Sh

17、anHD1: MOV R2,#5 ; 轉入黃燈閃亮5秒HD1: MOV 22H,R2 ; MOV P2,#2BH ; 點亮南北紅燈東西黃燈 LCALL DISP2 ; MOV P2,#3BH ; 點亮南北紅燈關閉東西黃燈 LCALL DISP2 ; DJNZ R2,HD1 ; 判斷5秒是否到,若未到繼續(xù)閃滅東西黃燈 AJMP NBLD ;特種車輛(chling)通過Tezhong: MOV P2,#1BH ; 點亮東西南北(dng x nn bi)紅燈 SETB P3.0 ; MOV R4,#15 ; 特殊(tsh)車輛通過時間15秒 QHD: MOV 27H,R4 ; LCALL DISP4

18、 ; DJNZ R4,QHD ; 判斷15秒是否到,若不到繼續(xù)顯示時間 CLR p3.0 ; AJMP NBLD ; 主程序到此完 ;延時程序 DELAY: ACALL DELAY1 ; 10ms延時 ACALL DELAY1 RET DELAY1: MOV R6,#50 ; 5ms延時 ,(5ms=50*50*2us) DE6: MOV R0,#50 DE7: DJNZ R0,DE7 DJNZ R6,DE6 RET;南北通行的時間顯示子程序.(其中有0.5秒延時) DISP1: MOV P0,#0 ; MOV R7,#25 ; RP1: MOV A,20H ; MOV DPTR,#TAB ;

19、 MOV B,#10 DIV AB ; MOVC A,A+DPTR ; MOV P1,#00001110B; MOV P0,A ; LCALL DELAY1 ; MOV A,B ; MOVC A,A+DPTR ; MOV P1,#00001101B ; MOV P0,A ; LCALL DELAY1 ; MOV A,21H ; MOV DPTR,#TAB ; MOV B,#10 DIV AB ; MOVC A,A+DPTR ; MOV P1,#00001011B; MOV P0,A ; LCALL DELAY1 ; MOV A,B ; MOVC A,A+DPTR ; MOV P1,#00000

20、111B ; MOV P0,A ; LCALL DELAY1 DJNZ R7,RP1 ; RET ;黃燈的時間(shjin)顯示子程序 DISP2: MOV P0,#0 ; MOV R7,#25 ; RP2: MOV A,22H ; MOV DPTR,#TAB ; MOV B,#10 DIV AB ; MOVC A,A+DPTR ; MOV P1,#00001010B; MOV P0,A ; LCALL DELAY ; MOV P1,#00000101B ; MOV A,B ; MOVC A,A+DPTR ; MOV P0,A ; LCALL DELAY ; DJNZ R7,RP2 RET ;

21、東西通行的時間(shjin)顯示子程序 DISP3: MOV P0,#0 ; MOV R7,#25 ; RP3: MOV A,23H ; MOV DPTR,#TAB ; MOV B,#10 DIV AB ; MOVC A,A+DPTR ; MOV P1,#00001110B; MOV P0,A ; LCALL DELAY1 ; MOV A,B ; MOVC A,A+DPTR ; MOV P1,#00001101B; MOV P0,A ; LCALL DELAY1 ; MOV A,24H ; MOV B,#10 DIV AB ; MOVC A,A+DPTR ; MOV P1,#00001011B

22、 ; MOV P0,A ; LCALL DELAY1 ; MOV A,B MOVC A,A+DPTR MOV P1,#00000111B ; MOV P0,A ; LCALL DELAY1 DJNZ R7,RP3 RET 3.3 功能實現模塊(m kui)的設計功能實現模塊主要由中斷處理子程序,鍵盤處理子程序和顯示子程序等組成(z chn)。下面僅對INT0中斷服務程序部分(b fen)進行簡單介紹。P3.4與K2連接,K2與地連接。按下K2,東西南北四個方向全紅,也就是說,東西南北四個通道都不能通車,這時可對南北的總時間進行調節(jié)。 K1與AT89S52的p3.3管腳相連。在按下K2的前提下,

23、按下K1,此時顯示的是東西的總時間,并可對其調節(jié)。其中中斷服務程序流程圖下圖6所示:A道亮黃燈,B道亮紅燈B道亮綠燈,A道亮紅燈A道亮綠燈,B道亮紅燈開始延時0.5秒A道亮黃燈,B道亮紅燈B道亮黃燈,A道亮紅燈緊急車通過A道放行返回YNYNN原道A放行圖6 交通燈控制(kngzh)中的中斷控制流程其外部中斷服務程序(chngx)具體程序塊如下:INT0: MOV IE,#0 ; MOV A,P2 ; JNB Acc.3,DXSJ ; P2.3,DXSJ ; JNB Acc.0,NBSJ ; P2.0,NBSJ ; POP 28H ; POP 28H ; MOV DPTR,#NBLD ; PUS

24、H DPL ; PUSH DPH ; EXIT: MOV IE,#8FH ; 恢復(huf)開中斷 RETI ; ;- - - - -南北通行時間設定 - - - - - NBSJ: POP 28H ; POP 28H ; MOV DPTR,#NBLD ; PUSH DPL ; PUSH DPH ; XSSM1: MOV A,25H ; MOV 20H,A ; ADD A,#5 ; MOV 21H,A ; LCALL DISP1 ; 顯示時間 LCALL DELAY1 MOV A,P3 JNB P3.2,EXIT ; JNB P3.3,JX ; JNB P3.5,JX1 ; AJMP XSSM

25、1 ; JX: MOV A,25H ; ADD A,#2 ; MOV 25H,A ; MOV 20H,A ; ADD A,#5 ; MOV 21H,A ; LCALL DISP1 ; AJMP XSSM1 ; JX1: MOV A,25H ; SUBB A,#2 ; MOV 25H,A ; MOV 20H,A ; ADD A,#5 ; MOV 21H,A ; LCALL DISP1 ; AJMP XSSM1 ; ;- - - - 東西通行(tngxng)時間設定 - - - - - - DXSJ: POP 28H ; POP 28H ; MOV DPTR,#DXLD ; PUSH DPL ;

26、PUSH DPH ; XSSM2: MOV A,26H ; MOV 24H,A ; ADD A,#5 ; MOV 23H,A ; LCALL DISP3 ; MOV A,P3 JNB P3.2,EXIT1 ; JNB P3.3,JX2 ; JNB P3.5,JX3 ; AJMP XSSM2 ; EXIT1: LJMP EXIT ; JX2: MOV A,26H ; ADD A,#2 ; MOV 26H,A ; MOV 24H,A ; ADD A,#5 ; MOV 23H,A ; LCALL DISP3 ; AJMP XSSM2 ; JX3: MOV A,26H ; SUBB A,#2 ; MO

27、V 26H,A ; MOV 24H,A ; ADD A,#5 ; MOV 23H,A ; LCALL DISP3 ; AJMP XSSM2 ; ;特殊車輛(chling)通過,中斷服務程序 INT1: POP 28H ; POP 28H ; MOV DPTR,#Tezhong ; PUSH DPL ; PUSH DPH ; MOV TMOD,#66H ; T0、T1都計數方式,工作(gngzu)模式2 ,啟動方式TRi確定 MOV TL0,#255 ; MOV TH0,#0 ; MOV TL1,#255 ; MOV TH1,#0 ; SETB IT0 ; SETB IT1 ; MOV IE,#

28、8FH ; 開中斷(zhngdun) SETB TR0 ; T0開始計數 SETB TR1 ; T1 開始計數 RETI ;南北通道(tngdo)有車東西通道無車的中斷服務程序 INT2: POP 28H ; POP 28H ; MOV DPTR,#NBLD ; PUSH DPL ; PUSH DPH ; MOV TMOD,#66H ; T0、T1都計數(j sh)方式,工作模式2 ,啟動方式TRi確定 MOV TL0,#255 ; MOV TH0,#0 ; MOV TL1,#255 ; MOV TH1,#0 ; MOV IE,#8FH ; 開中斷(zhngdun) SETB TR0 ; T0

29、開始計數 SETB TR1 ; T1 開始計數 RETI ;東西通道有車南北通道無車的中斷服務程序 INT3: POP 28H ; POP 28H ; MOV DPTR,#DXLD ; PUSH DPL ; PUSH DPH ; MOV TMOD,#66H ; T0、T1都計數方式,工作模式2 ,啟動方式TRi確定 MOV TL0,#255 ; MOV TH0,#0 ; MOV TL1,#255 ; MOV TH1,#0 ; MOV IE,#8FH ; 開中斷 SETB TR0 ; T0開始計數 SETB TR1 ; T1 開始計數 RETI;END 3.4 延時程序模塊的設計延遲程序塊是要生

30、成一定的是時間延時,這在數碼管顯示模塊中會用到延遲程序,以滿足足動態(tài)掃描時數碼管的閃亮能產生視覺效果。具體(jt)的程序設計如下:DELAY: ACALL DELAY1 ; 10ms延時 ACALL DELAY1 RET DELAY1: MOV R6,#50 ; 5ms延時 ,(5ms=50*50*2us) DE6: MOV R0,#50 DE7: DJNZ R0,DE7 DJNZ R6,DE6 RET4 Proteus軟件(run jin)仿真 4.1 仿真開發(fā)系統(tǒng)(xtng)的功能 一個單片機系統(tǒng)經過總體設計,完成了硬件和軟件開發(fā)。元器件安裝后在系統(tǒng)存儲器中放入編制好的應用程序,系統(tǒng)即可運

31、行。一般來說,仿真開發(fā)系統(tǒng)應具有如下的功能:1)用戶樣機硬件電路的診斷與檢查;2)用戶樣機程序的輸入與修改; 3)程序的運行、調試(單步運行、設置斷點)、排錯、狀態(tài)查詢功能; 4)將程序固化到EPROM芯片中。但對于一個較完善的仿真開發(fā)系統(tǒng),還應具備:1)有較全的開發(fā)軟件,同時要求用戶可用匯編語言編制應用軟件;開發(fā)系統(tǒng)自動生成目標文件;并配有反匯編軟件能將目標程序轉換成匯編語言程序;有豐富的子程序可供用戶選擇調用。2)有跟蹤調試、運行的能力。 3)為了方便模塊化軟件調試,還應配置軟件轉儲、程序文本打印功能及設備。 4.2 Proteus軟件系統(tǒng)仿真(fn zhn)如硬件系統(tǒng)圖所示接線(ji x

32、in),圖中,在十字路口的紅,黃,綠交通燈中A道的兩組同色燈連在起,B上的也互聯,受MCS-51的P2.0-P 2.5控制.緊急車請求通過時由人工控制,以中斷方式輸入單片機。打開WAVE6000集成調試環(huán)境(hunjng),把已經編好的程序輸入,保存為“JTD.asm”。選擇菜單文件新建項目功能,加入模塊文件和保存文件,然后保存項目,系統(tǒng)自動生成“JTD.PRJ”文件。設置好仿真器后,編譯程序無誤后調試執(zhí)行程序,結果顯示符合要求。 4.3 具體仿真結果顯示根據功能要求分別仿真各種情況下的亮燈情況,具體如下:如圖7所示,正常情況下南北方向A道亮綠燈,東西方向B道亮紅燈。A道放行,B道禁行。圖7仿

33、真圖如圖8所示南北方向A道亮紅燈,東西方向B道亮黃燈5秒。圖8仿真(fn zhn)圖如圖9仿真圖所示,有緊急(jnj)車通過時,按下按鍵K2時,A道B道均亮紅燈。圖8圖9仿真(fn zhn)圖5 總結(zngji)這次(zh c)總結(zngji)經過一個假期的反復琢磨與修改,終于完成了。從查資料,整理資料到讀程序,寫程序,改程序,仿真直至通過老師的驗收,一切都充滿了刻苦與艱辛,其間充滿了挫折可是同時又伴隨著歡樂。令我感觸最深的就是同學們傾心的幫助,由于我的單片機原理與應用技術學的并不是很好,所以對某些知識點并不是很清楚,可是同學們總是不厭其煩的給我一遍又一遍的講解,直到我弄清楚為止!他們的知

34、識閱歷另我打開眼界,他們的無私精神更另我感動不已!另外,在重復修改與設計的過程中,我又重新把單片機原理與應用技術這本書仔細的看了一下,弄懂了一些以前一知半解的東西,進一次加強和鞏固了我的理論知識。在此次畢業(yè)設計過程中,我把單片機的理論知識用于實踐中,使理論與實踐相結合,使我的理論知識的到了鞏固,在查資料翻閱資料的過程中也豐富了我的知識跟閱歷。參考文獻 1 蔡美琴等-2版.MCS-51系列單片機系統(tǒng)及其應用.北京:高等教育出版社,2004.1-4 2 張毅剛,劉杰. MCS-51系列單片機原理及應用.哈爾濱:哈爾濱工業(yè)大學出版社,2004.256-270 3 蔡美琴,張為民等.MCS-51系列單

35、片機系統(tǒng)及其應用.北京:高等教育出版社,1992.68-96 4 蔣廷彪等.單片機原理及應用(MCS-51).重慶:重慶大學出版社,2003.56-89 5 余發(fā)山,王福忠.單片機原理及應用技術.徐州:中國礦業(yè)大學出版社,2008附1 : 源程序代碼(di m)ORG 0000H AJMP MAIN ORG 0003H LJMP INT0 ; 跳到設定時間(shjin)中斷服務程序 ORG 000BH LJMP INT1 ; 跳到跳到特種車輛(chling)自動服務程序 ORG 0013H LJMP INT2 ; 跳到南北有車東西無車中斷服務程序 ORG 001BH LJMP INT3 ; 跳

36、到東西有車南北無車中斷服務程序 ;數字顯示代碼 ORG 0100H TAB: DB 3FH,6H,5BH,4FH,66H,6DH,7DH,7H,7FH,6FH 主程序 ORG 0300H MAIN: MOV 25H,#30 ; 南北通行時間初始值,存到25H單元 MOV 26H,#20 ; 東西通行時間初始值,存到26H單元 MOV SP,#40H ; CLR P3.0 ; MOV TMOD,#66H ; T0、T1都計數方式,工作模式2 ,啟動方式TRi確定 MOV TL0,#255 ; MOV TH0,#0 ; MOV TL1,#255 ; MOV TH1,#0 ; SETB IT0 ;

37、SETB IT1 ; MOV IE,#8FH ; 開中斷 SETB TR0 ; T0開始計數 SETB TR1 ; T1 開始計數; 南北綠燈東西紅燈 NBLD: CLR P3.0 ; MOV R1,25H ; 南北通行時間30秒(25h)=30, NBLD1: MOV P2,#1EH ; 點亮南北綠燈東西紅燈 MOV 20H,R1 ; MOV A,R1 ; ADD A,#5 ; MOV 21H,A ; LCALL DISP1 ; LCALL DISP1 ; DJNZ R1,NBLD1 ; 判斷30秒是否(sh fu)已完,若未完則從新顯示、延時 ;南北黃燈閃東西(dngx)紅燈 ShanHD

38、: MOV R2,#5 ; 黃燈閃亮(shn lin)5秒 HD: MOV P2,#1DH ; 點亮黃燈 MOV 22H,R2 ; LCALL DISP2 ; MOV P2,#1FH ; 熄滅黃燈 LCALL DISP2 ; DJNZ R2,HD ; 南北紅燈東西綠燈 DXLD: CLR P3.0 ; MOV R3,26H ; 東西通行20秒 DXLD1: MOV P2,#33H ; 點亮南北紅燈東西綠燈 MOV 24H,R3 ; MOV A,R3 ; ADD A,#5 ; MOV 23H,A ; LCALL DISP3 ; LCALL DISP3 ; DJNZ R3,DXLD1 ; 判斷20

39、秒是否已完 ;南北紅燈東西黃燈閃ShanHD1: MOV R2,#5 ; 轉入黃燈閃亮5秒 HD1: MOV 22H,R2 ; MOV P2,#2BH ; 點亮南北紅燈東西黃燈 LCALL DISP2 ; 顯示時間,并延時0.5秒 MOV P2,#3BH ; 點亮南北紅燈關閉東西黃燈 LCALL DISP2 ; DJNZ R2,HD1 ; 判斷5秒是否(sh fu)到,若未到繼續(xù)閃滅東西黃燈 AJMP NBLD ;特種(tzhng)車輛通過Tezhong: MOV P2,#1BH ; 點亮東西南北(dng x nn bi)紅燈 SETB P3.0 ; MOV R4,#15 ; 特殊車輛通過時間

40、15秒 QHD: MOV 27H,R4 ; LCALL DISP4 ; 顯示時間 DJNZ R4,QHD ; 判斷15秒是否到,若不到繼續(xù)顯示時間 CLR p3.0 ; AJMP NBLD ; 主程序到此完 延時程序 DELAY: ACALL DELAY1 ; ACALL DELAY1 RET DELAY1: MOV R6,#50 ; DE6: MOV R0,#50 DE7: DJNZ R0,DE7 DJNZ R6,DE6 RET;南北通行的時間顯示子程序.(其中有0.5秒延時) DISP1: MOV P0,#0 ; MOV R7,#25 ; RP1: MOV A,20H ; MOV DPTR

41、,#TAB ; MOV B,#10 DIV AB ; MOVC A,A+DPTR ; MOV P1,#00001110B; MOV P0,A ; LCALL DELAY1 ; MOV A,B ; MOVC A,A+DPTR ; MOV P1,#00001101B ; MOV P0,A ; LCALL DELAY1 ; MOV A,21H ; MOV DPTR,#TAB ; MOV B,#10 DIV AB ; MOVC A,A+DPTR ; MOV P1,#00001011B; MOV P0,A ; LCALL DELAY1 ; MOV A,B ; MOVC A,A+DPTR ; MOV P1

42、,#00000111B ; MOV P0,A ; LCALL DELAY1 DJNZ R7,RP1 ; RET ;黃燈的時間(shjin)顯示子程序 DISP2: MOV P0,#0 ; MOV R7,#25 ; RP2: MOV A,22H ; MOV DPTR,#TAB ; MOV B,#10 DIV AB ; MOVC A,A+DPTR ; MOV P1,#00001010B; MOV P0,A ; LCALL DELAY ; MOV P1,#00000101B ; MOV A,B ; MOVC A,A+DPTR ; MOV P0,A ; LCALL DELAY ; DJNZ R7,RP

43、2 RET ;東西通行的時間(shjin)顯示子程序 DISP3: MOV P0,#0 ; MOV R7,#25 ; RP3: MOV A,23H ; MOV DPTR,#TAB ; MOV B,#10 DIV AB ; MOVC A,A+DPTR ; MOV P1,#00001110B; MOV P0,A ; LCALL DELAY1 ; MOV A,B ; MOVC A,A+DPTR ; MOV P1,#00001101B; MOV P0,A ; LCALL DELAY1 ; MOV A,24H ; MOV B,#10 DIV AB ; MOVC A,A+DPTR ; MOV P1,#00

44、001011B ; MOV P0,A ; LCALL DELAY1 ; MOV A,B MOVC A,A+DPTR MOV P1,#00000111B ; MOV P0,A ; LCALL DELAY1 DJNZ R7,RP3 RET ;特殊車輛(chling)通過的時間顯示子程序 DISP4: MOV P0,#0 ; MOV R7,#50 ; RP4: MOV A,27H ; MOV DPTR,#TAB ; MOV B,#10 ; DIV AB ; MOVC A,A+DPTR ; MOV P1,#00001010B; MOV P0,A ; LCALL DELAY ; MOV A,B ; MO

45、VC A,A+DPTR ; MOV P1,#00000101B; MOV P0,A ; LCALL DELAY ; DJNZ R7,RP4 RET;設定(sh dn)時間子程序 ; 根據哪個(n ge)方向亮綠燈設定那個方向的通行時間,沒有綠燈亮不能設定時間,中斷 ; 直接(zhji)退出。 ; INT0: MOV IE,#0 ; 關閉中斷允許 MOV A,P2 ; JNB Acc.3,DXSJ ; JNB Acc.0,NBSJ ; POP 28H ; POP 28H ; MOV DPTR,#NBLD ; PUSH DPL ; PUSH DPH ; EXIT: MOV IE,#8FH ; 恢復

46、開中斷 RETI ; ;- - - - -南北通行時間設定 - - - - - NBSJ: POP 28H ; POP 28H ; MOV DPTR,#NBLD ; PUSH DPL ; PUSH DPH ; XSSM1: MOV A,25H ; MOV 20H,A ; ADD A,#5 ; MOV 21H,A ; LCALL DISP1 ; 顯示(xinsh)時間 LCALL DELAY1 MOV A,P3 JNB P3.2,EXIT ; JNB P3.3,JX ; JNB P3.5,JX1 ; AJMP XSSM1 ; JX: MOV A,25H ; ADD A,#2 ; MOV 25H,A ; MOV 20H,A ; ADD A,#5 ; MOV 21H,A ; LCALL DISP1 ; AJMP XSSM1 ; JX1: MOV A,25H ; SUBB A,#2 ; MOV 25H

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論