畢業(yè)設(shè)計--交通信號燈的控制_第1頁
已閱讀1頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  微型計算機原理及接口技術(shù)課程設(shè)計報告書</p><p>  姓 名: </p><p>  班 級: </p><p>  學(xué) 號: </p><p>  指導(dǎo)教師:

2、</p><p>  完成日期: 2011年12月12日 </p><p><b>  目 錄</b></p><p>  第1節(jié) 交通燈的設(shè)計要求1</p><p>  1.1分析設(shè)計要求1</p><p>  1.2方案比較及評估論證1</p>&

3、lt;p>  1.3 系統(tǒng)原理2</p><p>  第2節(jié) 各個器件的組成框圖3</p><p>  2.1 8255的組成框圖3</p><p>  2.2 8253的引腳圖及功能4</p><p>  2.3 74LS138譯碼器的引腳及功能5</p><p>  第3節(jié) 組成部分介紹6<

4、/p><p>  3.1 電路設(shè)計7</p><p><b>  3.1 流程圖8</b></p><p>  3.2 程序代碼9</p><p>  第4節(jié) 總電路圖及原理14</p><p>  第5節(jié) 調(diào)試記錄及結(jié)果分析15</p><p><b> 

5、 第6節(jié) 總結(jié)15</b></p><p>  第7節(jié) 參考文獻16</p><p><b>  交通燈的設(shè)計要求</b></p><p>  一. 設(shè)計任務(wù)及要求:             

6、60;            </p><p><b>  交通信號燈的控制:</b></p><p>  1.通過8255A并口來控制LED發(fā)光二極管的亮滅。</p><p>  2.A口控制紅燈,B口控制黃燈,C口控制綠燈

7、。</p><p>  3.輸出為0則亮,輸出為1則滅。</p><p>  4.用8253定時來控制變換時間 。</p><p>  要求:設(shè)有一個十字路口,1、3為南,北方向,2、4為東西方向,初始態(tài)為4個路口的紅燈全亮。之后,1、3路口的綠燈亮,2、4路口的紅燈亮,1、3路口方向通車。延遲30秒后,1、3路口的綠燈熄滅,而1,3路口的黃燈開始閃爍(1

8、HZ)。閃爍5次后,1、3路口的紅燈亮,同時2、4路口的綠燈亮,2、4路口方向開始通車。延遲30秒時間后,2、4路口的綠燈熄滅,而黃燈開始閃爍。閃爍5次后,再切換到1、3路口方向。之后,重復(fù)上述過程。</p><p>  根據(jù)要求,我所設(shè)計的系統(tǒng)主要主要是基于普通的十字路口,交通燈的控制分為東西和南北兩組,每組用紅、黃、綠進行交通管理,除了基本的功能外,還添加了七段譯碼器時間顯示模塊和一種緊急情況處理模塊,比方說

9、急救車恰好遇到了紅燈,可通過控制,讓急救車所在的干道盡快變成綠燈而通車。</p><p>  二.方案比較及評估論證:</p><p>  分析題意,紅,黃,綠燈可分別接在8255的A口,B口和C口上,燈的亮滅可直接由8086輸出0,1控制。30秒延時及閃爍由8253控制,由閃爍的實現(xiàn)方法可分為兩種方案:</p><p><b>  方案一:</b&

10、gt;</p><p>  設(shè)8253各口地址分別為:設(shè)8253基地址即通道0地址為04A0H;通道1為04A2H;通道2為04A4H;命令控制口為04A6H。</p><p>  黃燈閃爍的頻率為1HZ,所以想到由8253產(chǎn)生一個1HZ的方波,8255控制或門打開的時間,在或門打開的時間內(nèi),8253將方波信號輸入或門使黃燈閃爍。</p><p>  由于計數(shù)值最大

11、為65535,1MHZ/65536的值遠大于2HZ,所以采用兩個計數(shù)器級聯(lián)的方式,8253通道0的clock0輸入由分頻器產(chǎn)生的1MHZ時鐘脈沖,工作在方式3即方波發(fā)生器方式,理論設(shè)計輸出周期為0.01s的方波。1MHZ的時鐘脈沖其重復(fù)周期為T=1/1MHZ=1s,因此通道0的計數(shù)初值為10000=2710H。由此方波分別作為clock1和clock2的輸入時鐘脈沖,所以通道1和通道2的輸入時鐘頻率為100HZ,通道1作計數(shù)器工作在方式

12、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次閃

13、爍。</p><p>  三個通道的門控信號都未用,均接+5V即可。</p><p><b>  方案二:</b></p><p>  考慮到題目要求黃燈閃爍的頻率為1HZ,既每秒1次,那么前0.5秒黃燈亮,后0.5秒黃燈滅,所以最小的定時單位為0.5秒,頻率為2HZ,30秒即為60個0.5秒。</p><p>  顯然

14、如方案一一樣一個計數(shù)器無法完成,所以采用兩個計數(shù)器級聯(lián)的方式,將計數(shù)器0的輸出OUT0接到計數(shù)器1的輸入端CLK1,CLK0=1MHZ,計數(shù)值為50000=C350H,OUT0=20HZ,CLK1=20HZ,記數(shù)值=10,OUT1=2HZ。并且計數(shù)器0工作于方式3用于產(chǎn)生方波信號,計數(shù)器1工作方式2,產(chǎn)生負脈沖信號,計數(shù)器1的輸出端OUT1接入8255芯片的PC5口,用于讀取負脈沖個數(shù),以完成計時功能。 8086及8255設(shè)置

15、同方案一,8086則每隔0.5秒變換一次黃燈的狀態(tài),持續(xù)五次,完成閃爍的功能。</p><p>  經(jīng)比較,方案二8086在黃燈閃爍時需頻繁發(fā)送數(shù)據(jù)到8255,加重了系統(tǒng)的負擔,因此我決定采用方案一。</p><p><b>  三.系統(tǒng)原理</b></p><p><b>  工作原理說明:</b></p>

16、<p>  此方案是通過并行接口芯片8255A和8086計算機的硬件連接,以及通過8253延時的方法,來實現(xiàn)十字路口交通燈的模擬控制。紅燈(RLED),黃燈(YLEDD)和綠燈(GLED)分別接在8255的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分別接1,2,3,4路口的紅燈,B,C口類推。</p><p>  8086工作在最小模式,低八位端口AD0~AD7接到8255和8253的D

17、0~D7,AD8~AD15通過地址鎖存器8282,接到三八譯碼器,譯碼后分別連到8255和8253的CS片選端。8253的三個門控端接+5V,CLOCK0接由分頻器產(chǎn)生的1MHZ的時鐘脈沖,OUT0接到CLOCK1和CLOCK2,OUT1接到8086的AD18,8086通過檢測此端口是否有高電平來判斷是否30S定時到。OUT2產(chǎn)生1MHZ方波通過或門和8255的B口共同控制黃燈的閃爍。8255三個口全部工作在方式0既基本輸入輸出方式,紅

18、綠燈的轉(zhuǎn)換由軟件編程實現(xiàn)。</p><p>  第二節(jié) 各個器件的組成框圖</p><p>  一.8255的引腳功能</p><p>  8255 可編程外圍接口芯片是 Intel 公司生產(chǎn)的通用并行I/O 接口芯片,它具有A、B、C 三個并行接口,并行接口是以數(shù)據(jù)的字節(jié)為單位與I/O 設(shè)備或被控制對象之間傳遞信息。CPU 和接口之間 的數(shù)據(jù)傳送總是并行的,及

19、可以同時傳遞8位、16位、32位等。用+5V單電源供電,能在以下三種方式下工作:方式0——基本輸入/輸出方式、方式1——選通輸入/輸出方式、方式2——雙向選通工作方式。8255的內(nèi)部結(jié)構(gòu)及引腳如圖1所示:</p><p>  8255工作方式控制字和C口按位置位/按位復(fù)位控制字格式如下圖2所示:</p><p>  二.8253的引腳及其功能8253由以下幾個部分組成:</p>

20、;<p>  (1) 數(shù)據(jù)總線緩沖器(8位、三態(tài)、雙向);(2) 讀/寫控制邏輯;CS:片選信號,低電平有效;RD:讀信號,低電平有效;WR:寫信號,低電平有效A1A0:端口選擇信號(3) 三個通道( 0 ~ 2);</p><p>  (4) 一個控制寄存器; </p><p>  當A1A0分別為00 01 10 11時分別選中三個通道和控制字寄存器在8088系統(tǒng)中

21、,8088的A1A0分別與8253的A1A0相連在8086系統(tǒng)中,通常將8253的8位數(shù)據(jù)線與8086的低8位相連,即使用偶地址,所以8086的A2A1分別與8253的A1A0相連Intel 8253是一片具有三個獨立的16位計數(shù)器通道的可編程定時器/計數(shù)器芯片。 </p><p>  每個通道包括:8位控制字寄存器、16位計數(shù)初值寄存器、減一計數(shù)器和輸出鎖存器。作定時器用:其CLK端上的輸入脈沖應(yīng)是標準的、精確

22、的;作計數(shù)器用:對其CLK端上的脈沖計數(shù),脈沖寬度可以不等。采用減一計數(shù)器,為0時,從OUT端上輸出一個脈沖定時時間 = 時鐘脈沖周期X預(yù)置的計數(shù)初值 每個通道:CLK計數(shù)脈沖或標準脈沖輸入端 OUT計數(shù)值為0時輸出一個脈沖 GATE允許端,當GATE=1時允許計數(shù)。</p><p>  三.74LS138譯碼器的引腳及功能</p><p>  74LS138譯碼器引腳圖,邏輯圖及功能表如

23、下:</p><p>  73LS138真值表如下:</p><p>  由真值表知,當 S1=0或 時,譯碼器處于禁止狀態(tài),輸出 、 、 、 全為1;當, 0時,譯碼器被選通,處于工作狀態(tài),譯碼器輸出與輸入之間的邏輯關(guān)系為    </p><p>  第三節(jié) 組成部分介紹</p><p><b> 

24、 一.電路設(shè)計</b></p><p>  1、計時功能實現(xiàn)邏輯:</p><p>  通過8253計數(shù)器0和計數(shù)器1級聯(lián)實現(xiàn)準確定時;用8255的A口低六位控制東西、南北路口交通燈的狀態(tài);燈的亮滅可直接由8086輸出0,1控制。用8259A管理可屏蔽中斷即開機初始化。</p><p>  采用兩個計數(shù)器級聯(lián)的方式, 并且計數(shù)器0工作于方式3用于產(chǎn)生方波

25、信號,計數(shù)器1工作方式0,計數(shù)到時高電平信號。計數(shù)器1的輸出端OUT1接入8255芯片的PC0口,通過查詢8255的C口的值,以完成計時功能。將計數(shù)器0的輸出OUT0接到計數(shù)器1的輸入端CLK1,而CLK0的輸入采用1.19MHZ的時鐘頻率, 計數(shù)器0計數(shù)初值為59499=0E86BH,則OUT0=20HZ, 即計數(shù)器1的時鐘頻率為20HZ。</p><p>  當計數(shù)器1的記數(shù)初值為9時,0.5S后OUT1輸出

26、一高電平。8086通過讀取8255C口的值,來決定對A口寫入的數(shù)據(jù)。因此每隔0.5秒8086變換燈的狀態(tài),持續(xù)6次即完成3秒的閃爍功能。</p><p>  當計數(shù)器1的記數(shù)初值為899時,45S后OUT1輸出一高電平。通過查詢8255的C口PC0的狀態(tài)改變,達到延時45秒的作用。同理計數(shù)器1的計數(shù)初值分別為59、799時,分別為3、40秒的延時。</p><p><b>  譯

27、碼電路設(shè)計</b></p><p>  通過分析8259、8253、8255各端口地址,設(shè)計合理的地址譯碼電路。8259的地址為20H、21H,8253的地址為40H、41H、42H、43H,8255的端口地址為0F0H、0F1H、0F2H、0F3H。故芯片的地址只與8086的地址的低8位有聯(lián)系,不妨設(shè)高十二為全為1將它們相與后作為38譯碼器的始能信號E3。再分析發(fā)現(xiàn)8259、8253、8255各端口

28、地址的低八位其中D2、D3均為0,將8086的地址總線的D2、D3作為38譯碼器的始能信號E1、E2。將8086的地址總線的D0、D1分別與8253和8255的A0、A1連接,利用D4、D5、D6、D7構(gòu)成譯碼電路。將8086的地址總線的D0與8259的A0連接,利用D2、D4、D5、D6、D7通過38譯碼器構(gòu)成譯碼電路。具體見下圖所示:</p><p><b>  二.流程圖</b><

29、;/p><p><b>  三.程序代碼 </b></p><p>  DATA SEGMENT; 設(shè)置數(shù)據(jù)段,以及端口地址分配</p><p>  PORTA EQU 218H</p><p>  PORTB EQU 219H</p><p>  PORTC EQU 21AH</p

30、><p>  PTCON8255 EQU 21BH</p><p>  PORT0 EQU 238H</p><p>  PORT1 EQU 239H</p><p>  PORT2 EQU 240H</p><p>  PTCON8253 EQU 241H</p><p>

31、  DATA ENDS</p><p>  CODE SEGMENT</p><p>  ASSUME DS : DATA, CS : CODE</p><p>  INIT: MOV AX, DATA</p><p>  MOV DS, AX</p><p>  MOV DX, PTCON8253&

32、lt;/p><p>  MOV AL,36H</p><p>  OUT DX,AL</p><p>  MOV DX,PORT0</p><p>  MOV AX,2710H</p><p>  OUT DX,AL</p><p>  MOV AL,AH</p><

33、p>  OUT DX,AL; 通道0工作方式3 周期0.01s</p><p>  MOV DX, PTCON8253</p><p>  MOV AL,71H</p><p>  OUT DX,AL; 通道1工作方式1</p><p>  MOV DX, PTCON8253</p&g

34、t;<p>  MOV AL,96H</p><p>  OUT DX,AL</p><p>  MOV DX,PORT2</p><p>  MOV AL,64H</p><p>  OUT DX, AL; 通道2工作方式3 周期1s 8253初始化完成</p><p>  M

35、OV DX, PTCON8255</p><p>  MOV AL ,80H</p><p>  OUT DX, AL; 8255初始化 A,B,C口均工作在方式0</p><p>  MOV DX, PORTA</p><p>  MOV AL, 0</p><p>  OUT DX,

36、AL</p><p>  MOV DX, PORTB</p><p>  MOV AL, 0FH</p><p>  OUT DX, AL</p><p>  MOV DX, PORTC</p><p>  MOV AL, 0FH</p><p>  OUT DX, AL;

37、 燈初始化完成</p><p>  STA: MOV DX, PORTA</p><p>  MOV AL, 0A0H</p><p>  OUT DX, AL</p><p>  MOV DX, PORTB</p><p>  MOV AL, 0F0H</p><p>

38、  OUT DX, AL</p><p>  MOV DX, PORTC</p><p>  MOV AL, 50H</p><p>  OUT DX, AL; 1,3綠燈亮,2,4紅燈亮</p><p>  MOV DX ,PORT1</p><p>  MOV AX, 0BB8H</p

39、><p>  OUT DX, AL</p><p>  MOV AL, AH</p><p>  OUT DX, AL; 8253通道1賦值 開始計時</p><p>  SCAN1 : MOV AL,0</p><p>  MOV DX, PTCON8255</p><p>

40、;  MOV AL, 90H</p><p>  OUT DX, AL</p><p>  MOV DX, PORTA</p><p>  IN AL, DX</p><p>  AND AL, 0FH</p><p>  CMP AL, 1</p><p>  JNZ SCAN1

41、; 掃描PA7口</p><p>  FLA1: MOV DX, PTCON8255</p><p>  MOV AL, 80H</p><p>  OUT DX, AL</p><p>  MOV DX, PORTC</p><p>  MOV AL, 0F0H</p>

42、<p>  OUT DX, AL</p><p>  MOV DX, PORTB</p><p>  MOV AL, 50H</p><p>  OUT DX, AL</p><p>  MOV CX ,0</p><p>  TEST1: MOV DX, PTCON8255; 檢

43、測PB7</p><p>  MOV AL, 82H</p><p><b>  OUT DX,AL</b></p><p>  MOV DX, PORTB</p><p>  IN AL ,DX</p><p>  AND AL, 0FH</p><p>  MO

44、V AH, AL</p><p>  MOV DX, PTCON8255</p><p>  MOV AL, 82H</p><p>  OUT DX, AL</p><p>  MOV DX, PORTB</p><p>  IN AL ,DX</p><p>  AND AL,

45、 0FH</p><p>  XOR AL, AH</p><p>  ADD CL, AL</p><p>  CMP CL ,9</p><p>  JNZ TEST1; 閃爍5次</p><p>  MOV DX, PTCON8255</p><p>  MOV

46、AL, 80H</p><p>  OUT DX ,AL</p><p>  MOV DX, PORTA</p><p>  MOV AL, 50H</p><p>  OUT DX, AL</p><p>  MOV DX, PORTB</p><p>  MOV AL, 0F0H

47、</p><p>  OUT DX, AL</p><p>  MOV DX, PORTC</p><p>  MOV AL, 0A0H; 1,3紅燈亮,2,4綠燈亮</p><p>  MOV DX ,PORT1</p><p>  MOV AX, 0BB8H</p><p>

48、  OUT DX ,AL</p><p>  MOV AL, AH</p><p>  OUT DX, AL; 8253通道1賦值 開始計時</p><p>  SCAN2: MOV AL, 0</p><p>  MOV DX, PTCON8255</p><p>  MOV AL, 90H&

49、lt;/p><p>  OUT DX, AL</p><p>  MOV DX, PORTA</p><p>  IN AL, DX</p><p>  AND AL,0 FH</p><p><b>  CMP AL,1</b></p><p>  JNZ SCA

50、N2</p><p>  FLA2: MOV DX, PTCON8255</p><p>  MOV AL, 80H</p><p>  OUT DX, AL</p><p>  MOV DX, PORTC</p><p>  MOV AL, 0F0H</p><p>  OU

51、T DX, AL</p><p>  MOV DX, PORTB</p><p>  MOV AL, 0A0H</p><p>  OUT DX, AL</p><p>  TEST2: MOV DX, PTCON8255</p><p>  MOV AL, 88H</p><p>

52、;  OUT DX, AL</p><p>  MOV DX, PORTC</p><p>  IN AL, DX</p><p>  AND AL, 0FH</p><p>  MOV AH, AL</p><p>  MOV DX, PTCON8255</p><p>  MOV

53、 AL, 88H</p><p>  OUT DX, AL</p><p>  MOV DX, PORTC</p><p>  IN AL, DX</p><p>  AND AL, 0FH</p><p>  XOR AL, AH</p><p>  ADD CL, AL</p&g

54、t;<p><b>  CMP CL, 9</b></p><p>  JNZ TEST2; 閃爍5次</p><p>  CODE ENDS </p><p><b>  END STA </b></p><p>  第四節(jié) 總電路圖及原理</p>&

55、lt;p>  由于8255A與8086CPU是以低八位數(shù)據(jù)線相連接的,所以應(yīng)該是8255A的、線分別與8086CPU的、線相連,而將8086的線作為選通信號。如果是按8255A內(nèi)部地址來看,則在圖中它的地址是PA口地址即(CS+000H),PB口地址為(CS+001H),PC口地址為(CS+002H),命令控制口地址為(CS+003H),其中,CS為8255片選信號的首地址;若是按8086CPU地址來看,則8255A的地址是PA口

56、地址即(CS+000H),PB口地址為(CS+002H),PC口地址為(CS+004H),命令控制口地址為(CS+006H)。當CS=0288H,則PA口地址為0288H,PB口地址為028AH,PC口地址為028CH,命令控制口地址為028EH。</p><p>  第五節(jié) 調(diào)試記錄及結(jié)果分析</p><p>  在上機調(diào)試中發(fā)現(xiàn),由于此軟件延時的時間均為估算時間,不是特別準確,對于

57、交通要求特別高的地方不宜采用。</p><p>  如果是放到一個大的交通燈系統(tǒng)中,會影響到各個交通燈的運行時間,可能整個系統(tǒng)對交通的指揮調(diào)度會大大偏離理論計算,不能有效地防止和消除交通堵塞現(xiàn)象。</p><p>  本電路沒有設(shè)置顯示倒計時的七段LED數(shù)碼管,如果應(yīng)用到街道上,不利于司機、行人把握。</p><p>  當出現(xiàn)緊急情況,在特種車(如消防車、救護車)

58、正要通過時,這種編程方式就不能完成;</p><p>  第六節(jié) 總結(jié) </p><p>  經(jīng)過這次課程設(shè)計, 對微機原理有了更深入的了解,首先在做關(guān)于交通燈系統(tǒng)設(shè)計時,我認真查閱資料,學(xué)習關(guān)于這方面的知識,比如說要了解8086芯片中各個引腳的功能,怎么樣去使用8255這個可編程并行接口芯片,怎么樣使用8253來定時及輸出一定頻率的脈沖,怎么樣用8282這個地址鎖存器來存儲高

59、位地址和低位地址以及交通有哪些規(guī)則.可以說在理論學(xué)習的基礎(chǔ)上,又下了一次苦工夫,算是明白了設(shè)計一個系統(tǒng)的過程;也讓我體會到要想成功地設(shè)計某個東西,光學(xué)好專業(yè)知識是不夠的,必須要系統(tǒng)的知識,無論在哪方面都要有個明白的概念。</p><p>  這學(xué)期在學(xué)習微機原理大都都半知半解的,通過對8086,8255以及8253的運用,對于接口技術(shù)的應(yīng)用知識不僅僅停在表面的理論認識,更多的是有了動手操作的能力。只有這樣才不至于

60、在設(shè)計過程中摸不著頭腦,知道去哪些是需要查的資料,還有一點,我覺得我在芯片編程方面,特別是在初始化方面是我最大的困難,或許是我的匯編語言學(xué)得不夠好,我只能借助參考資料,查每一條指令的作用與功能,這樣一來又鞏固了我的對匯編語言的了解.使得自己在對8255的初始化以及控制字的初始化的應(yīng)用程序 編寫都有了很大的進步。</p><p>  第七節(jié) 參考文獻</p><p>  《微型計算機原理

溫馨提示

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

評論

0/150

提交評論