版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.微機(jī)原理與應(yīng)用課程設(shè)計(jì)報(bào)告學(xué)號(hào):姓名:學(xué)院:專業(yè)班級(jí):指導(dǎo)教師:.c.系統(tǒng)擴(kuò)展電路課程設(shè)計(jì)部分一、概括應(yīng)用所學(xué)微機(jī)原理知識(shí),設(shè)計(jì)一個(gè)系統(tǒng)電路,提升設(shè)計(jì)能力及解決問(wèn)題能力。二、設(shè)計(jì)容與要求1)所需器件2)設(shè)計(jì)詳細(xì)的整體電路圖,并且加以說(shuō)明3)碰到問(wèn)題及解決方法4)收獲及心得三、整體設(shè)計(jì)在Proteus軟件下,利用8086/8088、D/A芯片DAC0832、8259A、8255設(shè)計(jì)一個(gè)函數(shù)發(fā)生器,并利用按鍵選擇輸出波形,能分別產(chǎn)生三角波、階梯波(每階梯1V)、正向鋸齒波和方波。并利用按鍵(自行定義)進(jìn)行輸出波形選擇。用8255擴(kuò)展接口外接起碼2個(gè)LED數(shù)碼管,將目前輸出波形代號(hào)顯示在LED上(
2、左側(cè)位):0為方波、1為正向鋸齒波、2為三角波、3為階梯波。.c.STACKSEGMENTSTACKDW32DUP(0)STACKENDSDATASEGMENTADDRESS8255EQU40H;定義兩個(gè)端口地點(diǎn),此中ADDRESS8255指向8255,ADDRESS0832指向0832芯片的端口地點(diǎn)ADDRESS0832EQU60HDATAENDSCODESEGMENTASSUMESS:STACK,CS:CODE,DS:DATAPUSHDSSUBAX,AXPUSHAXMOVAX,DATAMOVDS,AXSTART:MOVDX,ADDRESS8255+6;選擇5255的控制字的端口地點(diǎn),初始化
3、8255MOVAL,90H;90H=10010000B,OUTDX,ALBEGIN:MOVDX,ADDRESS8255INAL,DX;將8255A端口的數(shù)據(jù)輸入到AL中NOTAL;AL中的數(shù)據(jù)取反CMPAL,01H;方波對(duì)應(yīng)01H,判斷輸出能否為方波JZFANGBO;判斷ZF能否為0,為0跳轉(zhuǎn)到FANGBO,輸出方波CMPAL,08H;階梯波對(duì)應(yīng)02H,判斷輸出能否為階梯波JZJIETIBO;判斷ZF能否為0,為0跳轉(zhuǎn)到JIETIBO,輸出階梯波CMPAL,02H;鋸齒波對(duì)應(yīng)04H,判斷輸出能否為鋸齒波JZJUCHIBO;判斷ZF能否為0,為0跳轉(zhuǎn)到JUCHIBO,輸出鋸齒波CMPAL,04H
4、;三角波對(duì)應(yīng)08H,判斷輸出能否為三角波JZSANJIAO;判斷ZF能否為0,為0跳轉(zhuǎn)到SANJIAO,輸出三角波CMPAL,10H;學(xué)號(hào)對(duì)應(yīng)10HJZXUEHAO;判斷ZF能否為0,為0跳轉(zhuǎn)到XUEHAO,輸出學(xué)號(hào)65JMPBEGIN;假如均不知足,說(shuō)明輸入有誤,從頭輸入FANGBO:MOVDX,ADDRESS8255+2;輸出方波MOVAL,00H;選擇端口00,也就是PA0端口OUTDX,AL;AL輸出為低電平MOVDX,ADDRESS8255+4;輸出高位為0MOVAL,0HOUTDX,AL.c.MOVDX,ADDRESS0832MOVAL,00H;AL輸出為低電平OUTDX,AL;0
5、832的輸出端口清零CALLDELAY;調(diào)用延時(shí)子函數(shù),延時(shí)NOTALOUTDX,AL;輸出變?yōu)楦唠娖紺ALLDELAY;延時(shí)一段時(shí)間JMPBEGIN;履行完以后返回到最開(kāi)始JUCHIBO:MOVDX,ADDRESS8255+2;輸出鋸齒波MOVAL,01H;選擇PA1端口,輸出鋸齒波OUTDX,ALMOVDX,ADDRESS8255+4;輸出高位為0MOVAL,0HOUTDX,ALMOVDX,ADDRESS0832MOVAL,00H;將0832輸出先清零INCREARSE2:OUTDX,ALINCAL;在很高頻次下AL自增是能夠當(dāng)作是光滑的線性增大JNZINCREARSE2;增大到255的時(shí)
6、候再下一次循環(huán)JMPBEGINSANJIAO:MOVDX,ADDRESS8255+2;輸出三角波MOVAL,02H;選擇PA2端口,輸出三角波OUTDX,ALMOVDX,ADDRESS8255+4;輸出高位為0MOVAL,0HOUTDX,ALMOVDX,ADDRESS0832MOVAL,00H;將0832輸出先清零INCREASE3:OUTDX,ALINCALJNZINCREASE3;只需AL不為0,向來(lái)自增,而后進(jìn)行下一次循環(huán)DECREARSE3:DECALOUTDX,ALJNZDECREARSE3JMPBEGINJIETIBO:MOVDX,ADDRESS8255+2;輸出階梯波MOVAL,
7、03H;選擇PA3端口,輸出階梯波OUTDX,ALMOVDX,ADDRESS8255+4;輸出高位為0MOVAL,0HOUTDX,ALMOVDX,ADDRESS0832;將0832輸出先清零.c.MOVAL,00HINCREARSE1:OUTDX,ALADDAL,33H;每次輸出的數(shù)字量增添51,表示階梯,選擇51是因?yàn)?1能夠被255除盡CALLDELAY;調(diào)用延時(shí)函數(shù)CMPAL,0FFHJNZINCREARSE1;當(dāng)AL不等于255的時(shí)候持續(xù)履行循環(huán)DECREARSE1:SUBAL,33H;反向履行上述循環(huán),遞減輸出量OUTDX,ALCALLDELAYJNZDECREARSE1JMPBEG
8、INMOVAH,4CHINT21HXUEHAO:MOVDX,ADDRESS8255+2;輸出學(xué)號(hào)低位5MOVAL,5HOUTDX,ALMOVDX,ADDRESS8255+4;輸出學(xué)號(hào)高位6MOVAL,6HOUTDX,ALJMPBEGINDELAY:PUSHCX;延時(shí)MOVCX,0FFHDELAY0:NOPLOOPDELAY0POPCXRETPUSHCXPUSHBXMOVBX,0FFHDELAY1:MOVCX,0FFFFHDELAY2:NOPNOPLOOPDELAY2DECBXJNZDELAY1POPBXPOPCXRETCODEENDSENDSTART.c.四、詳盡設(shè)計(jì)五、電路剖析.c.c.c.
9、六、設(shè)計(jì)過(guò)程中碰到的問(wèn)題及解決方法在此次課程設(shè)計(jì)中,碰到了各樣問(wèn)題。因?yàn)閺那暗幕咎珕伪?,剛開(kāi)始設(shè)計(jì)寫(xiě)程序的兩天,碰到問(wèn)題后常常是瞪著屏幕毫無(wú)方法,常常在一個(gè)小問(wèn)題上一卡就是三四個(gè)小時(shí),到此后漸漸學(xué)會(huì)了一些解決問(wèn)題的思路和方法,節(jié)奏才逐漸加速。邏輯問(wèn)題。寫(xiě)種類控制子模塊的時(shí)候,已經(jīng)依據(jù)流程圖把程序?qū)懞茫锩娴淖幽K也以測(cè)試過(guò)沒(méi)有問(wèn)題,流程圖邏輯也應(yīng)當(dāng)沒(méi)問(wèn)題,但每次運(yùn)轉(zhuǎn)在睡眠風(fēng)狀態(tài)下時(shí),電機(jī)轉(zhuǎn)八秒,停兩秒后自動(dòng)轉(zhuǎn)到自然風(fēng)模塊。想過(guò)好多種可能,開(kāi)關(guān)問(wèn)題,LED燈問(wèn)題等等,最后一條一條照著程序?qū)懥鞒虉D的時(shí)候,終于發(fā)現(xiàn)可能是最后RET沒(méi)起作用,致使程序履行完沒(méi)法返回check,直接履行下一條指令。還有
10、就是好多生手都會(huì)碰到的問(wèn)題,我第一次寫(xiě)的時(shí)候,一開(kāi)始就寫(xiě)了一大段程序,而后什么結(jié)果都出不來(lái),調(diào)試的時(shí)候根本無(wú)從調(diào)起,經(jīng)過(guò)同學(xué)指點(diǎn)才開(kāi)始從一個(gè)小功能開(kāi)始寫(xiě)程序,先寫(xiě)一個(gè)燈亮而后兩個(gè)而后循環(huán),再往進(jìn)增添其余功能。并且這樣寫(xiě)會(huì)不斷的給自己成就感,讓自己堅(jiān)持做完,不然很簡(jiǎn)單在碰到無(wú)從下手的問(wèn)題時(shí)放棄。因此再大的程序也是要腦子里先有個(gè)大框架而后一個(gè)個(gè)小功能實(shí)現(xiàn)的。在此后碰到錯(cuò)誤時(shí),我一般都會(huì)先過(guò)一遍程序查一下有沒(méi)有能看出來(lái)的錯(cuò)誤,而后該段程序的開(kāi)頭開(kāi)始檢測(cè),經(jīng)過(guò)加LED檢測(cè)程序運(yùn)轉(zhuǎn)到了哪一行,從哪一行開(kāi)始犯錯(cuò),有些直接看不犯錯(cuò)誤的地方經(jīng)過(guò)加DELAY使運(yùn)轉(zhuǎn)變慢,方便看到仿真結(jié)果,也能夠使用proteus
11、里面的幀進(jìn),一步一步看成效。七、設(shè)計(jì)心得經(jīng)過(guò)本次課程設(shè)計(jì),是我深入的認(rèn)識(shí)到了實(shí)踐與書(shū)面的不一樣,在整個(gè)課程設(shè)計(jì)的過(guò)程中碰到了好多問(wèn)題,包含選片和編程和仿真的多種問(wèn)題,另一個(gè)我意識(shí)到的特別重要的問(wèn)題,就是編程的謹(jǐn)慎問(wèn)題!在整個(gè)課程設(shè)計(jì)過(guò)程中,固然碰到了好多問(wèn)題,但最后仍是將此次設(shè)計(jì)達(dá)成了,這讓我自己更為珍惜實(shí)驗(yàn)設(shè)計(jì)所付出的努力和付出!.c.匯編語(yǔ)言課程設(shè)計(jì)部分一、概括運(yùn)用所學(xué)匯編語(yǔ)言知識(shí),編寫(xiě)一個(gè)擁有本功能的程序,達(dá)到提升著手能力以及查驗(yàn)對(duì)微機(jī)原理課程學(xué)習(xí)和掌握的程度。二、設(shè)計(jì)容與要求1)能夠儲(chǔ)藏50個(gè),此中包含人名(20個(gè)字符),(8個(gè)字符)。2)系統(tǒng)能夠隨時(shí)接收新的人名及。3)系統(tǒng)擁有隨時(shí)查
12、問(wèn)的功能,輸入人名后,在屏幕上顯示其相應(yīng)的。4)運(yùn)轉(zhuǎn)此系統(tǒng)后,顯示菜單項(xiàng)選擇項(xiàng)進(jìn)行功能選擇。三、設(shè)計(jì)思想四、程序流程圖.c.五、程序源代碼及說(shuō)明DATASSEGMENTOBF1DBusingthetelephonebookdesignedbyLiuNanqing$OBF2DBPleasechoosethefunctionbuttom(1/2):$OBF11DB1=inputing$OBF16DB2=searching$OBF18DBOther=exiting$OBF3DBPleaseinputanewname(20):$OBF4DBpleaseinputthenumber(=8):$OBF5D
13、BContinuetoinput?(y(Y)/n)$OBF6DBexit(y/n)$OBF7DBsearch(20):$OBF8DBthenumberis:$OBF9DBnotexit!$OBF10DBContinuetosearch?(y/n)$SENAMEDB21,0,21DUP(0);搜尋(查問(wèn))變量ADDNAMEDB21,0,21DUP(0);增添變量.c.ADDNUMDB9,0,9DUP(0);增添變量WORKDB1500DUP(0)DATASENDSSTACKSSEGMENTDW32DUP(0)STACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATA
14、S,SS:STACKSSTART:MOVAX,DATASMOVDS,AXMOVBP,-30BEGIN:CALLNEXTLINEMOVDX,OFFSETOBF1;顯示菜單項(xiàng)選擇擇界面MOVAH,9INT21HCALLNEXTLINE;調(diào)用換行函數(shù)MOVDX,OFFSETOBF2MOVAH,9INT21HCALLNEXTLINEMOVDX,OFFSETOBF11MOVAH,9INT21HCALLNEXTLINEMOVDX,OFFSETOBF16MOVAH,9INT21HCALLNEXTLINEMOVDX,OFFSETOBF18MOVAH,9INT21HCALLNEXTLINEMOVAL,0MOVA
15、H,1INT21HCMPAL,1;選擇1,輸入信息JEINPUTCMPAL,2;選擇2,查問(wèn)信息JESEARCHJMPSTOPINPUT:CALLNEXTLINE.c.ADDBP,30MOVSI,BPS2:MOVBYTEPTRWORKSI,0;消除ZHU中最后一個(gè)人的信息后邊的30INCSI;個(gè)字節(jié)中非0的單元CMPWORKSI,0JNES2MOVSI,BPMOVDX,OFFSETOBF3MOVAH,9INT21HMOVDX,OFFSETADDNAME;輸入的人名寄存在addname中MOVAH,10INT21HMOVBX,-1S5:INCBX;為防止addname中剛輸入的信息沒(méi)有完整覆CM
16、PBYTEPTRADDNAMEBX+2,0DH;蓋前一次的信息,將出車符(0DH)及此后JNES5;面的字節(jié)歸0S6:MOVBYTEPTRADDNAMEBX+2,0INCBXCMPBX,20JNES6MOVBYTEPTRADDNAMEBX+2,0DHMOVCX,20MOVBX,-1S1:INCBX;將addname復(fù)制到work中MOVDL,BYTEPTRADDNAMEBX+2MOVBYTEPTRWORKSI+BX,DLLOOPS1MOVBYTEPTRWORKSI+20,$CALLNEXTLINEMOVDX,OFFSETOBF4MOVAH,9INT21HMOVDX,OFFSETADDNUMMO
17、VAH,10INT21HMOVBX,-1S7:INCBX;為防止剛輸入的沒(méi)有完整覆蓋前一次的,將此次輸CMPBYTEPTRADDNUMBX+2,0DH;入的的最后一位的回車符(0DH)換成$.c.JNES7MOVBYTEPTRADDNUMBX+2,$ADDSI,21MOVCX,8MOVBX,-1S3:INCBXMOVDL,BYTEPTRADDNUMBX+2MOVBYTEPTRWORKSI+BX,DLLOOPS3MOVBYTEPTRWORKSI+8,$CALLNEXTLINEMOVDX,OFFSETOBF5MOVAH,9INT21HCALLNEXTLINEMOVAH,1INT21HCMPAL,Y
18、JEINPUTCMPAL,yJEINPUTJMPBEGINSTOP:CALLNEXTLINEMOVDX,OFFSETOBF6MOVAH,9INT21HMOVAL,0MOVAH,1INT21HCMPAL,YJEEXITCMPAL,yJNEBEGINEXIT:MOVAX,4C00H;退出本程序INT21HSEARCH:CALLNEXTLINEMOVDX,OFFSETOBF7;輸入你要搜尋的名字,寄存在ZHU1中MOVAH,9INT21HMOVDX,OFFSETSENAMEMOVAH,10.c.INT21HMOVBX,-1L5:INCBX;為防止ZHU1剛輸入的信息沒(méi)有完整覆蓋上一次的信息,CMPB
19、YTEPTRSENAMEBX+2,0DH;將回車符(0DH)及此后面的字節(jié)歸0JNEL5L6:MOVBYTEPTRSENAMEBX+2,0INCBXCMPBX,20JNEL6MOVBYTEPTRSENAMEBX+2,0DHCALLNEXTLINEMOVCX,50;在work中搜尋與sename相等的字符串MOVSI,-30L1:ADDSI,30MOVBX,-1L2:INCBXCMPBX,20JEL3PUSHAXMOVAL,BYTEPTRWORKSI+BXMOVAH,BYTEPTRSENAMEBX+2CMPAL,AHPOPAXJEL2LOOPL1MOVDX,OFFSETOBF9;沒(méi)有搜尋到MOV
20、AH,9INT21HJMPL4L3:MOVDX,OFFSETOBF8;搜尋到了MOVAH,9INT21HINCBXADDBX,OFFSETWORKADDBX,SIMOVDX,BXMOVAH,9INT21HL4:CALLNEXTLINEMOVDX,OFFSETOBF10;持續(xù)搜尋嗎?MOVAH,9INT21H.c.MOVAL,0MOVAH,1INT21HCMPAL,YJESEARCHCMPAL,yJESEARCHJMPBEGINNEXTLINEPROC;換行函數(shù)MOVDL,0AHMOVAH,2INT21HMOVDL,0DHMOVAH,2INT21HRETNEXTLINEENDP六、程序成效圖.c
21、.七、設(shè)計(jì)過(guò)程中碰到的問(wèn)題及解決方法當(dāng)要讓顯示器顯示一個(gè)字符串時(shí),必定要在字符串的結(jié)尾加上一個(gè)$字符,這個(gè)$字符特別重要,第一次,因?yàn)轳R虎,從字符串OBF5起,后邊的字符串的末端都忘了加$,結(jié)果造成程序在運(yùn)轉(zhuǎn)時(shí),跳過(guò)了好多語(yǔ)句,直接將OBF5及OBF5后邊的所有的提示性語(yǔ)句都輸了出來(lái)。因?yàn)橄到y(tǒng)在輸出時(shí),只有在碰到$時(shí)才結(jié)束,若沒(méi)有結(jié)束字符$,則系統(tǒng)向來(lái)將數(shù)據(jù)段的數(shù)據(jù)次序輸出,知道碰到$字符為止。在編寫(xiě)子函數(shù)時(shí),必定要在其結(jié)尾加上RET,而后加上結(jié)束標(biāo)記ENDP。在編寫(xiě)換行子函數(shù)NEXTLINE時(shí),因?yàn)樵诮Y(jié)尾沒(méi)有加RET,結(jié)果程序不可以正確運(yùn)轉(zhuǎn),并且老是自動(dòng)停止了程序,加上RET后,即可正確運(yùn)轉(zhuǎn)。.c.八、設(shè)計(jì)心得此次微機(jī)原理課程設(shè)計(jì)歷時(shí)一個(gè)禮拜,在整整一禮拜的日子里,能夠說(shuō)得是苦多于甜,可是能夠?qū)W到好多好多的的東西,同時(shí)不單能夠穩(wěn)固了從前所學(xué)過(guò)的知識(shí),并且學(xué)到了好多在書(shū)籍上所沒(méi)有學(xué)到過(guò)的知識(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ù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)老院入住資格審核制度
- 企業(yè)信息發(fā)布與傳播制度
- 會(huì)議室開(kāi)會(huì)制度
- 2026年體育競(jìng)賽規(guī)則與裁判知識(shí)題
- 2026年國(guó)際金融與市場(chǎng)動(dòng)態(tài)測(cè)試題庫(kù)
- 2026年市場(chǎng)營(yíng)銷師品牌管理考試題目
- 2026年經(jīng)濟(jì)法律法規(guī)考試模擬試題與解析
- 2026年新版糖類藥物協(xié)議
- 2026年新版霍爾推進(jìn)器合同
- 唐仕女圖課件
- 生產(chǎn)現(xiàn)場(chǎng)資產(chǎn)管理制度
- 起重設(shè)備安全使用指導(dǎo)方案
- 江蘇省揚(yáng)州市區(qū)2025-2026學(xué)年五年級(jí)上學(xué)期數(shù)學(xué)期末試題一(有答案)
- 建筑與市政工程地下水控制技術(shù)規(guī)范
- “黨的二十屆四中全會(huì)精神”專題題庫(kù)及答案
- 2025年天翼云解決方案架構(gòu)師認(rèn)證考試模擬題庫(kù)(200題)答案及解析
- 2026年西藏自治區(qū)政府部門(mén)所屬事業(yè)單位人才引進(jìn)(130人)筆試備考試題及答案解析
- 油氣開(kāi)采畢業(yè)論文
- 血凝d-二聚體和fdp課件
- 2026-2031中國(guó)房地產(chǎn)估價(jià)市場(chǎng)分析預(yù)測(cè)研究報(bào)告
- 天津市和平區(qū)2025年高二化學(xué)第一學(xué)期期末監(jiān)測(cè)試題含解析
評(píng)論
0/150
提交評(píng)論