微機原理課程設(shè)計總結(jié),手抄版
微機原理課程設(shè)計總結(jié)
以前從沒有學過關(guān)于匯編語言的知識,起初學起來感覺很有難度。當知道要做課程設(shè)計的時候心里面感覺有些害怕和擔心,擔心自己不會或者做不好,但是但是當真的要做的時候也只好進自己最大的努力去做,做到自己最好的。我們在這個過程中有很多自己的感受,我想很多同學都會和我有一樣的感覺,那就是感覺匯編語言真的是很神奇,很有意思,我們從開始的擔心和害怕漸漸變成了享受,享受著匯編帶給我們的快樂,看著自己做出來的東西,心里面的感覺真的很好。雖然我們做的東西都很簡單,但是畢竟是我們自己親手,呵呵,應該是自己親自做出來的,很有成就感。我想微機原理課程設(shè)計和其他課程設(shè)計有共同的地方,那就是不僅加深和鞏固了我們的課本知識,而且增強了我們自己動腦,自己動手的能力。但是我想它也有它的獨特指出,那就是讓我們進入一個神奇的世界,那就是編程,對于很多學過匯編或者其他類似程序的同學來說,這不算新奇,但是對于我來說真的新奇,很有趣,也是我有更多的興趣學習微機原理和其他的匯編。
《微機原理實驗與課程呢個設(shè)計指導書》,陸紅偉編,中國電力出版社,201*年《8086微型計算機組成、原理及接口》,顧濱編,機械工業(yè)出版社,201*年《微型計算機技術(shù)及應用》戴梅萼,清華大學出版社,201*
本次課程設(shè)計的總結(jié)與體會
微機原理與接口技術(shù)是一門很有趣的課程,任何一個計算機系統(tǒng)都是一個復雜的整體,學習計算機原理是要涉及到整體的每一部分,討論某一部分原理時又要涉及到其他部分的工作原理,這樣一來不僅不能再短時間內(nèi)較深入理解計算機的工作原理,而且也很難孤立地理解某一部分的工作原理。所以,再循環(huán)漸進的課堂教學過程中,我總是處于“學會了一些新知識,弄清了一些原本保留的問題,又出現(xiàn)了一些新問題”的循環(huán)中,直到課程結(jié)束時,才把保留的問題基本搞清楚。學習該門課程知識時,其思維方法也和其他課程不同,該課程偏重于工程思維,具體地說,在了解了微處理器各種芯片的功能和外部特性以后,剩下額是如何將它們用于實際系統(tǒng)中,其創(chuàng)造性勞動在于如何用計算機的有關(guān)技術(shù)和廠家提供的各種芯片,設(shè)計使用的電路和系統(tǒng),再配上相應程序,完成各種實際應用項目。
這次實驗并不是很難,主要的困難來自對程序的理解。功夫不負有心人,經(jīng)過四個人的合作和努力,我們最后對實驗的原理有了清晰的認識。雖然實驗臺上的很多模塊但愿沒有用到,但是就系統(tǒng)功能來說,我覺得我們做的還是不錯的。
這次課程設(shè)計卻讓我們對實驗臺有了足夠的了解,讓我們知道了實驗臺上各個模塊的用法:而且它還讓我們對自己動手寫程序來控制實驗臺的運作有了一定的基礎(chǔ)。雖然實驗臺只是一個小型的模擬平臺,但是通過對它的學習和操作,我們對有關(guān)接口的知識將會有一個更廣泛的認識,而且它對我們一以后的學習也會有幫助的。實驗中個人的力量是不及群體的力量的,我們四個人分工合作,做事的效率高了很多雖然有時候會為了一些細節(jié)爭論不休,但最后得出的總是最好的結(jié)論,而且實驗也教會我們在團隊中要善于與人相處,與人共事,不要一個人解決所有問題。
總之,這次課程設(shè)計對于我們有很大的幫助,通過課程設(shè)計,我更加深入地理解了,微機原理課程上講的各種芯片的功能,以及引腳的作用,同時加深了對于主要芯片的應用的認識,同時在試驗室的環(huán)境里熟悉了匯編程序的編寫過程和運行過程,最后還提高了自己動手能力。感謝老師的悉心指導。對課程設(shè)計的建議
本次課程設(shè)計的三個實驗相對都比較簡單,而且經(jīng)過老師的講解以及實驗書上的指導,幾乎把我們要用到的程序和實驗臺電路的接線方法都告訴我們了,所以做起來很容易。但是做完實驗,我們對實驗臺及其上面的各個模塊還是不了解。對如何編程控制實驗臺上各個模塊和芯片的運作也沒有什么清晰的認識。如果老師對我們實驗報告的要求在嚴格一點,也許同學們會更加自覺地去認真理解程序和實驗思路。
希望老師根據(jù)實驗室的環(huán)境布置一些可以讓我們自己去設(shè)計的題目,并給我們更多的實驗時間。這樣也許能夠激發(fā)更多同學的創(chuàng)新能力、老師可以多給我們講一講各類芯片的實際應用,這樣可以讓我們對各種芯片有一些更加貼切的感受。
擴展閱讀:微機原理課程設(shè)計總結(jié)
南京航空航天大學微機原理課程設(shè)計數(shù)據(jù)采集系統(tǒng)(中斷法)
微機原理課程設(shè)計數(shù)據(jù)采集系統(tǒng)(中斷法)
第1頁共13頁南京航空航天大學微機原理課程設(shè)計數(shù)據(jù)采集系統(tǒng)(中斷法)
一、課設(shè)目的:進一步掌握微機原理知識,了解微機在實時采集數(shù)
據(jù)的應用,學習掌握編程和程序調(diào)試的方法。
二、課設(shè)內(nèi)容和要求:用中斷法將ADC0809通道0外接05V電
壓,轉(zhuǎn)換成數(shù)字量后,在七段數(shù)碼管LED上顯示。以小數(shù)點后兩位表示精度,顯示模擬電壓的十進制;0809通道0的數(shù)字量以線性控制方式DAC0832輸出,當通道0的電壓為5V時,0832的OUT為0V當通道0的電壓為0時,0832的OUT為2.5V;此模擬電壓再送到ADC0809通道1,轉(zhuǎn)換后的數(shù)字量在CRT上以十六進制顯示。ADC0809的采樣脈沖CLK由定時器8254的OUT0提供;ADC0809的EOC信號用作8259中斷請求信號。三、總體設(shè)計:
1)、ADC0809的IN0采集電位器05V電壓,IN1采集0832輸出的模擬量。
2)、DAC0832將ADC0809的IN0數(shù)字量重新轉(zhuǎn)換成模擬量輸出3)、8259用于檢測ADC0809轉(zhuǎn)換是否結(jié)束和向CPU發(fā)送INTR信號
4)8255為七段LED數(shù)碼管顯示提供驅(qū)動信息5)、七段LED數(shù)碼管顯示ADC0809的IN0的值6)8254提供ADC0809的采樣時鐘脈沖。
四、硬件設(shè)計:因采用PC機和微機實驗箱,硬件電路設(shè)計相對比較簡單,主要利用微機實驗箱上的8255并行口,ADC0809,DAC0832,七段數(shù)碼管LED,8254定時/計數(shù)器,74LS574輸出接口,電位器等
第2頁共13頁南京航空航天大學微機原理課程設(shè)計數(shù)據(jù)采集系統(tǒng)(中斷法)
XD0-XD7D0-D7/Y2CSRFE
0832XIOWWRXD0-XD7D0-D7GATE0+5vXIOWWRXIORRDXA2A0XA3A1/Y3CSOUT08254CLA01.8432MHZXD0-XD7D0-D7CLKXIOWWRXIOWRD0809AXA210kBXA3CXA4IN0IN1EOCXD0-XD7D0-D7XIOWWRXIORRDINTRINTR/Y7CSIR08259A0A2XD0-XD7D0-D7XIOWWRXIORRDXA2A0XA3A1/Y1CS8255PB0-PB7A,B-G,DPABC/Y0/Y1/Y274138/Y3/Y4/Y5/Y6/G/Y7單元
(圖1:數(shù)據(jù)采集系統(tǒng)硬件連接示意圖)
六、軟件設(shè)計:本設(shè)計通過軟件編程,實現(xiàn)模/數(shù)轉(zhuǎn)換,0809分別對IN005V直流電壓的采樣和經(jīng)線性控制后輸出電壓IN1采樣,IN0
第3頁共13頁
IOUT12IOUT23LM3245V/Y0CSPAO-PA5L1L6數(shù)碼管鍵盤單元南京航空航天大學微機原理課程設(shè)計數(shù)據(jù)采集系統(tǒng)(中斷法)
的值轉(zhuǎn)換成十進制后,在七段數(shù)碼管LED上顯示IN1的值。CPU根據(jù)IN0的值,使八位二極管根據(jù)課設(shè)要求指示相應的范圍。1、設(shè)計思想:數(shù)據(jù)采集系統(tǒng)分成四個功能模塊分別是主程序模塊、量綱轉(zhuǎn)換模塊、數(shù)碼管顯示模塊、中斷服務(wù)子程序模塊。
(1)主程序模塊:根據(jù)課設(shè)要求采用中斷方式采集數(shù)據(jù),因此可把讀取IN0的值保存和數(shù)字量經(jīng)線性控制后送給0832輸出,作為0809IN1的模擬電壓和IN1的啟動,讀取以及IN0的BCD碼轉(zhuǎn)換,放在中斷服務(wù)子程序模塊中完成。在主程序模塊上主要實現(xiàn)啟動0809的IN0、顯示模塊的調(diào)用、和中斷結(jié)束部分程序。
(2)量綱轉(zhuǎn)換模塊:量綱轉(zhuǎn)換模塊在中斷服務(wù)子程序內(nèi)完成,只有將IN0的數(shù)字量分別除以51,商存在顯示IN0的個位存儲單元;余數(shù)乘以十,再除以51,商存入十分位存儲單元;余數(shù)再乘以十,除以51,若余數(shù)大于25則商加一,小于25則舍去。這樣就實現(xiàn)了四舍五入的精度,再把商存入百分位存儲單元;以供七段數(shù)碼管顯示調(diào)用。
(3)數(shù)碼管顯示模塊:數(shù)碼管顯示模塊相對簡單,主要在顯示個位是加上小數(shù)點的顯示,可以通過查表獲取個位斷碼后再加上80H來實現(xiàn)
(4)中斷服務(wù)子程序:考慮到0832的輸出時0809IN1的輸入,因此,為防止在執(zhí)行中斷服務(wù)子程序時二次進入中斷服務(wù)子程序中,故在進入中斷服務(wù)子程序后關(guān)中斷,而在退出中斷服務(wù)子程序前開中斷以便下次進入中斷服務(wù)子程序。中斷服務(wù)子程序模塊主要完成對IN0
第4頁共13頁南京航空航天大學微機原理課程設(shè)計數(shù)據(jù)采集系統(tǒng)(中斷法)
數(shù)據(jù)的讀取和保存,對IN1的啟動和讀取,對IN0數(shù)據(jù)的BCD轉(zhuǎn)換等任務(wù)。
2、參考流程:中斷子程序和主程序流程圖
保護現(xiàn)場;CLIFLAG=0FFH?讀IN0的值,保存讀IN1的值,保存IN0的值按要求變換后,送0832輸出啟動IN1FLAG=0發(fā)送中斷結(jié)束命令恢復現(xiàn)場;STI返回主程序
圖2:中斷服務(wù)子程序流程圖
第5頁共13頁南京航空航天大學微機原理課程設(shè)計數(shù)據(jù)采集系統(tǒng)(中斷法)
初始化顯示提示信息關(guān)中斷保存原中斷向量內(nèi)容設(shè)置中斷向量表保存中斷屏蔽值允許TRQ2中斷8254初始化開中斷啟動0809IN0FLAG=0FFHIN0值量綱轉(zhuǎn)換后送顯示調(diào)用數(shù)碼管顯示子程序?qū)N1的值進行ASCII碼的轉(zhuǎn)換顯示器顯示IN1的值N有鍵按下么?Y恢復原中斷屏蔽寄存器值恢復原中斷向量表內(nèi)容結(jié)束
圖3數(shù)據(jù)采集系統(tǒng)主程序流程圖
第6頁共13頁南京航空航天大學微機原理課程設(shè)計數(shù)據(jù)采集系統(tǒng)(中斷法)
;微機原理課設(shè)CRLFMACRO;宏定義回車,換行MOVDL,0DHMOVAH,02HINT21HMOVDL,0AHINT21HENDMY0EQU3000HY1EQU3020HY2EQU3040HY3EQU3060HY7EQU30E0HPA55EQUY1+00H*4;8255A口地址
PB55EQUY1+01H*4;8255B口地址PCTLEQUY1+03H*4;8255控制寄存器地
址AD0EQUY0;ADC0809端口IN0地
址AD1EQUY0+10H;ADC0809端口IN1
地址
INTR_IVADDEQU01C8H;INTR對應的中斷矢量地址
INTR_OCW1EQU0A1H;INTR對應PC機內(nèi)部8259的
OCW1地址
INTR_OCW2EQU0A0H;INTR對應PC機內(nèi)部8259的
OCW2地址
INTR_IMEQU0FEH;INTR對應的中斷屏蔽字
MY8259_ICW1EQUY7+00H;實驗系統(tǒng)中8259的ICW1端口地址MY8259_ICW2EQUY7+04H;實驗系統(tǒng)中8259的ICW2端口地址MY8259_ICW3EQUY7+04H;實驗系統(tǒng)中8259的ICW3端口地址MY8259_ICW4EQUY7+04H;實驗系統(tǒng)中8259的ICW4端口地址MY8259_OCW1EQUY7+04H;實驗系統(tǒng)中8259的OCW1端口地址MY8259_OCW2EQUY7+00H;實驗系統(tǒng)中8259的OCW2端口地址MY8259_OCW3EQUY7+00H;實驗系統(tǒng)中8259的OCW3端口地址TIMER0EQU3060H;Y3+00H*48254計數(shù)器0端口地址
TCTLEQU306CH;Y3+03H*48254控制字端口地址
DATASEGMENTMES0DB"SIGNALGATHERING
PRORGRAM",0DH,0AH,0DH,0AHDB"#####################################
######",0DH,0AH,0DH,0AHDB"PRESS1TOSTARTGATHERING!",0DH,0AH,0DH,0AHDB"PRESS2TO
EXITTODOS!",0DH,0AH,0DH,0AHDB
"###########################################",0DH,0AH,0DH,0AH,"$"
MES1DB"ThevalueofIN1is:$"CS_BAKDW?IP_BAKDW?
IM_BAKDB?FLAGDB?GWDB?;保存?zhèn)位SFDB?;保存十分位
第7頁共13頁
南京航空航天大學微機原理課程設(shè)計數(shù)據(jù)采集系統(tǒng)(中斷法)
BFDB?;保存百分位
IN0DB?IN1DB?DCTBLDB
3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDB
77H,7CH,39H,5EH,79H,71H
DATAENDS
STACSEGMENTPARASTACKDW256DUP(0)STACENDS
CODESEGMENTASSUME
CS:CODE,SS:STAC,DS:DATASTART:MOVAX,DATAMOVDS,AXLEADX,MES0MOVAH,9INT21H
LOP1:MOVDL,0FFH;測試鍵盤輸入MOVAH,6INT21HJZLOP1CMPAL,"1"JZMAINCMPAL,"2"JZEXIT0JMPSTARTEXIT0:JMPEXIT;主程序模塊
MAIN:CLI;關(guān)中斷
MOVAX,0000H
MOVES,AX;替換INTR的中斷矢量
MOVDI,INTR_IVADD;保存INTR原中斷處理程序入口偏移地址MOVAX,ES:[DI]MOVIP_BAK,AX
MOVAX,OFFSET
MYISR;設(shè)置當前中斷處理程序入口偏移地址
MOVES:[DI],AXADDDI,2MOVAX,ES:[DI];保存INTR原中斷處理程序入口段地址
MOVCS_BAK,AXMOVAX,SEG
MYISR;設(shè)置當前中斷處理程序入口段地址
MOVES:[DI],AXMOVDX,INTR_OCW1;設(shè)置中斷屏蔽寄存器,打開INTR的屏蔽位
INAL,DX;保存INTR原中斷屏蔽字
MOVIM_BAK,AL
ANDAL,0FBHOUTDX,AL
MOVDX,MY8259_ICW1MOVAL,13HOUTDX,AL
MOVDX,MY8259_ICW2MOVAL,08HOUTDX,AL
MOVDX,MY8259_ICW4MOVAL,01HOUTDX,AL
MOVDX,MY8259_OCW3MOVAL,0AHOUTDX,AL
MOVDX,MY8259_OCW1MOV
AL,0FEH;打開IR0屏蔽位OUTDX,AL
第8頁共13頁
南京航空航天大學微機原理課程設(shè)計數(shù)據(jù)采集系統(tǒng)(中斷法)
;8254初始化
MOVDX,TCTL
MOVAL,16H;計數(shù)器0方式3讀低8位二進制計數(shù),若為方式2亦可,"MOVAL,14H"OUTDX,AL
MOVDX,TIMER0
示高位
MOVCL,4RORAL,CLCALLCRT1
MOVAL,BL;顯示低位
ANDAL,0FH
CALLCRT1CRLF
MOVAL,4OUTDX,AL
;8255初始化
MOVAL,80H出、B輸出,方式0MOV
DX,PCTL;8255控制字OUTDX,AL
STI
;啟動0809IN0
LOP2:MOVDX,AD0動0809IN0
OUTDX,ALCALLDELAY
MOVAX,0FFH
MOVFLAG,AL標志符
CALLCHANGE用量綱轉(zhuǎn)換模塊
LEADX,MES1MOVAH,9INT21H
MOVDX,AD1IN1的值
INAL,DX
NEGAL變換
SHRAL,1MOVBL,AL
ANDAL,0F0H;A輸;開中斷;啟;設(shè);調(diào);讀;線性;顯
INT21H
MOVAH,1;判斷是否有按鍵按下INT16H
JZLOP2;無按鍵繼續(xù)循環(huán),有則退出
;退出模塊
EXIT:CLI;關(guān)中斷
MOVAX,0000H
MOVES,AXMOV
DI,INTR_IVADD;恢復INTR原中斷處理程序入口偏移地址
MOVAX,IP_BAK
MOVES:[DI],AXADDDI,2
MOVAX,CS_BAK;恢復INTR原中斷處理程序入口段地址MOVES:[DI],AX
MOVDX,INTR_OCW1MOV
AL,IM_BAK;恢復INTR原中斷屏蔽寄存器的屏蔽字OUTDX,ALSTI;開中斷
MOVAX,4C00H;退出系統(tǒng)
INT21H
第9頁共13頁
南京航空航天大學微機原理課程設(shè)計數(shù)據(jù)采集系統(tǒng)(中斷法)
;量綱轉(zhuǎn)換模塊
CHANGEPROCMOVAL,IN0XORAH,AHMOVDL,51MOVDH,10DIVDLMOVGW,ALMOVAL,AHXORAH,AH
MULDHDIVDL
MOVSF,ALMOVAL,AHXORAH,AHMULDHDIVDLCMPAH,25JBLOP3ADDAL,1LOP3:
MOVBF,AL位
CALLDISP顯示模塊RETCHANGEENDP
;數(shù)碼顯示模塊DISPPROC
MOVAL,GWXORAH,AHMOVSI,AXLEABX,DCTBLMOVAL,[BX+SI]ADDAL,80HMOVDX,3024HOUTDX,ALMOVDX,3020H
;存?zhèn)位存十分位;存百分調(diào)用數(shù)碼MOVAL,01HOUTDX,ALCALLDELAY
MOVAL,SFMOVSI,AX
MOVAL,[BX+SI]MOVDX,3024HOUTDX,ALMOVDX,3020HMOVAL,02HOUTDX,ALCALLDELAY
MOVAL,BFMOVSI,AX
MOVAL,[BX+SI]MOVDX,PB55OUTDX,ALMOVDX,PA55MOVAL,04HOUTDX,ALCALLDELAYRETDISPENDP
;中斷服務(wù)子程序
MYISRPROCNEAR
PUSHAX;保護現(xiàn)場
PUSHBXPUSHCXPUSHDX
CLI;關(guān)中斷
CMPFLAG,0FFHJZFLAG0
FLAG1:MOVDX,AD1;讀IN1的值
INAL,DXMOVIN1,ALJMPINTEXIT
第10頁共13頁
;;南京航空航天大學微機原理課程設(shè)計數(shù)據(jù)采集系統(tǒng)(中斷法)FLAG0:
MOVDX,AD0INAL,DX
MOVIN0,ALMOVDX,AD1OUTDX,ALCALLDELAY
MOVAX,0MOVFLAG,AL
INTEXIT:MOVDX,INTR_OCW2;發(fā)中斷結(jié)束命令
MOVAL,20HOUTDX,ALMOVAL,20HOUT20H,AL
POPDX;恢復現(xiàn)場
POPCXPOPBXPOPAX
STI;開中斷
IRET;返回主程序
MYISRENDP
CRT1PROC;在屏幕上顯示一位16進制字符ADDAL,30HCMPAL,39HJBED0ADDAL,7D0:MOVDL,ALMOVAH,2INT21HRETCRT1ENDP
DELAYPROCNEAR;延時
PUSHCX
MOVCX,0FFFFHLOOP$POPCXRETDELAYENDP
CODEENDS
ENDSTART;全程序終
*************************************課程硬件結(jié)束與軟件編程源程序結(jié)束。
課設(shè)答辯:提出的要求:
1.斷開0832數(shù)據(jù)端,CS端,out端,IN1為什么有輸出?
給出的答案:
修改程序:
第11頁共13頁南京航空航天大學微機原理課程設(shè)計數(shù)據(jù)采集系統(tǒng)(中斷法)
主程序:
LEADX,MES1
MOVAH,9INT21H
MOVAL,IN1;讀IN1的值
MOVBL,AL
ANDAL,0F0H;顯示高位
MOVCL,4RORAL,CLCALLCRT1
MOVAL,BL;顯示低位
ANDAL,0FH
CALLCRT1CRLF中斷程序:
MOVDX,AD0
INAL,DXMOVIN0,ALNEGALADDAL,5SHRAL,1
MOVDX,3040H
OUTDX,ALMOVDX,AD1OUTDX,AL
LEADX,MES2MOVAH,9INT21H
MOVAL,IN0;讀IN0的值
MOVBL,AL
ANDAL,0F0H;顯示高位
MOVCL,4RORAL,CLCALLCRT1
MOVAL,BL;顯示低位
ANDAL,0FH
CALLCRT1CRLF
心得體會:
通過對這程序的制作,使我對匯編語言的基本知識的使用更加熟練,同時也增加了我對匯編語言的一些認識,在設(shè)計完成過程中通過和同學的交流,也增加了合作的技巧。通過查閱以下資料也學到了一些課本上沒有的東西,拓寬了自己的知識面,增加了學好匯編語言的信心。
第12頁共13頁南京航空航天大學微機原理課程設(shè)計數(shù)據(jù)采集系統(tǒng)(中斷法)
幸好平時做了很多實驗,寫了很多小程序。但這次是一個綜合的程序,平時的很多程序都用到了。很多子程序的設(shè)計是固定的,因此可以直接從指導資料中調(diào)用,大多只需要修改幾個參數(shù)就可以,這大大方便了我們的設(shè)計,為我們節(jié)省了很多的時間。
在這次課程設(shè)計中,我真正體會到了合作的重要性,遇到很多問題時,當我看書查資料不能解決時,這是去找同學討論一下,收獲很大,可以使很多問題迎刃而解,直到問題最終解決。
不可否認,本程序存在不少缺點和不足,但通過這次課程設(shè)計的卻找出了自己在學習上的不足,對以后的工作也有指導作用。我相信在以后的學習中會克服這些不足,達到熟練掌握匯編語言的目的!
總之,這次課程設(shè)計對于我們有很大的幫助,通過課程設(shè)計,我更加深入地理解了,微機原理課程上講到的各種芯片的功能,以及引腳的作用,同時加深了對于主要芯片的應用的認識,同時在試驗室的環(huán)境里熟悉了匯編程序的編寫過程和運行過程,最后還提高了自己的動手能力。感謝老師的悉心指導。
第13頁共13頁
友情提示:本文中關(guān)于《微機原理課程設(shè)計總結(jié),手抄版》給出的范例僅供您參考拓展思維使用,微機原理課程設(shè)計總結(jié),手抄版:該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責聲明:本文僅限學習分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。