微機(jī)原理與接口技術(shù)課程設(shè)計(jì)-四則運(yùn)算及微機(jī)課程設(shè)計(jì)_第1頁
微機(jī)原理與接口技術(shù)課程設(shè)計(jì)-四則運(yùn)算及微機(jī)課程設(shè)計(jì)_第2頁
微機(jī)原理與接口技術(shù)課程設(shè)計(jì)-四則運(yùn)算及微機(jī)課程設(shè)計(jì)_第3頁
微機(jī)原理與接口技術(shù)課程設(shè)計(jì)-四則運(yùn)算及微機(jī)課程設(shè)計(jì)_第4頁
微機(jī)原理與接口技術(shù)課程設(shè)計(jì)-四則運(yùn)算及微機(jī)課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩70頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

課設(shè)報(bào)告課設(shè)報(bào)告題目:四則運(yùn)算班級:姓名:學(xué)號:指導(dǎo)老師:日期:年月日目錄設(shè)計(jì)目的……………………1概要設(shè)計(jì).........................................22.1系統(tǒng)總體分析……………22.2主模塊框圖及說明………3 3、詳細(xì)設(shè)計(jì)………43.1主模塊及子模塊概述……43.2各模塊詳細(xì)設(shè)計(jì)…………44、程序調(diào)試………94.1運(yùn)行界面分析………………94.2調(diào)試過程與分析……………115、心得體會………125.1設(shè)計(jì)體會……………………125.2系統(tǒng)改進(jìn)……………………12附錄…………………14參考文獻(xiàn)……………40設(shè)計(jì)目的進(jìn)行程序設(shè)計(jì)方法和技能的基本訓(xùn)練,鞏固在課堂上學(xué)到的有關(guān)程序設(shè)計(jì)的基本知識和基本方法,通過實(shí)際動手能力的培養(yǎng),進(jìn)一步熟悉匯編語言的結(jié)構(gòu)和使用方法,達(dá)到能獨(dú)立閱讀、編制和調(diào)試一定規(guī)模的匯編語言程序的水平,對自身的學(xué)習(xí)從理論到實(shí)踐的應(yīng)用,加深對匯編語言的認(rèn)識。

概要設(shè)計(jì)2.1系統(tǒng)總體分析1.可以任意輸入十進(jìn)制數(shù)進(jìn)行運(yùn)算。2.進(jìn)行的運(yùn)算是加、減、乘和除的獨(dú)立運(yùn)算。3.運(yùn)算時,當(dāng)輸入十進(jìn)制數(shù)時,首先默認(rèn)的是加法運(yùn)算,通過回車得到加法運(yùn)算結(jié)果。若要進(jìn)行同樣數(shù)的減法,乘法和除法的運(yùn)算可用鼠標(biāo)點(diǎn)擊sub,mul和div進(jìn)行運(yùn)算。若不想則通過reload重新輸入。4.程序可以重復(fù)進(jìn)行運(yùn)算,這就要求每次運(yùn)算后置零數(shù)據(jù)存儲區(qū),通過reload清零。5.由于運(yùn)算的結(jié)果位數(shù)不確定,要設(shè)計(jì)一個能顯示結(jié)果的輸出程序,通過窗口實(shí)現(xiàn)。開始2.2主模塊框圖及說明開始輸入數(shù)據(jù)定義數(shù)據(jù)段初始化寄存器輸入數(shù)據(jù)定義數(shù)據(jù)段初始化寄存器鼠標(biāo)初始化窗口初始化是否在范圍內(nèi)通過鼠標(biāo)選擇并運(yùn)算不運(yùn)算輸出結(jié)果是是否在范圍內(nèi)通過鼠標(biāo)選擇并運(yùn)算不運(yùn)算輸出結(jié)果是否詳細(xì)設(shè)計(jì)3.1主模塊及子模塊概述主模塊主要是四則運(yùn)算部分,就是進(jìn)行運(yùn)算的模塊,包括加減乘除為實(shí)現(xiàn)運(yùn)算而進(jìn)行的模塊,程序的中心部分。其他子模塊包括用鼠標(biāo)選擇的何種運(yùn)算的模塊,通過鼠標(biāo)選擇加法運(yùn)算或者其他的運(yùn)算等等。以及窗口模塊,主要是進(jìn)行數(shù)據(jù)的顯示。還有就是菜單模塊,就是鼠標(biāo)選擇運(yùn)算的模塊,通過選擇加減或者乘除來實(shí)現(xiàn)運(yùn)算。以及鼠標(biāo)引入模塊,實(shí)現(xiàn)鼠標(biāo)的選擇操作。輸出模塊和清零數(shù)據(jù)重新運(yùn)算模塊。3.2各模塊詳細(xì)設(shè)計(jì)3.2.1主要是數(shù)據(jù)的初始化datasegmentNoticedb‘(Notice:0<=Number<=32767)’,’$’String1db‘Number1:’,’$’String2db‘Number2:’,’$’String3db‘Finally:’,’$’Menu1db‘Add’,’$’Menu2db‘Sub’,’$’Menu3db‘Mul’,’$’Menu4db‘Div’,’$’Menu5db‘Reload’,’$’ErrorStringdb‘Error’,0ah,0dh,’$’Number1dw0Number2dw0dataendsstacksegmentdw512dup(0)stackendscodesegment;《主函數(shù)》3.2.2鼠標(biāo)的初始化部分Mainprocfarstart:movax,datamovds,axmoves,axcallShowMainWindow callMouseInit cmpax,0ffffh jesuccess movdx,offsetErrorString movah,9 int21h jmpexitSystem success:;鼠標(biāo)初始化成功后進(jìn)行數(shù)據(jù)的正常運(yùn)行。3.2.3窗口的初始化ShowMainWindowprocnear pushax pushbx pushcx pushdxmovax,01h;初始化窗口模式int10hmovbh,8fhxorcx,cxmovdx,1827hcallDrawRectmovbh,0fhmovcx,202hmovdx,0a27hcallDrawRectint10hmovah,9movdx,offsetString1int21hmovah,2movdx,0602hint10hmovbh,01hmovcx,0d03hmovdx,1009hr2:callDrawRectaddcl,9adddl,9decaxjnzr2movcx,1303hmovdx,1524hcallDrawRectmovax,4movbh,0f1hmovcx,0c02hmovdx,0f08hrr1:callDrawRectaddcl,9adddl,9decaxjnzrr1movcx,1202hmovdx,1423hcallDrawRectmovah,2movbh,0int21hpopdxpopcxpopbxpopaxretShowMainWindowendp3.2.4運(yùn)算模塊AddIntergerprocnearpushsipushbxleasi,Number1movax,[si]leasi,Number2movbx,[si]addax,bxpopbxpopsiretAddIntergerendp;《SubInterger》;參數(shù):無;返回:end->axSubIntergerprocnear pushsipushbxleasi,Number1movax,[si]leasi,Number2movbx,[si]subax,bxpopbxpopsi retSubIntergerendp;《MulInterger》;參數(shù):無;返回:end->axMulIntergerprocnear pushsipushbxleasi,Number1movax,[si]leasi,Number2movbx,[si]mulbxpopbxpopsi retMulIntergerendp;《DivInterger》;參數(shù):無;返回:end->axDivIntergerprocnear pushdx pushsipushbxleasi,Number1movax,[si]leasi,Number2movbx,[si]xordx,dxdivbxpopbxpopsipopdx retDivIntergerendp;《GetInterger》;參數(shù):[bx];返回:interger->[bx];注意:0<=interger<=32767GetIntergerprocnearpushcxpushdxpushbxxorax,axxorbx,bxxorcx,cxxordx,dxreget:movah,8int21hcmpal,’0’jbsigncmpal,’9’jaregetcmpcl,5jeregetjmpgetIntsign:cmpal,0dhjeentercmpal,8hjebackspacejmpregetgetInt:movdl,almovah,2int21handax,0fhxchgax,bxpushbxmovbx,10mulbxpopbxxchgax,bxaddbx,axinccxjmpregetbackspace:cmpcl,0jeregetxchgax,bxpushbxmovbx,10divbxpopbxxchgax,bxdeccxmovah,2movdl,08hint21hmovdl,20hint21hmovdl,08hint21hxordx,dxjmpregetenter:movax,bxpopbxmov[bx],axpopdxpopcxretGetIntergerendp;《CleanFinally》;參數(shù):無;返回:光標(biāo)位置Finally輸出框CleanFinallyprocnear pushax pushbx pushcx pushdx movah,2 movbh,0 movdx,080ah int10h movcx,6 movdl,’‘ clean:int21h loopclean movdx,080ah int10h popdx popcx popbx popax retCleanFinallyendpcodeendsendstart程序調(diào)試4.1運(yùn)行界面分析加法運(yùn)算:減法運(yùn)算:乘法運(yùn)算:除法運(yùn)算:4.2調(diào)試過程與分析進(jìn)行運(yùn)算首先是進(jìn)行加法運(yùn)算,運(yùn)算玩呈現(xiàn)的是加法運(yùn)算的結(jié)果??蛇M(jìn)行相應(yīng)值的其他運(yùn)算,并得到相應(yīng)的結(jié)果。若計(jì)算其他值則需重新輸入,要先通過reload清零后再輸入??奢斎攵辔恢颠\(yùn)算。心得體會5.1設(shè)計(jì)體會我們這學(xué)期初步地學(xué)習(xí)了匯編語言程序設(shè)計(jì),一開始覺得該門課程相對于C語言比較難,匯編語言是利用一個又一個寄存器來實(shí)現(xiàn)。而寫代碼的時候,經(jīng)常會因?yàn)橐恍┓枺蛘咦珠L的失誤,完全是無心之失而導(dǎo)致程序無法執(zhí)行。本次課程設(shè)計(jì)對我們的成長有很大的幫助。是對我們對匯編語言的掌握與運(yùn)用能力的一次檢驗(yàn)。這次的課程設(shè)計(jì)老師給我們降低了難度,只要能進(jìn)行加減乘除四則運(yùn)算就行了。了解課題內(nèi)容后,我們進(jìn)行了分工合作,先查閱了相關(guān)資料,然后開始源代碼的編寫,最后是調(diào)試結(jié)果,直到符合課題要求。這次課程設(shè)計(jì)中遇到了不少麻煩,這也是由于之前理論課上學(xué)得不夠扎實(shí)所導(dǎo)致的,所以我們進(jìn)行了更深入的討論,并積極地向老師和同學(xué)請教,最終順利地完成了任務(wù)。5.2系統(tǒng)改進(jìn)存在的改進(jìn)地方是不能同時進(jìn)行多種運(yùn)算,就是進(jìn)行加減乘除同時運(yùn)行的運(yùn)算。不能進(jìn)行小數(shù)運(yùn)算,加減乘除都不能進(jìn)行小數(shù)的運(yùn)算。同樣也是不能進(jìn)行負(fù)數(shù)的運(yùn)算,無法輸入負(fù)數(shù)。界面上還不夠完整,在不同的系統(tǒng)中可能需要進(jìn)行改進(jìn)。另外各種數(shù)的計(jì)算的范圍太小,不能做到面面俱到。附錄datasegmentNoticedb'(Notice:0<=Number<=32767)','$'String1db'Number1:','$'String2db'Number2:','$'String3db'Finally:','$'Menu1db'Add','$'Menu2db'Sub','$'Menu3db'Mul','$'Menu4db'Div','$'Menu5db'Reload','$'ErrorStringdb'Error',0ah,0dh,'$'Number1dw0Number2dw0dataendsstacksegmentdw512dup(0)stackendscodesegment;《主函數(shù)》Mainprocfarstart:movax,datamovds,axmoves,axcallShowMainWindow callMouseInit cmpax,0ffffh jesuccess movdx,offsetErrorString movah,9 int21h jmpexitSystem success:;鼠標(biāo)初始化成功,程序正常執(zhí)行movah,2;獲取Number1和Number2的數(shù)值movbh,0movdx,040ah int10h movbx,offsetNumber1 callGetInterger movah,2 movbh,0 movdx,060ah int10h movbx,offsetNumber2 callGetInterger callAddInterger pushax movah,2 movbh,0 movdx,080ah int10h popax callOutInterger callMenuChooseexitSystem:movax,4c00hint21hMainendp;《ShowMainWindow》;參數(shù):無;返回:無ShowMainWindowprocnear pushax pushbx pushcx pushdxmovax,01h;初始化窗口模式int10hmovbh,8fhxorcx,cxmovdx,1827hcallDrawRectmovbh,0fhmovcx,202hmovdx,0a27hcallDrawRectmovbh,0f0hmovcx,101hmovdx,0926hcallDrawRectmovah,2movbh,0movdx,0202hint10hmovdx,offsetNoticemovah,9int21hmovah,2movbh,0movdx,0402hint10hmovah,9movdx,offsetString1int21hmovah,2movdx,0602hint10hmovah,9movdx,offsetString2int21hmovah,2movdx,0802hint10hmovah,9movdx,offsetString3int21hmovax,3movbh,01fhmovcx,040ahmovdx,0425hr1:callDrawRectaddch,2adddh,2decaxjnzr1movax,4movbh,01hmovcx,0d03hmovdx,1009hr2:callDrawRectaddcl,9adddl,9decaxjnzr2movcx,1303hmovdx,1524hcallDrawRectmovax,4movbh,0f1hmovcx,0c02hmovdx,0f08hrr1:callDrawRectaddcl,9adddl,9decaxjnzrr1movcx,1202hmovdx,1423hcallDrawRectmovah,2movbh,0movdx,0e04hint10hmovah,9movdx,offsetMenu1int21hmovah,2movdx,0e0dhint10hmovah,9movdx,offsetMenu2int21hmovah,2movdx,0e16hint10hmovah,9movdx,offsetMenu3int21hmovah,2movdx,0e1fhint10hmovah,9movdx,offsetMenu4int21hmovah,2movdx,1310hint10hmovah,9movdx,offsetMenu5int21hpopdxpopcxpopbxpopaxretShowMainWindowendp;《DrawRect》;參數(shù):bh=color,cx,dx;返回:無DrawRectprocnear pushax movah,0bh movbl,0 int10h movax,0700h int10h popax retDrawRectendp;《MenuChoose》;參數(shù):si;返回:siMenuChooseprocnear regetMouseState1:callGetMousecmpbx,01hjneregetMouseState1cmpdx,12jaen1movbx,0;點(diǎn)中按鈕外圍,設(shè)置bx=0pushbxjmpregetMouseState2n1:cmpdx,15jben2cmpdx,18jaem1movbx,0;點(diǎn)中按鈕外圍,設(shè)置bx=0pushbxjmpregetMouseState2m1:cmpdx,20jbem2movbx,0;點(diǎn)中按鈕外圍,設(shè)置bx=0pushbxjmpregetMouseState2m2:movax,cxcmpcx,2hjaem3movbx,0;點(diǎn)中按鈕外圍,設(shè)置bx=0pushbxjmpregetMouseState2m3:cmpcx,23hjbem4movbx,0;點(diǎn)中按鈕外圍,設(shè)置bx=0pushbxjmpregetMouseState2m4:movbx,5;點(diǎn)中按鈕1,設(shè)置bx=5pushbxmovbh,8fhmovcx,1202hmovdx,1423hcallDrawRectmovbh,0f0hmovcx,1303hmovdx,1524hcallDrawRectmovah,2movbh,0movdx,1411hint10hmovah,9movdx,offsetMenu5int21hjmpregetMouseState2movbx,0;點(diǎn)中按鈕外圍,設(shè)置bx=0pushbxjmpregetMouseState2n2:movax,cxmovcl,9divclcmpah,2jaen3movbx,0;點(diǎn)中按鈕外圍,設(shè)置bx=0pushbxjmpregetMouseState2n3:cmpah,8jben4movbx,0;點(diǎn)中按鈕外圍,設(shè)置bx=0pushbxjmpregetMouseState2n4:cmpal,0;功能1jebutton1cmpal,1jebutton2cmpal,2jebutton3cmpal,3jebutton4movbx,0;點(diǎn)中按鈕外圍,設(shè)置bx=0pushbxjmpregetMouseState2button1:movbx,1;點(diǎn)中按鈕1,設(shè)置bx=1pushbxmovbh,8fhmovcx,0c02hmovdx,0f08hcallDrawRectmovbh,0f1hincchincclincdhincdlcallDrawRectmovah,2movbh,0movdx,0f05hint10hmovah,9movdx,offsetMenu1int21hjmpregetMouseState2button2:movbx,2;點(diǎn)中按鈕2,設(shè)置bx=2pushbxmovbh,8fhmovcx,0c0bhmovdx,0f11hcallDrawRectmovbh,0f1hincchincclincdhincdlcallDrawRectmovah,2movbh,0movdx,0f0ehint10hmovah,9movdx,offsetMenu2int21hjmpregetMouseState2button3:movbx,3;點(diǎn)中按鈕3,設(shè)置bx=3pushbxmovbh,8fhmovcx,0c14hmovdx,0f1ahcallDrawRectmovbh,0f1hincchincclincdhincdlcallDrawRectmovah,2movbh,0movdx,0f17hint10hmovah,9movdx,offsetMenu3int21hjmpregetMouseState2button4:movbx,4;點(diǎn)中按鈕4,設(shè)置bx=4pushbxmovbh,8fhmovcx,0c1dhmovdx,0f23hcallDrawRectmovbh,0f1hincchincclincdhincdlcallDrawRectmovah,2movbh,0movdx,0f20hint10hmovah,9movdx,offsetMenu4int21hjmpregetMouseState2regetMouseState2:callGetMousecmpbx,0jneregetMouseState2popbxcmpbx,1jebtn1cmpbx,2jebtn2cmpbx,3jebtn3cmpbx,4jebtn4cmpbx,5jebtn5jmpregetMouseState1btn1:movbh,01h;點(diǎn)中按鈕1并放開左鍵movcx,0d03hmovdx,1009hcallDrawRectmovbh,0f1hdecchdeccldecdhdecdlcallDrawRectmovah,2movbh,0movdx,0e04hint10hmovah,9movdx,offsetMenu1int21hcallAddIntergercallCleanFinallycallOutIntergerjmpregetMouseState1btn2:movbh,01h;點(diǎn)中按鈕2并放開左鍵movcx,0d0chmovdx,1012hcallDrawRectmovbh,0f1hdecchdeccldecdhdecdlcallDrawRectmovah,2movbh,0movdx,0e0dhint10hmovah,9movdx,offsetMenu2int21hcallSubIntergercallCleanFinallycallOutIntergerjmpregetMouseState1btn3:movbh,01h;點(diǎn)中按鈕3并放開左鍵movcx,0d15hmovdx,101bhcallDrawRectmovbh,0f1hdecchdeccldecdhdecdlcallDrawRectmovah,2movbh,0movdx,0e16hint10hmovah,9movdx,offsetMenu3int21hcallMulIntergercallCleanFinallycallOutIntergerjmpregetMouseState1btn4:movbh,01h;點(diǎn)中按鈕4并放開左鍵movcx,0d1ehmovdx,1024hcallDrawRectmovbh,0f1hdecchdeccldecdhdecdlcallDrawRectmovah,2movbh,0movdx,0e1fhint10hmovah,9movdx,offsetMenu4int21hcallDivIntergercallCleanFinallycallOutIntergerjmpregetMouseState1btn5:;點(diǎn)中按鈕5并放開左鍵movbh,01hmovcx,1303hmovdx,1524hcallDrawRectmovbh,0f1hmovcx,1202hmovdx,1423hcallDrawRectmovah,2movbh,0movdx,1310hint10hmovah,9movdx,offsetMenu5int21hcallReloadExejmpregetMouseState1retMenuChooseendp;《MouseInit》;參數(shù):無;返回:ax=0hfalse;ax=0ffffhsuccess;MouseInitprocnear xorax,ax;MouseInit int33h cmpax,0h jefalse movax,01h;ShowMouse int33h movax,0ffffh false: retMouseInitendp;《GetMouse》;參數(shù):無;返回:leftCleck=bxy=cxx=dxGetMouseprocnear pushax movax,03h int33h andbx,01h xchgax,cx movcl,3 shrax,cl shrdx,cl xchgax,cx popaxretGetMouseendp;《AddInterger》;參數(shù):無;返回:end->axAddIntergerprocnearpushsipushbxleasi,Number1movax,[si]leasi,Number2movbx,[si]addax,bxpopbxpopsiretAddIntergerendp;《SubInterger》;參數(shù):無;返回:end->axSubIntergerprocnear pushsipushbxleasi,Number1movax,[si]leasi,Number2movbx,[si]subax,bxpopbxpopsi retSubIntergerendp;《MulInterger》;參數(shù):無;返回:end->axMulIntergerprocnear pushsipushbxleasi,Number1movax,[si]leasi,Number2movbx,[si]mulbxpopbxpopsi retMulIntergerendp;《DivInterger》;參數(shù):無;返回:end->axDivIntergerprocnear pushdx pushsipushbxleasi,Number1movax,[si]leasi,Number2movbx,[si]xordx,dxdivbxpopbxpopsipopdx retDivIntergerendp;《GetInterger》;參數(shù):[bx];返回:interger->[bx];注意:0<=interger<=32767GetIntergerprocnearpushcxpushdxpushbxxorax,axxorbx,bxxorcx,cxxordx,dxreget:movah,8int21hcmpal,'0'jbsigncmpal,'9'jaregetcmpcl,5jeregetjmpgetIntsign:cmpal,0dhjeentercmpal,8hjebackspacejmpregetgetInt:movdl,almovah,2int21handax,0fhxchgax,bxpushbxmovbx,10mulbxpopbxxchgax,bxaddbx,axinccxjmpregetbackspace:cmpcl,0jeregetxchgax,bxpushbxmovbx,10divbxpopbxxchgax,bxdeccxmovah,2movdl,08hint21hmovdl,20hint21hmovdl,08hint21hxordx,dxjmpregetenter:movax,bxpopbxmov[bx],axpopdxpopcxretGetIntergerendp;《OutInterger》;參數(shù):ax;返回:無OutIntergerprocnearpushcxpushdxcmpax,8000hjbr3pushaxmovah,2movdl,'-'int21hpopaxsubax,1notaxr3:xorcx,cxr4:xordx,dxpushbxmovbx,10divbxpopbxadddl,30hpushdxinccxcmpax,0jnzr4movah,2r5:popdxint21hloopr5popdxpopcxretOutIntergerendp;《ReloadExe》;參數(shù):無;返回:無ReloadExeprocnear pushax pushbx pushcx pushdx movah,2 movbh,0 movdx,080ah int10h movcx,6 movdl,'' clean1:int21h loopclean1 movdx,060ah int10h movcx,6 movdl,'' clean2:int21h loopclean2 movdx,040ah int10h movcx,6 movdl,'' clean3:int21h loopclean3 movah,2;獲取Number1和Number2的數(shù)值movbh,0movdx,040ah int10h movbx,offsetNumber1 callGetInterger movah,2 movbh,0 movdx,060ah int10h movbx,offsetNumber2 callGetInterger callAddInterger pushax movah,2 movbh,0 movdx,080ah int10h popax callOutInterger popdx popcx popbx popax retReloadExeendp;《CleanFinally》;參數(shù):無;返回:光標(biāo)位置Finally輸出框CleanFinallyprocnear pushax pushbx pushcx pushdx movah,2 movbh,0 movdx,080ah int10h movcx,6 movdl,'' clean:int21h loopclean movdx,080ah int10h popdx popcx popbx popax retCleanFinallyendpcodeendsendstart參考文獻(xiàn)[1]周荷琴吳秀清/編著.微型計(jì)算機(jī)原理與接口技術(shù)第4版中國科學(xué)技術(shù)出版社[2]周明德微機(jī)原理于接口技術(shù)實(shí)驗(yàn)指導(dǎo)與習(xí)題集.人民郵電出版社,2002[3]譚浩強(qiáng)鄭學(xué)堅(jiān)周斌微型計(jì)算機(jī)原理及應(yīng)用實(shí)驗(yàn)指導(dǎo).第二版清華大學(xué)出版社,2001[4]李干林李升微機(jī)原理及接口技術(shù)北京大學(xué)出版社,2010.微機(jī)課程設(shè)計(jì)PID參數(shù)整定ZN法整定系統(tǒng)的開環(huán)傳遞函數(shù),試采用ZN法整定法計(jì)算系統(tǒng)的P、PI、PID控制器的參數(shù),并繪制整定后系統(tǒng)的單位階躍響應(yīng)曲線。思路分析:運(yùn)用Z-N法整定公式:Kp=1.2T/Kτ,Ti=2τ,Td=0.5τ可整定出各個參數(shù)。實(shí)驗(yàn)調(diào)試參數(shù):P控制器:Kp=0.25PI控制器:Kp=0.225Ti=600PID控制器:Kp=0.3Ti=396Td=90仿真圖如下:臨界比例度法系統(tǒng)的開環(huán)傳遞函數(shù),試采用臨界比例度法整定法計(jì)算系統(tǒng)的P、PI、PID控制器的參數(shù),并繪制整定后系統(tǒng)的單位階躍響應(yīng)曲線。思路分析:選擇一足夠短的采樣周期,逐漸增大Kp直到系統(tǒng)出現(xiàn)等幅震蕩,記下此時的kp(δ=1/kp),及臨界震蕩周期Tk。δTiTdP2δk∞0PI2.2δk0.83Tk0PID1.8δk0.5Tk0.125Tk實(shí)驗(yàn)調(diào)試參數(shù):P控制器:Kp=15PI控制器:Kp=13.64Ti=2.324PID控制器:Kp=17.65Ti=1.4Td=0.35仿真圖如下:衰減曲線法系統(tǒng)的開環(huán)傳遞函數(shù),試采用衰減曲線法整定法計(jì)算系統(tǒng)的P、PI、PID控制器的參數(shù),并繪制整定后系統(tǒng)的單位階躍響應(yīng)曲線思路分析:衰減曲線法是在系統(tǒng)閉環(huán)情況下,將控制器積分時間TI放在最大,微分時間TD放到最小,比例放大倍數(shù)KC設(shè)為1,然后使KC由小往大逐步改變,并且每改變一次KC值時,通過改變給定值給系統(tǒng)施加一個階躍干擾,同時觀察過渡過程變化情況。如果衰減比小大于4:1,KC值繼續(xù)增加,如果衰減比小于4:1,KC值繼續(xù)減小,直到過程呈現(xiàn)4:1衰減如圖為止。通過上述試驗(yàn)可以找到4:1衰減振蕩時的放大倍數(shù)為Ks以及振蕩周期Ts。根據(jù)下表給出的經(jīng)驗(yàn)公式,可以算出采用不同類型控制器使過渡過程出現(xiàn)4:1振蕩的控制器參數(shù)值。表4:1衰減曲線法整定控制器參數(shù)經(jīng)驗(yàn)公式控制器類型控制器參數(shù)P(KC)I(TI)/minD(TD)/minPKs——PI0.83Ks0.5Ts—PID1.25Ks0.3Ts0.1Ts然后按經(jīng)驗(yàn)公式算出控制參數(shù)后按照先比例、后積分、最后微分的程序,一次將控制器參數(shù)放好。不過在放積分、微分之前

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論