版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、摘 要在實(shí)際生活中,交通信號(hào)燈控制著交通的秩序安全。本微機(jī)原理課程設(shè)計(jì)就是模擬實(shí)際十字路口交通燈的運(yùn)行規(guī)則,用匯編語(yǔ)言來設(shè)計(jì)交通信號(hào)燈。本次設(shè)計(jì)主要是實(shí)現(xiàn)對(duì)十字路口交通信號(hào)燈的控制而進(jìn)行的編程,用8255A的A口控制東西方向的交通燈,用8255A的B口控制南北方向的交通燈。當(dāng)程序正常運(yùn)行時(shí),依次為東西方向的綠燈和南北方向的紅燈亮,通過延時(shí)程序進(jìn)行一段延時(shí)后,東西方向的綠燈滅后東西方向的黃燈閃3次,隨后東西方向的紅燈和南北方向的綠燈亮并進(jìn)行延時(shí),延時(shí)后,南北方向的黃燈閃3次,之后同理往復(fù)循環(huán)。用8255A的C口控制緊急情況時(shí)東西、南北方向的紅、黃、綠燈的亮滅,通過讀C口輸入的數(shù)據(jù)并進(jìn)行測(cè)試查詢,
2、從而對(duì)緊急情況進(jìn)行及時(shí)處理。十字路口交通信號(hào)燈設(shè)計(jì)充分利用了可編程的并行接口芯片8255A各引腳的功能,選定工作方式0,通過改變控制字來實(shí)現(xiàn)交通信號(hào)燈的狀態(tài)轉(zhuǎn)換。另外,通過調(diào)用延時(shí)子程序來實(shí)現(xiàn)交通信號(hào)燈某一狀態(tài)的持續(xù),調(diào)用循環(huán)子程序來實(shí)現(xiàn)對(duì)交通信號(hào)燈狀態(tài)循環(huán)的控制,通過控制開關(guān)來實(shí)現(xiàn)緊急情況下各路口紅燈全亮的功能。綜合各部分功能來實(shí)現(xiàn)較為完善的程序,運(yùn)行程序來模擬十字路口交通信號(hào)燈。關(guān)鍵詞:可編程的并行接口8255A,延時(shí),循環(huán),測(cè)試,1 設(shè)計(jì)任務(wù)描述1.1 設(shè)計(jì)目的 (1) 查閱可編程并行芯片8255或其他相關(guān)資料;(2) 用簡(jiǎn)單的輸入輸出端口等硬件,配合延時(shí)和控制程序控制燈的亮滅。1.2
3、設(shè)計(jì)要求(1) 利用微機(jī)原理試用箱,采用兩組紅,黃,綠發(fā)光二極管來模擬A,B兩路交差路口的信號(hào)控制;(2) 按實(shí)際交通燈控制規(guī)程控制。1.3 增加功能(1) 延時(shí)程序。(2) 中斷程序。(3) 當(dāng)路口發(fā)生事故時(shí),強(qiáng)行A,B路口紅燈全亮。2 設(shè)計(jì)思路本次微機(jī)原理設(shè)計(jì)的題目是交通信號(hào)燈,它是通過對(duì)8255芯片和LED發(fā)光二極管的連接設(shè)置來模擬交通信號(hào)燈的控制,使紅黃綠三色燈按照正常交通規(guī)則亮滅;并應(yīng)用中斷控制器8259對(duì)交通燈在發(fā)生事故情況下進(jìn)行強(qiáng)制控制。十字路口交通信號(hào)燈的工作原理是在正常情況下以8086/8088的CPU與8255芯片相連接來實(shí)現(xiàn)的。8255芯片包括四個(gè)口,即A口、B口、C口和
4、控制口。通過對(duì)其控制端口寫入控制字,來設(shè)定8255的工作方式,在本設(shè)計(jì)中,使8255工作于方式0,將A口和B口都設(shè)置為輸出,C口設(shè)置成輸入。其中A口控制南北方向的交通燈, B口控制東西方向的交通燈。當(dāng)程序正常運(yùn)行時(shí),依次為東西方向的綠燈和南北方向的紅燈亮,通過延時(shí)程序進(jìn)行一段延時(shí)后,東西方向的綠燈滅后東西方向的黃燈閃3次,隨后東西方向的紅燈和南北方向的綠燈亮,延時(shí)后,南北方向的黃燈閃3次,之后同理進(jìn)行循環(huán)。當(dāng)CPU在執(zhí)行正常程序時(shí),按動(dòng)KK1通過8259向CPU發(fā)出中斷請(qǐng)求,CPU先要關(guān)中斷,把其正在執(zhí)行的程序壓到已定義好的堆棧段當(dāng)中,將中斷程序MIR7的偏移地址和段地址取出放在源變址當(dāng)中,然
5、后在開中斷,執(zhí)行中斷程序,強(qiáng)制東西方向和南北方向的紅燈全亮。利用8255的C口接收KK2的單次脈沖來進(jìn)行還原。中斷程序執(zhí)行完后關(guān)中斷,讓壓在堆棧段中的程序出棧,CPU繼續(xù)執(zhí)行出棧的程序。3 設(shè)計(jì)原理流程圖交通燈工作流程圖 中斷服務(wù)程序流程圖 4 主要器件及其簡(jiǎn)介4.1 可編程的并行接口82554.1.1 8255的引線圖 圖4.1.1. 8255引腳圖其中主要引腳介紹如下:1)與外部設(shè)備端相連的引腳(1)PA0PA7:為A端口的8條輸入/輸出引腳。(2)PB0PB7:為B端口的8條輸入/輸出引腳。(3)PC0PC7:為C端口的8條輸入/輸出引腳。2)與CPU相連的引腳(1)RESET:復(fù)位信號(hào)
6、,低電平有效。當(dāng)RESET信號(hào)來到時(shí),所有內(nèi)部寄存器都被清零,同時(shí)3個(gè)數(shù)據(jù)端口被自動(dòng)設(shè)為輸入端口。(2)D7D0:雙向數(shù)據(jù)信號(hào)線,用來傳送數(shù)據(jù)和控制字和系統(tǒng)數(shù)據(jù)總線相連。(3):為片選信號(hào)線,只有當(dāng)CS有效時(shí),信號(hào)RD與信號(hào)WR才對(duì)8255有效。(4):為寫信號(hào)線,CPU通過OUT指令使其有效,與其他信號(hào)線一起實(shí)現(xiàn)對(duì)8255接口的寫操作,將數(shù)據(jù)或狀態(tài)信息從CPU中寫入8255。(5):為讀出信號(hào)線,CPU通過IN指令使其有效,與其他信號(hào)線一起實(shí)現(xiàn)對(duì)8255接口的讀操作,將數(shù)據(jù)或狀態(tài)信息從8255中讀到CPU。(6)A0、A1:端口選擇信號(hào)線,8255內(nèi)部有3個(gè)數(shù)據(jù)端口和1個(gè)控制端口,共4個(gè)。4
7、.1.2 8255內(nèi)部結(jié)構(gòu)圖4.1.2 8255A的內(nèi)部結(jié)構(gòu)1)數(shù)據(jù)總線緩沖器:這是一個(gè)雙向三態(tài)的8位數(shù)據(jù)緩沖器,它是8255與微機(jī)系統(tǒng)數(shù)據(jù)總線的接口。輸入輸出的數(shù)據(jù)、CPU輸出的控制字以及CPU輸入的狀態(tài)信息都是通過這個(gè)緩沖器傳送的。2)三個(gè)端口A,B和C:A端口包含一個(gè)8位數(shù)據(jù)輸出鎖存器和緩沖器,一個(gè)8位數(shù)據(jù)輸入鎖存器。B端口包含一個(gè)8位數(shù)據(jù)輸入/輸出鎖存器和緩沖器,一個(gè)8位數(shù)據(jù)輸入緩沖器。C端口包含一個(gè)8位數(shù)據(jù)輸出鎖存器和緩沖器,一個(gè)8位數(shù)據(jù)輸入緩沖器(輸入沒有鎖存器)。3)A組和B組控制電路:這是兩組根據(jù)CPU輸出的控制字控制8255工作方式的電路,它們對(duì)于CPU而言,共用一個(gè)端口地址
8、相同的控制字寄存器,接收CPU輸出的一字節(jié)方式控制字或?qū)口按位復(fù)位字命令。方式控制字的高5位決定A組的工作方式,低3位決定B組的工作方式。對(duì)C口按位復(fù)位命令字可對(duì)C口的每一位實(shí)現(xiàn)置位或復(fù)位。A組控制電路控制A口和C口上半部,B組控制電路控制B口和C口下半部。4)讀寫控制邏輯:用來控制把CPU輸出的控制字或數(shù)據(jù)送至相應(yīng)端口,也由它來控制把狀態(tài)信息或輸入數(shù)據(jù)通過相應(yīng)的端口送到CPU。4.1.3 8255的控制字8255有三種工作方式:方式0、方式1、方式2??梢酝ㄟ^在控制端口中設(shè)置控制字來決定它的工作方式。8255有兩個(gè)控制字分別控制分別是:方式選擇控制字和端口C按位置置位/復(fù)位控制字。方式選擇
9、控制字的第7位總是1,而端口C按位置位/復(fù)位控制字的第7位總是0。所以第7位稱為區(qū)分兩個(gè)控制字的標(biāo)志位。1)方式選擇控制字圖4.1.3 方式選擇控制字2)端口C按位置置位/復(fù)位控制字圖4.1.4 端口C按位置置位/復(fù)位控制字4.1.4 8255的工作方式8255的工作方式主要有工作方式0、工作方式1和工作方式2。其中端口A可以工作在三種方式中的任一種;端口B只能工作在方式0和方式1;端口C通常作為控制信號(hào)使用,配合端口A和端口B的工作。在模擬流水線控制的設(shè)計(jì)中只用到了工作方式0,如表4.1所示。表4.1 8255在方式0下的輸入輸出組合序號(hào)控制字A口C口上半部B口C口下半部180H出出出出28
10、1H出出出入382H出出入出483H出出入入588H出入出出689H出入出入78AH出入入出88BH出入入入990H入出出出1091H入出出入1192H入出入出1293H入出入入1398H入入出出1499H入入出入159AH入入入出169BH入入入入工作方式0,又稱為基本工作方式。在此方式下,可分別將A口的8條線,B口的8條線,C口高4位對(duì)應(yīng)的4條線和C口的低四位對(duì)應(yīng)的四條線定義為輸入或輸出。故它們的輸入輸出共有16種不同的組合。工作方式1,既選通輸入輸出方式。在這種方式下,A口和B口仍作為數(shù)據(jù)的輸出口和輸入口,同時(shí)還要利用C口的某些位作為控制和狀態(tài)信號(hào)。工作方式2,又稱雙向輸入輸出方式。這種
11、方式只有8255的口A才有。在A口工作于雙向輸入輸出方式時(shí),要利用C口的5條線才能實(shí)現(xiàn)。因此,B口只能工作在工作方式0或工作方式1,而C口剩下的3條線可以作為輸入輸出線使用或B口方式1下的控制線。4.2 中斷控制器82594.2.1 8259的引線圖圖4.2.1. 8255引腳圖1)中斷控制器8259外部共有28個(gè)引腳:D0-D7是八條數(shù)據(jù)線,是片選端,是寫入端,是讀出端。14腳接地,28腳接+5V電源。CAS0-CAS2是級(jí)聯(lián)控制線。IR0-IR7為中斷請(qǐng)求輸入端。是中斷響應(yīng)輸入信號(hào)。INT為8259的中斷請(qǐng)求輸出信號(hào),可以直接接到CPU的INTR輸入端。2)中斷控制器8259內(nèi)部中斷控制器
12、內(nèi)部有八大組成部分: 數(shù)據(jù)總線緩沖器 讀寫邏輯 級(jí)聯(lián)緩沖器比較器 控制邏輯 中斷屏蔽寄存器(IMR) 中斷請(qǐng)求寄存器(IRR) 優(yōu)先級(jí)分析器(PR) 中斷服務(wù)寄存器。4.2.2 8259的內(nèi)部控制字8259工作之前必須通過CPU來命令它。CPU命令分為兩大類:一類是初始化命令字(ICW),主要是為了讓8259處于初始化狀態(tài);另一類是操作命令字(OCW),使初始化的8259去執(zhí)行具體的某種操作方式。1)初始化命令字初始化命令字ICW1初始化命令字ICW28086/88模式下,僅用ICW2提供不同中斷源的中斷向量碼。當(dāng)中斷響應(yīng)時(shí),根據(jù)中斷向量表獲得入口地址。初始化命令字ICW3該命令字用于多片82
13、59的級(jí)聯(lián)。初始化命令字ICW4000SFNMBUFM/SAEOIPM 1:8086/88模式 0:8080/85模式 1:自動(dòng)EOI 0:非自動(dòng)結(jié)束 0X:非緩沖方法 10:緩沖方式/從屬片 11:緩沖方式/主控片 1:特殊全嵌套方式 0:一般嵌套方式2)操作命令字OCW對(duì)8259初始化之后,該芯片就進(jìn)入工作狀態(tài),準(zhǔn)備好接收IR端進(jìn)入的中斷請(qǐng)求。操作命令字OCW1它用于設(shè)置對(duì)8259中斷的屏蔽操作。該八位的操作字的某一位為1時(shí),它就屏蔽相對(duì)應(yīng)的IR輸入。操作命令字OCW2該命令字用來設(shè)置優(yōu)先級(jí)是否循環(huán)、循環(huán)的方式及中斷結(jié)束的方式。5源程序清單及注釋SSTACK SEGMENT STACK ;
14、定義堆棧段 DW 32 DUP(?)SSTACK ENDS CODE SEGMENT ;定義代碼段 ASSUME CS:CODE,SS:SSTACKSTART: MOV AL,89H MOV DX,0646HOUT DX,AL ;將8255控制字設(shè)置為10001001 ;A、B口輸出 C口輸入 工作方式0PUSH DSMOV AX,0000HMOV AX,OFFSET MIR7 ;取中斷入口地址MOV SI,003CH ;中斷矢量地址MOV SI,AX ;填I(lǐng)RQ7的偏移矢量MOV AX,CS ;段地址MOV SI,003EHMOV SI , AX ;填I(lǐng)RQ7的段地址矢CLIPOP DS;初
15、始化8259MOV AL,13H OUT 20H,AL ;寫ICW1 (需要ICW4,單片使用,邊沿觸發(fā))MOV AL,08H OUT 21H,AL ;寫ICW2MOV AL,01H OUT 21H,AL ;寫ICW4(從片,非自動(dòng)EOI,8086/8088)MOV AL,7FH OUT 21H,AL ;寫OCW1 開放IR7STI ;將1賦給IF,開中斷RED: MOV AL,22HMOV DX,0640HOUT DX,AL ;南北方向紅燈亮MOV DX,0642HOUT DX,AL ;東西方向紅燈亮CALL DELAY ;調(diào)用延時(shí)程序DELAYNORMAL: STI MOV AL,88H
16、MOV DX,0642H OUT DX,AL ;東西方向綠燈亮MOV AL,22H MOV DX,0640HOUT DX,AL ;南北方向紅燈亮CALL DELAY ;調(diào)用延時(shí)程序DELAYMOV AL,00HMOV DX,0642HOUT DX,AL ;東西方向綠燈滅CALL DELAY1 ;調(diào)用延時(shí)程序DELAY1MOV CX,0005H ;將黃燈閃爍次數(shù)設(shè)為5RECALL1:MOV AL,44H MOV DX,0642H OUT DX,AL ;東西方向黃燈亮 CALL DELAY2 XOR AL,AL OUT DX,AL ;東西方向黃燈滅 CALL DELAY2 ;調(diào)用延時(shí)程序DELAY
17、2 LOOP RECALL1 MOV AL,88H MOV DX,0640H OUT DX,AL ;南北方向綠燈亮 MOV AL,22H MOV DX,0642H OUT DX,AL ;東西方向紅燈亮 CALL DELAY CALL DELAY ;兩次調(diào)用延時(shí)程序DELAY,南北方向設(shè)為主干道 MOV AL,00H MOV DX,0640H OUT DX,AL ;南北方向綠燈滅CALL DELAY1 ;調(diào)用延時(shí)程序DELAY1MOV CX,0005H ;將黃燈閃爍次數(shù)設(shè)為5RECALL2:MOV AL,44H MOV DX,0640H OUT DX,AL ;南北方向黃燈亮 CALL DELAY
18、2 ;調(diào)用延時(shí)程序DELAY2 XOR AL,AL OUT DX,AL ;南北方向黃燈滅 CALL DELAY2 ;調(diào)用延時(shí)程序DELAY2 LOOP RECALL2 JMP NORMAL ;無條件跳轉(zhuǎn)到NORMAL,實(shí)現(xiàn)循環(huán)MIR7: STI PUSH DS PUSH AX MOV AL,22HMOV DX,0640H OUT DX,AL ;事故發(fā)生時(shí)強(qiáng)制南北方向紅燈亮 MOV DX,0642H OUT DX,AL ;事故發(fā)生時(shí)強(qiáng)制東西方向紅燈亮NEXT: MOV DX, 0644H IN AL, DX TEST AL,01H JZ NEXT MOV AL,20H ;OCW2 關(guān)中斷 OUT
19、 20H,AL POP AX POP DX STI ;開中斷 IRET ;中斷返回 DELAY: PUSH CX ;延時(shí)程序DELAY MOV BX,008FH T1:MOV CX,1000H T2:NOP NOP LOOP T2 DEC BX CMP BX,0000H JNZ T1 POP CX RETDELAY1: PUSH CX ;延時(shí)程序DELAY1 MOV CX,0FFFFH T3:NOP NOP LOOP T3 POP CX RETDELAY2: PUSH CX ;延時(shí)程序DELAY2 MOV CX,0F900H T4:PUSH AX POP AX LOOP T4POP CXRET
20、CODE ENDS END START6 實(shí)際接線圖設(shè)計(jì)總結(jié)短短一周的微機(jī)原理課程設(shè)計(jì)已經(jīng)過去了。雖然時(shí)間短暫,但我學(xué)到了很多東西使我更加深刻的理解了我所學(xué)的知識(shí),并且能在實(shí)際中應(yīng)用他們,也使我更深的理解了什么是一分耕耘,一分收獲!在課程設(shè)計(jì)以前,可以說我對(duì)微機(jī)原理似懂非懂,有的時(shí)候拿來一個(gè)完整的程序都不能完全理解。而現(xiàn)在,我已經(jīng)完全掌握了以前老師所講的芯片的主要功能和使用方法。并能用自己的思路設(shè)計(jì)出想要的程序,這么大的反差就是源于此次課程設(shè)計(jì)??梢赃@么說,此次課程設(shè)計(jì)使我獲益匪淺!一分耕耘,一分收獲,沒有認(rèn)真的學(xué)習(xí),當(dāng)然不會(huì)掌握,沒有認(rèn)真了解芯片的功能,又如何在具體應(yīng)用中發(fā)揮他們應(yīng)有的作用呢
21、?在課堂上,王老師的耐心細(xì)致地講解使我掌握了這次設(shè)計(jì)中所選用的最重要芯片8255的主要功能。在課程設(shè)計(jì)開始時(shí),我首先對(duì)正常情況下的交通燈控制進(jìn)行了編程。對(duì)其控制字的編寫,根據(jù)程序的實(shí)際需要,我將10001001賦值給8255控制口,對(duì)其工作方式進(jìn)行了設(shè)定。根據(jù)實(shí)際交通燈的亮滅情況,我對(duì)8255進(jìn)行了相關(guān)的編程。為了使交通燈了亮滅情況跟接近實(shí)際,我利用延時(shí)程序通過對(duì)其中參數(shù)的設(shè)定,完成了交通燈的控制及顯示。出于實(shí)際情況考慮,我將南北方向設(shè)為主干道。根據(jù)老師的提示,課程設(shè)計(jì)的擴(kuò)展我考慮的是對(duì)于緊急事故是需要對(duì)交通燈進(jìn)行強(qiáng)制控制,而要實(shí)現(xiàn)這個(gè)功能,可以選用中斷控制器8259,因此我又對(duì)8259進(jìn)行了相關(guān)編程控制。本來以為再課堂上學(xué)習(xí)的知識(shí)已經(jīng)足夠用,可在編寫程序的時(shí)候才發(fā)現(xiàn)自己所學(xué)的東西掌握的很不扎實(shí),經(jīng)常在編寫程序時(shí)候漏掉一些細(xì)節(jié),導(dǎo)致在程序運(yùn)行時(shí)候出現(xiàn)了很多低級(jí)錯(cuò)誤,多虧同組同學(xué)的檢查及幫助,我才順利完成了設(shè)計(jì)程序的編寫。在調(diào)試過程中,雖然對(duì)程序已經(jīng)十分熟悉,但還是出現(xiàn)了很多問題,首先是加載不成功。經(jīng)過修改,其中因?yàn)轳R虎出現(xiàn)的小問題,程序終于通過了編譯、鏈接、加載,但當(dāng)運(yùn)行時(shí)卻怎么都無法顯示預(yù)期的效果。我百般思索,反復(fù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版牛糞有機(jī)肥生產(chǎn)加工合同規(guī)范4篇
- 二零二五年度新型農(nóng)村電商服務(wù)合同規(guī)范文本4篇
- 二零二五年度美容美發(fā)產(chǎn)品研發(fā)及成果轉(zhuǎn)化合同3篇
- 二零二五年度城市更新改造項(xiàng)目投資合同6篇
- 二零二五年度出國(guó)勞務(wù)派遣與職業(yè)技能提升培訓(xùn)合同3篇
- 房貸合同范本(2篇)
- 承包牛羊合同(2篇)
- 2025年度幕墻工程材料供應(yīng)與配送合同4篇
- 2025年度農(nóng)機(jī)維修服務(wù)網(wǎng)點(diǎn)加盟管理合同4篇
- 2025年歐派櫥柜出口貿(mào)易合同4篇
- (正式版)CB∕T 4552-2024 船舶行業(yè)企業(yè)安全生產(chǎn)文件編制和管理規(guī)定
- JBT 14588-2023 激光加工鏡頭 (正式版)
- 2024年四川省成都市樹德實(shí)驗(yàn)中學(xué)物理八年級(jí)下冊(cè)期末質(zhì)量檢測(cè)試題含解析
- 九型人格與領(lǐng)導(dǎo)力講義
- 廉潔應(yīng)征承諾書
- 2023年四川省成都市中考物理試卷真題(含答案)
- 泵車述職報(bào)告
- 2024年山西文旅集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 恢復(fù)中華人民共和國(guó)國(guó)籍申請(qǐng)表
- 管理期貨的趨勢(shì)跟蹤策略 尋找危機(jī)阿爾法
- 瀝青化學(xué)分析試驗(yàn)作業(yè)指導(dǎo)書
評(píng)論
0/150
提交評(píng)論