交通燈課程設(shè)計交通信號燈控制的設(shè)計_第1頁
交通燈課程設(shè)計交通信號燈控制的設(shè)計_第2頁
交通燈課程設(shè)計交通信號燈控制的設(shè)計_第3頁
交通燈課程設(shè)計交通信號燈控制的設(shè)計_第4頁
交通燈課程設(shè)計交通信號燈控制的設(shè)計_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程設(shè)計任務(wù)書一、設(shè)計題目 交通信號燈控制的設(shè)計二、設(shè)計目的1 鞏固單片機技術(shù)課程所學(xué)的有關(guān)知識。2 通過硬件設(shè)計、軟件設(shè)計,使學(xué)生掌握用單片機組成應(yīng)用系統(tǒng)的方法,提高軟件設(shè)計能力。3 掌握單片機用于各種功能控制的方法。4 學(xué)會產(chǎn)品設(shè)計方法。三、設(shè)計要求1. 繪出仿真原理圖、編寫出源程序并調(diào)試。2. 要求實現(xiàn)綠燈亮20s放行后,黃燈閃爍4s警告,然后依次按北、西、南、東向轉(zhuǎn)換。四、設(shè)計步驟 1. 按要求畫出硬件連線圖。 2畫出程序流程圖。3編寫源程序。4進行軟件調(diào)試,檢查功能是否完善。 5. 完成proteus仿真。5、 提高部分 1. 保證車輛在一定時間內(nèi)可以向三個方向行駛。 2. 人行道也

2、給出紅綠燈指示。第一章 設(shè)計任務(wù)分析和系統(tǒng)方案論證1.1 交通燈變化規(guī)律的分析按照常規(guī)我們假設(shè)一個十字路口為東西南北走向。初始狀態(tài)為狀態(tài)1,南北方向綠燈通車,東西方向紅燈。經(jīng)過一段時間(假定60s)轉(zhuǎn)換狀態(tài)2,南北方向綠燈熄滅轉(zhuǎn)亮黃燈,延時3s,東西方向仍然紅燈。再轉(zhuǎn)換到狀態(tài)3,東西方向綠燈通車,南北方向紅燈。過一段時間(30s)轉(zhuǎn)換到狀態(tài)4,東西方向綠燈熄滅轉(zhuǎn)亮黃等燈,延時3s,南北方向仍然紅燈。最后循環(huán)至南北綠燈,東西紅燈。在這些狀態(tài)下有時鐘倒計時供行人和司機查看時間。在實際生活中,根據(jù)不同交通道路的通車情況有不同的變化規(guī)律。比如有的路口是三叉路口,有的道路分主干道與次干道等。不同的路況有

3、不同的通車情況,需設(shè)計者根據(jù)實際情況來設(shè)計交通燈的亮和滅??紤]到實際情況,本次設(shè)計對設(shè)計任務(wù)做了適當?shù)臄U充來滿足更高的要求。1.2 系統(tǒng)的方案論證 1.2.1 設(shè)計任務(wù)交通信號燈控制系統(tǒng)設(shè)計利用單片機的定時器定時,令十字路口的紅綠燈交替點亮和熄滅,并且用數(shù)碼管顯示時間。用8051做輸出口,控制十二個發(fā)光二極管燃滅,模擬交通燈管理。設(shè)計框圖如圖2-1。 圖2-1 設(shè)計框圖 1.2.2 方案介紹本系統(tǒng)是交通燈的控制設(shè)計,所以要了解實際交通燈的變化情況和規(guī)律。假設(shè)一個十字路口為東西南北走向。初始狀態(tài)0為東西紅燈,南北紅燈。然后轉(zhuǎn)狀態(tài)1東西紅燈,南北綠燈通車。過一段時間轉(zhuǎn)狀態(tài)2南北綠燈滅,黃燈閃爍幾次

4、,東西仍然紅燈。再轉(zhuǎn)狀態(tài)3,東西綠燈通車,南北紅燈。過一段時間轉(zhuǎn)狀態(tài)4,東西綠燈滅,閃幾次黃燈,南北仍然紅燈。最后循環(huán)至狀態(tài)1。本系統(tǒng)就是利用了at89c51芯片的i/o引腳。系統(tǒng)采用美國atmel公司生產(chǎn)的單片機at89c51,以及其它芯片來設(shè)計交通燈控制器,實現(xiàn)了紅燈亮60秒,綠燈50秒,黃燈閃爍10秒。p1輸出口設(shè)置紅、綠燈燃亮的功能和p2輸出口設(shè)置實現(xiàn)在七段數(shù)碼管上的時間顯示。簡單的來說,就是用單片機控制二極管的閃滅亮和顯示時間。第二章 交通燈系統(tǒng)硬件的設(shè)計2.1 單片機介紹2.1.1系統(tǒng)框圖復(fù)位電路時鐘電路51單片機紅綠燈顯示1位led數(shù)碼管顯示電路電源電路按鍵輸入電路圖2-1 硬件

5、系統(tǒng)框圖單片機微型計算機是微型計算機的一個重要分支,也是頗具生命力的機種。單片機微型計算機簡稱單片機,特別適用于控制領(lǐng)域,故又稱為微控制器。通常,單片機由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計算機的基本功能部件:中央處理器、存儲器和i/o接口電路等。因此,單片機只需要和適當?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個單片機控制系統(tǒng)。單片機經(jīng)過幾代的發(fā)展,目前單片機正朝著高性能和多品種方向發(fā)展,它們的cpu功能在增強,內(nèi)部資源在增多,引角的多功能化,以及低電壓底功耗。以下是對at89c51單片機介紹:at89c51是mcs-51系列單片機的典型產(chǎn)品,其包含中央處理器、程序存儲器(rom)、數(shù)據(jù)存儲器(ram

6、)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線。mcs-51單片機基本結(jié)構(gòu)示意圖3-1。時鐘電路sfr和ramromcpu定時/計數(shù)器并行端口中斷系統(tǒng)串行端口系 統(tǒng) 總 線時鐘源t0 t1p0 p1 p2 p3txd rxd int0 int1圖2-2 單片機基本結(jié)構(gòu)2.1.2 電源電路圖2-3 電源電路2.2 時鐘與復(fù)位電路的設(shè)計 圖2-4 復(fù)位與時鐘電路圖單片機本身是一個復(fù)雜的同步時序系統(tǒng),為保證同步工作方式的實現(xiàn),單片機必須有時鐘信號以使其系統(tǒng)在時鐘信號的控制下按時序協(xié)調(diào)工作。單片機的時鐘電路由振蕩電路和分頻電路組成。振蕩電路是通過輸入引

7、腳xtal1和輸出引腳xtal2在芯片外并接石英晶體和兩只電容組成的。石英晶體為一感性元件,與電容構(gòu)成振蕩回路,為片內(nèi)放大器提供正反饋和振蕩所需的相移條件,從而構(gòu)成一個穩(wěn)定的自激振蕩器。晶振頻率范圍為1.2-33mhz,我們選擇12mhz晶振。電容范圍為30pf左右,我們選擇33pf。振蕩電路產(chǎn)生的振蕩信號并不直接為單片機所用,而要經(jīng)過分頻電路的分頻后再使用。二分頻后為系統(tǒng)的時鐘信號,再三分頻產(chǎn)生ale信號,在二分頻的基礎(chǔ)上再六分頻得到機器周期信號。復(fù)位是單片機的硬件初始化操作。經(jīng)復(fù)位后,單片機系統(tǒng)才能開始正常工作。復(fù)位方式有加電復(fù)位和手動復(fù)位,復(fù)位電路又有上電復(fù)位、按鍵電平復(fù)位和按鍵脈沖復(fù)位

8、3種。大家可以根據(jù)實際情況采用不同的復(fù)位方式,圖2-1所示為我們設(shè)計的時鐘(上圖)與復(fù)位電路(下圖)仿真圖。2.2.1發(fā)光二極管指示燈電路該電路部分是交通信號燈的主要顯示部分。采用發(fā)光二極管構(gòu)成,按交通規(guī)劃分紅、黃、綠三種顏色。發(fā)光二極管直接與單片機的i/o端口相連,綠燈和黃燈控制器還有紅燈控制器的控制信號都是由秒脈沖發(fā)生器給出的。如圖35所示。 圖2-5 發(fā)光二極管電路2.3 單片機定時器/計數(shù)器的應(yīng)用 2.3.1定時器/計數(shù)器定時器/計數(shù)器是單片機中最常用、最重要的功能模塊之一。89s52單片機中有兩個16位定時器/計數(shù)器,分別為t0和t1。因為單片機為8位,所以要把16位定時器分解為4個

9、8位定時器,依次為tl0、tl1、th0、th1。本次設(shè)計只用到定時器,計數(shù)脈沖來自單片機內(nèi)部,采用12mhz晶振,即每微妙計數(shù)器加一。2.3.2定時器/計數(shù)器的相關(guān)寄存器 與定時器/計數(shù)器相關(guān)的寄存器有定時器/計數(shù)器工作方式寄存(tmod)、定時器/計數(shù)器控制寄存器(tcon)。tcon在本次設(shè)計中不是重點,故只將其簡單列出,如表2-1所示。重點介紹tmod,位定義及位地址表示如表2-2所示。 表2-1 tcon寄存器的位定義及位地址分配位地址8fh8eh8dh8ch8bh8ah89h88h位符號tf1tr1tf0tr0ie1it1ie0it0 表2-2 tmod寄存器的位定義及位地址分配b

10、7hb6hb5hb4hb3hb2hb1hb0hgatec/m1m0gatec/m1m0gate:門控位。gate0,僅由運行控制位trx1來啟動定時器/計數(shù)器運行;gate1,由trx1和外部中斷引腳上的高電平共同來啟動定時器/計數(shù)器運行。c/t:定時器模式和計數(shù)器模式選擇位。c/t0,為定時器模式;c/t1,為計數(shù)器模式。m1m0:工作方式選擇位(在后面介紹)。2.3.3 定時器/計數(shù)器的4種工作方式定時器/計數(shù)器的4種工作方式下的邏輯結(jié)構(gòu)如表2-3所示。表2-3 定時器/計數(shù)器的4種工作方式下的邏輯結(jié)構(gòu)表 m1m2工作方式00方式0,為13位定時器/計數(shù)器01方式1,為16位定時器/計數(shù)器

11、10方式2,為初值自動重裝的8位定時器/計數(shù)器11方式3,僅t0有效,將t0分為兩個8位定時器/計數(shù)器此次設(shè)計采用定時器0工作方式1,故在此詳述。方式1是16位計數(shù)結(jié)構(gòu)的工作方式,計數(shù)器由th0的全部8位和tl0的全部8位構(gòu)成,計數(shù)范圍是1-65536。定時時間計算公式為:2.4 其他元器件的應(yīng)用 在交通燈控制系統(tǒng)中,還用到了以下幾個器件:74ls04與非門,共陽極led顯示管,排阻。與非門主要用在人行道紅綠燈中用于減少口的使用,顯示管用于顯示倒計時,排阻用于拉高p0口。這樣,硬件方面的設(shè)計就到此結(jié)束,整個系統(tǒng)的電路圖在附錄a,下一章將介紹軟件的設(shè)計。第三章 交通燈系統(tǒng)軟件的設(shè)計3.1 主程序

12、流程圖程序流程圖是描述程序運行流程的一種圖表。用它描述算法,直觀形象,能較清晰地表達各處理之間的關(guān)系。它不僅描繪程序從頭到尾的運行順序,也描述程序運行過程中的所有可能發(fā)生的狀況。 開 始初始化變量 主干道綠開始亮,次干道紅燈亮,延遲60秒。主干道繼續(xù)紅燈,次干道綠燈開始變黃燈,延遲2秒。主干道黃燈開始亮,次干道繼續(xù)亮紅燈,延遲2秒。主干道繼續(xù)紅燈,次干道黃燈開始閃亮3秒。主干道開始變成綠燈,次干道變成紅燈主干道黃燈閃亮3s,次干道繼續(xù)紅燈,延遲3秒。主干道紅燈,次干道綠燈,延遲30秒。有應(yīng)急車經(jīng)過,全部紅燈,等待10秒鐘讓應(yīng)急車輛通過圖3-1 主程序流程圖主程序的編寫比較簡單,因而其流程圖也不

13、會很復(fù)雜,圖3-1所示即為主程序流程圖3.2 int0中斷服務(wù)程序框圖 開 始是否 結(jié) 束1s次數(shù)(ones_counter)加一,50ms次數(shù)(fifms_counter)清零。50ms次數(shù)(fifms_counter)是否到20次 中斷程序主要就是完成1s的計數(shù)和定時器的初始化問題,其流程圖如圖3-2所示:重賦計數(shù)初值,50ms次數(shù)(fifms_counter)加1。圖3-2 中斷程序流程圖定時器初始化程序如下:定時器t0設(shè)定為工作方式1,初始值為th0=0x3ch,tl0=0xb0h。每一秒顯示一次,中斷服務(wù)程序如下:org000bhzdfw:pushpswsetbrs1setbrs0i

14、ncr3clrtr0movth0,#3chmovtl0,#0b0hsetbtr0cjner3, #9,exitsetb22h.0exit:poppswreti3.2.1按鍵掃描處理子程序的設(shè)計圖3-3 按鍵掃描子程序流程圖程序如下:;鍵掃描子程序區(qū)key:lcallksjnzlk1ljmpbblk1:lcalldisplcalldisplcallksjnzlk2lcalldispljmpbblk2:movb,20hlk3:lcallksjzlk4lcalldispljmplk3lk4:lcalldisplcalldisplcallksjzlk5ljmplk4lk5:mov 20h,bbb:re

15、t第四章 proteus仿真調(diào)試4.1設(shè)計完成原理圖 在電路連接完成后,將寫好的程序放入單片機,運行可以清楚且非常明顯的顯示出跟主程序一樣的效果。參考文獻1 劉高轈.單片機實用技術(shù)m.北京:清華大學(xué)出版社,2004.2 麗鳳.單片機原理及接口技術(shù)m.北京:北京交通大學(xué)出版社,2004.3 何立民.單片機應(yīng)用技術(shù)大全m.北京:北京航空航天大學(xué)出版社,1994.4 張毅坤.單片微型計算機原理及應(yīng)用m.西安:西安電子科技大學(xué)出版社,1998.5 吳金戎,沈慶陽.8051單片機實踐與應(yīng)用m.北京:清華大學(xué)出版社, 2003.6 余錫存.單片機原理及接口技術(shù)m.陜西:西安電子科技大學(xué)出版社,2000.7

16、 雷麗文.微機原理與接口技術(shù)m.北京:電子工業(yè)出版社,1997.8 李華.mcs-51系列單片機實用接口技術(shù)m.北京: 北京航空航天大學(xué)出版社,19939 周航慈.單片機應(yīng)用程序設(shè)計技術(shù)m.北京: 北京航空航天大學(xué)出版社,1991.10 何立民 mcs-51系列單片機應(yīng)用系統(tǒng)設(shè)計m.北京:北京航空航天大學(xué)出版社, 1995. 附錄a 交通燈控制系統(tǒng)原理圖附錄b pcb圖附錄 c 總程序清單;*:;堆棧棧底7fh;*;led數(shù)碼管顯示器設(shè)定;p0.7-p0.0段控線,接led的顯示段dp,g,f,e,d,c,b,a;p2.7-p2.0位控線,從左至右(led7,led6,led5,led4,le

17、d3,led2,led1,led0);顯示緩沖區(qū)設(shè)定從左至右依次為7fh,7eh,7dh,7ch,7bh,7ah,79h,78h(led7,led6,led5,led4,led3,led2,led1,led0);*;獨立式鍵盤設(shè)定;8個按鍵s2至s9分別依次接在p1.0至p1.7口線; ;*; ;子程序;disp(數(shù)碼管顯示子程序);dl(1毫秒延時子程序,晶振頻率12mhz);*;常數(shù)表格;tab(共陽數(shù)碼管字型代碼表);disbh(系統(tǒng)提示符p.字型代碼序號表);*;中斷服務(wù)程序;*;鍵功能程序;*;數(shù)據(jù)存儲器變量及常量單元定義;*;偽指令定義區(qū) ;*;系統(tǒng)起始程序區(qū) org0000hst

18、art: ljmp mainorg 000bhljmp zdfworg0030hmain: movsp,#7fhmovpsw, #00hmovr0,#20hmovr2,#96ml:movr0, #00hincr0djnz r2,ml ;初始化以及清零/ml0: movr1,#08hmovdptr,#disph0movr0,#78hml1: mova,#00hmovca,a+dptrmovr0,aincr0incdptrdjnzr1,ml1 loopa: lcalldisp ;顯示“p.”字符 lcallkey ;調(diào)用鍵掃程序jb20h.0, s2gn ;如果20h.0為1(也即按下了按鍵s2)

19、則轉(zhuǎn)移到鍵功能程序s2gnljmploopa/biaozhiequ 39hsecge equ40h;將40h單元用常量secge定義表示個位secshi equ41h;將41h單元用常量secshi定義表示十位;*;鍵功能程序區(qū)s2gn:clr rs1;寄存器為第1組setbrs0mov 39h,#1t10:mov77h,#60 movp3,#11011110b;主干道綠開始亮,次干道紅燈亮mov7dh,#10hmov7ch,#10hmov secge,#9movsecshi,#5aa1: mov7fh,secgemov7eh,secshit11: lcalldelay2lcalldelay2

20、lcall sjchuli djnz 77h, aa1/mov 39h,#2movr0,#2movp3,#11011101b;主干道黃燈開始亮,次干道繼續(xù)亮紅燈movsecge,#5movsecshi,#0aa2:mov7fh,secgemov7eh,secshimov7dh,#10hmov7ch,#10hlcallsjchulit2:lcalldelay2lcalldelay2djnzr0,aa2 ;延時2s/movr0,#3mov 39h, #3t3:movp3,#11011111b;主干道黃燈閃亮3s,次干道繼續(xù)紅燈lcalldelay2mov 39h, #4movp3,#1101110

21、1blcalldelay2mov78h,secgemov79h,secshimov7ah,#10hmov7bh,#10hlcallsjchulidjnzr0,t3;延時3s/movr0,#30mov 39h, #5movp3, #11110011b ;主干道紅燈,次干道綠燈movsecge,#9movsecshi,#2mov7fh,#10hmov7eh,#10haa3: mov7dh,secgemov7ch, secshit4:lcalldelay2lcalldelay2lcallsjchulidjnzr0,aa3;延時30s/movr0,#2mov39h,#6 movp3,#11101011

22、b ;主干道紅燈,次干道黃燈movsecge,#5movsecshi,#0aa4: mov7fh,secgemov7eh,secshit5:lcalldelay2lcalldelay2djnzr0, aa4 ;延時2s/movr0,#3 ;主干道紅燈,次干道黃燈閃3smov 39h,#7t6:movp3,#11111011blcalldelay2mov 39h,#8movp3,#11101011blcalldelay2lcallsjchulimov7dh,secgemov7ch,secshidjnzr0,t6 ;延時3sljmp s2gnsjchuli: push psw;堆棧保護 pusha

23、cc setbrs1;使用第二組寄存器 clrrs0 movr0,secge mova,secshi swapa orla,r0 ;到此處實現(xiàn)合字功能 subba,#01h;實現(xiàn)減一功能 movr0,a anla,#0fh;屏蔽掉高四位 movsecge,a ;將底四位送給個位secge mova,r0 swapa ;高低字節(jié)交換 anla,#0fh ;屏蔽功能 movsecshi,a ;給十位送數(shù) lcallpand ;調(diào)用判斷 popacc poppsw ret/判斷子程序,判斷數(shù)字的合法性/pand: pushacc ;堆棧保護 clrcy ;進位清零 mova,secge subba,

24、#09h ;個位的數(shù)與9作差 jbccy,k2 ;如果出現(xiàn)借位(數(shù)據(jù)合法)則轉(zhuǎn)向k2,沒有(數(shù)據(jù)非法)則循序執(zhí)行k1: mova,secge subba, #06h ;對非法數(shù)據(jù)進行減6,得到合法數(shù)據(jù) movsecge,a k2: mova,secshi clrcy subba,#10;十位的數(shù)與10作差 jbccy,k4 ;如果出現(xiàn)借位(數(shù)據(jù)合法)則轉(zhuǎn)向k2,沒有(數(shù)據(jù)非法)則循序執(zhí)行 k3: mova,secshi subba, #06h ;對非法數(shù)據(jù)進行減6,得到合法數(shù)據(jù) movsecshi,a k4: popacc ret;*;表格區(qū)disph0: db10h,10h,10h,10h,

25、10h,10h,10h,11h;字符“p.”序號表tab: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h ;0-8 db 90h,88h,83h,0c6h,0a1h,86h,8eh,0ffh,0ch ;9,a,b,c,d,e,f,滅,“p.”;*;鍵掃描子程序區(qū)key:lcallksjnzlk1ljmpbblk1:lcalldisplcalldisplcallksjnzlk2lcalldispljmpbblk2:movb,20hlk3:lcallksjzlk4lcalldispljmplk3lk4:lcalldisplcalldisplcallksjz

26、lk5ljmplk4lk5:mov 20h,bbb:ret;*;鍵處理子程序ks:pushpswclrrs1setbrs0movp1,#0ffhmova,p1cplamov20h,aclrrs1clrrs0poppswret/;顯示子程序;disp: pushacc;壓入堆棧pushdphpushdplpushpswclrrs1setb rs0movdptr,#tab;顯示字符代碼首地址送往dptrmovr1,#78hmovr2,#08h;循環(huán)次數(shù),即驅(qū)動管的個數(shù)movr3,#0feh;位控代碼(從右往左顯示)disp1: mova,r1 movca,a+dptrmovp0,a;送段空碼incr1movp2,r3;送位控碼lcalldelay ;延時調(diào)用mova,r3rlamovr3,adjnzr2, disp1;循環(huán)判斷disp2:popdph ;出棧popdplpopaccpoppswret/;延時1ms子程序(晶振頻率12mhz)dldelay: movr5,#02hmovr6,0ffhloop1:djnzr6,loop1loop2:djnzr5,loop

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論