<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統 > 設計應用 > PIC單片機實現交通燈控制系統

          PIC單片機實現交通燈控制系統

          作者: 時間:2012-02-13 來源:網絡 收藏

          1 引 言

          本文引用地址:http://www.ex-cimer.com/article/172125.htm

          我國機動車輛發(fā)展迅速,而城鎮(zhèn)道路建設由于歷史等各種原因相對滯后。道路擁擠、阻塞現象及事故常有發(fā)生。如何利用當今計算機與自動控制技術,有效地疏導,提高城鎮(zhèn)路口的通行能力,提高車輛速度,減少交通事故是值得我們研究的新課題。而目前國內利用實行交通管制這方面應用較少。下面分析用交通燈控制設計方法。

          2 硬件設計

          本系統選用美國Microchip公司的16F873。配合一些外圍電路完成交通燈自動轉換系統。有以下優(yōu)點:
          ①采用哈佛結構(數據總線和指令總線分離)。
          ②指令的“單字節(jié)化”。
          ③精簡指令集(RISC)技術。
          ④尋址方式簡單。
          ⑤代碼壓縮率的提高。
          ⑥運行速度高。
          ⑦功耗低、驅動能力強。
          ⑧具備I2C和SPI串行總線端口。
          ⑨尋址空間簡潔。
          ⑩外圍電路簡潔。
          開發(fā)方便。
          C語言編程。
          品種豐富[1]。
          程序保密性強。

          其指令系統除了程序分支指令是單字節(jié)雙周期指令外,其他指令都是單周期、單字節(jié)指令。在這些指令中,沒有功能相交叉的指令,使所有的指令具有簡潔性,從而執(zhí)行速度非??臁IC單片機硬件特點:PIC16F873型單片機是PIC中級單片機中很有特色的一款,其指令字節(jié)為14 b[2]。他具有PIC單片機的全部優(yōu)點,而且片內還帶有128×8的E2PROM數據存儲器,其程序存儲器(4 k×14 b)也與眾不同,采用快閃存儲器??扉W存儲器可以在電路板上快速擦除和寫入,最適合制作仿真板。借助于PIC16F873制作的仿真板,我們在程序編寫和調試過程中,可以方便的燒寫程序和修改程序。

          電路完成功能是:車輛放行方向上(A線)綠燈亮25 s,黃燈警告5 s,車輛禁止方向上(B線)紅燈亮30 s,然后綠燈開始放行。各方向上計數器從30開個電路由PIC16873所控制,譯碼電路由CD4056和7段數碼管構成,CD4056的功能是將BCD 碼轉換成十進制數,然后送7段數碼管顯示輸出。6個發(fā)光二極管用來模擬雙向十字路口的紅、黃、綠燈。

          5.jpg

          3 軟件設計

          Microchip公司為PIC系列單片機配備了功能強大的軟件集成開發(fā)環(huán)境MPLAB,應用MPLAB就能在微機上對PIC系列單片機進行程序的創(chuàng)建、錄入、編輯以及匯編,甚至還能程序的模擬運行動態(tài)調試(Debug)之類的虛擬演練,而且調試可以采用連續(xù)運行、單步運行、自動單步運行、設置斷點運行等多種運行方式[1]。

          3.1 主程序方框圖

          主程序框圖如圖2所示。

          6.jpg

          控制過程可分為4個過程:
           ?、俳oPORTA送控制碼“0CH”,就是給A口的數據寄存器送“00001100”這樣就使A線的綠燈亮,B線的紅燈亮。
           ?、谕瑯拥慕oPORTA送“0AH”,A線黃燈亮,B線紅燈亮。
           ?、劢oPORTA送“21H”,A線紅燈亮,B線綠燈亮。
           ?、芙oPORTA送“11H”,A線紅燈亮,B線黃燈亮。

          這樣就完成了紅綠燈的轉換。用A口來控制雙向路口的紅黃綠燈的閃亮,將控制碼送入A口的數據寄存器PORTA,送1表示輸出高電平、0表示輸出為低電平,PORTA內容輸出就可控制紅黃綠燈的亮暗[3]。

          3.2 8位二進制轉化成2位BCD碼流程圖

          二進制到BCD碼轉變流程圖如圖3所示。

          7.jpg

          如果直接接7段顯示器,就需要2個輸出端口(PORTC和PORTB),而接上CD4056后只需要1個輸出端口(PORTC),這樣就可以省出一個輸出端口(PORTB)用于其功能擴展。二進制到BCD碼轉變子程序就是為了利用CD4056能完成功能而編寫的。

          3.3 延時子程序流程圖

          延時序中,整個指令執(zhí)行的時間和延時時間。使用4 MHz時鐘,每個指令周期需要4個震蕩周期,則每條指令周期為1μs所以單指令周期執(zhí)行時間為1μs,雙周期指令為2μs。在這種情況下,秒級的延時需要三重循環(huán)。

          延時時間=[(3×255+5)×255+7]×5+6=991 785μs=0.991 785 s

          所以延時子程序整個指令執(zhí)行時間(延時子程序)約1 s。

          4 MPLAB-ICD在線調試

          MPLAB-ICD是Microchip公司為其PIC單片機中具有片內Flash程序存儲器的PIC16F87X研制的一套廉價的學習和開發(fā)工具套件。MPLAB-ICD可以用作實驗階段的評估和輔助調試。他既是一個編程器(即程序燒寫器),又是一個實時仿真和程序燒寫器。

          用MPLAB-ICD工具套件可以實現以下工作:
            ①電路中實時運行和調試自己的源程序;
            ②硬件調試。用自己編制的程序來調試和檢測自制目標板上的電路;
           ?、鄢绦蚬袒@?ldquo;在線串行編程技術”將自己設計的目標程序燒寫到插在目標板上的PIC16F87X單片機中。

          4.1 軟件調試

          在應用MPLAB-ICD實現在線調試時首先應用MPLAB-ICD提供的一個范例程序tut877.asm[2],他能完成使PORTC口8個輸出口依次高點平,而MPLAB-ICD在PORTC的8個口上都接了發(fā)光二極管,那么將程序燒寫進去后就能完成8個發(fā)光二極管的依次閃動。則程序燒寫正確了。

          接下來依次調試子程序。例如在程序調試的后期,程序已經基本能完成任務。因為單部執(zhí)行時,寄存器內容正確,所以程序正確,只是燒寫器有問題。所以在程序調試過程中要細心、耐心,調試時最好能夠及時地記錄程序調試的進程和已解決的問題,這樣有利于調試工作的連續(xù)性,調試工作不會有重復。而且及時的記錄調試進程有利于錯誤的縮小,可以更好地完成調試。

          4.2 程序燒寫

          程序燒寫的步驟如下:
          ①建立一個十六進制調試文件;
          ②新“項目”;
          ③項目會話窗口;
          ④設置節(jié)點屬性;
          ⑤增加節(jié)點;
          ⑥完成對“項目”的設置;
          ⑦建立“項目”(Make Project);
          ⑧對PIC16F873進行編程;
          ⑨運行pro.asm軟件。

          程序燒寫完畢后,就可以將單片機插入實驗板中運行了。

          4.3 整體電路設計和安裝調試

          原理圖設計出后,就是進行原理圖打印和印刷電路板的設計了。這通常是有Protel完成[3]。成形的電路這里不再贅述。

          5 結 語

          實驗測試結果證明用本系統PIC單片機能完成交通燈一般控制過程,但功能還不夠完善,比如交通燈紅、黃、綠時間還不能按交通緊松完成手控調整,軟件編寫實現功能還不能很好控制硬件人工操作。本系統今后還有待以進一步完善,增加更強大功能,比如手控時間的調節(jié)、攝像機交通監(jiān)控的控制、盲人通過的交通燈的控制等。

          參考文獻
          [1] 施威鉻.PIC單片機輕松入門[M].北京:清大學出版社,2001.
          [2] 何信龍.PIC16F87x快速上手[M].北京:清 華大學出版社,2001.
          [3] 趙晶.Protel99高級應用[M].北京:人民郵電出版社,2001.
          [4] 徐霞,譚保成.監(jiān)控播音系統的研制[J].西安工業(yè)學院學報,2001,(3).

          單片機相關文章:單片機教程


          單片機相關文章:單片機視頻教程


          單片機相關文章:單片機工作原理




          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();