微機8086 8255 交通燈 課程設計_第1頁
微機8086 8255 交通燈 課程設計_第2頁
微機8086 8255 交通燈 課程設計_第3頁
微機8086 8255 交通燈 課程設計_第4頁
微機8086 8255 交通燈 課程設計_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 交通燈控制課程設計報告 課程名稱:微型計算機技術及應用 專 業(yè):電氣工程及其自動化 班 級:* 學 號:* 姓 名:* 指導教師: * 日 期:2013-12-10 目錄 第一章 設計內(nèi)容的概述 一. 設計任務內(nèi)容 二. 設計要求 第二章 硬件的設計 一. 設計過程簡單分析 二. 硬件系統(tǒng)工作原理 三. 硬件原理 1. 8086各個引腳的連接方法 2. 時鐘發(fā)生器8284芯片的說明 第三章 程序設計 一流程圖 二程序代碼 三硬件清單 四芯片資料 1. 8255介紹 28253介紹 3. 8282介紹 438譯碼器74LS138介紹 第四章 總結(jié) 第一章 設計內(nèi)容的概述 一設計任務內(nèi)容 用82

2、55來控制LED燈,用8253來定時,達到交通控制的目的。二設計要求 一開始,(南北用1,3東西為2,4)四個路口都為紅燈,然后南北變?yōu)榫G燈通車東西變?yōu)榧t色,30秒之后后,黃燈變亮,黃燈閃爍5次之后南北變?yōu)榧t燈,東西變?yōu)榫G燈通車,30秒之后后,黃燈變亮,黃燈閃爍5次之后南北變綠燈,東西變?yōu)榧t燈,重復上述過程。 第二章 硬件的設計一.設計過程簡單分析 分析:紅,黃,綠燈可分別接在8255的A口,B口和C口上,燈的亮滅可直接由8086輸出0,1控制。30秒延時及閃爍由8253控制,由閃爍的實現(xiàn)方法可由8253來實現(xiàn)。 設8253各口地址分別為:設8253基地址即通道0地址為04A0H;通道1為04

3、A2H;通道2為04A4H;命令控制口為04A6H。黃燈閃爍的頻率為1HZ,所以想到由8253產(chǎn)生一個1HZ的方波, 8255控制或門打開的時間,在或門打開的時間內(nèi),8253將方波信號輸入或門使黃燈閃爍。由于計數(shù)值最大為65535,1MHZ/65536的值遠大于2HZ,所以采用兩個計數(shù)器級聯(lián)的方式,8253通道0的clock0輸入由分頻器產(chǎn)生的1MHZ時鐘脈沖,工作在方式 3即方波發(fā)生器方式,理論設計輸出 周期為0.01s的方波。1MHZ的時鐘脈沖其重復周期為T=1/1MHZ=1s,因此通道0的計數(shù)初值為10000=2710H。由此方波分別作為clock1和clock2的輸入時鐘脈沖,所以通道

4、1和通道2的輸入時鐘頻率為100HZ,通道1作計數(shù)器工作在方式1,計數(shù)初值3000=BB8H既30s,計數(shù)到則輸出一個高電平到8255的PA7口,8255將A口數(shù)據(jù)輸入到8086,8086檢測到高電平既完成30s定時。通道2工作在方式3需輸出一個1HZ的方波,通過一個或門和8086共同控制黃燈的閃爍,因此也是工作在方波發(fā)生器方式,其計數(shù)初值為100=64H,將黃燈的狀態(tài)反饋到8055的端口PB7和PC7,同樣輸入到8086,8086通過兩次檢測端口狀態(tài)可知黃燈的狀態(tài)變化,計9次狀態(tài)變化可完成5次閃爍。三個通道的門控信號都未用,均接5V即可。二硬件系統(tǒng)工作原理工作原理說明: 此系統(tǒng)是通過并行接口

5、芯片8255A和8086計算機的硬件連接,以及通過8253延時的方法,來實現(xiàn)十字路口交通燈的模擬控制。如硬件連接圖所示,紅燈(RLED),黃燈(YLEDD)和綠燈(GLED)分別接在8255的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分別接1,2,3,4路口的紅燈,B,C口類推。8086工作在最小模式,低八位端口AD0AD7接到8255和8253的D0D7,AD8AD15通過地址鎖存器8282,接到三八譯碼器,譯碼后分別連到8255和8253的CS片選端。8253的三個門控端接+5V,CLOCK0接由分頻器產(chǎn)生的1MHZ的時鐘脈沖,OUT0接到CLOCK1和CLOCK2,OUT1

6、接到8086的AD18,8086通過檢測此端口是否有高電平來判斷是否30S定時到。OUT2產(chǎn)生1MHZ方波通過或門和8255的B口共同控制黃燈的閃爍。8255三個口全部工作在方式0既基本輸入輸出方式,紅綠燈的轉(zhuǎn)換由軟件編程實現(xiàn)。三硬件原理由于8255A與8086CPU是以低八位數(shù)據(jù)線相連接的,所以應該是8255A的、線分別與8086CPU的、線相連,而將8086的線作為選通信號。如果是按8255A內(nèi)部地址來看,則在圖中它的地址是PA口地址即(CS+000H),PB口地址為(CS+001H),PC口地址為(CS+002H),命令控制口地址為(CS+003H),其中,CS為8255片選信號的首地址

7、;若是按8086CPU地址來看,則8255A的地址是PA口地址即(CS+000H),PB口地址為(CS+002H),PC口地址為(CS+004H),命令控制口地址為(CS+006H)。當CS0288H,則PA口地址為0288H,PB口地址為028AH,PC口地址為028CH,命令控制口地址為028EH。1.8086各個引腳的連接方法(1)引腳:通常用此引線產(chǎn)生片選信號,當為1,0編碼時,在數(shù)據(jù)總線低8位和偶地址之間進行字節(jié)傳送()。(2)CLK(Clock)時鐘信號(輸入):CLK為CPU和總線控制器提供基本的定時脈沖。時鐘周期是非對稱的,當它為有效高電平的時間和時鐘周期的比為33時,提供最佳

8、的內(nèi)部定時。由8284時鐘發(fā)生器產(chǎn)生,8086CPU使用的時鐘頻率,因芯片型號不同,時鐘頻率不同。這里采用5MHz。(3)(+5V),GND(地):CPU所需電源5V。GND為地線。(4)QS0ALE(Address Latch Enable)地址鎖存允許信號,輸出高電平有效,作地址鎖存器8282/8283的片選信號,在地址周期狀態(tài),ALE有效,表示AB、DB上傳送的是地址信息,將它鎖存。這是由于AB、DB分時復用所需要的,ALE信號線不能懸空。如圖所示,加入2片地址鎖存器8282。(5)RESET:復位信號,輸入,高電平有效。8086接到復位信號后,停止現(xiàn)行操作,并初始化段寄存器DS,SS,

9、ES,標志寄存器PSW,指令指針I(yè)P和指令隊列,而使CS=FFFFH。RESET信號至少保持四個周期以上的高電平,當它變?yōu)榈碗娖綍r(一個下降沿),CPU執(zhí)行重啟過程,8086將從地址FFF0H開始執(zhí)行指令。通常FFFF0H單元開始的幾個單元中存放一條JMP指令,將入口轉(zhuǎn)到引導和裝配程序中,從而實現(xiàn)對系統(tǒng)的初始化,引導監(jiān)控程序或操作系統(tǒng)程序。由于出現(xiàn)突然斷電或其它情況時,8086可能正在執(zhí)行交通燈程序,現(xiàn)有的地址丟失,應按下RESET鍵重新開始。另外,應將8255A與8086的RESET線相連,保持同步。(6)MN/(Minimun/MaximuN): 最小、最大工作模式選擇信號,輸入。此時MN

10、/接5V,構(gòu)成單處理器系統(tǒng),系統(tǒng)控制信號由CPU提供。接下來,對8282芯片作一下說明: :8位數(shù)據(jù)輸入;:8位數(shù)據(jù)輸出;STB:選通信號;:輸出允許信號,在不帶DMA控制器的8086單處理器系統(tǒng)中,它接地。其實,這就是8個D觸發(fā)器。由于只用,所以用兩片即可。2.時鐘發(fā)生器8284芯片的說明 (1)時鐘信號發(fā)生器:=0時,時鐘信號輸入由X1 、X2 端接上晶體,由晶體振蕩器產(chǎn)生時鐘信號;CLK:3分頻OSC后的時鐘,輸出頻率4.77MHz,占空比為1/3,大約滿足8086CPU的輸入頻率5MHz、占空比33的要求。 (2)復位生成電路:由輸入的信號來觸發(fā)內(nèi)部同步觸發(fā)器,由此產(chǎn)生信號RESET,

11、送到CPU的RESET端,復位信號由CLK的下降沿同步。此時,端接“電源好“信號,使系統(tǒng)上電后自動復位。此為最小模式系統(tǒng),除了8086CPU,I/O接口芯片8255A,定時計數(shù)芯片8353外,其它配置如下: 1片8284A,作為時鐘發(fā)生器;2片8282,作為地址鎖存器;2片74LS138,作為地址選通譯碼器;1個二輸入或非門;1個4輸入或非門;1個二輸入與非門;4個或門12個發(fā)光二極管;12個限流電阻;1個復位信號開關。 第三章 程序設計一流程圖 N Y N Y初始化8255,8253紅燈全亮綠燈黃燈全滅1,3綠燈亮2,4紅燈亮等待8253延時30s時間是否到?1,3綠燈滅2,4紅燈不變1,3

12、黃燈閃爍等待黃燈閃爍5次?1,3紅燈亮2,4綠燈亮8253延時30s2,4綠燈滅黃燈閃爍5次二程序代碼 DATA SEGMENT; 設置數(shù)據(jù)段,以及端口地址分配 PORTA EQU 218H PORTB EQU 219H PORTC EQU 21AH PTCON8255 EQU 21BH PORT0 EQU 238H PORT1 EQU 239H PORT2 EQU 240H PTCON8253 EQU 241H DATA ENDSCODE SEGMENT ASSUME DS:DATA,CS:CODEINIT: MOV AX,DATA MOV DS,AX MOV DX, PTCON8253 M

13、OV AL,36H OUT DX,AL MOV DX,PORT0 MOV AX,2710H OUT DX,AL MOV AL,AH OUT DX,AL; 通道0工作方式3 周期0.01s MOV DX, PTCON8253 MOV AL,71H OUT DX,AL;通道1工作方式1 MOV DX, PTCON8253 MOV AL,96H OUT DX,AL MOV DX,PORT2 MOV AL,64H OUT DX,AL; 通道2工作方式3 周期1s 8253初始化完成 MOV DX, PTCON8255 MOV AL,80H OUT DX,AL;8255初始化 A,B,C口均工作在方式0

14、 MOV DX,PORTA MOV AL,0 OUT DX,AL MOV DX,PORTB MOV AL,0FH OUT DX,AL MOV DX,PORTC MOV AL,0FH OUT DX,AL;燈初始化完成STA: MOV DX,PORTA MOV AL,0A0H OUT DX,AL MOV DX,PORTB MOV AL,0F0H OUT DX,AL MOV DX,PORTC MOV AL,50H OUT DX,AL;1,3綠燈亮,2,4紅燈亮 MOV DX,PORT1 MOV AX,0BB8H OUT DX,AL MOV AL,AH OUT DX,AL;8253通道1賦值 開始計時

15、SCAN1: MOV AL,0 MOV DX,PTCON8255 MOV AL,90H OUT DX,AL MOV DX,PORTA IN AL,DX AND AL,0FH CMP AL,1 JNZ SCAN1;掃描PA7口FLA1: MOV DX, PTCON8255 MOV AL,80H OUT DX,AL MOV DX,PORTC MOV AL,0F0H OUT DX,AL MOV DX,PORTB MOV AL,50H OUT DX,AL MOV CX,0TEST1: MOV DX,PTCON8255;檢測PB7 MOV AL,82H OUT DX,AL MOV DX,PORTB IN

16、 AL,DX AND AL,0FH MOV AH,AL MOV DX,PTCON8255 MOV AL,82H OUT DX,AL MOV DX,PORTB IN AL,DX AND AL,0FH XOR AL,AH ADD CL,AL CMP CL,9 JNZ TEST1;閃爍5次 MOV DX, PTCON8255 MOV AL,80H OUT DX,AL MOV DX,PORTA MOV AL,50H OUT DX,AL MOV DX,PORTB MOV AL,0F0H OUT DX,AL MOV DX,PORTC MOV AL,0A0H;1,3紅燈亮,2,4綠燈亮 MOV DX,POR

17、T1 MOV AX,0BB8H OUT DX,AL MOV AL,AH OUT DX,AL;8253通道1賦值 開始計時SCAN2: MOV AL,0 MOV DX,PTCON8255 MOV AL,90H OUT DX,AL MOV DX,PORTA IN AL,DX AND AL,0FH CMP AL,1 JNZ SCAN2FLA2: MOV DX, PTCON8255 MOV AL,80H OUT DX,AL MOV DX,PORTC MOV AL,0F0H OUT DX,AL MOV DX,PORTB MOV AL,0A0H OUT DX,ALTEST2: MOV DX,PTCON82

18、55 MOV AL,88H OUT DX,AL MOV DX,PORTC IN AL,DX AND AL,0FH MOV AH,AL MOV DX,PTCON8255 MOV AL,88H OUT DX,AL MOV DX,PORTC IN AL,DX AND AL,0FH XOR AL,AH ADD CL,AL CMP CL,9 JNZ TEST2;閃爍5次 CODE ENDS END STA 三.硬件清單 1片8255,作為控制外設 1片8253,作為數(shù)據(jù)控制器 1片8284A,作為時鐘發(fā)生器; 2片8282,作為地址鎖存器; 2片74LS138,作為地址選通譯碼器; 1個二輸入或非門;1

19、個4輸入或非門;1個二輸入與非門;4個或門 12個發(fā)光二極管;12個限流電阻;1個復位信號開關。四.芯片資料 18255介紹 8255的內(nèi)部結(jié)構(gòu)8255A是一個40引腳的雙列直插式集成電路芯片按功能可把8255A分為三個邏輯電路部分,即:口電路、總線接口電路和控制邏輯電路。(1)口電路 8255A共有三個8位口,其中A口和B口是單純的數(shù)據(jù)口,供數(shù)據(jù)I/O使用。而C口則既可以作數(shù)據(jù)口,又可以作控制口使用,用于實現(xiàn)A口和B口的控制功能。數(shù)據(jù)傳送中A口所需的控制信號由C口高位部分(PC7PC4)提供,因此把A口和C口高位部分合在一起稱之為A組;同樣理由把B口和C口低位部分(PC3PC0)合在一起稱之

20、為B組。(2)總線接口電路 總線接口電路用于實現(xiàn)8255A和單片微機的信號連接。其中包括: (a)數(shù)據(jù)總線緩沖器 數(shù)據(jù)總線緩沖器為8位雙向三態(tài)緩沖器,可直接和80C51的數(shù)據(jù)線相連,與I/O操作有關的數(shù)據(jù)、控制字和狀態(tài)信息都是通過該緩沖器進行傳送。(b)讀/寫控制邏輯 與讀寫有關的控制信號有 CS片選信號(低電平有效) RD讀信號(低電平有效) WR寫信號(低電平有效) A0、A1端口選擇信號。8255A共有四個可尋址的端口(即A口、B口、C口和控制寄存器),用二位地址編碼即可實現(xiàn)選擇。參見下表。RESET復位信號(高電平有效)。復位之后,控制寄存器清除,各端口被置為輸入方式。讀寫控制邏輯用于

21、實現(xiàn)8255A的硬件管理:芯片的選擇,口的尋址以及規(guī)定各端口和單片微機之間的數(shù)據(jù)傳送方向。(c)控制邏輯電路 控制邏輯電路包括A組控制和B組控制,合在一起構(gòu)成8位控制寄存器。用于存放各口的工作方式控制字8255A工作方式及數(shù)據(jù)I/O操作(1)8255A的工作方式 8255A共有三種工作方式,即方式0、方式1、方式2.(a)方式0 基本輸入/輸出方式 方式0下,可供使用的是兩個8位口(A口和B口)及兩個4位口(C口高4位部分和低4位部分)。四個口可以是輸入和輸出的任何組合。方式0適用于無條件數(shù)據(jù)傳送,也可以把C口的某一位作為狀態(tài)位,實現(xiàn)查詢方式的數(shù)據(jù)傳送。(b)方式1 選通輸入/輸出方式 A口和

22、B口分別用于數(shù)據(jù)的輸入/輸出。而C口則作為數(shù)據(jù)傳送的聯(lián)絡信號。具體定義見表72??梢夾口和B口的聯(lián)絡信號都是三個,如果A或B只有一個口按方式1使用,則剩下的另外13位口線仍然可按方式0使用。如果兩個口都按方式1使用,則還剩下2位口線,這兩位口線仍然可以進行位狀態(tài)的輸入輸出。方式1適用于查詢或中斷方式的數(shù)據(jù)輸入/輸出。 (c)方式2 雙向數(shù)據(jù)傳送方式 只有A口才能選擇這種工作方式,這時A口既能輸入數(shù)據(jù)又能輸出數(shù)據(jù)。在這種方式下需使用C口的五位線作控制線,信號定義如表72所示。方式2適用于查詢或中斷方式的雙向數(shù)據(jù)傳送。如果把A口置于方式2下,則B口只能工作于方式0.(2)數(shù)據(jù)輸入操作 用于輸入操作

23、的聯(lián)絡信號有:STB(StroBe)選通脈沖,輸入,低電平有效。 當外設送來STB信號時,輸入數(shù)據(jù)裝入8255A的鎖存器。IBF(Input Buffer Full) 輸入緩沖器滿信號,輸出,高電平有效。IBF信號有效,表明數(shù)據(jù)已裝入鎖存器,因此它是一個狀態(tài)信號。INTR(INTerrupt Request)中斷請求信號,高電平有效,當IBF數(shù)據(jù)輸入過程:當外設準備好數(shù)據(jù)輸入后,發(fā)出信號,輸入的數(shù)據(jù)送入緩沖器。然后IBF信號有效。如使用查詢方式,則IBF即作為狀態(tài)信號供查詢使用;如使用中斷方式,當信號由低變高時,產(chǎn)生INTR信號,向單片微機發(fā)出中斷。單片微機在響應中斷后執(zhí)行中斷服務程序時讀入數(shù)

24、據(jù),并使INTR信號變低,同時也使IBF信號同時變低。以通知外設準備下一次數(shù)據(jù)輸入。(3)數(shù)據(jù)輸出操作用于數(shù)據(jù)輸出操作的聯(lián)絡信號有:ACK(ACKnowledge)外設響應信號輸入,低電平有效。當外設取走輸出數(shù)據(jù),并處理完畢后向單片微機發(fā)回的響應信號為高,信號由低變高(后沿)時,中斷請求信號有效。向單片微機發(fā)出中斷請求。OBF(Output Buffer Full)輸出緩沖器滿信號,輸出,低電平有效。當單片微機把輸出數(shù)據(jù)寫入8255A鎖存器后,該信號有效,并送去啟動外設以接收數(shù)據(jù)。INTR中斷請求信號,輸出,高電平有效。數(shù)據(jù)輸出過程:外設接收并處理完一組數(shù)據(jù)后,發(fā)回ACK信號。該信號使OBF變

25、高,表明輸出緩沖器已空。如使用查詢方式,則OBF可作為狀態(tài)信號供查詢使用;如使用中斷方式,則當ACK信號結(jié)束時,INTR有效,向單片微機發(fā)出中斷請求。在中斷服務過程中,把下一個輸出數(shù)據(jù)寫入8255A的輸出緩沖器。寫入后OBF有效,表明輸出數(shù)據(jù)已到,并以此信號啟動外設工作,取走并處理8255A中的輸出數(shù)據(jù)。表72 8255A C口聯(lián)絡信號定義 28253定時計數(shù)器8253內(nèi)部可分為6個模塊,每個模塊的功能如下: 1. 數(shù)據(jù)總線緩沖器及數(shù)據(jù)總線D0D72. 讀/寫控制邏輯及控制引腳 CS* A1 A0 I/O地址 讀操作RD* 寫操作WR* 0 0 0 0 0 1 0 1 0 0 1 1 40H

26、41H 42H 43H 讀計數(shù)器0 讀計數(shù)器1 讀計數(shù)器2 無操作 寫計數(shù)器0 寫計數(shù)器1 寫計數(shù)器2 寫控制字3. 控制字寄存器在初始化編程時,CPU寫入方式控制字到控制字寄存器中,用以選擇計數(shù)通道及其相應的工作方式。8253的控制字:8253的工作方式也是有控制字來決定,其控制字意義如下4. 計數(shù)通道0、計數(shù)通道1、計數(shù)通道23個計數(shù)通道內(nèi)部結(jié)構(gòu)完全相同。每個計數(shù)通道都由一個16位計數(shù)初值寄存器、一個16位減法計數(shù)器和一個16位計數(shù)值鎖存器組成計數(shù)初值存于預置寄存器,在計數(shù)過程中,減法計數(shù)器的值不斷遞減,而預置寄存器中的預置不變。輸出鎖存器用于寫入鎖存命令時,鎖定當前計數(shù)值。計數(shù)器的3個引腳說明:(1)CLK時鐘輸入信號在計數(shù)過程中,此引腳上每輸入一個時鐘信號(下降沿),計數(shù)器的計數(shù)值減1(2) GATE門控輸入信號控制計數(shù)器工作,可分成電平控制和上升沿控制兩種類型(3) OUT計數(shù)器輸出信號當一次計數(shù)過程結(jié)束(計數(shù)值減為0),OUT引腳上將產(chǎn)生一個輸出信號8253有6種工作方式,由方式控制字確定區(qū)分這6種工作方式的主要標志由3點:一是輸出波形不同;二是啟動計數(shù)器的觸發(fā)方式

溫馨提示

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

評論

0/150

提交評論