資料介紹
8255A是一種通用的可編程并行I/O接口芯片(Programmable Peripherial Interface),它是為Inter系列微處理器設計的配套電路,也可用于其它微處理器系統中。通過對它進行編程,芯片可工作于不同的工作方式。此次課程設計的目的就是利用端口和8255協同工作來實現LED顯示功能,對8255A芯片進行編程使流水燈左移或右移,通過延時程序使流水燈進行順序點亮。通過這次課程設計掌握8255A的功能特點、工作原理以及顯示器接口的基本原理與方法技術。
第1章 利用8255A芯片實現流水燈閃爍設計的概述
流水燈在日常的生活中有著廣泛的應用,例如,許多樓面上的彩燈廣告就是應用了流水燈設計。此次的課程設計的題目是利用了端口和8255A協同工作來實現LED顯示功能,編寫程序,使用8255的A口和B口均為輸出,接8個或16個發光二極管,實現流水燈的顯示效果。在實驗中8255A的A和B兩個端口不能同時賦值,從而我們可以用通用寄存器BX對所需要賦值的數據進行存儲,因為BX可以分從高8位寄存器BH和低8位寄存器BL兩部分進行獨立的操作,我們用寄存器BH對A口進行賦值,用寄存器BL對B口進行賦值,通過延時一段時間再對BH和BL進行移位和輸出,實現了流水燈的效果。
第2章 三種方案的論述與最終方案的確定
2.1 第一種方案的論述
第一種方案,我們使用了8086CPU芯片與8255A芯片一起實現了流水燈閃爍的設計,同時還使用了地址鎖存器74LS373芯片。74ls373是常用的地址鎖存器芯片,它是一個是帶三態緩沖輸出的8D觸發器,在單片機系統中為了擴展外部存儲器,通常需要一塊74ls373芯片。在方案一中,當8086CPU的引腳ALE(地址鎖存允許信號,輸出,高電平有效,用作地址鎖存器74LS373的鎖存控制信號)處于下降沿時將8086CPU輸出的地址信息進行鎖存,以定義8255A的工作方式。下面先對74LS373芯片進行簡介:
1.地址鎖存器74LS373的內部電路與工作原理
74373 三態緩沖輸出的8D鎖存器(3S,鎖存允許輸入有回環特性),其輸出端 Q0~Q7 可直接與總線相連,74LS373的LE端直接與8086CPU的ALE信號連接。
1腳是三態允許控制端(OE),是低電平有效。當1腳是高電平時,不管輸入3(D0)、4(D1)、7(D2)、8(D3)、13(D4)、14(D5)、17(D6)、18(D7)如何,也不管11腳(LE 鎖存允許端)如何,輸出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部呈現高阻狀態(或者叫浮空狀態)。當1腳是低電平時,只要11腳(LE 鎖存允許端)上出現一個下降沿,輸出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)立即呈現輸入腳3(D0)、4(D1)、7(D2)、8(D3)、13(D4)、14(D5)、17(D6)、18(D7)的狀態。
11腳是鎖存允許端(LE),當LE由高變低時,輸出端8 位信息被鎖存,直到LE 端再次有效。 當三態允許控制端OE為低電平時,三態門導通,允許Q0~Q7輸出,OE為高電平時,輸出懸空。當74LS373用作地址鎖存器時,應使OE為低電平,此時鎖存使能端C為高電平時,輸出Q0~Q7 狀態與輸入端D1~D7狀態相同;當LE發生負的跳變時,輸入端D0~D7 數據鎖入Q0~Q7。
2.方案一的工作流程簡述
電路圖硬件連接:
硬件連線圖
注:8086CPU芯片與74LS373芯片在方案一中視為PC總線接口模塊
① 8255A的引腳WR(寫選通信號)、RD(讀選通信號)分別連到PC總線接口模塊的WR端口、RD端口。
② 8255A的數據端(AD0~AD7)、地址線(A0~A1)分別連到PC總線接口模塊的數據線(D0~D7)、地址線(A1~A2)。
③ 8255模塊選通線CS連到PC總線接口模塊的IOY1(CS 片選信號,低電平有效,由地址總線經I/O端口譯碼電路產生)。
④ 8255的PA0~PA7連到發光二極管的L1~L8;8255的PB0~PB7連到發光二極管的L9~L16。
程序流程簡述:
8255A的片選信號CS與地相連,處于低電平有效狀態,8086CPU與8255A之間始終保持通信,8086CPU對8255A進行讀/寫等操作。當8086CPU的地址鎖存信號ALE處于高電平有效時,在T1狀態,8086CPU通過地址/數據總線上傳送地址信息,在ALE的下降沿將地址信息鎖存到地址鎖存器74LS373中,定義了8255A的工作方式,使其A口和B口為輸出口,定義了8255A各端口地址。8086CPU先后寫A、B口的起始數據,并調用延時子程序點亮A口燈、B口燈。然后分別調用左移、右移指令將A口起始數據左移再寫入A口、B口起始數據右移再寫入B口,點亮下一站盞燈,以此循環實現流水燈效果。
程序框圖
結論:第一種方案雖然實現了流水燈閃爍效果,但由于8086CPU芯片所需的程序無法通過KC51實現編程,不能達到本次課程設計的培訓目的,即對單片機的程序編程進行訓練掌握,要求較高,方案實現的難度較大,所以我們沒有把方案一作為最終方案。
2.2 第二種方案的論述
第二種方案,我們使用了AT89C51單片機實現了流水燈閃爍設計。AT89C51單片機是美國ATMEL公司生產的低電壓、高性能CMOS 8位單片機,具有豐富的內部資源:4kB閃存、128BRAM、32根I/O口線、2個16位定時/計數器、5個向量兩級中斷結構、2個全雙工的串行口,具有4.25~5.50V的電壓工作范圍和0~24MHz工作頻率,使用AT89C51單片機時無須外擴存儲器。因此,方案二中設計的流水燈實際上是一個帶有八個發光二極管的單片機最小應用系統,即為由發光二極管、晶振、復位、電源等電路和必要的軟件組成的單個單片機。下面先對AT89C51單片機進行簡介:
1. AT89C51單片機的簡介
AT89C51是美國ATMEL公司生產的低電壓,高性能CMOS8位單片機,片內含4K bytes的可反復擦寫的只讀程序存儲器(PEROM)和128 bytes的隨機存取存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產,兼容標準MCS—51指令系統,片內置通用8位中央處理器(CPU)和Flash存儲單元,功能強大AT89C51單片機可以提供許多高性價比的應用場合,可靈活應用于各種控制領域。
AT89C51提供標準功能有:4K字節Falsh閃存存儲器,128字節內部RAM,32個I/O口線,兩個16位定時、計數器,一個5向量兩級中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。同時,AT89C51可降至0HZ的靜態邏輯操作,并支持兩種軟件可選的節電模式。空閑方式停止CPU的工作,但允許RAM,定時/計數器,串行通信口及中斷系統繼續工作。掉電方式保存RAM中的內容,但振蕩器停止工作并禁止其他所有部件工作直到下一個硬件復位。
2.方案二的工作流程簡述
單片機的應用系統由硬件和軟件組成,當我們完成了上述硬件原理圖搭建之后,我們還不能看到流水燈循環點亮的現象,我們還需要告訴單片機怎么來進行工作,即編寫程序控制單片機管腳電平的高低變化,來實現發光二極管的一亮一滅。軟件編程是單片機應用系統中的一個重要的組成部分,也是我們這次課程設計學習的重點和難點。
從電路原理圖中可以看出,如果要讓接在P1.0口的LED1亮起來,那么只要把P1.0口的電平變為低電平就可以了;相反,如果要接在P1.0口的LED1熄滅,就要把P1.0口的電平變為高電平;同理,接在P1.1~P1.7口的其他7個LED的點亮和熄滅的方法同LED1。因此,要實現流水燈功能,我們只要將發光二極管LED1~LED8依次點亮、熄滅,8只LED燈便會一亮一暗的做流水燈了。在此我們還應注意一點,由于人眼的視覺暫留效應以及單片機執行每條指令的時間很短,我們在控制二極管亮滅的時候應該延時一段時間,否則我們就看不到“流水”效果了。
在電路原理圖中,我們還應注意的便是和AT89C51單片機接在一起的晶振電路,在電路圖中為AT89C51單片機提供了頻率參考作用。晶振是晶體振蕩器的簡稱,在電氣上它可以等效成一個電容和一個電阻并聯再串聯一個電容的二端網絡。AT89C51單片機內部有一個用于構成振蕩器的高增益反相放大器。引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體諧振器一起構成一個自激振蕩器。外接晶體諧振器以及電容C1和C2構成并聯諧振電路,接在放大器的反饋回路中。晶振有一個重要的參數,那就是負載電容值,選擇與負載電容值相等的并聯電容,就可以得到晶振標稱的諧振頻率。
硬件原理圖
結論:第二種方案也實現了流水燈閃爍效果,相對于第一種方案而言,更簡單些,這也正是單片機能廣泛應用于各種電路的原因。但由于該方案中,沒有應用到8255A芯片實現接口擴展,而我們這次的課程設計中一個主要設計目的與要求便是:通過利用端口和8255協同工作來實現LED顯示功能,對8255A芯片進行編程使流水燈左移或右移,實現流水燈閃爍效果。以此來掌握8255A的功能特點、工作原理以及顯示器接口的基本原理與方法技術。所以我們沒有把方案二作為最終方案。
2.3 第三種方案(最終方案)的論證
第三種方案,我們使用了AT89C51單片機與8255A芯片一起實現了流水燈閃爍的設計。從前兩種方案中,我們分別熟悉與掌握了地址鎖存器74LS373芯片和AT89C51單片機。我們了解到74ls373是常用的地址鎖存器芯片,它是一個是帶三態緩沖輸出的8D觸發器,在單片機系統中為了擴展外部存儲器,通常需要一塊74ls373芯片。而AT89C51單片機是美國ATMEL公司生產的低電壓、高性能CMOS 8位單片機,具有豐富的內部資源:4kB閃存、128BRAM、32根I/O口線、2個16位定時/計數器、5個向量兩級中斷結構、2個全雙工的串行口,具有4.25~5.50V的電壓工作范圍和0~24MHz工作頻率,使用AT89C51單片機時無須外擴存儲器。在第三個方案中,我們將詳細地介紹8255A的內部電路、功能特點、工作原理以及在電路中的功能擴展與應用,這也是我們這次課程設計中一個需要重點掌握的芯片。
1.可編程外圍接口芯片8255A的簡介
8255A是Intel公司生產的一種通用的可編程并行I/O接口芯片,它是為Inter系列微處理器設計的配套電路,也可用于其它微處理器系統中。通過對它進行編程,芯片可工作于不同的工作方式。8255A有3個8位并行I/O口,具有3個通道3種工作方式,其各口功能可由軟件選擇,使用靈活,通用性強。8255作為主機與外設的連接芯片,必須提供與主機相連的3個總線接口,即數據線、地址線、控制線接口;同時必須具有與外設連接的接口A、B、C口。由于8255可編程,所以必須具有邏輯控制部分,因而8255內部結構分為3個部分:與CPU連接部分、與外設連接部分、控制部分。
- 8255A仿真實例
- 并行I/O 接口、8255A控制字與初始化編程、工作方式與時序
- 51單片機 LED點亮、閃爍以及流水燈實現
- STC單片機 閃爍燈,LED流水燈 程序講解
- 基于51單片機的八位流水燈
- 單片機(AT89C51)按鈕控制LED燈實現流水燈,閃爍流水燈
- 使用51單片機實現8255A芯片擴展8位LED動態顯示的仿真文件免費下載 31次下載
- 使用擴展芯片實現端口擴展的實例資料合集免費下載
- 使用FPGA實現流水燈的詳細資料說明 27次下載
- 使用51單片機利用循環指令實現流水燈的程序免費下載
- 可編程并行接口8255A接口技術的詳細資料說明
- 流水燈設計與制作解析 39次下載
- CC2530的GPIO輸出控制-Led閃爍、流水燈實驗資料下載 5次下載
- LED燈閃爍仿真流水燈仿真 29次下載
- 8255A的開發利用 0次下載
- 如何利用SCR步進指令來實現流水燈循環點亮? 2860次閱讀
- 利用51單片機流水燈和LCD1602實現表白功能 1804次閱讀
- Verilog實現流水燈及與C語言的對比 1385次閱讀
- 計數器才是流水燈的核心 856次閱讀
- 設計分享|74HC154譯碼器實現流水燈 2067次閱讀
- 74LS138譯碼器實現流水燈的控制 7396次閱讀
- 如何通過FPGA實現一個流水燈? 8209次閱讀
- 基于8255A和8253芯片實現交通紅綠燈模擬系統的應用方案 5605次閱讀
- 基于CPLD芯片實現專用鍵盤芯片KB-CORE的功能設計方案 2566次閱讀
- 實現51單片機流水燈的三種詳細資料說明 6225次閱讀
- 51單片機如何實現流水燈?51單片機實現流水燈的三種方法詳細分析 9.7w次閱讀
- 8255端口地址如何確定_8255怎樣計算端口地址 11.9w次閱讀
- 8255a有哪幾種工作方式?8251a的工作方式及工作原理 6.4w次閱讀
- 8255A驅動程序 3428次閱讀
- 如何更高效地實現51單片機流水燈? 1w次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 651單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 751單片機大棚環境控制器仿真程序
- 1.10 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論