0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

基于8255A和8253芯片實現(xiàn)交通紅綠燈模擬系統(tǒng)的應用方案

電子設計 ? 來源:中國礦業(yè)大學計算機科學 ? 作者:高珩,邱燁,鮑鵬 ? 2021-03-23 14:47 ? 次閱讀

作者:高珩,邱燁,鮑鵬,紀永強

本文在綜合分析了8255A 及8253 芯片的特點之后,運用二者的特性,進行了交通紅綠燈模擬系統(tǒng)設計,在詳細闡述了設計思想及電路設計方案之后,對該系統(tǒng)的有效性測試表明了該交通紅綠燈模擬系統(tǒng)具有較為可靠的性能,對相關的電子設計具有一定的參考價值。在文章的最后,作者對電子設計的發(fā)展前景進行了展望,相信交通控制燈會在其未來的行業(yè)應用中發(fā)揮更大的作用。

1. 需求分析

本系統(tǒng)的設計首先必須了解交通路燈的亮滅規(guī)律。設有一個十字路口,1、3 為南,北方向, 2、4 為東,西方向,初始態(tài)為4 個路口的紅燈全亮。之后, 1、3 路口的綠燈亮,2、4 路口的紅燈亮, 1、3 路口方向通車。延遲一段時間后, 1、3 路口的綠燈熄滅,而1、3 路口的黃燈開始閃爍。閃爍若干次后, 1、3 路口的紅燈亮, 同時 2、4 路口的綠燈亮, 2、4 路口方向開始通車。延遲一段時間后, 2、4 路口的綠燈熄滅,而黃燈開始閃爍。閃爍若干次后,再切換到1、3 路口方向。之后,重復上述過程。對于各組燈的亮滅,我們運用的是8255A 的輸入輸出功能。

2. 對于各組燈亮滅的時間控制方案

A 利用軟件 –程序來完成對時間延時的控制。

此方案特點:軟件定時是最簡單的定時方法,它不需要硬件支持,只要讓機器循環(huán)執(zhí)行某一條或一系列指令,這些指令本身并沒有具體的執(zhí)行目的,但由于執(zhí)行每條指令都需要一定的時間,重復執(zhí)行這些指令就會占用一段固定的時間。因此,習慣上將這種延時方法稱為軟件延時。通過正確的選取指令和改變定時時間,靈活方便,而且節(jié)省費用。這種方法的缺點明顯就是CPU 的利用律太低,在指定的循環(huán)期,CPU 不能去做任何其他有用的工作,而僅僅是在反復的循環(huán),等待預定的定時時間到來,在許多情況下這樣是不允許的[1]。比如,對動態(tài)存儲器的定時刷新操作,只要處于開機狀態(tài),就需要一直不停地進行下去,顯然不能采用軟件延時。

B.利用芯片8253 芯片定時控制紅綠燈的亮滅時間。

此方案特點:可編程定時器/計數(shù)器利用硬件電路和中斷的方法控制定時,定時時間和范圍完全有軟件來確定和改變,并有微處理器時鐘信號提供時間基準,因這種時鐘信號由晶體震蕩器產(chǎn)生,故計時精確穩(wěn)定。但該時鐘信號頻率太高,所以要把它送到專門的計數(shù)器/定時器芯片進行分頻后,才能產(chǎn)生個中所需要的定時信號。用可編程定時器/計數(shù)器電路進行定時時,先要根據(jù)預定的定時時間,用指令對計數(shù)器/定時器芯片設定計算初值,然后啟動芯片進行工作。計數(shù)器一旦開使工作后,CPU 就可以去做別的工作了,等計數(shù)器到了預定的時間,變自動形成一個輸出信號,該信號可以向CPU 提出中斷請求,通CPU 定時時間已到,使CPU 做相應的處理[2]?;蛘咧苯虞敵鲂盘枂釉O備去工作。這種方法不但顯著提高了CPU 的利用率,而且定時時間由軟件來設置,使用起來十分的靈活方便,加上定時時間又很精確,所以獲得了廣泛的應用。

由上可知,該模擬系統(tǒng)設計的目的是控制車輛的有序流動,CPU 在程序執(zhí)行過程中并沒有其他的工作要做只是單一的使程序正常運行,所以也就不用考慮其利用率的問題的,在從節(jié)省資金的方面考慮第一種方案比第二種少用一個8253,而且第一種方案只用一個芯片在維修方面也比第二種方案方便。綜合這些因素,我們最終選擇第一種方案作為我們的設計方案。

3. 電路設計及功能

3.1 8255 原理及接線圖

8255 是一種通用可編程并行輸入輸出接口芯片,通過對它進行編程,芯片可工作于不同的工作方式,用8255 作接口時,通常不需要附加外部邏輯電路就可直接為CPU 與外設之間提供數(shù)據(jù)通道,8255 內(nèi)部包含3 個8 位輸入輸出端口A,B,C,通過外部24 根輸入輸出線與外設交換數(shù)據(jù)或進行通信聯(lián)絡。端口A 和端口B 都可以用作一個8 位的輸入口或8 位的輸出口,出口既可作8 位輸入輸出口又可分為兩個4 位輸入輸出口,還常常用來配合A口和B 口工作,用來產(chǎn)生A 口和B 口的端口狀態(tài)信號,8255A 有兩類控制字,一類控制字用來定義各端口的工作方式,稱為方式選擇控制字,另一類控制字用于對C 端口的任一位置進行置位或者復位操作,稱為置位復位控制字對8255A 進行編程時這兩種控制字都要寫入控制字寄存器中,但方式選擇控制字的D7 位總是1,而置位復位控制字的D7 位總是0[3]。

3.2 系統(tǒng)設計應注意的問題

A 。程序中應設定好8255A 的工作模式,使三個端口均工作于方式0,并處于輸出態(tài)[4]。

B. 8255A 的A 端口地址為:300H, B 端口地址為: 301H, C 端口地址為: 302H, 控制口地址為:303H

C.8255A 可編程并行接口芯片的特性和編程命令: 8255A 具有兩個人8 位(A 口和B 口)和兩個4 位(C 口高/低4 位)并行I/O 端口。

4. 軟件模擬界面

軟件模擬界面如圖1 所示。

圖1 軟件模擬界面

5. 軟件模擬流程圖

軟件模擬流程圖如圖2 所示。

圖 2 軟件模擬流程圖示意

6. 系統(tǒng)核心程序代碼

7. 測試與分析

編寫次程序的時候遇到的主要問題及解決方案:

A. 延時問題的解決:作者查閱了許多相關資料,最后選中程序中所用到的提取系統(tǒng)時間的這個方法,其原因主要是因為這段語句比較短,不容易出錯,但是有一個缺點就是不能使所添入的時間加上系統(tǒng)時間大于等于24:00,要不就會出錯,但是這個缺陷可以人工避免。

B. 循環(huán)問題的解決:針對該問題作者也嘗試了很多方法,但最后選擇了GOTO 跳轉語句解決這個問題。雖然在高級程序語言中我們并不提倡使用GOTO 語句,但由于我們在此使用的匯編語言需要經(jīng)常性地與硬件交互[5],使用該語句反而會使得問題解決起來最簡單,最方便,程序易懂,且不易出錯。

8. 結論

電子設計正在當今社會發(fā)揮越來越重要的作用,其采用的軟硬件結合技術也逐漸成熟,該模擬系統(tǒng)正是采用軟硬相結合的方法實現(xiàn)的。該模擬交通紅綠燈的設計實現(xiàn)對于讀者了解在我們?nèi)粘I钪邪l(fā)揮巨大作用的交通指揮系統(tǒng)很有幫助,其對于交通燈原理的揭示對于電子設計的探索研究提供了思路,相信隨著時代的發(fā)展,我們能見證更多更好的電子設計產(chǎn)品問世。

責任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    455

    文章

    50816

    瀏覽量

    423663
  • 計數(shù)器
    +關注

    關注

    32

    文章

    2256

    瀏覽量

    94574
  • 定時器
    +關注

    關注

    23

    文章

    3248

    瀏覽量

    114813
收藏 人收藏

    評論

    相關推薦

    紅綠燈控制系統(tǒng)的LED城市路燈方案

    將LED路燈裝置與交通紅綠燈控制系統(tǒng)結合在一起,利用每一路段紅綠燈的轉換實現(xiàn)對下一路段燈光強弱的控制。將當前市場上 LED 集燈板上的LED燈分為兩組,在滿足不同時段照明要求前
    發(fā)表于 10-17 14:44 ?3892次閱讀

    用PLC實現(xiàn)交通紅綠燈控制方法及原理

    用PLC實現(xiàn)交通紅綠燈的控制電路熟悉PLC編程原理及方法。掌握定時器使用方法。
    發(fā)表于 03-19 15:15

    紅綠燈電路圖

    各位誰有關于8255a設計的紅綠燈電路圖,給小弟指點指點
    發(fā)表于 06-18 21:46

    交通紅綠燈帶仿真和程序

    交通紅綠燈帶仿真和程序
    發(fā)表于 03-29 10:53

    交通紅綠燈

    本帖最后由 samuergao 于 2014-7-3 14:13 編輯 交通燈,并顯示當前時間和倒計時,包含了單條路遇到人行道的紅綠燈,還有十字路口的紅綠燈,大家?guī)涂纯从械母倪M沒有。
    發(fā)表于 07-03 12:12

    如何去實現(xiàn)一種交通紅綠燈設計

    1、功能描述觀察十字路口紅綠燈工作流程,設計交通燈。1、初始時:南北向、東西向直行左轉均為紅燈2、南北向直行:①南北向直行綠燈亮,延時若干秒②啟動南北向左轉數(shù)碼管顯示:倒計時6秒;同時南北向直行
    發(fā)表于 11-09 09:21

    基于單片機的交通紅綠燈控制系統(tǒng)的設計

    前一段時間,做了一個關于基于單片機的交通紅綠燈控制系統(tǒng)的設計
    發(fā)表于 11-10 06:34

    如何利用單片機設計一個紅綠燈

    設計要求利用單片機設計一個紅綠燈,實現(xiàn)了數(shù)顯倒計時與燈光變換,其中30秒紅燈,25秒綠燈,5秒黃燈,實現(xiàn)東西與南北燈光變換,符合紅綠燈邏輯。
    發(fā)表于 11-29 06:34

    交通紅綠燈PLC控制系統(tǒng)編程方法與技巧

    本文介紹了交通紅綠燈基本控制形式,針對帶綠閃的紅綠燈和帶數(shù)顯的紅綠控制和實現(xiàn)方法,詳細論述了相應的編程方法和技巧。實驗證明編制的程序運行可靠,簡單實用。關鍵
    發(fā)表于 08-14 10:31 ?152次下載

    基于可編程控制的交通紅綠燈模擬系統(tǒng)設計

    本文在綜合分析了8255A8253 芯片的特點之后,運用二者的特性,進行了交通紅綠燈模擬系統(tǒng)
    發(fā)表于 05-18 11:03 ?199次下載
    基于可編程控制的<b class='flag-5'>交通紅綠燈</b><b class='flag-5'>模擬</b><b class='flag-5'>系統(tǒng)</b>設計

    基于自定義時鐘脈沖的交通紅綠燈控制設計

    以三菱FX2N型PLC作為控制核心元件,闡明交通紅綠燈的控制設計思路和控制方案。以PLC定時器構成的自定義時鐘脈沖程序段作為程序基本單元設計的交通紅綠燈控制程序
    發(fā)表于 06-19 11:42 ?6460次閱讀
    基于自定義時鐘脈沖的<b class='flag-5'>交通紅綠燈</b>控制設計

    將VR技術應用于交通紅綠燈

    大家都知道,不管是行人還是汽車,在過路口的時候,一般都會有紅綠燈的存在,如果沒有紅綠燈的話,那整個交通都會混亂,交通事故絕對是層出不窮,而且堵車也會堵得水泄不通,所以
    發(fā)表于 12-22 09:38 ?3915次閱讀

    中文編程鴻蒙Hi3861開發(fā)基礎案例之-03交通紅綠燈

    中文編程鴻蒙Hi3861開發(fā)模擬交通紅綠燈亮與滅控制
    的頭像 發(fā)表于 05-11 11:27 ?2172次閱讀
    中文編程鴻蒙Hi3861開發(fā)基礎案例之-03<b class='flag-5'>交通紅綠燈</b>

    用樹莓派控制交通紅綠燈(簡潔版)

    前面我們通過控制LED燈和讀取按鈕狀態(tài),簡單演示了樹莓派如何通過GPIO來與外部世界溝通。今天我們要用樹莓派模擬一個控制交通紅綠燈,讓大家進一步學習如何通過程序和計算機的I/O來解決實際問題。
    的頭像 發(fā)表于 07-02 15:08 ?2415次閱讀
    用樹莓派控制<b class='flag-5'>交通紅綠燈</b>(簡潔版)

    用樹莓派控制交通紅綠燈(進階版)

    哇奧,今天才發(fā)現(xiàn)上一次建造的紅綠燈居然不對,綠燈一般在下方,當紅燈變綠燈時黃燈閃爍,我做的是綠燈變紅燈時黃燈閃爍!。這在我們開發(fā)時也會碰到,就像找bug一樣,對于發(fā)現(xiàn)的問題要及時修正。
    的頭像 發(fā)表于 07-02 15:10 ?1923次閱讀
    用樹莓派控制<b class='flag-5'>交通紅綠燈</b>(進階版)