微機(jī)原理課程設(shè)計(jì)報(bào)告彩燈控制器_第1頁(yè)
微機(jī)原理課程設(shè)計(jì)報(bào)告彩燈控制器_第2頁(yè)
微機(jī)原理課程設(shè)計(jì)報(bào)告彩燈控制器_第3頁(yè)
微機(jī)原理課程設(shè)計(jì)報(bào)告彩燈控制器_第4頁(yè)
微機(jī)原理課程設(shè)計(jì)報(bào)告彩燈控制器_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上微機(jī)原理課程設(shè)計(jì)專業(yè)班級(jí):計(jì)算機(jī)1301姓 名:學(xué) 號(hào):指導(dǎo)老師: 2016年 1 月 15 日彩燈控制器一、 實(shí)驗(yàn)要求、設(shè)計(jì)目的及功能實(shí)現(xiàn) 實(shí)驗(yàn)要求:現(xiàn)在有8盞彩燈,4個(gè)開關(guān)作為輸入,控制4種閃爍方式。當(dāng)沒有開關(guān)閉合時(shí),4種花型依次輪流閃爍,每種花型閃爍時(shí)間持續(xù)2分鐘,每盞燈點(diǎn)亮的時(shí)間為1秒。只有某一個(gè)開關(guān)閉合時(shí),對(duì)應(yīng)的花型連續(xù)不斷的閃爍。 設(shè)計(jì)實(shí)現(xiàn)該功能的電路,并編寫完整的代碼。 設(shè)計(jì)目的:(1) 鞏固和加深微機(jī)原理所學(xué)知識(shí); (2)學(xué)習(xí)掌握一般的軟硬件的設(shè)計(jì)方法和查閱、運(yùn)用資料的能力。 所實(shí)現(xiàn)的功能: 本課程設(shè)計(jì)所設(shè)計(jì)的彩燈控制器的主要功能有:向外發(fā)散顯示、向中

2、遞推顯示、0-7依次顯示、奇數(shù)燈顯示,偶數(shù)燈顯示等功能。輸出采用8個(gè)二極管顯示,每個(gè)燈亮1秒。2、 實(shí)驗(yàn)原理 在這次課程設(shè)計(jì)中主要用到了8255A可編程并行接口芯片可用程序來(lái)設(shè)置芯片的工作方式,通用性強(qiáng),使用靈活,可為CPU與外設(shè)之間提供并行輸入/輸出的通道。8254給1S的信號(hào)送到8259,再送到8255A控制燈亮的時(shí)間。3、 硬件原理圖 8255工作原理及內(nèi)部結(jié)構(gòu)1.8255A內(nèi)部結(jié)構(gòu)8255A的內(nèi)部結(jié)構(gòu)如圖2所示,它由4部分組成:(1) 數(shù)據(jù)總線緩沖器它是一個(gè)雙向三態(tài)8位緩沖器,用作與系統(tǒng)總線連接是的緩沖部件.CPU與8255A之間所有的數(shù)據(jù)的發(fā)送與接收以及CPU向8255A發(fā)送的控制信

3、息和8255A向CPU回送的狀態(tài)信息都是通過它傳送的(2)三個(gè)8位端口PA、PB、PC端口A(PA口):有一個(gè)8位數(shù)據(jù)輸入鎖存器和一個(gè)8位數(shù)據(jù)輸入鎖存/緩沖器;端口B(PB口):有一個(gè)8位數(shù)據(jù)輸入緩沖器和一個(gè)8位數(shù)據(jù)輸入/輸出,鎖存/緩沖存儲(chǔ)器器;端口C(PC口):有一個(gè)8位數(shù)據(jù)輸入緩沖存儲(chǔ)器器和一個(gè)8位數(shù)據(jù)輸出鎖存/緩沖器。通常PA口與PB口用作輸入/輸出的數(shù)據(jù)端口,PC口用作控制和狀態(tài)信息端口。PC口可以分為兩個(gè)四位的端口,每個(gè)端口包含一個(gè)四位鎖存器,可分別同PA口和PB口配合使用,用作控制信號(hào)(輸出)或作為狀態(tài)信號(hào)(輸入)。PA7-PA0PC7-PC4PC3-PC0D7-D0/RD/WR

4、A1A0/CSRESETA組控制數(shù)據(jù)總線緩沖器讀/寫控制邏輯B組控制A組A口(8位)A組C口 高4位B組C口 低4位B組B口(8位)PB7-PB0圖2 內(nèi)部結(jié)構(gòu)圖(3) A組和B組控制電路A組:PA口和PC口的高四位(PC7PC4);B組:PB口和PC口的低四位(PC3PC0)。這兩組控制電路一方面接收CPU發(fā)來(lái)的控制字并決定8255A的工作方式;另一方面接收來(lái)自讀寫控制邏輯電路的讀寫命令,完成接口的讀寫操作。(4)讀/寫控制邏輯用來(lái)管理數(shù)據(jù)信息??刂谱趾蜖顟B(tài)字的傳送,它接收來(lái)自CPU的地址總線的A1,A0和控制總線的信號(hào)RD.WR.RESET等,并向8255A的A,B兩組發(fā)送命令.由它控制把

5、CPU發(fā)出的控制命令字或輸出的數(shù)據(jù)送到相應(yīng)的端口,或把外設(shè)的狀態(tài)信息或輸入的數(shù)據(jù)從相應(yīng)的端口送到CPU。2.8255A引腳功能8255A芯片除電源和地引腳以外,其他引腳可分為兩組,引腳如圖3所示:(1)8255A與外設(shè)連接引腳 8255A芯片與外設(shè)連接的有24條雙向、三態(tài)數(shù)據(jù)引腳,分成三組,分別對(duì)應(yīng)于A,B,C三個(gè)數(shù)據(jù)端口:PA7-PA0,PB7-PB0,PC7-PC0.1 402 393 384 375 366 357 348 339 3210 3111 3012 2913 2814 2715 2616 2517 2418 2319 2220 21PA3PA2PA1PA0/RD/CSGNDA

6、1A0PC7PC6PC5PC4PC0PC1PC2PC3PB0PB1PB2PA4PA5PA6PA7/WRRETD0D1D2D3D4D5D6D7VCCPB7PB6PB5PB4PB3圖3 引腳圖( 2 ) 8255A與CPU連接引腳D7與CPU側(cè)連接的八條雙向數(shù)據(jù)線;WR(低電平有效)寫輸入信號(hào);RD(低電平有效)讀輸入信號(hào);CS(低電平有效)片選輸入信號(hào);A0、A1片內(nèi)寄存器選擇輸入信號(hào);PA7PA0A口外設(shè)雙向數(shù)據(jù)線;PB7PB0B口外設(shè)雙向數(shù)據(jù)線;PC7PC0C口外設(shè)雙向數(shù)據(jù)線;RESET復(fù)位輸入信號(hào)表1 8255A的控制信號(hào)和傳送操作的對(duì)應(yīng)關(guān)系/CS/RD/WRA1 A0執(zhí)行的操作0010

7、0讀端口A0010 1讀端口B0011 0讀端口C0011 1非法狀態(tài)0100 0寫端口A0100 1寫端口B0101 0寫端口C0101 1寫控制字端口1 未選通8255A的工作方式控制字8255A有兩個(gè)控制字:方式選擇控制字和端口C置位/復(fù)位控制字。這兩個(gè)控制字公用一個(gè)地址,即控制端口地址,用控制字的D7位來(lái)區(qū)分這兩個(gè)控制字,D7=1為方式選擇控制字;D7=0為端口置位/復(fù)位控制字。1.方式選擇控制字如圖4所示:D7 D6 D5 D4 D3 D2 D1下C口pc3-pc00輸入 1輸PB 0輸1輸出上C口pc7-pc40輸入 1輸出PA 0輸入 1輸出A組工作方式0 方式001方式012方

8、式10特征位圖4 8255A方式選擇控制字2.端口C置位/復(fù)位控制字 端口C置位/復(fù)位控制字的格式如下圖所示:D3-D1三位的編碼與端口C的某一位相對(duì)應(yīng),D0決定置位或復(fù)位操作,最高位為0是端口C置位或復(fù)位控制字標(biāo)志。如圖5所示0D3D2D1置位或復(fù)位選擇1:置位 0:復(fù)位D0D3D2D1位選擇000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC7 圖5 8255A端口C置3.8255A的工作方式8255可編程外圍接口芯片是Intel公司生產(chǎn)的通用并行I/O接口芯片,它具有A、B、C三個(gè)并行接口,用+5V單電源引腳圖供電,能在以下三種工作方式下工作:方

9、式0基本輸入/輸出方式方式0下,每一個(gè)端口都作為基本輸入或輸出口,端口C的高4位和低4位以及端口A、端口B都可獨(dú)立的設(shè)置為輸入口或輸出口。4個(gè)端口的輸入或輸出可有16種組合。8255A工作于方式0時(shí),CPU可采用無(wú)條件讀寫方式與8255A交換數(shù)據(jù),也可采用查詢方式與8255A交換數(shù)據(jù)。采用查詢方式時(shí),可利用端口C作為與外設(shè)的聯(lián)絡(luò)信號(hào)。方式1選通輸入/輸出方式:適用于查詢和中斷方式。方式2雙向選通輸入/輸出方式:方式2為雙向傳輸方式,8255A的方式2可使8255A與外設(shè)進(jìn)行雙向通信,既能發(fā)送數(shù)據(jù),又能接受數(shù)據(jù),可采用查詢方式和中斷方式進(jìn)行傳輸。8086 的引腳信號(hào)如圖6所示:1 402 393

10、 384 375 366 357 348 339 3210 3111 3012 2913 2814 2715 2616 2517 2418 2319 2220 21GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3A1/S4A18/S5A19/S6/BHE/S7MN/MX/RDHOLDHLDA/WRM/IODT/R/DENALE/INTR/TESTREADYRESET圖6 8086引腳圖 8086具有兩種不同工作方式,即最小模式和最大模式。若把MN/引腳連至電源+5V,則為最小模式。若把

11、它接地,則處在最大模式。四、軟件設(shè)計(jì)1.主程序流程圖開始初始化調(diào)用檢測(cè)k1向外發(fā)散顯示向中遞推檢測(cè)k2檢測(cè)k3向左依次顯示 奇、偶數(shù)燈亮檢測(cè)k4中斷檢測(cè)k5暫停開始2.開關(guān)設(shè)計(jì) N燈全滅K5=1YN顯示當(dāng)前YK1=1繼續(xù)當(dāng)前循環(huán)5、 調(diào)試過程 1.硬件調(diào)試 設(shè)計(jì)的電路是由k5來(lái)控制燈的暫停和開始,k1-k5接PB0-PB4?;ㄐ妥儞Q由k1,k2,k3,k4控制。 2.軟件調(diào)試 輸入程序,經(jīng)編譯,連接后下載到實(shí)驗(yàn)箱運(yùn)行。6、 心得體會(huì)通過彩燈控制器的匯編實(shí)現(xiàn),對(duì)硬件特別是8253A,8255并行口的原理和實(shí)現(xiàn)都有了很深的了解。更加深了對(duì)匯編語(yǔ)言的使用.在算法實(shí)現(xiàn)上要有一定的思路要更能體現(xiàn)設(shè)計(jì)的目

12、的。同時(shí)上機(jī)調(diào)試也是十分重要的,在調(diào)試的過程中能夠不斷的發(fā)現(xiàn)在編寫算法時(shí)應(yīng)該注意的一些細(xì)節(jié)和算法語(yǔ)句的非法使用,在調(diào)試過程中通過對(duì)算法的不斷測(cè)試、更正、擴(kuò)充功能、修飾細(xì)節(jié),使算法程序不斷的得到完善。通過這次的課程設(shè)計(jì)使我認(rèn)識(shí)到要將微機(jī)原理這門計(jì)算機(jī)專業(yè)的課學(xué)好不僅僅是要把書上的基本知識(shí)學(xué)好而且還要不斷進(jìn)行實(shí)踐,將所學(xué)的跟實(shí)踐操作結(jié)合起來(lái)才能更好地鞏固所學(xué),才能提高自己實(shí)踐能力.通過這次的設(shè)計(jì)使我認(rèn)識(shí)到只停留在表面理解問題是很難使問題得到很好的解決的,實(shí)踐能力與理論知識(shí)同樣重要。可以說(shuō)此課程設(shè)計(jì)的理論難度并不大,但是若要深入發(fā)掘其中的東西,并且實(shí)際去編程實(shí)現(xiàn),就遇到了相當(dāng)大的難度。因?yàn)榕c之涉及的

13、很多方面并沒有學(xué)過,需要自己去自學(xué)和實(shí)踐檢驗(yàn)。7、 實(shí)驗(yàn)源程序(附注釋).486p stackpequ1400hCODESEGMENT USE16ASSUMEDS:CODE,ES:CODE,CS:CODEORG03000HBEG:JMPSTART IFSWITCH DB 0 SHANSHUOCOUNT DB 0 SWITCHCOUNT DB 1 ORDERNO DB 0 ShanShuoLimit DB 120 DENG1 DB 0,18H,24H,42H,81H DENG2 DB 0,81H,42H,24H,18H,24H,42H DENG3 DB 0,00H,80H,0C0H,0E0H,0

14、F0H,0F8H,0FCH,0FEH,0FFH DENG4 DB 0,01H,02H,04H,08H,10H,20H,40H,80H,40H,20H,10H,08H,04H,02H DENGCount DB 4 PORT1EQU203H ;A PORT2EQU207H ;B PORT3EQU20BH ;C PORT4EQU20FH ;CTRL PORT8254A EQU 300H PORT8254B EQU 304H PORT8254C EQU 308H PORT8254D EQU 30CH PORTJI EQU 3A8H ;8259A奇地址 PORTOU EQU 3A0H ;8259A偶地址

15、 START:CLI ;關(guān)中斷movax,CODEmovds,ax MOV AX,0 MOV ES,AX movss,axmovsp,stackp MOV AL,B MOV DX,PORT4 ;8255初始化 A端口輸入,B端口輸出 OUT DX,AL MOV BX,40H*4MOV AX,OFFSET INTPROCMOV ES:BX,AX ;設(shè)置中斷向量MOV AX,SEG INTPROCMOV ES:BX+2,AXMOV AL,B MOV DX,PORTOU ;ICW1OUT DX,ALMOV AL,BMOV DX,PORTJI ;ICW2OUT DX,ALMOV AL,B ;ICW4O

16、UT DX,ALMOV AL,B ;中斷屏蔽字,OCW1OUT DX,ALMOV AL,36H ;計(jì)數(shù)器初始化 MOV DX,PORT8254DOUT DX,ALMOV AX,470MOV DX,PORT8254AOUT DX,ALMOV AL,AHOUT DX,ALMOV AL,76HMOV DX,PORT8254DOUT DX,ALMOV AX,100MOV DX,PORT8254BOUT DX,ALMOV AL,AHOUT DX,AL STIWAIT: JMP WAIT INTPROC PROC PUSH DX PUSH AX PUSH BX STI MOV DX,PORT2 ;讀開關(guān)狀

17、態(tài) IN AL,DX TEST AL,80H JNZ EXIT2 AND AL,1FH CMP AL,01H JE ONE CMP AL,02H JE TWO CMP AL,04H JE THREE CMP AL,08H JE FOUR CMP IFSWITCH,0 ;IFSWTICH=1表示當(dāng)前正在交替閃爍,JNE NEXT0 ;IFSWTICH=0表示剛從某種樣式單獨(dú)閃爍的狀態(tài)切換到交替閃爍的狀態(tài)MOV IFSWITCH,1MOV SWITCHCOUNT,1 ;先從第一種樣式開始閃爍MOV SHANSHUOCOUNT,0 ;當(dāng)前樣式閃爍次數(shù)初始化 MOV ORDERNO,0NEXT0:CM

18、P SWITCHCOUNT,01HJE ONECMP SWITCHCOUNT,02HJE TWO ;切到相應(yīng)的樣式CMP SWITCHCOUNT,03HJE THREECMP SWITCHCOUNT,04HJE FOUR ONE: MOV DL,01H MOV DH,4 LEA BX,DENG1 CALL CasePro JMP EXIT1 TWO: MOV DL,02H MOV DH,6 LEA BX,DENG2 CALL CasePro JMP EXIT1 THREE: MOV DL,04H MOV DH,9 LEA BX,DENG3 CALL CasePro JMP EXIT1 FOUR: MOV DL,08H MOV DH,14 LEA BX,DENG4 CALL CasePro JMP EXIT1 EXIT1: MOV DX,PORT1 OUT DX,AL ;從端口A送出數(shù)據(jù),讓小燈們亮

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論