交通信號(hào)燈模擬控制系統(tǒng)設(shè)計(jì)_第1頁(yè)
交通信號(hào)燈模擬控制系統(tǒng)設(shè)計(jì)_第2頁(yè)
交通信號(hào)燈模擬控制系統(tǒng)設(shè)計(jì)_第3頁(yè)
交通信號(hào)燈模擬控制系統(tǒng)設(shè)計(jì)_第4頁(yè)
交通信號(hào)燈模擬控制系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、單片機(jī)課程設(shè)計(jì)任務(wù)書(shū)一、題目:交通信號(hào)燈模擬控制系統(tǒng)設(shè)計(jì)二、設(shè)計(jì)任務(wù):1、完變化規(guī)律成交通燈的,即一個(gè)十字路口為東西向和南北向,四個(gè)路口均有紅黃綠三燈和兩個(gè)led數(shù)碼顯示管。交通燈上電以后進(jìn)入初始狀態(tài)即東西紅燈,南北紅燈。5s后轉(zhuǎn)狀態(tài)1:南北綠燈亮通車,東西紅燈亮,禁止通行,持續(xù)30s;30s后轉(zhuǎn)狀態(tài)2:南北綠燈滅轉(zhuǎn)黃燈閃亮,延時(shí)5秒,東西仍然紅燈;5s后轉(zhuǎn)狀態(tài)3:東西綠燈亮通車,南北轉(zhuǎn)紅燈,持續(xù)30s;30s后轉(zhuǎn)狀態(tài)4:東西綠燈滅轉(zhuǎn)亮黃閃燈,延時(shí)5秒,南北仍然紅燈。最后循環(huán)至狀態(tài)1。2、用8個(gè)led數(shù)碼管(各個(gè)方向均有兩個(gè)led數(shù)碼管,分別表示個(gè)位是和十位)顯示倒計(jì)時(shí)。倒計(jì)時(shí)用于提醒駕駛員或

2、行人信號(hào)燈發(fā)生改變的時(shí)間,以便他們?cè)凇巴V埂焙汀巴ㄐ小眱烧咦鞒龊线m的選擇。3、在緊急狀態(tài)下,通過(guò)k1鍵手動(dòng)設(shè)置,將所有路口的燈變?yōu)榧t燈。三、設(shè)計(jì)內(nèi)容要求:總體方案選擇及各功能模塊合理劃分 產(chǎn)品選擇 硬件設(shè)計(jì): 做出單片機(jī)主電路、交通燈接口電路和led數(shù)碼管顯示電路,鍵盤(pán)接口電路等 。 軟件設(shè)計(jì):程序流程圖 各功能模塊程序清單主要考慮的問(wèn)題:1、單片機(jī)i/o口是否夠用,不夠用怎么辦 2、如何驅(qū)動(dòng)發(fā)光二極管 3、數(shù)碼管顯示電路的設(shè)計(jì) 4、如何實(shí)現(xiàn)定時(shí)功能 5、如何讀取鍵盤(pán)數(shù)據(jù)1、使用led時(shí)驅(qū)動(dòng)電流不應(yīng)超過(guò)規(guī)格要求的最大電流,最好不要超過(guò)20ma,建議驅(qū)動(dòng)電流在10-20 ma之間2、注意led極

3、性不要接錯(cuò),一般情況下,燈腳稍長(zhǎng)的一端為正極,稍短的為負(fù)極,若兩燈腳一樣長(zhǎng)時(shí),要認(rèn)真識(shí)別標(biāo)記3、盡量不要將led與發(fā)熱電阻組件靠的太近發(fā)光二極管 紅色圓頭第一章 總體思路本系統(tǒng)采用單片機(jī)at89s51為中心器件來(lái)設(shè)計(jì)交通燈控制器,本設(shè)計(jì)系統(tǒng)由單片機(jī)i/o口擴(kuò)展系統(tǒng)、交通燈狀態(tài)顯示系統(tǒng)、led數(shù)碼顯示系統(tǒng)、緊急狀況按鍵電路等幾大部分組成。系統(tǒng)除基本的交通燈功能外,還具有倒計(jì)時(shí)等功能。at89s51單片機(jī)具有四組并行的i/o口可用于控制信號(hào)的傳輸,由此可用其作為交通燈和顯示牌的控制口。at89s51單片機(jī)具有終端功能并由外部中斷的輸入口可用于緊急情況下對(duì)紅綠燈的工作狀況做出改變,其積極狀況下的按鈕

4、k1接于單片機(jī)的的外部中斷接口處即可實(shí)現(xiàn)其功能。1、有以上分析可知此交通燈共有12盞,又東、西方向亮燈情況一致,南北方向亮燈情況一致,所以可用p1.0-p1.5六個(gè)i/o口對(duì)這12盞燈進(jìn)行控制。其亮滅情況由定時(shí)器按照定時(shí)要求要求對(duì)六個(gè)i/o輸入定時(shí)信號(hào)來(lái)控制。2、倒計(jì)時(shí)顯示牌由74ls164驅(qū)動(dòng)數(shù)碼管電路3、在緊急狀態(tài)下鍵盤(pán)的輸入可由p3.2(外部中斷)采用中斷方式進(jìn)行輸入第二章 硬件設(shè)計(jì)一、交通燈的驅(qū)動(dòng)基于完成以上任務(wù)分析,結(jié)合所學(xué)有關(guān)知識(shí),尤其是本學(xué)期所學(xué)關(guān)于單片機(jī)的中斷系統(tǒng)和定時(shí)/計(jì)數(shù)器的相關(guān)知識(shí)及應(yīng)用,我們知道對(duì)于紅、綠、黃四組各三盞燈的控制,可以通過(guò)把這十二盞燈分別接到單片機(jī)的六個(gè)輸

5、出引腳,若用p1口進(jìn)行輸出,則分配如下 at89s51p1.0 p1.1 p1.2 p1.3 p1.4 p1.5 l1 l2 l3 l4 l5 l6(東西紅) (東西黃) (東西綠) (南北紅) (南北黃) (南北綠) led顯示分布 圖2.1 p1口接交通燈的發(fā)光二極管其控制電路二、led數(shù)碼顯示牌的驅(qū)動(dòng)74hc164、74hct164 是高速硅門(mén) cmos 器件,與低功耗肖特基型 ttl (lsttl) 器件的引腳兼容。74hc164、74hct164 是 8 位邊沿觸發(fā)式移位寄存器,串行輸入數(shù)據(jù),然后并行輸出。數(shù)據(jù)通過(guò)兩個(gè)輸入端(dsa 或 dsb)之一串行輸入;任一輸入端可以用作高電平

6、使能端,控制另一輸入端的數(shù)據(jù)輸入。兩個(gè)輸入端或者連接在一起,或者把不用的輸入端接高電平,一定不要懸空。時(shí)鐘 (cp) 每次由低變高時(shí),數(shù)據(jù)右移一位,輸入到 q0, q0 是兩個(gè)數(shù)據(jù)輸入端(dsa 和 dsb)的邏輯與,它將上升時(shí)鐘沿之前保持一個(gè)建立時(shí)間的長(zhǎng)度。主復(fù)位 (mr) 輸入端上的一個(gè)低電平將使其它所有輸入端都無(wú)效,同時(shí)非同步地清除寄存器,強(qiáng)制所有的輸出為低電平。門(mén)控串行數(shù)據(jù)輸入 · 異步中央復(fù)位 · 符合 jedec 標(biāo)準(zhǔn) no. 7a · 靜電放電 (esd) 保護(hù): ·hbm eia/jesd22-a114-b 超過(guò) 2000 v&

7、#160;·mm eia/jesd22-a115-a 超過(guò) 200 v 。 · 多種封裝形式 · 額定從 -40 °c 至 +85 °c 和 -40 °c 至 +125 °c 。 功能圖 圖 2-2 邏輯符號(hào) 圖 2-3 iec 邏輯符號(hào) 圖 2-4 功能圖引腳信息圖 2-5 dip14、so14、ssop14 和 tssop14 封裝的引腳配置引腳說(shuō)明  符號(hào) 引腳 說(shuō)明 dsa 1 數(shù)據(jù)輸入 dsb 2 數(shù)據(jù)輸入 

8、;q0q3 36 輸出 gnd7  地 (0 v) cp 8 時(shí)鐘輸入(低電平到高電平邊沿觸發(fā)) /m/r 9 中央復(fù)位輸入(低電平有效)q4q71013輸出vcc14正電源圖 2-6 接線圖三、緊急停止電路(按鍵電路)p3.2 at89s51當(dāng)發(fā)生緊急狀況需要停止時(shí)可通過(guò)設(shè)置緊急停止按鍵來(lái)使路口紅燈亮起其工作方式為通過(guò)單片機(jī)的外部中斷輸入一信號(hào)是單片機(jī)調(diào)用中斷程序來(lái)實(shí)現(xiàn)。所以選用外部中斷0(即p3.2接口)作為中斷的輸入口 圖2.-7 按鍵接線圖四、時(shí)鐘輸入電路 3-2晶振模塊原理圖

9、五、硬件原理框圖: at89c51時(shí) 鐘 電 路 交 通 燈 led 數(shù)碼管振 蕩 電 路第三章 軟件設(shè)計(jì)思想及流程一 設(shè)計(jì)成序流程圖: 開(kāi)始初始化,置初值,設(shè)置工作方式東西綠燈亮,南北紅燈亮東西黃燈亮,南北紅燈亮東西紅燈亮,南北綠燈亮東西紅燈亮,南北黃燈亮調(diào)用顯示程序,將時(shí)間送顯示二主程序second1 equ 30h ;東西路口計(jì)時(shí)寄存器 second2 equ 31h ;南北路口計(jì)時(shí)寄存器 dbuf equ 40h ;顯示碼緩沖1 temp equ 44h ;顯示碼緩沖2 led_g1 bit p1.0 ;東西路口綠燈 led_y1 bit p1.1 ;東西路口黃燈 led_r1 bit

10、 p1.2 ;東西路口紅燈 led_g2 bit p1.3 ;南北路口綠燈 led_y2 bit p1.4 ;南北路口黃燈 led_r2 bit p1.5 ;南北路口紅燈 org 0000h ljmp start org 0100hstart: setb ex0 ;設(shè)置外部中斷0clr ex1setb eamov tmod,#01h ;置t0工作方式1 mov th0,#3ch mov tl0,#0b0h clr tf0 setb tr0 ;啟動(dòng)t0 clr a mov p1,aloop: mov r2,#20 ;置1s計(jì)數(shù)初值 mov r3,#30 ;綠燈亮30s mov second1,#

11、30 ;東西路口計(jì)時(shí)顯示初值30s mov second2,#30 ;南北路口計(jì)時(shí)顯示初值35s lcall display lcall state1 ;調(diào)用狀態(tài)1wait1:jnb tf0,wait1 ;查詢50ms到否 clr tf0 mov th0,#3ch ;恢復(fù)t0定時(shí)初值50ms mov tl0,#0b0h djnz r2,wait1 ;判斷1s到否?未到繼續(xù)狀態(tài)1 mov r2,#20 ;置50ms計(jì)數(shù)初值 dec second1 ;東西路口顯示時(shí)間減1 dec second2 ;南北路口顯示時(shí)間減1 lcall display djnz r3,wait1 ;狀態(tài)1維持30s m

12、ov r2,#20 ;置50ms計(jì)數(shù)初值 mov r3,#5 ;黃燈閃爍5s mov r4,#4 ;閃爍間隔200ms mov second1,#5 ;東西路口計(jì)時(shí)顯示初值5s mov second2,#5 ;南北路口計(jì)時(shí)顯示初值5s lcall displaywait2:lcall state2 ;調(diào)用狀態(tài)2 jnb tf0,wait2 ;查詢50ms到否 clr tf0 mov th0,#3ch ;恢復(fù)t0定時(shí)初值50ms mov tl0,#0b0h djnz r4,wait2 ;判斷200ms到否?未到繼續(xù)狀態(tài)2 cpl led_y1 ;東西黃燈閃爍 mov r4,#4 ;閃爍200ms

13、 djnz r2,wait2 ;判斷1s到否?未到繼續(xù)狀態(tài)2 mov r2,#20 ;置50 ms計(jì)數(shù)初值 dec second1 ;東西路口顯示時(shí)間減1 dec second2 ;南北路口顯示時(shí)間減1 lcall display djnz r3,wait2 ;狀態(tài)2維持5s mov r2,#20 ;置50ms計(jì)數(shù)初值 mov r3,#30 ;綠燈亮30s mov second1,#30 ;東西路口計(jì)時(shí)顯示初值35s mov second2,#30 ;南北路口計(jì)時(shí)顯示初值30s lcall displaywait3:lcall state3 ;調(diào)用狀態(tài)3 jnb tf0,wait3 ;查詢50

14、ms到否 clr tf0 mov th0,#3ch ;恢復(fù)t0定時(shí)初值50ms mov tl0,#0b0h djnz r2,wait3 ;判斷1s到否?未到繼續(xù)狀態(tài)3 mov r2,#20 ;置50ms計(jì)數(shù)初值 dec second1 ;東西路口顯示時(shí)間減1 dec second2 ;南北路口顯示時(shí)間減1 lcall display djnz r3,wait3 ;狀態(tài)4維持30s mov r2,#20 ;置50ms計(jì)數(shù)初值 mov r4,#4 ;閃爍間隔200 ms mov r3,#5 ;黃燈閃爍5s mov second1,#5 ;東西路口計(jì)時(shí)顯示初值5s mov second2,#5 ;南

15、北路口計(jì)時(shí)顯示初值5s lcall displaywait4:lcall state4 ;調(diào)用狀態(tài)4 jnb tf0,wait4 ;查詢100ms到否 clr tf0 mov th0,#3ch ;恢復(fù)t0定時(shí)初值100ms mov tl0,#0b0h djnz r4,wait4 ;判斷200ms到否?未到繼續(xù)狀態(tài)4 cpl led_y2 ;南北黃燈閃爍 mov r4,#4 ;閃爍200ms djnz r2,wait4 ;判斷1s到否?未到繼續(xù)狀態(tài)4 mov r2,#5 ;置100ms計(jì)數(shù)初值 dec second1 ; 東西路口顯示時(shí)間減1 dec second2 ;南北路口顯示時(shí)間減1 lc

16、all display djnz r3,wait4 ;狀態(tài)5維持5s ljmp loop state1: ;狀態(tài)1 setb led_g1 ; 東西路口綠燈亮 clr led_y1 clr led_r1 clr led_g2 clr led_y2 setb led_r2 ;南北路口紅燈亮 ret state2: ; 狀態(tài)2 clr led_g1 clr led_r1 clr led_g2 clr led_y2 setb led_r2 ;南北路口紅燈亮 ret state3: ;狀態(tài)4 clr led_g1 clr led_y1setb led_r1 ;東西路口紅燈亮setb led_g2 ;南

17、北路口綠燈亮 clr led_y2 clr led_r2 ret state4: ;狀態(tài)4 clr led_g1 clr led_y1 setb led_r1 ;東西路口紅燈亮 clr led_g2 clr led_r2 ret state5: ;狀態(tài)5 clr led_g1 clr led_y1 setb led_r1 ;四個(gè)路口紅燈亮 clr led_g2 clr led_y1 setb led_r2 ret display: ;數(shù)碼顯示 mov a,second1 ;東西路口計(jì)時(shí)寄存器 mov b,#10 div ab mov dbuf+3,a mov a,b mov dbuf+2,a mov a,second2 ;南北路口計(jì)時(shí)寄存器 mov b,#10 div ab mov dbuf+1,a mov a,b mov dbuf,a mov r0,#dbuf mov r1,#temp mov r7,#4 dp10:mov dptr,#ledmap mov a,r0 movc a,a+dptr mov r1,a inc r0 inc r1 djnz r7,dp10 mov r0,#temp mov r1,

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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)論