畢業(yè)設(shè)計(jì)論文:微機(jī)原理與接口技術(shù)_第1頁
畢業(yè)設(shè)計(jì)論文:微機(jī)原理與接口技術(shù)_第2頁
畢業(yè)設(shè)計(jì)論文:微機(jī)原理與接口技術(shù)_第3頁
畢業(yè)設(shè)計(jì)論文:微機(jī)原理與接口技術(shù)_第4頁
畢業(yè)設(shè)計(jì)論文:微機(jī)原理與接口技術(shù)_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PAGEPAGE1《微型計(jì)算機(jī)原理與接口技術(shù)》上海工程技術(shù)大學(xué)ShanghaiUniversityof課程設(shè)計(jì)的目的:1.通過《微機(jī)原理與接口》課程設(shè)計(jì),使我們能夠進(jìn)一步了解微型計(jì)算機(jī)工作原理,微型計(jì)算機(jī)的硬件結(jié)構(gòu)及微型計(jì)算機(jī)軟件編程。2.要求我們根據(jù)接口電路的硬件要求進(jìn)行計(jì)算機(jī)的匯編語言程序設(shè)計(jì),使我們的軟件編程能力得到加強(qiáng),對(duì)接口電路的綜合應(yīng)用能力有較大提高。3.課程設(shè)計(jì)有利于基礎(chǔ)知識(shí)的理解和邏輯思維的鍛煉。本課程設(shè)計(jì)是培養(yǎng)和鍛煉我們綜合應(yīng)用所學(xué)理論知識(shí)解決實(shí)際問題能力、進(jìn)行工程實(shí)訓(xùn)的重要教學(xué)環(huán)節(jié),也能培養(yǎng)我們理論聯(lián)系實(shí)際、敢于動(dòng)手、善于動(dòng)手和獨(dú)立自主解決設(shè)計(jì)實(shí)踐中遇到的各種問題能力。4.微機(jī)原理與接口技術(shù)是一門實(shí)踐性較強(qiáng)的課程,我們?cè)趯W(xué)完該課程之后,進(jìn)行一次課程設(shè)計(jì),是非常必要的。這能使我們將課堂所學(xué)的知識(shí)和實(shí)踐有機(jī)結(jié)合起來,初步掌握計(jì)算機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的步驟和接口設(shè)計(jì)的方法,提高分析和解決實(shí)際問題的能力。通過設(shè)計(jì)實(shí)踐,培養(yǎng)我們查閱專業(yè)資料、工具書或參考書,了解有關(guān)工業(yè)標(biāo)準(zhǔn),掌握現(xiàn)代設(shè)計(jì)手段和軟件工具,并能以圖紙和說明書表達(dá)設(shè)計(jì)思想和結(jié)果的能力。在設(shè)計(jì)中不但要培養(yǎng)和提高學(xué)生解決工程具體問題、動(dòng)腦動(dòng)手的技術(shù)工作能力,而且還要逐步建立科學(xué)正確的設(shè)計(jì)和科研思想,培養(yǎng)良好的設(shè)計(jì)習(xí)慣,牢固樹立實(shí)事求是和嚴(yán)肅認(rèn)真的工作態(tài)度。設(shè)計(jì)題目1的分析:設(shè)計(jì)目的:熟練掌握8088匯編語言程序各種結(jié)構(gòu)的設(shè)計(jì)及編程方法;熟練掌握DOS中斷功能調(diào)用的方法。設(shè)計(jì)要求:編制一個(gè)完整的程序,計(jì)算100個(gè)正整數(shù)(字?jǐn)?shù)據(jù))之和,如果不超過機(jī)器數(shù)的范圍(65535),則計(jì)算其平均值并存于RESULT中,否則顯示“overflow”。設(shè)計(jì)思想:本設(shè)計(jì)要求100個(gè)正整數(shù)之和再按設(shè)計(jì)要求顯示,但是在將源程DOS時(shí),輸入100數(shù)要溢出時(shí)用cup代碼表示不明顯,直觀,所以我將100個(gè)該寫成10個(gè)數(shù),手動(dòng)輸入10個(gè)數(shù),使程序簡(jiǎn)單明了。雖然變成了10個(gè)數(shù),其他源代碼都與100個(gè)數(shù)時(shí)意義相同,能滿足設(shè)計(jì)的要求及目的。程序開始時(shí)定義10個(gè)正整數(shù)以及存放結(jié)果的變量,然后10個(gè)數(shù)相加,在期間如果超出“65535”,則通過DOS輸出“overflow”,如果沒有則繼續(xù)相加,直至相加完成,完成后再通過DOS求平均值,再通過DOS輸出結(jié)果至目標(biāo)地址,程序結(jié)束。程序源代碼:①.沒有溢出時(shí):DATA SEGMENTMEM DW 5,5,5,5,5,5,5,5,5,5STRDB 'overflow!',0DH,0AH,'$'RESULT DW ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXXOR AX,AXMOV SI,AXMOV CX,100SUM: ADD AX,MEM[SI] JC NEXT ADD SI,2 LOOP SUM MOV BX,100 MOV DX,0 DIV BX MOV RESULT,AX JMP SHORT EXITNEXT: LEA DX,STR MOV AH,09H INT 21HEXIT: MOV AH,4CH INT 21HCODE ENDS END START溢出時(shí):DATA SEGMENTMEM DW 5,5,5,5,5,5,5,5,5,65532STRDB 'overflow!',0DH,0AH,'$'RESULT DW ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXXOR AX,AXMOV SI,AXMOV CX,100SUM: ADD AX,MEM[SI] JC NEXT ADD SI,2 LOOP SUM MOV BX,100 MOV DX,0 DIV BX MOV RESULT,AX通過DOS輸出overflow是否超出機(jī)器數(shù)范圍通過DOS輸出overflow是否超出機(jī)器數(shù)范圍開始結(jié)束定義10個(gè)正整數(shù)以及存放結(jié)果的變量10個(gè)正整數(shù)相加10個(gè)數(shù)是否加完通過DOS輸出10個(gè)數(shù)的和的平均值YNYNNEXT: LEA DX,STR MOV AH,09H INT 21HEXIT: MOV AH,4CH INT 21HCODE ENDS END START程序流程圖:調(diào)試結(jié)果和程序結(jié)果分析:沒有溢出時(shí):118F:0000B88C11MOVAX,118C118F:00038ED8MOVDS,AX118F:000533COXORAXAX118F:00078BFOMOVSI,AX118F:0009B9OAOOMOVCXOOOA118F:000C03840000ADDAX,[SI+0000]118F:00107212JB0024118F:001283C602ADDSI,+02118F:0015E2F5LOOPOOOC118F:0017BB0A00MOVBX,000A118F:001ABA0000MOVDX,0000118F:001DF7F3DIVBX118F:001FA31F00MOV[OO1F],AX118F:0022EB08JMP002C118F:00248D161400LEADX,[0014]118F:0028B409MOVAH,09118F:002ACD21INT21118F:002CB44CMOVAH,4C-G002CAX=0005BX=000ACX=0000DX=0000SP=0000BP=OOOOSI=0014DI=0000DS=118CES=117CSS=118CCS=118FIP=002CMVUPEIPLNZNAPENC118F:002CB44CMOVAH,4C-D0000118C:00000500050005000500-0500050005000500118C:0010050005006F766572-666C6F770D0A2405118C:00200000000000000000-0000000000000000118C:0030B88C118ED833C08B-F0B90A0003840000118C:0040721283C602E2F5BB-0A00BA0000F7F118C:00501F00EB088D161400-B409CD21B44CCD21118C:0060048987C4038997C6-03FF362621EBCC7F118C:007083C4022BC050FF36-6427FF3662278B1E溢出時(shí):118F:0000B88C11MOVAX,118C118F:00038ED8MOVDS,AX118F:000533COXORAXAX118F:00078BFOMOVSI,AX118F:0009B9OAOOMOVCXOOOA118F:000C03840000ADDAX,[SI+0000]118F:00107212JB0024118F:001283C602ADDSI,+02118F:0015E2F5LOOPOOOC118F:0017BB0A00MOVBX,000A118F:001ABA0000MOVDX,0000118F:001DF7F3DIVBX118F:001FA31F00MOV[OO1F],AX118F:0022EB08JMP002C118F:00248D161400LEADX,[0014]118F:0028B409MOVAH,09118F:002ACD21INT21118F:002CB44CMOVAH,4C-G002CoverflowAX=0924BX=0000CX=0001DX=0014SP=0000BP=OOOOSI=0012DI=0000DS=118CES=117CSS=118CCS=118FIP=002CMVUPEIPLNZACPO118F:002CB44CMOVAH,4C設(shè)計(jì)題目2的分析:設(shè)計(jì)目的:1.掌握8088CPU及存儲(chǔ)器硬件接口電路的設(shè)計(jì)連接;2.掌握相關(guān)硬件驅(qū)動(dòng)軟件設(shè)計(jì)及信息處理軟件的設(shè)計(jì)調(diào)試的方法。設(shè)計(jì)要求:設(shè)計(jì)十字路口交通燈控制系統(tǒng)?;疽螅和瓿呻p向紅綠黃燈的配合控制。附加內(nèi)容:在基本的電路中加入必要的燈光閃燈,人行定時(shí)顯示等。設(shè)計(jì)思想:把實(shí)驗(yàn)箱中的8255的8個(gè)C口按我規(guī)定的順序接到實(shí)驗(yàn)箱紅綠燈模塊的接口處。實(shí)驗(yàn)中,8255的C口作為輸出口,通過編寫程序來控制C口輸出的信號(hào),信號(hào)從C口輸出后以二進(jìn)制數(shù)的形式被輸出到實(shí)驗(yàn)箱的紅綠燈模塊的接口。再以82558個(gè)C口所輸出的高低電平來控制實(shí)驗(yàn)箱的紅綠燈模塊的燈的情況。實(shí)驗(yàn)時(shí),通過高低電平測(cè)試,燈亮是低電平有效,且DG是指燈亮綠色,DR是指燈亮紅色,若同時(shí)驅(qū)動(dòng)則燈亮黃色。我所設(shè)計(jì)的紅綠燈雙向亮燈情況如下,假使開始時(shí),北南方向亮紅燈,東西方向亮綠燈。調(diào)用延時(shí)子程序后,北南方向還為紅燈,東西兩方向燈熄滅,再調(diào)用延時(shí)子程序后,北南兩方向不變,東西兩方向亮綠燈,通過這樣反復(fù)幾次,以造成東西方向燈閃爍的效果,此后,東西兩方向變黃燈,北南兩方向還為紅燈,調(diào)用延時(shí)子程序后,東西兩方向變?yōu)榧t燈,北南兩方向變?yōu)榫G燈,后面東西方亮燈情況與北南方亮燈情況在前面的狀態(tài)下交換。東西方和南北方亮燈情況交換完成后再返回到開始東西方亮綠燈,北南方向亮紅燈,最后進(jìn)行跳轉(zhuǎn),重新開始輸入信號(hào)。這樣就可以完成雙向紅綠黃燈的配合控制。實(shí)驗(yàn)電路及接線:實(shí)驗(yàn)箱上控制紅綠燈的接口線路如下圖所示:DG1 DG2 DG3 DG4DG1 DG2 DG3 DG4DR1 DR2 DR3 DR4實(shí)驗(yàn)箱紅綠燈排列示意圖圖被控制的燈的位置(相對(duì)于上圖)8255輸出接口接入燈的接口燈的顏色變化附加變化左方燈PC0DG1綠燈同時(shí)亮起,變?yōu)辄S燈PC1DR1紅燈上邊燈PC2DG2綠燈PC3DR2紅燈下邊燈PC4DG3綠燈PC5DR3紅燈右方燈PC6DG4綠燈PC7DR4紅燈程序源代碼:DSEGSEGMENTDSEGENDSSSEGSEGMENTSSEGSTADW50DUP(?)TOPEQULENGTHSTASSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEG,ES:DATA,SS:SSEGBEGIN: MOVAL,80HMOVDX,203H OUTDX MOV DX,202H OVF: MOV AL,069H OUT DX CALL DELAY MOV AL,07DH OUT DX CALL DELAY MOV AL,069H OUT DX CALL DELAY MOV AL,07DH OUT DX CALL DELAY MOV AL,069H OUT DX CALL DELAY MOV AL,07DH OUT DX CALL DELAY MOV AL,069H OUT DX CALL DELAY MOV AL,07DH OUT DX CALL DELAY MOV AL,069H OUT DX CALL DELAY MOV AL,041H OUT DX CALL DELAY MOV AL,096H OUT DX CALL DELAY MOV AL,0D7H OUT DX CALL DELAY MOV AL,096H OUT DX CALL DELAY MOV AL,0D7H OUT DX CALL DELAY MOV AL,096H OUT DX CALL DELAY MOV AL,0D7H OUT DX CALL DELAY MOV AL,096H OUT DX CALL DELAY MOV AL,0D7H OUT DX CALL DELAY MOV AL,096H OUT DX CALL DELAY MOV AL,014H OUT DX CALL DELAY JMP OVF DELAY PROC NEAR MOV BX,1AAHNEXT1: MOV CX,0DFHNEXT2: LOOP NEXT2 DEC BX JNZ NEXT1 RETDELAY ENDP CSEGENDSENDBEGIN程序結(jié)果分析:將實(shí)驗(yàn)箱與電腦連接,打開電腦編程軟件,將所編譯的程序打入其中,完成后將程序捎入實(shí)驗(yàn)箱中,程序開始后,8255輸出信號(hào)69H,及為二進(jìn)制數(shù)01101001B,其從C口輸出對(duì)應(yīng)順序?yàn)椋篜C7PC6PC5PC4PC3PC2PC1PC0,在其對(duì)應(yīng)的8個(gè)紅綠燈接口中,DG1為1,DR1為0,DG4為1,DR4為0,即左右兩方向燈亮紅燈;DG2為0,DR2為1,DG3為0,DR3為1,即上下兩方向燈亮綠燈。調(diào)用延時(shí)子程序后,8255輸出信號(hào)7DH,及為二進(jìn)制數(shù)01111101B,在其對(duì)應(yīng)的8個(gè)紅綠燈接口中,DG1為1,DR1為0,DG4為1,DR4為0,即左右兩方向燈亮紅燈;DG2為1,DR2為1,DG3為1,DR3為1,即上下兩方向燈熄滅。調(diào)用延時(shí)子程序后,8255輸出信號(hào)69H,及為二進(jìn)制數(shù)01101001B,在其對(duì)應(yīng)的8個(gè)紅綠燈接口中,DG1為1,DR1為0,DG4為1,DR4為0,即左右兩方向燈亮紅燈;DG2為0,DR2為1,DG3為0,DR3為1,即上下兩方向燈亮綠燈。左右兩邊的燈保持紅燈不變,上下兩燈由綠燈變?yōu)橄?,再由熄滅變?yōu)榫G燈,以造成上下兩燈閃爍的效果,這樣重復(fù)四次后,8255輸出信號(hào)69H,及為二進(jìn)制數(shù)01101001B,在其對(duì)應(yīng)的8個(gè)紅綠燈接口中,DG1為1,DR1為0,DG4為1,DR4為0,即左右兩方向燈亮紅燈;DG2為0,DR2為1,DG3為0,DR3為1,即上下兩方向燈亮綠燈。調(diào)用延時(shí)子程序后,8255輸出信號(hào)41H,及為二進(jìn)制數(shù)01000001B,在其對(duì)應(yīng)的8個(gè)紅綠燈接口中,DG1為1,DR1為0,DG4為1,DR4為0,即左右兩方向燈亮紅燈;DG2為0,DR2為0,DG3為0,DR3為0,即上下兩方向燈亮黃燈。調(diào)用子程序后,8255輸出信號(hào)96H,及為二進(jìn)制數(shù)10010110B,在其對(duì)應(yīng)的8個(gè)紅綠燈接口中,DG1為0,DR1為1,DG4為0,DR4為1,即左右兩方向燈亮綠燈;DG2為1,DR2為0,DG3為1,DR3為0,即上下兩方向燈亮紅燈。調(diào)用子程序后,8255輸出信號(hào)D7H,及為二進(jìn)制數(shù)11010111B,在其對(duì)應(yīng)的8個(gè)紅綠燈接口中,DG1為1,DR1為1,DG4為1,DR4為1,即左右兩方向燈熄滅;DG2為1,DR2為0,DG3為1,DR3為0,即上下兩方向燈亮紅燈。上下兩燈保持紅燈不變,左右兩邊的燈由綠燈變?yōu)橄?,再由熄滅變?yōu)榫G燈,以造成上下兩燈閃爍的效果,這樣重復(fù)四次后,8255輸出信號(hào)96H,及為二進(jìn)制數(shù)10010110B,在其對(duì)應(yīng)的8個(gè)紅綠燈接口中,DG1為0,DR1為1,DG4為0,DR4為1,即左右兩方向燈亮綠燈;DG2為1,DR2為0,DG3為1,DR3為0,即上下兩方向燈亮紅燈。調(diào)用延時(shí)子程序后,8255輸出信號(hào)14H,及為二進(jìn)制數(shù)00010100B,在其對(duì)應(yīng)的8個(gè)紅綠燈接口中,DG1為0,DR1為0,DG4為0,DR4為0,即左右兩方向燈亮黃燈;DG2為1,DR2為0,DG3為1,DR3為0,即上下兩方向燈亮紅燈。之后通過無條件指令JMP跳轉(zhuǎn)到程序開始,重新開始輸入信號(hào)。程序流程圖:開始開始段定義及端口初始化端口輸出69H延時(shí)子程序端口輸出7DH延時(shí)子程序端口輸出41H延時(shí)子程序端口輸出96H延時(shí)子程序端口輸出D7H延時(shí)子程序端口輸出41H重復(fù)前面兩狀態(tài)3次重復(fù)前面兩狀態(tài)3次結(jié)束硬件電路原理圖:82558255PCoPC1PC2PC3PC4PC5PC6PC774LS138DG1DG2DG3DG4DR1DR2DR3DR4YoCS8255硬件電路設(shè)計(jì)說明:把實(shí)驗(yàn)箱中的8255的8個(gè)C口按我規(guī)定的順序接到實(shí)驗(yàn)箱紅綠燈模塊的接口處。實(shí)驗(yàn)中,8255的C口作為輸出口,通過編寫程序來控制C口輸出的信號(hào),信號(hào)從C口輸出后以二進(jìn)制數(shù)的形式被輸出到實(shí)驗(yàn)箱的紅綠燈模塊的接口。再以82558個(gè)C口所輸出的高低電平來控制實(shí)驗(yàn)箱的紅綠燈模塊的燈的情況。附加內(nèi)容的分析:設(shè)計(jì)思想:設(shè)計(jì)中的主程序與題目二主程序相同,在其中加入了利用實(shí)驗(yàn)箱上的8個(gè)小燈的紅綠燈倒計(jì)時(shí)系統(tǒng)。將8255的B口作為8個(gè)小燈信號(hào)的輸出口,當(dāng)紅綠燈某兩方向燈進(jìn)入綠燈閃爍后,進(jìn)入8個(gè)小燈的倒計(jì)時(shí)系統(tǒng),8個(gè)小燈將按以下順序熄滅:首先是最右側(cè)HL0燈熄滅,再是最左側(cè)HL7燈熄滅,接下來是燈HL1熄滅,再是燈HL6熄滅,再按HL2HL5HL3HL4的順序熄滅。當(dāng)8個(gè)燈都熄滅后,剛綠燈閃爍的燈變?yōu)辄S燈。當(dāng)綠燈再次進(jìn)入閃爍時(shí),再次進(jìn)入倒計(jì)時(shí)系統(tǒng)。實(shí)驗(yàn)箱上控制八個(gè)小燈的接口電路:HL7HL7HL6HL5HL4HL3HL2HL1HL0L7L6L5L4L3L2L0L1程序源代碼:DSEGSEGMENTDSEGENDSSSEGSEGMENTSSEGSSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEG,ES:DATA,SS:SSEGBEGIN: MOVAL,80HMOVDX,203H OUTDX MOV DX,202H OVF: MOV AL,069H OUT DX CALL DELAY MOV AL,07DH OUT DX CALL DELAY MOV AL,069H OUT DX CALL DELAY MOV AL,07DH OUT DX CALL DELAY MOV AL,069H OUT DX CALL DELAY MOV AL,07DH OUT DX CALL DELAY MOV AL,069H OUT DX CALL DELAY MOV AL,07DH OUT DX CALL DELAY MOV AL,069H OUT DX CALL DELAY2 MOV AL,041H OUT DX CALL DELAY MOV AL,096H OUT DX CALL DELAY MOV AL,0D7H OUT DX CALL DELAY MOV AL,096H OUT DX CALL DELAY MOV AL,0D7H OUT DX CALL DELAY MOV AL,096H OUT DX CALL DELAY MOV AL,0D7H OUT DX CALL DELAY MOV AL,096H OUT DX CALL DELAY MOV AL,0D7H OUT DX CALL DELAY MOV AL,096H OUT DX CALL DELAY2 MOV AL,014H OUT DX CALL DELAY JMP OVF DELAY PROC NEAR MOV BX,1CAHCNT1: MOV CX,0DFHCNT2: LOOP CNT2 DEC BX JNZ CNT1 RETDELAY ENDPDELAY2 PROC NEAR OUTDX MOV DX,201H MOV AL,00H OUT DX CALL DELAY MOV AL,01H OUT DX CALL DELAY MOV AL,081H OUT DX CALL DELAY MOV AL,083H OUT DX CALL DELAY MOV AL,0C3 OUT DX CALL DELAY MOV AL,0C7 OUT DX CALL DELAY MOV AL,0E7H OUT DX CALL DELAY MOV AL,0EFH OUT DX CALL DELAY MOV AL,0FFH OUT DX CALL DELAY MOV DX,202H RETDELAY2 ENDP CSEGENDSENDBEGIN程序結(jié)果分析:將實(shí)驗(yàn)箱上的紅綠燈模塊和八個(gè)小燈倒計(jì)時(shí)模塊按要求接入8255的B口和C口,再將實(shí)驗(yàn)箱與電腦連接,打開電腦編程軟件,將所編譯的程序打入其中,完成后將程序捎入實(shí)驗(yàn)箱中,程序開始后,8255輸出信號(hào)69H,及為二進(jìn)制數(shù)01101001B,其從C口輸出對(duì)應(yīng)順序?yàn)椋篜C7PC6PC5PC4PC3PC2PC1PC0,在其對(duì)應(yīng)的8個(gè)紅綠燈接口中,DG1為1,DR1為0,DG4為1,DR4為0,即左右兩方向燈亮紅燈;DG2為0,DR2為1,DG3為0,DR3為1,即上下兩方向燈亮綠燈。調(diào)用延時(shí)子程序后,8255輸出信號(hào)7DH,及為二進(jìn)制數(shù)01111101B,在其對(duì)應(yīng)的8個(gè)紅綠燈接口中,DG1為1,DR1為0,DG4為1,DR4為0,即左右兩方向燈亮紅燈;DG2為1,DR2為1,DG3為1,DR3為1,即上下兩方向燈熄滅。調(diào)用延時(shí)子程序后,8255輸出信號(hào)69H,及為二進(jìn)制數(shù)01101001B,在其對(duì)應(yīng)的8個(gè)紅綠燈接口中,DG1為1,DR1為0,DG4為1,DR4為0,即左右兩方向燈亮紅燈;DG2為0,DR2為1,DG3為0,DR3為1,即上下兩方向燈亮綠燈。左右兩邊的燈保持紅燈不變,上下兩燈由綠燈變?yōu)橄?,再由熄滅變?yōu)榫G燈,以造成上下兩燈閃爍的效果,這樣重復(fù)四次后,8255輸出信號(hào)69H,及為二進(jìn)制數(shù)01101001B,在其對(duì)應(yīng)的8個(gè)紅綠燈接口中,DG1為1,DR1為0,DG4為1,DR4為0,即左右兩方向燈亮紅燈;DG2為0,DR2為1,DG3為0,DR3為1,即上下兩方向燈亮綠燈。然后調(diào)用八個(gè)小燈倒計(jì)時(shí)子程序,進(jìn)入子程序后,定義8255的B口作為倒計(jì)時(shí)系統(tǒng)的輸出口,8255輸出信號(hào)00H,及讓B口所對(duì)應(yīng)的八個(gè)小燈全亮,調(diào)用延時(shí)子程序后,8255輸出信號(hào)01H,及為二進(jìn)制數(shù)00000001B,其從B口輸出對(duì)應(yīng)順序依次為HL7HL6HL5HL4HL3HL2HL1HL0,即除了HLO口為1外,其他口都為0,所以只有HL0燈熄滅。通過8255輸出信號(hào)控制B口所接八個(gè)小燈的熄滅情況,八個(gè)小燈按HL7HL1HL6HL2HL5HL3HL4的順序依次熄滅。八個(gè)小燈倒計(jì)時(shí)子程序完后,8255輸出信號(hào)41H到C口,及為二進(jìn)制數(shù)01000001B,在其對(duì)應(yīng)的8個(gè)紅綠燈接口中,DG1為1,DR1為0,DG4為1,DR4為0,即左右兩方向燈亮紅燈;DG2為0,DR2為0,DG3為0,DR3為0,即上下兩方向燈亮黃燈。調(diào)用子程序后,8255輸出信號(hào)96H,及為二進(jìn)制數(shù)10010110B,在其對(duì)應(yīng)的8個(gè)紅綠燈接口中,DG1為0,DR1為1,DG4為0,DR4為1,即左右兩方向燈亮綠燈;DG2為1,DR2為0,DG3為1,DR3為0,即上下兩方向燈亮紅燈。調(diào)用子程序后,8255輸出信號(hào)D7H,及為二進(jìn)制數(shù)11010111B,在其對(duì)應(yīng)的8個(gè)紅綠燈接口中,DG1為1,DR1為1,DG4為1,DR4為1,即左右兩方向燈熄滅;DG2為1,DR2為0,DG3為1,DR3為0,即上下兩方向燈亮紅燈。上下兩燈保持紅燈不變,左右兩邊的燈由綠燈變?yōu)橄?,再由熄滅變?yōu)榫G燈,以造成上下兩燈閃爍的效果,這樣重復(fù)四次后,8255輸出信號(hào)96H,及為二進(jìn)制數(shù)10010110B,在其對(duì)應(yīng)的8個(gè)紅綠燈接口中,DG1為0,DR1為1,DG4為0,DR4為1,即左右兩方向燈亮綠燈;DG2為1,DR2為0,DG3為1,DR3為0,即上下兩方向燈亮紅燈。然后調(diào)用八個(gè)小燈倒計(jì)時(shí)子程序,進(jìn)入子程序后,定義8255的B口作為倒計(jì)時(shí)系統(tǒng)的輸出口,8255輸出信號(hào)00H,及讓B口所對(duì)應(yīng)的八個(gè)小燈全亮,調(diào)用延時(shí)子程序后,8255輸出信號(hào)01H,及為二進(jìn)制數(shù)00000001B,其從B口輸出對(duì)應(yīng)順序依次為HL7HL6HL5HL4HL3HL2HL1HL0,即除了HLO口為1外,其他口都為0,所以只有HL0燈熄滅。通過8255輸出信號(hào)控制B口所接八個(gè)小燈的熄滅情況,八個(gè)小燈按HL7HL1HL6HL2HL5HL3HL4的順序依次熄滅。八個(gè)小燈倒計(jì)時(shí)子程序完后,8255輸出信號(hào)14H到C口,及為二進(jìn)制數(shù)00010100B,在其對(duì)應(yīng)的8個(gè)紅綠燈接口中,DG1為0,DR1為0,DG4為0,DR4為0,即左右兩方向燈亮黃燈;DG2為1,DR2為0,DG3為1,DR3為0,即上下兩方向燈亮紅燈。之后通過無條件指令JMP跳轉(zhuǎn)到程序開始,重新開始輸入信號(hào)。硬件電路原理圖:82558255PCoPC1PC2PC3PC4PC5PC6PC774LS138DG1DG2DG3DG4DR1DR2DR3DR4YoCS8255PB7PB6PB5PB4PB3PB2PB1PB0L7L6L5L4L3L2L1L0硬件電路說明:把實(shí)驗(yàn)箱中的8255的8個(gè)C口按我規(guī)定的順序接到實(shí)驗(yàn)箱紅綠燈模塊的接口處,再將8255的8個(gè)B口按我規(guī)定的順序接到實(shí)驗(yàn)箱八個(gè)小燈倒計(jì)時(shí)的模塊。實(shí)驗(yàn)中,8255的B口和C口將作為輸出口,通過編寫程序來控制B口和C口輸出的信號(hào),信號(hào)從B口和C口輸出后以二進(jìn)制數(shù)的形式被輸出到實(shí)驗(yàn)箱的紅綠燈模塊的接口和八個(gè)小燈模塊的接口。再以82558個(gè)B口和8個(gè)C口所輸出的高低電平來控制實(shí)驗(yàn)箱的紅綠燈模塊的燈的情況。這樣以來,就可以再紅綠燈系統(tǒng)中添加倒計(jì)時(shí)系統(tǒng)。程序流程圖;開始開始段定義及端口初始化C口輸出信號(hào),綠燈閃爍4次調(diào)用八個(gè)小燈倒計(jì)時(shí)程序,八個(gè)小燈按規(guī)定順序依次熄滅C口輸出信號(hào)041H,延時(shí)子程序C口輸出信號(hào),另外兩方向綠燈閃爍4次調(diào)用八個(gè)小燈倒計(jì)時(shí)程序,八個(gè)小燈按規(guī)定順序依次熄滅C口輸出信號(hào)014H,開始延時(shí)子程序設(shè)計(jì)總結(jié):在這學(xué)期剛接觸《微型計(jì)算機(jī)原理與接口技術(shù)》時(shí),感覺學(xué)習(xí)這門課程有些吃力。面對(duì)著眾多的術(shù)語、概念及原理性的問題不知道該如何下手。在了解課程的特點(diǎn)后,我發(fā)現(xiàn),應(yīng)該以微機(jī)的整機(jī)概念為突破口,在如何建立整體概念上下功夫??梢酝ㄟ^學(xué)習(xí)一個(gè)模型機(jī)的組成和指令執(zhí)行的過程,了解和熟悉計(jì)算機(jī)的結(jié)構(gòu)、特點(diǎn)和工作過程?!段C(jī)原理與接口技術(shù)》課程有許多新名詞、新專業(yè)術(shù)語。透徹理解這些名詞、術(shù)語的意思,為今后深入學(xué)習(xí)打下基礎(chǔ)。一個(gè)新的名詞從首次接觸到理解和應(yīng)用,需要一個(gè)反復(fù)的過程。而在眾多概念中,真正關(guān)鍵的并不是很多。比如“中斷”概念,既是重點(diǎn)又是難點(diǎn),如果不懂中斷技術(shù),就不能算是搞懂了微機(jī)原理。在學(xué)習(xí)中凡是遇到這種情況,我絕對(duì)不輕易放過,要力求真正弄懂,搞懂一個(gè)重點(diǎn),將使一大串概念迎刃而解。光理解了概念,對(duì)實(shí)際的作用和原理還不能記憶于心,這個(gè)時(shí)候,這次的課程設(shè)計(jì)就起到了舉足輕重的作用。剛接到課題時(shí),有些不知道從哪里下手,畢竟第一次完成如此龐大的課題,以前雖然零零碎碎學(xué)習(xí)了相關(guān)內(nèi)容,但總體上是按照書本內(nèi)容照做,內(nèi)容簡(jiǎn)單且較分散。后面我就通過查找資料和反復(fù)復(fù)習(xí)戎老師在課堂上所講的內(nèi)容,漸漸的就有了一些思緒。其間也出了很多問題,但是通過自己的查找和戎老師的幫助,問題都得到了解決。在做題目一的時(shí)候,編譯好程序,在將程序打入DOS時(shí)候出了一點(diǎn)小問題。程序打好,在運(yùn)行測(cè)試時(shí)總是找不到文件,試過幾遍結(jié)果都不正確,后面通過自己一步一步的檢查,問題原來出在保存程序時(shí)候出的錯(cuò)。我開始時(shí)保存程序后綴名都錯(cuò)誤的打成了.ASM。后面改過后,一切都沒有了問題。這次錯(cuò)誤讓我在后續(xù)的實(shí)驗(yàn)中更多了幾分細(xì)心,任何小的錯(cuò)誤都可能導(dǎo)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論