版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 1 設(shè)計任務(wù)描述</b></p><p><b> 1.1設(shè)計題目</b></p><p><b> 路燈控制設(shè)計</b></p><p><b> 1.2設(shè)計內(nèi)容</b></p><p> 1)天黑時路燈電亮,天亮時
2、路燈關(guān)閉。</p><p> 2)用中斷模擬天黑。</p><p> 1.2.1 設(shè)計目的</p><p> 通過課程設(shè)計使學(xué)生更進一步掌握微機原理及應(yīng)用課程的有關(guān)知識,提高應(yīng)用微機解決問題的能力,加深對微機應(yīng)用的理解。通過查閱資料,結(jié)合所學(xué)知識進行軟、硬件的設(shè)計,使學(xué)生初步掌握應(yīng)用微機解決問題的步驟及方法。為以后學(xué)生結(jié)合專業(yè)從事微機應(yīng)用設(shè)計奠定基礎(chǔ)</
3、p><p> 1.2.2 設(shè)計要求</p><p> 1)通過KO—K7和K++來輸入。</p><p> 2)用LED指示燈顯示結(jié)果。</p><p> 3)輸出為1燈亮,輸入為0燈滅。</p><p><b> 2設(shè)計思路</b></p><p> 本次微機原理
4、課程設(shè)計我設(shè)計的是路燈控制器。通過中斷信號來使路燈點亮,再經(jīng)延時程序來使燈自動熄滅。然后重新回到初始狀態(tài)。 </p><p> 我們用到的芯片是中斷控制器8259和可編程并行接口8255這兩種芯片再外加一個LED顯示單元及開關(guān)單元。用中斷控制器8259的控制字來設(shè)置單片、邊沿觸發(fā)、非緩沖、非自動,用ICW4來設(shè)置IR7非屏蔽。</p><p> 設(shè)置中斷控制器8255的控制字,讓它A口
5、輸出來顯示燈亮,。由于我們沒用到B口和C口,所以讓B口輸入C口高低四位均輸出。</p><p> 設(shè)置完控制字后,再使A口輸出全為0(這時路燈初始狀態(tài)為滅),接著讓程序循環(huán)進入空操作。當天黑需要路燈亮時,按下中斷(代表天黑),程序從循環(huán)執(zhí)行空操作中中斷出來,使A口輸出從全為0變成全為1(這時路燈全亮),程序后面連接一個延遲子程序,來控制燈亮的時間。</p><p> 最后到了程序該結(jié)束
6、的時候了,A口輸出從全1再次變?yōu)槿?(這時路燈全滅,代表夜晚已過,天亮了)。這時程序本該結(jié)束了,程序結(jié)束后,又返回到中斷控制器8259這部分,這樣程序又可以通過按中斷來控制燈亮,這樣就簡單又實用。</p><p> 大體上程序主要分四大部分:輸入部分,中斷部分,延遲部分和輸出部分。結(jié)合所學(xué)的</p><p> 知識外加查找相關(guān)資料,把這幾大部分合理的連接起來,從而實現(xiàn)一個完整、功能強大
7、的程</p><p><b> 序。</b></p><p><b> 3 主要元器件介紹</b></p><p> 3.1 所用芯片8255簡介:</p><p> 3.1.1 外部引線</p><p> D0~D7為雙向數(shù)據(jù)信號線,用來傳送數(shù)據(jù)和控制字。、<
8、;/p><p> RD為讀信號線,與其它信號線一起實現(xiàn)對8255接口的讀操作通常接系統(tǒng)總線的IOR信號。</p><p> WR為寫信號線,與其它信號一起實現(xiàn)對8255的寫操作,通常接系統(tǒng)總線的IOW。</p><p> CS為片選信號線,當它為低電平(有效)時,才能選中該8255芯片,也才能對8255進行操作。、</p><p> A0
9、,A1為口地址選擇信號線。8255內(nèi)部有3個口;A口,B口,C 口,還有一個控制寄存器,它們可由程序?qū)ぶ?。A0,A1上的不同編碼可分別尋址上述3個口和一個控制寄存器,具體規(guī)定如下:</p><p> A1 A0 選擇 </p><p> 0 0 A口
10、</p><p> 0 1 B口</p><p> 1 0 C口</p><p> 1 1 控制寄存器</p><p> 通常
11、 A0,A1分別接系統(tǒng)總線A0和 A1,它們與CS一起來決定8255的接口地址。</p><p> RESET為復(fù)位輸入信號。此端上的高電平可使8255復(fù)位。復(fù)位后,8255的A口,B口,C 口均被定為輸入狀態(tài)。</p><p> PA0~PA7為A口的8條輸入輸出信號線。</p><p> PB0~PB7為B口的8條輸入輸出信號線。</p>&
12、lt;p> PC0~PC78條線根據(jù)其工作方式可作為數(shù)據(jù)的輸入或輸出線,也可以用作控制信號的輸出或狀態(tài)信號的輸入線。</p><p> 3.1.2 8255有三種工作方式:方式0、方式1和方式2。</p><p> ?、伲悍绞?--基本輸入/輸出</p><p> 在此工作方式下,每個口都作為基本的輸入輸出口,C口的高4位和低4位以及A口和B口都可獨立地
13、設(shè)置為輸入口和輸出口。在此工作方式下:輸出的數(shù)據(jù)被鎖存,而輸入的數(shù)據(jù)不被鎖存。 </p><p> 而且,在方式0之下,C口還有按位置位和復(fù)位的能力。 </p><p> ?、冢悍绞?--選通輸入/輸出</p><
14、p> 此工作方式下,三個端口分為A、B兩組,A、B兩個口仍用作數(shù)據(jù)輸入輸出口,而C口分成兩部分,分別作為A口和B口的聯(lián)絡(luò)信號。在8255A中,聯(lián)絡(luò)信號是3位,兩個數(shù)據(jù)口,共用去C口的6位,剩余的兩位仍可作為數(shù)據(jù)位使用。</p><p> ③:方式2--雙向選通輸入/輸出此工作方式只限于A組使用,在A口工作于雙向輸入輸出方式時,要利用C口的5條線才能實現(xiàn)此時B口子能工作在方式0或方式1,而C口剩下的3條線
15、可作為輸入輸出線使用或用作B口方式1之下的控制線。</p><p> 當A口工作在方式2時,B口可以在方式0或方式1工作。 </p><p> 8255方式0之下的輸入輸出組合</p><p> 3.1.3 8255的尋址:</p><p> 8255占外設(shè)編址的4個地址,即A口,B口,C口和控
16、制寄存器各占一個外設(shè)接口地址。對同一個地址分別可以進行讀寫操作。例如,讀A口可將A口的數(shù)據(jù)讀出;寫A口可將CPU的數(shù)據(jù)寫入A口并輸出。</p><p><b> 8255的尋址</b></p><p> 8255方式0基本功能 :</p><p> 方式0是基本輸入/輸出方式。其功能如下: </p><p> ?、?/p>
17、進行數(shù)據(jù)傳送時不需要聯(lián)絡(luò)信號。 </p><p> ?、谌我辉O(shè)置成方式0的端口均可設(shè)置成輸入或輸出。 </p><p> ?、圯敵鼍哂墟i存功能。 </p><p> ④輸入沒有鎖存功能。 </p><p> ?、菝恳粋€8位口和4位口均可設(shè)置成方式0。如果所有的8位口和4位口都設(shè)置成方</p><p> 端口是否具有
18、鎖存功能是需要注意的。如果具有鎖存功能,則8255A可作為CPtJ與外設(shè)之間數(shù)據(jù)傳送的中轉(zhuǎn)站。這時,CPU與外設(shè)之間數(shù)據(jù)傳送是異步的。如果沒有鎖存功能,則8255A作為數(shù)據(jù)通道,僅起單向三態(tài)門的作用。這時,CPU與外設(shè)之間數(shù)據(jù)傳送是同步的。方式0的輸出具有鎖存功能,而輸入沒有鎖存功能。</p><p> 可編程并行接口8255引線圖</p><p> D7 D6
19、 D5 D4 D3 D2 D1 D0</p><p> 無關(guān) 置/復(fù)位 </p><p><b> 0:復(fù)位</b></p><p><b> 1:置位</b></p><
20、;p><b> C口的位選擇</b></p><p> D3 D2 D1選擇</p><p><b> 000PC0</b></p><p><b> 001PC1</b></p><p><b> 010 PC2</b></p>
21、;<p><b> 011 PC3</b></p><p><b> 100 PC4</b></p><p><b> 101 PC5</b></p><p><b> 110 PC6</b></p><p><b> 1
22、11 PC7</b></p><p> C口的按位操作控制字格式</p><p> A組控制 B組控制</p><p><b> 控制C口低四位</b></p><p><b> 1:輸入</b></p><p><b> 0
23、:輸出</b></p><p><b> 控制B口八位</b></p><p><b> 1:輸入</b></p><p><b> 0:輸出</b></p><p><b> 方式選擇</b></p><p>
24、<b> 0:方式0</b></p><p><b> 1:方式1</b></p><p><b> 控制C口高四位</b></p><p><b> 0:輸出</b></p><p><b> 1:輸入</b></p
25、><p><b> 控制A口8位</b></p><p><b> 0:輸出</b></p><p><b> 1:輸入</b></p><p><b> 方式選擇</b></p><p><b> 00:方式0&l
26、t;/b></p><p><b> 10:方式1</b></p><p><b> 11:方式2</b></p><p><b> 功能控制</b></p><p><b> 0:位操作</b></p><p>&l
27、t;b> 1:方式選擇</b></p><p> 8255的控制字格式</p><p> 3.2 所用芯片8259簡介:</p><p> 3.2.1 8259的外部引線</p><p> D0~D7為雙向數(shù)據(jù)信號線,與系統(tǒng)總線的數(shù)據(jù)線相連接。</p><p> WR、RD為寫和讀控制信號
28、,與系統(tǒng)總線的讀寫信號相連接。</p><p> CS為片選信號,只有CS為低電平時,才能實現(xiàn)CPU對8259的寫或讀操作。</p><p> A0是8259內(nèi)部寄存器的選擇信號。它的不同狀態(tài),對應(yīng)不同的內(nèi)部寄存器。</p><p> INT為8259的中斷請求輸出信號??芍苯咏拥紺PU的INTR輸入端。</p><p> INTA為
29、中斷響應(yīng)輸入信號。在中斷響應(yīng)過程中CPU的中斷響應(yīng)信號由此端進入8259.</p><p> CAS0~CAS2為級聯(lián)控制線。當多片8259級聯(lián)工作時,其中一片為主控級聯(lián)芯片,其他均為從屬級芯片。主控級芯片的CAS0~CAS2作為輸出,連接到個從屬級芯片的CAS0~CAS2上。當某從屬8259提出中斷請求時,主控級8259通過CAS0~CAS2送出相應(yīng)的編碼給從屬級,是從屬級中斷被允許。</p>
30、<p> SP/EN為雙功能引線。當工作在緩沖模式時,它為輸出,用以控制緩沖傳送;在非緩沖模式時,它用作輸入。當SP=1時,指定8259芯片為主控級;SP=0時,指定它為從屬級。</p><p> IR0~IR7中斷請求輸入端。其他外設(shè)中斷請求可加在8259的IR0~IR7的任一端上。該信號可以使上升沿有效,也可以時高電平有效。</p><p> 8259的內(nèi)部有多個寄存器
31、,其中包括:</p><p> 中斷請求寄存器(IRR),其內(nèi)部保存著所有外部中斷源IR0~IR7的中斷請求狀態(tài)。任何一個中斷源發(fā)生請求,其相應(yīng)位為1;一旦得到響應(yīng),則相應(yīng)位復(fù)位。</p><p> 中斷服務(wù)寄存器(ISR),用來保存所有正在服務(wù)的中斷源。當8259受到中斷結(jié)束命令時,其寄存的狀態(tài)進行調(diào)整。</p><p> 中斷屏蔽寄存器(IMR),保存著被
32、屏蔽的所有中斷源。其屏蔽功能可用命令修改。</p><p><b> 8259引線圖</b></p><p> 3.2.2 8259的內(nèi)部控制字</p><p> CPU命令分為兩大類:一類時初始化命令字(ICW),主要使8259處于初始狀態(tài);另一類是操作命令字(OCW),使處于初始狀態(tài)的8259去執(zhí)行具體的某種操作方式。操作命令字可在8
33、259初始化后的任何時刻寫入。</p><p><b> 初始化命令字</b></p><p> ①初始化命令字ICW1</p><p> A0=0為偶地址。在A0=0,D4=1時為寫入。</p><p><b> A0</b></p><p> D7
34、D6 D5 D4 D3 D2 D1 D0</p><p><b> 1:需要ICW4</b></p><p><b> 0:不需要ICW4</b></p><p> 低8編程位 1:單片8
35、259</p><p> 下,中斷低口 0:多片8259級聯(lián)</p><p> 8080/85模式 1:間隔為4</p><p><b> 0:間隔為8</b></p><p> 僅用于8080、85模式</
36、p><p><b> 1:電平觸發(fā)</b></p><p><b> 0:邊沿觸發(fā)</b></p><p> 初始化命令字ICW1</p><p> ②初始化命令字ICW2</p><p><b> A0=1為奇地址。</b></p>
37、<p> ③初始化命令字ICW3</p><p> A0=1為奇地址。該字是用于多片8259級聯(lián)的。</p><p> 在主控8259中,ICW3的每一位對應(yīng)一個IR輸入。哪一位為1,表示相應(yīng)的IR接從屬8259.</p><p> 從屬8259的ICW3的最低三位的編碼用以表示該從屬8259接至主控8259的IR編號。</p>&
38、lt;p><b> 主控ICW3</b></p><p><b> A0</b></p><p> D7 D6 D5 D4 D3 D2 D1 D0</p><p> 1:相應(yīng)IR接從屬8259</p><
39、;p><b> 0:不接8259</b></p><p><b> 從屬ICW3</b></p><p><b> A0 </b></p><p> D7 D6 D5 D4 D3 D2 D1 D0&
40、lt;/p><p> 3位編碼對應(yīng)從屬8259</p><p><b> 接主控的IR編號</b></p><p> 初始化命令字ICW3</p><p> ?、艹跏蓟钭諭CW4</p><p><b> A0=1為奇地址。</b></p><p&
41、gt;<b> A0</b></p><p> D7 D6 D5 D4 D3 D2 D1 D0</p><p> 1:8086/88模式</p><p> 0:8088/85模式</p><p><b>
42、1:自動EOI</b></p><p><b> 0:非自動結(jié)束</b></p><p><b> 0X:非緩沖方法</b></p><p> 10:緩沖方式\從屬片</p><p> 11:緩沖方式\主控片</p><p><b> 1:特殊
43、全嵌套方式</b></p><p><b> 0:一般嵌套方式</b></p><p> 初始化命令字ICW4</p><p> (2)操作命令字OCW</p><p> ?、?操作命令字OCW1。</p><p> 當這個8位的操作命令字的某一位置1時,它就屏蔽相對的IR輸入
44、。</p><p> ②操作命令字OCW2。</p><p><b> A0</b></p><p> D7 D6 D5 D4 D3 D2 D1 D0</p><p> 編碼對應(yīng)IR的最低優(yōu)先級</p><
45、p> 0 0 1 一般EOI</p><p><b> 中斷結(jié)束命令</b></p><p> 0 1 1 特殊EOI </p><p> 1 0 1 循環(huán)優(yōu)先級的一般EOI命令</p>&
46、lt;p> 1 0 0 在自動EOI下置循環(huán)優(yōu)先級 自動循環(huán)</p><p> 0 0 0 在自動EOI下清循環(huán)優(yōu)先級</p><p> 1 1 1 循環(huán)優(yōu)先級的特殊EOI命令</p><p> 1 1 0 設(shè)置優(yōu)先級 特殊循環(huán)</p><p>
47、 0 1 0 無效</p><p><b> 操作命令字OCW2</b></p><p> 該命令字用來設(shè)置優(yōu)先級是否循環(huán)、循環(huán)的方式及中斷結(jié)束的方式。</p><p> R為優(yōu)先級循環(huán)控制位,R=1為循環(huán)優(yōu)先級;R=0為固定優(yōu)先級。</p><p> L2、L1、L0為系統(tǒng)最低優(yōu)先級編碼,用它們來
48、指定哪個IR優(yōu)先級最低。</p><p> EOI是中斷結(jié)束命令。</p><p><b> OCW2控制格式</b></p><p> ?、鄄僮髅钭諳CW3。</p><p><b> A0</b></p><p> D7 D6 D5
49、 D4 D3 D2 D1 D0</p><p><b> 0X:無效</b></p><p> 0X:無效 10:可讀IRR</p><p> 10:復(fù)位特殊屏蔽
50、 11:可讀ISR</p><p> 11:設(shè)置特殊屏蔽 1:允許查詢</p><p><b> 0:不查詢</b></p><p><b> 操作命令字OCW3</b></p>
51、<p> 8259寄存器及命令的訪問控制</p><p> 3.2.3 8259的初始化順序</p><p> 4 源程序清單及注釋</p><p> SSTACK SEGMENT STACK</p><p> DW 32 DUP(?)</p><p> SSTACK ENDS</
52、p><p> CODE SEGMENT</p><p> ASSUME CS:CODE</p><p> START: PUSH DS</p><p> MOV AX, 0000H ;初始化中斷向量表</p><p> MOV DS, AX</p><p&
53、gt; MOV SI, 003CH</p><p> MOV DX, OFFSET LIGHT ;送偏移量</p><p> MOV [SI],DX</p><p> MOV AX,SEG LIGHT ;送段地址</p><p> MOV SI,003EH &
54、lt;/p><p> MOV [SI],AX</p><p> CLI ;關(guān)中斷</p><p><b> POP DS</b></p><p> ;初始化主片8259</p><p> SET8259: MOV AL, 13H</p&g
55、t;<p> OUT 20H, AL ;ICW1 邊沿觸發(fā) 單片 要ICW4</p><p> MOV AL, 08H</p><p> OUT 21H, AL ;ICW2 中斷向量碼</p><p> MOV AL, 01H</p><p> OUT 21H, AL ;ICW3 非緩沖
56、非自動 8088</p><p> MOV AL, 7FH</p><p> OUT 21H, AL ;ICW4 OCW1 IR7非屏蔽</p><p> STI ;開中斷</p><p> ;初始化芯片8255</p><p> SET8255:
57、 MOV DX,0646H </p><p> MOV AL,82H</p><p> OUT DX,AL ;A口輸出,B口輸入,C口輸出</p><p> MOV DX,0640H</p><p> MOV AL,00H</p><p> OUT DX,AL
58、;路燈初始都是滅的</p><p> AA1: NOP</p><p><b> JMP AA1</b></p><p> LIGHT: PUSH DX</p><p> PUSH AX ;保護現(xiàn)場</p><p> LDC
59、T: MOV DX,0642H ;路燈點亮程序</p><p><b> IN AL,DX </b></p><p> CMP AL,01H</p><p> MOV AL,0FFH </p><p> MOV DX,0640H</p><p&
60、gt; OUT DX,AL ;天黑路燈全亮</p><p><b> MOV CX,3</b></p><p> CET3: CALL SOFTDLY ;點亮時間模擬</p><p><b> LOOP CET3</b></p><
61、p> JMP STOP </p><p><b> STOP:</b></p><p> MOV DX,0640H ;結(jié)束程序</p><p> MOV AL,00H </p><p> OUT DX,AL ;天亮路燈滅
62、</p><p> MOV AL,20H ;OCW2中斷結(jié)束</p><p> OUT 20H,AL</p><p><b> POP AX</b></p><p> POP DX ;恢復(fù)現(xiàn)場</p><p><b
63、> STI</b></p><p> JMP SET8259</p><p> SOFTDLY PROC ;延時子程序</p><p><b> PUSH BX </b></p><p><b> PUSH CX</b>&
64、lt;/p><p> MOV BL,100</p><p> DELAY: MOV CX,2801</p><p> WAIT1: LOOP WAIT1</p><p><b> DEC BL</b></p><p><b> JNZ DELAY</b></
65、p><p><b> POP CX </b></p><p><b> POP BX</b></p><p><b> RET </b></p><p> SOFTDLY ENDP </p><p><b
66、> STI</b></p><p> IRET ;中斷返回</p><p><b> CODEENDS</b></p><p> END START</p><p><b> 5 設(shè)計原理流程圖</b></p>
67、<p> 6實際硬件電路接線圖</p><p><b> 設(shè)計總結(jié)</b></p><p><b> 參考文獻</b></p><p> 1.周明德.微型計算機系統(tǒng)原理與應(yīng)用(第四版).北京:清華大學(xué)出版社</p><p> 2.王正洪.朱正偉.馬正華.微機接口與應(yīng)用.北京:
68、清華大學(xué)出版社</p><p> 3.范會敏.李晉惠.微型計算機原理與接口技術(shù)應(yīng)用.北京:科學(xué)出版社</p><p> 4.沈鑫剡.微機原理與應(yīng)用學(xué)習輔導(dǎo).北京:清華大學(xué)出版社</p><p> 5.韓進宏.賈鵬.微型計算機原理與接口技術(shù)實驗指導(dǎo)書.北京:機械工業(yè)出版社</p><p> 6.李伯成.侯伯亨.張毅坤.微型計算機原理及應(yīng)
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 微機原理課程設(shè)計---步進電機的微機控制
- 微機原理課程設(shè)計
- 微機原理課程設(shè)計--交通燈控制設(shè)計
- 微機原理課程設(shè)計報告
- 微機原理課程設(shè)計.rar
- 微機原理課程設(shè)計汽車速度控制
- 微機原理課程設(shè)計報告
- 2017微機原理課程設(shè)計
- 微機原理課程設(shè)計.rar
- 微機原理課程設(shè)計.rar
- 微機原理課程設(shè)計.rar
- 微機原理課程設(shè)計報告
- 《微機原理》課程設(shè)計報告
- 微機原理課程設(shè)計報告
- 微機原理課程設(shè)計課程設(shè)計----微機內(nèi)存擴充卡
- 微機原理課程設(shè)計課程設(shè)計----微機內(nèi)存擴充卡
- 微機控制課程設(shè)計
- 微機原理課程設(shè)計---電梯升降設(shè)計
- 微機原理課程設(shè)計報告--秒表設(shè)計
- 微機原理課程設(shè)計--步進電機控制系統(tǒng)
評論
0/150
提交評論