版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 信息科學(xué)與工程學(xué)院</b></p><p><b> 課程設(shè)計(jì)報(bào)告書</b></p><p> 課程名稱: 微機(jī)原理及應(yīng)用課程設(shè)計(jì) </p><p> 班 級(jí): </p><p> 學(xué) 號(hào): </p&g
2、t;<p> 姓 名: </p><p> 指導(dǎo)教師: </p><p><b> 2011年12月 </b></p><p><b> 程序設(shè)計(jì)目的</b></p><p> 綜合運(yùn)用本課程知識(shí),
3、利用集成電路設(shè)計(jì)實(shí)現(xiàn)一些中小規(guī)模電子電路或者完成一定功能的程序,以復(fù)習(xí)鞏固課堂所學(xué)的理論知識(shí),提高程序設(shè)計(jì)實(shí)現(xiàn)系統(tǒng)、繪制系統(tǒng)電路圖的能力,為實(shí)際應(yīng)用奠定一定的基礎(chǔ)。</p><p><b> 實(shí)驗(yàn)內(nèi)容及具體要求</b></p><p> 用8088設(shè)計(jì)一個(gè)能實(shí)現(xiàn)0-9整數(shù)加法運(yùn)算的計(jì)算器,和用2位LED數(shù)碼顯示。鍵盤包括0-9“+”和“=”12個(gè)按鍵。</p
4、><p><b> 具體要求:</b></p><p> 1.畫出連接線路圖或功能模塊引腳連接圖。</p><p> 2.采用8088CPU作主控制器,8255作為并行接口電路實(shí)現(xiàn)按鍵的掃描以及數(shù)碼管的顯示。</p><p> 3.采用2個(gè)共陰極型LED,只需顯示0—255范圍內(nèi)的值。</p><
5、p><b> 三、設(shè)計(jì)分析</b></p><p> 8255A寫方式控制字</p><p> 8255A各端口結(jié)構(gòu)</p><p><b> 流程圖</b></p><p><b> 否</b></p><p><b> 否
6、</b></p><p><b> 是</b></p><p><b> 否</b></p><p><b> 是 </b></p><p><b> 否</b></p><p> 是
7、 是</p><p><b> 否</b></p><p><b> 五、程序清單</b></p><p> CODE SEGMENT</p><p> ASSUME CS:CODE,DS:CODE</p><p> BEGIN:
8、JMP BEGIN</p><p> BUFF DB 1,2,3,4,5,6</p><p><b> TABLE1</b></p><p> DW 3E07H,3E0BH,3D0BH,3B0BH,3E0DH,3D0DH,3B0DH,3E0EH,3D0EH,3B0EH</p><p> ; 對(duì)應(yīng)0~9的鍵盤值&l
9、t;/p><p><b> DW</b></p><p> 370EH,370DH,370BH,3707H,3B07H,3D07H,2F07H,2F0BH,2F0DH,2F0EH,1F07H,1F0BH,1F0DH</p><p> ; 對(duì)應(yīng)其他的鍵盤值</p><p> TABLE DB 3FH,6,5BH,4F
10、H,66H,6DH,7DH,7,7FH,6FH,46H,40H,48H,00; 0~9上的字型碼</p><p><b> X DW 0</b></p><p><b> Y DW 0</b></p><p><b> F DB 0</b></p><p>
11、<b> N DB 0</b></p><p> C DB 0</p><p> ADDF DB 0</p><p> SHI DB 0</p><p> GE DB 0</p><p> BEGIN: MOV AX,CS</p>
12、<p> MOV DS,AX</p><p> CALL CLEAR</p><p> AGAIN: MOV DX,203H</p><p> MOV AL,8255A</p><p> CALL LED ;調(diào)用子程序</p><p><b> CALL K
13、EY</b></p><p><b> CMP F,1</b></p><p><b> JNE AGAIN</b></p><p> CMP BL,9 ;對(duì)比數(shù)字鍵盤</p><p> JLE D_PROCE</p><p><b>
14、 CMP BL,10</b></p><p> JE TO_ADD ; 轉(zhuǎn)到加法子程序</p><p><b> CMP BL,11</b></p><p> JMP AGAIN ;返回繼續(xù)循環(huán)</p><p> CLEAR1: CALL CLEAR</p><p
15、> CALL CLBUF</p><p><b> JMP AGAIN</b></p><p> D_PROCE: CMP N,1</p><p><b> JE D_P_Y</b></p><p><b> MOV CL,4</b></p>&l
16、t;p><b> SHL X,CL</b></p><p><b> MOV BH,0</b></p><p><b> ADD X,BX</b></p><p> CALL BSHIFT</p><p> MOV BUFF+5,BL</p>
17、<p><b> JMP AGAIN</b></p><p> D_P_Y: MOV CL,4</p><p><b> SHL Y,CL</b></p><p><b> MOV BH,0</b></p><p><b> ADD Y,B
18、X</b></p><p> CALL BSHIFT</p><p> MOV BUFF+5,BL</p><p><b> JMP AGAIN</b></p><p> TO_ADD CALL BSHIFT ; 加法子程序的具體實(shí)現(xiàn)</p><p> MOV B
19、UFF+5,BL</p><p><b> MOV F,0</b></p><p><b> MOV N,1</b></p><p> MOV ADDF,1</p><p><b> JMP AGAIN</b></p><p> KEY PR
20、OC ;鍵盤掃描程序的實(shí)現(xiàn)</p><p> MOV DX,203H</p><p> MOV AL,10001001B</p><p> OUT DX,AL ;寫控制字</p><p><b> MOV F,0</b></p><p> MOV DX,
21、201H</p><p><b> MOV AL,0</b></p><p> OUT DX,AL</p><p> MOV DX,202H</p><p> IN AL,DX</p><p> AND AL,0FH</p><p> CMP A
22、L,0FH</p><p> JE K_EXIT</p><p> MOV CX,3000</p><p> LOOP $ ; 延時(shí)</p><p><b> IN AL,DX</b></p><p> AND AL,0FH</p><p&g
23、t;<b> PUSH AX</b></p><p> MOV DX,203H</p><p> MOV AL,10000010B; B_IN,C_OUT</p><p><b> OUT DX,AL</b></p><p><b> POP AX</b></
24、p><p><b> MOV BL,AL</b></p><p> MOV DX,202H</p><p><b> OUT DX,AL</b></p><p> MOV DX,201H</p><p><b> IN AL,DX</b></
25、p><p> AND AL,00111111H</p><p><b> MOV BH,AL</b></p><p> LEA SI,TABLE1</p><p><b> MOV CX,23</b></p><p><b> MOV AH,0</b&g
26、t;</p><p> NK: CMP BX,[SI]</p><p><b> JE FOUND</b></p><p><b> INC AH</b></p><p><b> ADD SI,2</b></p><p><b>
27、 LOOP NK</b></p><p> FOUND: MOV AL,0 ;不斷掃描,等待輸入</p><p> MOV DX,202H</p><p><b> OUT DX,AL</b></p><p> MOV DX,201H</p><p>
28、<b> IN AL,DX</b></p><p> AND AL,3FH</p><p> CMP AL,3FH</p><p> JNE FOUND ;如果無(wú)輸入繼續(xù)掃描</p><p> MOV CX,3000</p><p><b> LOOP $&l
29、t;/b></p><p><b> MOV F,1</b></p><p><b> MOV BL,AH</b></p><p> K_EXIT: RET</p><p> KEY ENDP</p><p> STORE PROC ;
30、 存儲(chǔ)程序</p><p> MOV WORD PTR BUFF,1414H</p><p> LEA SI,BUFF ;賦給偏移地址</p><p><b> MOV CH,4</b></p><p> DISPLAY: MOV DL,0</p><p> MOV AL,BU
31、FF[DL] ;取數(shù)</p><p><b> MOV AH,0</b></p><p><b> MOV CL,10</b></p><p><b> DIV CL</b></p><p> MOV SHI,AH ;求和的十位 </p>
32、<p> MOV GE,AL ;和的個(gè)位</p><p> MOV DX,383H ;PA口輸出方式選擇控制字</p><p> MOV AL,80H</p><p><b> OUT DX,AL</b></p><p> MOV DX,380H ;PA口代碼輸出十位顯
33、示</p><p> MOV AL,TABLE[SHI]</p><p><b> OUT DX,AL</b></p><p> MOV DX,383H ;PB口方式選擇控制字</p><p> MOV AL,10000000H</p><p><b> OUT DX,A
34、L</b></p><p> MOV DX,381H ;PB口代碼輸出個(gè)位顯示</p><p> MOV AL,TABLE[GE]</p><p><b> OUT DX,AL</b></p><p><b> INC DL</b></p><p>
35、 JMP DISPLAY</p><p> S_REL: MOV CL,4</p><p> ROL BX,CL ;循環(huán)左移四位</p><p><b> MOV AL,BL</b></p><p> AND AL,0FH ; 取低四位</p><p
36、> MOV [SI+2],AL</p><p><b> INC SI</b></p><p><b> DEC CH</b></p><p> JNZ S_REL</p><p> CALL CLEAR</p><p><b> RET&
37、lt;/b></p><p> STORE ENDP</p><p> CODE ENDS</p><p><b> END START</b></p><p><b> 六、硬件部分</b></p><p><b> 七、設(shè)計(jì)小結(jié)</
38、b></p><p> 本次課程設(shè)計(jì)花費(fèi)了我很多時(shí)間和精力,但是也鍛煉了我很多方面的能力。老師在實(shí)驗(yàn)要求中指明了要采用8088CPU作主控制器,8255作為并行接口電路實(shí)現(xiàn)按鍵的掃描以及數(shù)碼管的顯示,因此在設(shè)計(jì)該簡(jiǎn)易計(jì)算器時(shí)在芯片的選擇上就更加明確了。但是由于理論學(xué)習(xí)的知識(shí)掌握不太牢固,導(dǎo)致對(duì)8255芯片的應(yīng)用不熟悉,在做課程設(shè)計(jì)的時(shí)候,通過(guò)使用8255芯片,我對(duì)8255芯片的幾種工作方式、如何設(shè)置輸入輸
39、出以及如何寫方式控制字等有了更好的掌握。LED的使用對(duì)我來(lái)說(shuō)是非常生疏的,通過(guò)查找資料我了解了LED的顯示原理。8255A的初始化和8088的接線也是十分簡(jiǎn)單,但是等到編成的時(shí)候發(fā)現(xiàn)有很多不懂得地方,覺(jué)得很容易的算法在編程中很難實(shí)現(xiàn)。在寫完程序后,編譯過(guò)程中出現(xiàn)了很多錯(cuò)誤,通過(guò)查找資料我逐步的排解錯(cuò)誤。在繪制PROTEL圖形時(shí),出現(xiàn)了很多問(wèn)題,特別是不清楚一些芯片的封裝,找了很久才找到,而8255A的芯片則完全是自己在PROTEL軟件中
40、按課本知識(shí)繪制出來(lái)再運(yùn)用于硬件圖中,但是也鍛煉了我繪圖的能力。</p><p> 本次課程設(shè)計(jì),不僅使我加深了對(duì)接口程序設(shè)計(jì)的認(rèn)識(shí),對(duì)接口各部件的工作原理也有了進(jìn)一步的了解,也增強(qiáng)了分析故障的能力,更重要的是培養(yǎng)了我們面對(duì)問(wèn)題、解決問(wèn)題的能力。從理論知識(shí)上我對(duì)8086和8255的作用、功能以及初始化更加熟悉,并且有了客觀上的理解,對(duì)鍵盤的使用和數(shù)碼管顯示問(wèn)題也有了一定的了解。在做課程設(shè)計(jì)的時(shí)候,我發(fā)現(xiàn)準(zhǔn)備好設(shè)計(jì)
41、思路和畫流程圖是非常重要的,它讓我有針對(duì)性的編寫程序,可以有效的避免和及時(shí)發(fā)現(xiàn)錯(cuò)誤。同時(shí),我也認(rèn)識(shí)到,對(duì)任何實(shí)際問(wèn)題的處理,都是建立在我們所學(xué)的基礎(chǔ)知識(shí)之上,只有牢固熟練的掌握了基礎(chǔ)知識(shí),才能夠?qū)?wèn)題的解決有個(gè)宏觀準(zhǔn)確的把握,找到解決問(wèn)題的切入點(diǎn),攻克難點(diǎn)。要有嚴(yán)謹(jǐn)?shù)膽B(tài)度,對(duì)問(wèn)題的思考不要畏難,因?yàn)槿魏我稽c(diǎn)小的思路的錯(cuò)誤或者語(yǔ)法的錯(cuò)誤,都會(huì)導(dǎo)致功能不能實(shí)現(xiàn)。</p><p> 當(dāng)然我還有很多不足之處,比如知識(shí)掌
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ī)原理課程設(shè)計(jì)(用8255a實(shí)現(xiàn)4位十進(jìn)制計(jì)算器)
- 微機(jī)原理簡(jiǎn)易計(jì)算器課程設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)--簡(jiǎn)易計(jì)算器設(shè)計(jì)
- 微機(jī)課程設(shè)計(jì)--計(jì)算器
- 用java設(shè)計(jì)一個(gè)計(jì)算器畢業(yè)論文
- 微機(jī)課程設(shè)計(jì)--計(jì)算器
- c語(yǔ)言課程設(shè)計(jì)--一個(gè)簡(jiǎn)易計(jì)算器的設(shè)計(jì)與實(shí)現(xiàn)
- c語(yǔ)言課程設(shè)計(jì)--一個(gè)簡(jiǎn)易計(jì)算器的設(shè)計(jì)與實(shí)現(xiàn)
- 微機(jī)課程設(shè)計(jì)報(bào)告--8255273實(shí)現(xiàn)六位簡(jiǎn)單計(jì)算器
- 微機(jī)課程設(shè)計(jì)--簡(jiǎn)易計(jì)算器
- java課程設(shè)計(jì)報(bào)告---設(shè)計(jì)一個(gè)多功能計(jì)算器
- 編寫一個(gè)計(jì)算器程序課程設(shè)計(jì)報(bào)告-范例
- plc用段位碼顯示0-9教案
- 設(shè)計(jì)一個(gè)簡(jiǎn)單計(jì)算器的c語(yǔ)言課程設(shè)計(jì)報(bào)告
- 單片機(jī)的led循環(huán)顯示0-9設(shè)計(jì)
- 課程設(shè)計(jì)--設(shè)計(jì)一個(gè)矩陣運(yùn)算器
- 用led數(shù)碼管顯示的秒表設(shè)計(jì)
- 任意長(zhǎng)整數(shù)加法運(yùn)算-課程設(shè)計(jì)報(bào)告
- java計(jì)算器課程設(shè)計(jì)-- 計(jì)算器的設(shè)計(jì)與實(shí)現(xiàn)
- 課程設(shè)計(jì)用c++設(shè)計(jì)一個(gè)排課程序
評(píng)論
0/150
提交評(píng)論