微機原理與接口技術課程設計交通信號燈控制系統(tǒng)_第1頁
微機原理與接口技術課程設計交通信號燈控制系統(tǒng)_第2頁
微機原理與接口技術課程設計交通信號燈控制系統(tǒng)_第3頁
微機原理與接口技術課程設計交通信號燈控制系統(tǒng)_第4頁
微機原理與接口技術課程設計交通信號燈控制系統(tǒng)_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、微機原理與接口技術綜合實踐說明書課程名稱:微機原理與接口技術課程設計設計題目:交通信號燈控制系統(tǒng)設計時間:2013年 7月 1日至2013年7月11日摘要:近年來隨著科技的迅猛發(fā)展,單片機的種類不斷的增多,功能日趨強大,相應的,對他的應用也在正在不斷地深入,深入到了我們?nèi)粘I畹狞c點滴滴,比如說我們的電子表、熱水器、空調等家電,都有單片機控制系統(tǒng)的影子。另外,在對信號的實時檢測和機構的各種自動控制系統(tǒng)中,單片機也常被作為一個核心部件來使用。 交通信號燈使交通得以有效管制,對于疏導交通流量、提高道路通行能力,減少交通事故有明顯效果。本系統(tǒng)由單片機系統(tǒng)(89c51)、按鍵、 led顯示、交通燈演示

2、系統(tǒng)組成。在系統(tǒng)中應用了8155接口芯片、74ls14芯片以及8*8點陣,比較完整的對實際的系統(tǒng)進行了模仿,系統(tǒng)除了包括常規(guī)交通燈的控制疏導功能外,還具有緊急情況亮紅燈、led倒計時顯示、某一向道路綠燈常綠,復位等功能。本文比較詳細的介紹了該系統(tǒng)的基本原理及接口電路,以及在電路中用到的一些硬件設備。關鍵詞:交通信號燈、單片機、接口電路目錄1任務要求31.1應用系統(tǒng)實現(xiàn)功能:31.2關鍵技術難點:31.3工具:32工作計劃安排:33系統(tǒng)設計43.1硬件設計:43.1.1系統(tǒng)總框圖:43.1.2 led接口電路43.1.3按鍵電路:63.1.4單片機系統(tǒng):63.1.5交通燈演示模塊:73.1.6其

3、它硬件元件73.1.7硬件電路原理圖83.2軟件設計93.2.1交通燈的三種狀態(tài)93.2.2程序流程圖93.2.3源程序清單134設計分工:195參考文獻201任務要求1.1應用系統(tǒng)實現(xiàn)功能:1、十字路口常規(guī)自動控制,南北方向與東西方向紅、黃、綠燈的自動切換,點陣led顯示紅燈倒計時時間;2、按鍵實現(xiàn)人工控制,如實現(xiàn)雙向紅燈,某一向常綠,或人工調節(jié)自動控制中的紅綠燈時間。1.2關鍵技術難點:擴展8*8點陣led顯示器一塊,設計按鍵4個,兩組(紅、黃、綠)模擬交通燈的發(fā)光二極管。1.3工具:1、電烙鐵 2、電烙鐵架 3、鑷子 4、小螺絲刀 5、偏口鉗 6、焊錫 7、電路板2工作計劃安排:7月1

4、日上網(wǎng)、請教老師以及通過圖書館查找了一小部分資料。7月2日確定程序的具體實現(xiàn)功能。7月3日上網(wǎng)查找資料,并且進過討論確定了程序設計思路,畫出程序流程圖,各自對參考程序先進行理解下。7月4日編寫按鍵程序,針對各個按鍵的不同功能設計,并綜合調試,找出錯誤地方并標記。7月5日對參考程序進行分析,一起讀程序,對如何實現(xiàn)功能進行探討。7月6日編程,編寫主程序并對如何編寫按鍵程序進行了探討。7月7 日通知領取所需功能元器件,并將電路板缺漏部分焊接完成。7月8 日程序綜合,讀程序,找錯誤,然后進行討論,修改程序,直到運行正常。7月 9 日討論創(chuàng)新點,確定其功能。7月 10 日對創(chuàng)新部分進行翻譯,編程調試,正

5、常運行。7月 11 日總體調試,撰寫報告。3系統(tǒng)設計3.1硬件設計:系統(tǒng)的核心部分為89c51和8155芯片,一方面通過接口電路89c51控制交通燈的正常顯示,另一方面通過8155芯片控制led倒計時,同時通過k1,k2,k3,k4按鍵的中斷響應再控制交通燈演示模塊,按鍵中斷也由89c51控制。led顯示單片機系統(tǒng)接口電路交通燈演示模塊按鍵控制電路3.1.1系統(tǒng)總框圖:3.1.2 led接口電路連接方式:led點陣由8155芯片控制,8155的a口和b口均選用輸出方式,該led為8*8共陽數(shù)碼顯示點陣管,其連接方式如圖1:圖1 led點陣圖北京交通大學微機原理與接口技術綜合實踐說明書要使點陣上

6、aa二極管點亮,則a為高電平,a為低電平。其余依此類推。因第一排至第八排發(fā)光二極管的陽極是連接在一起的,因此,該點陣為共陽點陣。當然我們也可以理解成共陰連接方式。顯示方式:掃描字由pa口控制,數(shù)據(jù)由pb口控制。根據(jù)8155與89c51的連接方式可以確定8155的命令狀態(tài)口以及a、b口的地址。連接電路如圖2:圖2 8155與led連接電路圖 3.1.3按鍵電路:按鍵電路原理圖如圖3:圖3 按鍵電路原理圖它由按鍵k1,k2,k3,k4 組成,如圖3,若閉合按鍵,由于按鍵系統(tǒng)接地,給0電平,通過反向器后變?yōu)楦唠娖?送給系統(tǒng)響應。各個口的響應由89c51的p3口來進行控制。3.1.4單片機系統(tǒng):由89

7、c51和8155兩塊芯片組成,系統(tǒng)的主控制器,用以控制其他模塊協(xié)調工作。89c51與交通燈演示模塊的接口電路圖如圖4:圖4 89c51與交通燈演示模塊的接口電路圖3.1.5交通燈演示模塊:該模塊由12個發(fā)光二極管構成,由p1口控制,每位控制相對方向相同顏色的兩個燈的亮暗,p1.0控制燈1、2,p1.1控制燈3、4,p1.2控制燈5、6以次類推。由圖示看出當p1都給高電平1時,經(jīng)過反向器變?yōu)榈碗娖?,二極管通,燈亮。連接圖如圖5所示: 圖5交通燈演示模塊連接圖3.1.6其它硬件元件74ls14:六反相器,主要作用就是反向,它的邏輯圖如圖6所示:引出端符號 :1a6a 輸入端 1y6y 輸出端圖6

8、 74ls14邏輯圖三極管:依照極性可分成npn 、pnp 兩種類,本實驗使用的是pnp型三極管3.1.7硬件電路原理圖3.2軟件設計3.2.1交通燈的三種狀態(tài)(1)正常狀態(tài)下紅綠燈的定時切換。切換時間在本組設計為8s初始化后,兩個方向通行時間相等。各燈運行及倒計時情況良好。倒計時顯示的字為“15 14 13 12 05 04 03 02 01 00”,在倒計時為“03 02 01”時綠燈變黃燈,黃燈閃爍6次。(2)按一下k1鍵,南北向綠燈常亮,無倒數(shù)計時,led顯示器顯示南北方向的箭頭。再按一下k1鍵,東西向綠燈常亮,無倒數(shù)計時,led顯示器顯示東西方向的箭頭。兩者交替進行。(k1按鍵的指令

9、是通過判斷p2.1口的高低電平來執(zhí)行的,期間檢測k1與k4按鍵)(3)按k2鍵,切換倒計時的顯示動畫方式。(k2按鍵的功能帶有延續(xù)性,即k3,k4口復位后k2口功能不初始化。) (4)按鍵k3后,出現(xiàn)黃燈閃爍三次,然后出現(xiàn)燈全紅狀態(tài),led顯示字“x”。當再按一下該鍵,黃燈閃爍,led回到進入黃燈前的狀態(tài),繼續(xù)完成按鍵k3前的程序。(5)按復位鍵k4,燈會恢復到初始狀態(tài)重新循環(huán)。(通道由f0標志位決定)示意圖如圖7所示:圖7 交通燈示意圖3.2.2程序流程圖程序總共有三大部分,分別是主程序(按鍵服務程序)、按鍵中斷子程序、顯示子程序。通過原理圖可以看出,判斷是否有按鍵是通過判斷89c51的p3

10、口的各個位的電平信號。開始a道放行標志0f0a道通行時間送r3.r7a道亮紅燈,b道亮綠燈檢查有無按鍵動作動作y調用中斷子程序并調用顯示程序 r3/r7-1=0?y亮黃燈檢查有無按鍵動作動作y調用中斷子程序并調用顯示程序 黃燈亮時間t=5s?y置b道放行標志1f0nnb道通行時間送r3.r7b道亮紅燈,a道亮綠燈檢查有無按鍵動作動作y調用中斷子程序并調用顯示程序 r3/r7-1=0?y亮黃燈檢查有無按鍵動作動作y調用中斷子程序并調用顯示程序 黃燈亮時間t=5s?ynn開場初始化燈全閃亮調用中斷子程序 按下k1按下k4按下k2按下k3nnna道亮紅燈,b道亮紅燈yp3.3=0?模式二紅燈亮的時間

11、加一y返回yna道亮紅燈b道亮綠燈p3.1=0?yyny保持原來狀態(tài)p3.1=0?yna道綠b道紅np3.1=0?ya道綠b道紅p3.1=0?y模式二紅燈亮的時間加一ynp3.1=0?p3.2=0?顯示子程序b口地址送dptr字位碼送b口對a口地址進行修正查字形碼表a口地址送dptr字形碼送a口顯示掃描前四列顯示(31h)+131h=?0延時yn返回掃描后四列顯示掃描四列顯示r0是否指向低四位ny3.2.3源程序清單 org 0000h ajmp main org 000bhajmp zdorg 0100hmain: mov a , #00111111b mov p1, amov tmod,#

12、01h ;定時器初始化 mov ie,#82h mov th0,#3ch ;設置50ms中斷 mov tl0,#0b0h mov r2,#20 mov r3,#30 ;設置紅燈時間為30 s mov r6,#20 ;設置紅燈時間為20 skpp:mov 50h,r3mov r7,#01hmov a,#11100001b ;點亮路口1紅燈與路口2綠燈 mov p1,acycle: acall key ; 調用鍵盤掃描程序 acall display ; 調用顯示程序ajmp cycle ; 循環(huán)key: acall key1 ; 鍵盤掃描子程序 cjne r4,#0ffh,prokey ;有鍵按

13、下轉到prokey執(zhí)行 ajmp nokey ;無鍵按下轉到nokey執(zhí)行 prokey: mov dptr,#keytab ;按鍵表首地址 clr c rlc a ;為查表正確,累加器變量乘2 jmp a+dptr keytab: ajmp k1 ;按鍵表 ajmp k2 ajmp k3 ajmp k4nokey: ajmp kd ;無按鍵時返回k1: clr tr0 ; 按鍵1子程序,關閉中斷 mov a,#11001001b ; 點亮雙向紅燈 mov p1,a mov dptr,#0100h ;關閉led顯示 mov a,#03h movx dptr,a mov dptr,#0101h

14、mov a,#0ffh movx dptr,adp1: mov a,p3 ; 判斷按鍵1是否按下 cjne a,#0f1h,dp1 ; 沒有則循環(huán)判斷等待acall del0 ;有按鍵1延時消抖acall com ;松手檢測 ajmp kpp ; 返回初始化 k2: clr tr0 ; 按鍵2子程序,關閉中斷 mov a,#11100001b ; 設置路口1常綠 mov p1,a mov dptr,#0100h ;關閉顯示 mov a,#03h movx dptr,a mov dptr,#0101h mov a,#0ffh movx dptr,a dp2: mov a,p3 ; 判斷按鍵2是否

15、按下 cjne a,#0f2h ,dp2 ; 沒有則循環(huán)判斷等待acall del0 ; 有按鍵2延時消抖 acall com ;松手檢測 mov a,#11001100b ; 設置路口2常綠 mov p1,adp3: mov a,p3 ; 判斷按鍵2是否按下 cjne a,#0f2h ,dp3 ; 沒有則循環(huán)判斷等待 acall del0 ; 有按鍵2延時消抖 acall com ;松手檢測 mov a,#11100001b mov p1,a ajmp kpp ; 返回初始化 k3: inc r3 ; 按鍵3子程序 紅燈時間加1 cjne r3,#99,hp ; 若增加至99則從0重新開始

16、mov r3,#00hhp: ajmp kpp ; 返回紅燈倒計時k4: inc r6 ; 按鍵3子程序 紅燈時間加1 cjne r6,#99,hp1 ; 若增加至99則從0重新開始 mov r6,#00hhp1: ajmp kpp1 ; 返回綠燈倒計時kd: ret ; 子程序返回key1: mov a,p3 ;按鍵掃描子程序 xrl a,#0f0h ;各位取反 jz return ;無鍵按下,轉到return執(zhí)行 acall del0 ;有鍵按下,延時消抖 mov a,p3 ;再讀入各按鍵狀態(tài) mov r5,a xrl a,#0f0h jz return ;無鍵按下,轉到return執(zhí)行

17、cjne r5,#0f1h,next1 ;不是按鍵1轉到next1執(zhí)行 mov r4,#0 ;將對應按鍵表中偏移量送入r4 sjmp com ;執(zhí)行松手檢測 next1: cjne r5,#0f2h,next2 ;不是按鍵2轉到next2執(zhí)行 mov r4,#1 sjmp comnext2: cjne r5,#0f4h,next3 ;不是按鍵3轉到next3執(zhí)行 mov r4,#2 sjmp comnext3: cjne r5,#0f8h,return ;不是按鍵4轉到return執(zhí)行 mov r4,#3com: mov a,p3 ;松手檢測 xrl a,#0f0h jnz com ;等待,直

18、到按鍵釋放 mov a,r4 sjmp return1 return: mov r4,#0ffh ;無鍵按下,給r4賦ffh return1:ret ; 返回del0: mov 40h,#18h ; 延時12ms del2: mov 41h,#0ffhdel3: djnz 41h,del3 djnz 40h,del2 ret display: setb tr0 ; 顯示子程序 開啟中斷disp: mov r1,#53h mov r0,#50h ; 顯示的數(shù)放在50h中 mov a,r0 mov b,#0ah div ab mov r1,a ; 顯示的數(shù)十位放在53h中 inc r1 mov r

19、1,b ; 顯示的數(shù)個位放在54h中 mov r0,#53h mov r4,#0feh ; 列掃描初值 acall dis inc r0 acall dis mov a,50h cjne a,#00h,kp mov a,r7 cjne a,#04h,kp7 ;判斷是否為狀態(tài)4 ajmp kpp ; 是則返回狀態(tài)1 kp7: mov a,r7 cjne a,#01h,kp2 ; 不是則判斷是否為狀態(tài)1mov a,#11010001b ; 是則調整為狀態(tài)2 mov p1,amov 50h,#5 ; 黃燈時間5 s mov r7,#02h ajmp kp kp2: mov a,r7 cjne a,#

20、02h,kp3 ; 不是則判斷是否為狀態(tài)2 kpp1: mov a,#11001100b ; 是則調整為狀態(tài)3 mov p1,a mov 50h,r6 mov r7,#03h ajmp kp kp3: mov a,#11001010b ; 不是則調整為狀態(tài)4 mov p1,a mov 50h,#5 mov r7,#04hkp: ret dis: mov 31h,#4 ;4列掃描顯示子程序 mov a,r0 ;取顯示數(shù)字 rl a rl a ;為查表正確,累加器變量乘4 mov r5,alp: mov dptr,#0100h ;關顯示 mov a,#03h movx dptr,a mov a,#

21、0ffh mov dptr,#0101h movx dptr,a mov a,r5 ;查表變量送入acc inc r5 mov dptr,#dtab ;字形表首地址 movc a,a+dptr ;查表 mov r1,a mov dptr,#0100h mov a,#03h movx dptr,a mov dptr,#0102h mov a,r1 movx dptr,a ;字形碼輸出 mov dptr,#0100h mov a,#03h movx dptr,a mov a,r4 mov dptr,#0101h movx dptr,a ;列掃描字輸出 rl a ;下一列 mov r4,a acal

22、l del1 ;延時 djnz 31h,lp retdel1: mov 30h,#02h ; 延時子程序 dl0: mov 32h,#0ffhdl6: djnz 32h,dl6 djnz 30h,dl0 ret dtab: db 83h,7dh,7dh,83h ;0 行字型碼表db 0ffh,0bdh,01h,0fdh ;1 db 0b1h,6dh,6dh,9dh ;2 db 0bbh,6dh,6dh,93h ;3 db 0e7h,0d7h,01h,0f7h ;4 db 0dh,6dh,6dh,73h ;5 db 83h,6dh,6dh,0b3h ;6 db 3fh,7fh,41h,3fh ;7 db 93h,6dh,6dh,93h ;8 db

溫馨提示

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

評論

0/150

提交評論