北航計(jì)算機(jī)控制系統(tǒng)實(shí)驗(yàn)報(bào)告要點(diǎn)_第1頁(yè)
北航計(jì)算機(jī)控制系統(tǒng)實(shí)驗(yàn)報(bào)告要點(diǎn)_第2頁(yè)
北航計(jì)算機(jī)控制系統(tǒng)實(shí)驗(yàn)報(bào)告要點(diǎn)_第3頁(yè)
北航計(jì)算機(jī)控制系統(tǒng)實(shí)驗(yàn)報(bào)告要點(diǎn)_第4頁(yè)
北航計(jì)算機(jī)控制系統(tǒng)實(shí)驗(yàn)報(bào)告要點(diǎn)_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、計(jì)算機(jī)控制系統(tǒng)實(shí) 驗(yàn) 報(bào) 告實(shí)驗(yàn)一 模擬式小功率隨動(dòng)系統(tǒng)的實(shí)驗(yàn)調(diào)試實(shí)驗(yàn)二 A/D、D/A接口的使用和數(shù)據(jù)采集實(shí)驗(yàn)三 中斷及采樣周期的調(diào)試實(shí)驗(yàn)四 計(jì)算機(jī)控制系統(tǒng)的實(shí)驗(yàn)調(diào)試 姓名: 陳啟航 學(xué)號(hào): 13031144 同組人: 吳振環(huán) 陳秋鵬 李愷 指導(dǎo)教師: 袁少?gòu)?qiáng) 日期: 2016年6月16日 實(shí)驗(yàn)一 二階系統(tǒng)的電子模擬及時(shí)域響應(yīng)的動(dòng)態(tài)測(cè)試一、實(shí)驗(yàn)?zāi)康?1. 熟悉反饋控制系統(tǒng)的結(jié)構(gòu)和工作原理,進(jìn)一步了解位置隨動(dòng)系統(tǒng)的特點(diǎn)。 2. 掌握判別閉環(huán)系統(tǒng)的反饋極性的方法。 3. 了解開環(huán)放大倍數(shù)對(duì)穩(wěn)定性的影響及對(duì)系統(tǒng)動(dòng)態(tài)特性的影響,對(duì)靜態(tài)誤差的影響。二、實(shí)驗(yàn)內(nèi)容 1. 連接元件構(gòu)成位置隨動(dòng)系統(tǒng); 2.

2、利用計(jì)算機(jī)內(nèi)的采樣及顯示程序,顯示并分析輸出的響應(yīng)結(jié)果;3. 反復(fù)調(diào)試達(dá)到設(shè)計(jì)要求。三、實(shí)驗(yàn)設(shè)備XSJ-3 小功率直流隨動(dòng)系統(tǒng)學(xué)習(xí)機(jī)一臺(tái)、DH1718 雙路直流穩(wěn)壓電源一臺(tái)、4 1/2 數(shù)字多用表一臺(tái)四、實(shí)驗(yàn)原理模擬式小功率隨動(dòng)系統(tǒng)如下圖所示:1. 實(shí)驗(yàn)前需進(jìn)行零位調(diào)整,反饋極性判斷,反饋極性判斷又包括速度反饋極性判斷和位置反饋極性判斷,須使反饋為負(fù)反饋。2. 動(dòng)態(tài)閉環(huán)實(shí)驗(yàn)系統(tǒng)調(diào)試。按下面電路圖連線,通過(guò)改變變阻器 大小來(lái)改變閉環(huán)系統(tǒng)放大倍數(shù),通過(guò)一路A/D把輸出相應(yīng)采入計(jì)算機(jī)進(jìn)行繪圖,同時(shí)測(cè)量輸入電壓和反饋電位計(jì)輸入電壓,算出穩(wěn)態(tài)誤差。五、實(shí)驗(yàn)結(jié)果滑阻阻值(千歐)7.118.324.138.

3、3比例系數(shù)11.52.753.7給定角度(度)3060120輸出角度(度)3866129靜差角度(度)314靜態(tài)誤差(mv)-146.7-6.2-193.5過(guò)度過(guò)程曲線見(jiàn)下圖1. K=1時(shí)的過(guò)渡過(guò)程曲線2. K=1.5時(shí)的過(guò)渡過(guò)程曲線3. K=2.75時(shí)的過(guò)渡過(guò)程曲線4. K=3.7時(shí)的過(guò)渡過(guò)程曲線六、思考題及實(shí)驗(yàn)感想1 如果速度反饋極性不對(duì)應(yīng)如何處理?如果位置反饋極性不對(duì)應(yīng)如何處理? 答:首先判斷測(cè)速機(jī)反饋極性。在一級(jí)運(yùn)放處加一電壓,記住電機(jī)轉(zhuǎn)向,然后斷開輸入,用手旋轉(zhuǎn)電機(jī)按同一轉(zhuǎn)向轉(zhuǎn)動(dòng),測(cè)量測(cè)速機(jī)輸出電壓,如與前電機(jī)所加電壓極性相同,則可將該信號(hào)接入運(yùn)放二的負(fù)端;否則應(yīng)把測(cè)速機(jī)輸出極性倒置

4、,即把另一信號(hào)接入運(yùn)放二的負(fù)相端。 其次判斷位置反饋極性。將回路接成開環(huán)狀態(tài),給電機(jī)加入一正電壓,可使其轉(zhuǎn)動(dòng),然后使電機(jī)回零,順著電機(jī)剛才轉(zhuǎn)動(dòng)的方向轉(zhuǎn)一小角度(不可轉(zhuǎn)到非線性區(qū)),同時(shí)用數(shù)字電壓表測(cè)電位計(jì)電刷的輸出電壓,倘若其值為負(fù),則表明此時(shí)是負(fù)反饋,否則,需把電位計(jì)兩端10V接線頭對(duì)調(diào),以保證閉環(huán)系統(tǒng)是負(fù)反饋。2. 系統(tǒng)是幾階無(wú)靜差系統(tǒng)?產(chǎn)生靜差的原因。答:系統(tǒng)是二階無(wú)靜差系統(tǒng)。產(chǎn)生靜差的原因有以下幾點(diǎn):第一,系統(tǒng)的非線性特性,由于電機(jī)有死區(qū),故當(dāng)誤差太小時(shí),系統(tǒng)輸出給電機(jī)的電壓也比較小,未達(dá)到電機(jī)的啟動(dòng)電壓,導(dǎo)致電機(jī)不能轉(zhuǎn)動(dòng),造成誤差。第二,電位計(jì)的測(cè)量有誤差,A/D采樣也會(huì)造成誤差。3

5、. 說(shuō)出開環(huán)放大系數(shù)與靜差及穩(wěn)定性的關(guān)系。答:增大開環(huán)放大倍數(shù)有助于減小靜差和增加系統(tǒng)的快速性,如過(guò)渡過(guò)程曲線1和2對(duì)比所示。但是開環(huán)放大倍數(shù)過(guò)大會(huì)導(dǎo)致超調(diào)增加和系統(tǒng)振蕩,甚至不穩(wěn)定,如過(guò)渡過(guò)程曲線3和4所示。感想:通過(guò)這次實(shí)驗(yàn),深刻了解了對(duì)于速度反饋類型的調(diào)試,對(duì)靜態(tài)誤差的分析以及產(chǎn)生誤差的原因等,并且對(duì)開環(huán)放大系數(shù)對(duì)系統(tǒng)的影響也在實(shí)驗(yàn)過(guò)程中得到驗(yàn)證。對(duì)今后學(xué)習(xí)將有極大作用。實(shí)驗(yàn)二 A/D、D/A接口的使用和數(shù)據(jù)采集一、實(shí)驗(yàn)?zāi)康?1. 了解A/D接口的基本原理,硬件結(jié)構(gòu)及編程方法等2. 掌握機(jī)器內(nèi)部的數(shù)據(jù)轉(zhuǎn)換和儲(chǔ)存方式3. 學(xué)會(huì)定時(shí)器的原理及使用方法4. 測(cè)量A/D的輸入/輸出特性,分析誤差

6、產(chǎn)生原因5. 了解D/A接口基本原理,芯片結(jié)構(gòu);6. D/A與CPU的連接,地址設(shè)置及編程方法等二、實(shí)驗(yàn)內(nèi)容 1. 編制并調(diào)試帶定時(shí)器的A/D程序2. 編制并調(diào)試帶定時(shí)器的D/A程序3. 對(duì)編寫程序進(jìn)行測(cè)試4. 分析誤差產(chǎn)生原因三、實(shí)驗(yàn)設(shè)備IBM PC 系列微機(jī)一臺(tái)(586)、HD1219 12位A/D D/A接口板一塊、DH1718 雙路直流穩(wěn)壓電源一臺(tái)、4 1/2 數(shù)字多用表一臺(tái)四、實(shí)驗(yàn)步驟1. 編制A/D采樣程序,對(duì)不同電壓進(jìn)行采樣測(cè)量,并轉(zhuǎn)換碼制。將所測(cè)的結(jié)果與真實(shí)結(jié)果進(jìn)行對(duì)比。 2. 編制D/A程序,在計(jì)算機(jī)中輸入不同電壓對(duì)應(yīng)的碼,進(jìn)行輸出,并用電壓表測(cè)量電壓輸出值,將實(shí)際值與理論值

7、進(jìn)行比較。五、程序流程圖1. A/D程序流程圖 2. D/A程序流程圖六、實(shí)驗(yàn)數(shù)據(jù)1. A/D實(shí)驗(yàn)數(shù)據(jù)電壓(V) -10-7.5-5-2.502.557.510偏移碼01f93f65f17f0a08c27e1afbf補(bǔ)碼 f800f9f9fbf6fdf1fff020842761a7bf浮點(diǎn)數(shù) -1.00-0.753-0.505-0.257-0.0080.2540.5190.7630.9682. D/A實(shí)驗(yàn)數(shù)據(jù)Code00002000400060008000A000C000E000FFFF輸入電壓-5-3.75-2.5-1.2501.252.53.755輸出電壓-4.9-3.7-2.4-1.20

8、1.22.53.75誤差-0.1-0.05-0.1-0.0500.0500.050七、思考題1. 試分析采集誤差產(chǎn)生原因有哪些?答:A/D和D/A本身存在量化誤差;A/D和D/A有非線性特性;噪聲干擾,在測(cè)量過(guò)程中發(fā)現(xiàn)無(wú)論是A/D還是D/A,在實(shí)驗(yàn)中都不是穩(wěn)定不變的,一般尾數(shù)都在不斷的變化,這是由于電路中本身的噪聲,以及數(shù)據(jù)采集板在設(shè)計(jì)過(guò)程中沒(méi)有考慮到信號(hào)干擾所造成的。八、實(shí)驗(yàn)感想通過(guò)這次實(shí)驗(yàn),接觸了計(jì)算機(jī)編程的語(yǔ)言邏輯,并且對(duì)計(jì)算機(jī)的A/D和D/A編程有了一定了解,通過(guò)實(shí)驗(yàn)機(jī)上的仿真程序?qū)?shí)驗(yàn)得到進(jìn)一步的完善。實(shí)驗(yàn)三 中斷及采樣周期的調(diào)試一、實(shí)驗(yàn)?zāi)康?1. 學(xué)習(xí)中斷的原理及編程方法 2. 掌

9、握采樣周期的實(shí)現(xiàn)方法二、實(shí)驗(yàn)內(nèi)容 1. 編制并調(diào)試所編寫的程序2. 按線路圖搭接一個(gè)二階系統(tǒng)并觀察輸出特性3. 觀察采樣周期變化對(duì)系統(tǒng)的影響三、實(shí)驗(yàn)設(shè)備IBM PC 系列微機(jī)一臺(tái)(586)、HD1219 12位A/D D/A接口板一塊、DH1718 雙路直流穩(wěn)壓電源一臺(tái)、4 1/2 數(shù)字多用表一臺(tái)四、實(shí)驗(yàn)步驟 1. 編寫并調(diào)試程序。參照照老師所給程序語(yǔ)句編寫面板程序,合理布局,使在面板上可以看到輸入的電壓波形,輸出的電壓波形,并為了方便實(shí)驗(yàn)六里觀察隨動(dòng),所以又編寫了兩個(gè)表盤,便于更好的觀察輸入輸出的電壓變化。并編寫簡(jiǎn)單的控制率,使可以通過(guò)改變程序中的參數(shù)改變控制率。 2. 按照下面的電路圖連線

10、,組成一個(gè)計(jì)算機(jī)控制系統(tǒng),改變其采樣周期,觀察系統(tǒng)的特性。五、實(shí)驗(yàn)數(shù)據(jù)中斷計(jì)時(shí)器的計(jì)數(shù)值,其中T以ms為單位。由于計(jì)時(shí)器為16位,n的最大值為0xFFFF,即65535,由此得出的最大值為。故實(shí)驗(yàn)中只取了兩組數(shù)據(jù),并對(duì)采樣周期對(duì)系統(tǒng)性能的影響作定性的觀察。由實(shí)驗(yàn)現(xiàn)象得出結(jié)論:采樣周期對(duì)系統(tǒng)的性能影響較大,且越小,系統(tǒng)的穩(wěn)定性越好,動(dòng)態(tài)響應(yīng)越理想。對(duì)于本實(shí)驗(yàn)的系統(tǒng),時(shí)系統(tǒng)近似等幅振蕩。R01-100Q0001-1Uda(理論)01-1-11Uda(實(shí)測(cè))01.91-2.79-1.741.57實(shí)驗(yàn)截圖如下:T=10msT=20msT=25msT=30msT=32ms六、思考題及實(shí)驗(yàn)感想1. 為什么

11、T越小系統(tǒng)特性越好,T可以無(wú)限小嗎? 答:T小有利于改善系統(tǒng)的動(dòng)態(tài)特性,因?yàn)椴捎幂^小的T,在同樣的采樣周期內(nèi)就可以對(duì)系統(tǒng)進(jìn)行更多次的采樣和控制,使系統(tǒng)響應(yīng)往期望的方向發(fā)展。但是T過(guò)小會(huì)使系統(tǒng)極點(diǎn)向單位圓靠近,很小的量化誤差會(huì)對(duì)系統(tǒng)的穩(wěn)定性造成很大的影響,可能會(huì)導(dǎo)致系統(tǒng)不穩(wěn)定。因此T不能太大也不能過(guò)小,應(yīng)根據(jù)實(shí)際情況選擇一個(gè)合適的值。實(shí)驗(yàn)感想:通過(guò)這次實(shí)驗(yàn),對(duì)實(shí)驗(yàn)中計(jì)算機(jī)的仿真編程有了進(jìn)一步的了解,并且對(duì)于編程中的中斷程序有了認(rèn)識(shí),同時(shí),對(duì)于采樣周期的不同對(duì)實(shí)驗(yàn)結(jié)果產(chǎn)生的影響也有了進(jìn)一步的深入了解。實(shí)驗(yàn)四 計(jì)算機(jī)控制系統(tǒng)的實(shí)驗(yàn)調(diào)試一、實(shí)驗(yàn)?zāi)康?1. 掌握數(shù)控伺服系統(tǒng)靜態(tài)參數(shù)選取的一般方法 2.

12、掌握利用極點(diǎn)配置方法進(jìn)行離散系統(tǒng)全狀態(tài)反饋控制規(guī)律及降維觀測(cè)器的設(shè)計(jì) 3. 掌握控制算法編排實(shí)現(xiàn)及比例因子配置方法4. 學(xué)會(huì)數(shù)控伺服系統(tǒng)調(diào)試的方法與過(guò)程二、實(shí)驗(yàn)內(nèi)容 1. 選擇合適的采樣周期,對(duì)小功率隨動(dòng)系統(tǒng)的模型進(jìn)行離散化2. 利用極點(diǎn)配置方法進(jìn)行離散系統(tǒng)全狀態(tài)反饋控制規(guī)律及降維觀測(cè)器的設(shè)計(jì) 3. 編輯實(shí)時(shí)控制程序,在計(jì)算機(jī)內(nèi)實(shí)現(xiàn)控制律4. 進(jìn)行閉環(huán)動(dòng)態(tài)系統(tǒng)調(diào)試5. 討論靜態(tài)誤差及其消除方法三、實(shí)驗(yàn)設(shè)備IBM PC 系列微機(jī)一臺(tái)(586)、HD1219 12位A/D D/A接口板一塊、DH1718 雙路直流穩(wěn)壓電源一臺(tái)、4 1/2 數(shù)字多用表一臺(tái)四、實(shí)驗(yàn)原理該數(shù)控伺服系統(tǒng)的結(jié)構(gòu)圖如下圖所示。

13、該系統(tǒng)是一直流伺服系統(tǒng),它由直流力矩電機(jī)、直流測(cè)速發(fā)電機(jī)、角位置測(cè)量電位計(jì)及直流放大器、80X86處理器計(jì)算機(jī)及A/D、D/A變換器組成。加入系統(tǒng)的指令輸入信號(hào)通過(guò)A/D、D/A變換器進(jìn)入計(jì)算機(jī),經(jīng)過(guò)計(jì)算機(jī)控制算法的處理產(chǎn)生控制指令,由D/A變換器輸出,加到運(yùn)算放大器輸入端,與測(cè)速機(jī)測(cè)得的角速度信號(hào)綜合比較,經(jīng)過(guò)功率放大后驅(qū)動(dòng)直流力矩電機(jī)轉(zhuǎn)動(dòng)。負(fù)載的轉(zhuǎn)角由電位計(jì)測(cè)得,并通過(guò)A/D加入到計(jì)算機(jī),通過(guò)控制指令的計(jì)算,形成一個(gè)完整的閉環(huán)控制系統(tǒng)。(1) 確定增益系數(shù)D/A輸出 120mv,電機(jī)啟動(dòng):,;D/A輸出 5v,電機(jī)轉(zhuǎn)速26rad/s閉環(huán)傳遞函數(shù)穩(wěn)態(tài)增益為,;系統(tǒng)連續(xù)部分的傳遞函數(shù)為;若取得

14、狀態(tài)方程輸出方程由MATLAB可得,a=0 1;0 -54.49;b=0;283.4;F,G=c2d(a,b,0.01)F = 1.0000 0.0077 0 0.5799G = 0.01192.1849(2) 設(shè)計(jì)狀態(tài)反饋增益,使系統(tǒng)閉環(huán)極點(diǎn)0.9,n 20 rad/s系統(tǒng)在s平面的特征根根據(jù)要求取,得根據(jù),離散系統(tǒng)的特征根為使用MATLAB計(jì)算狀態(tài)反饋增益F=1,0.0077;0,0.5799;G=0.0119;2.1849;P=0.7877 + 0.0674*i,0.7877 - 0.0674*i;k=acker(F,G,P)k = 2.2735 -0.0103(3) 設(shè)可測(cè),設(shè)計(jì)降維觀

15、測(cè)器,觀測(cè)器衰減速率是系統(tǒng)閉環(huán)衰減速率的 4倍。 降維觀測(cè)器方程L為觀測(cè)器增益,觀測(cè)器衰減速率是系統(tǒng)閉環(huán)衰減速率的 4倍,閉環(huán)極點(diǎn)為 觀測(cè)器極點(diǎn)為利用MATLAB可求得L = 24.5844;F22=0.5799;F12=0.0077;P=0.3906;l=acker(F22,F12,P)l = 24.5844降維觀測(cè)器方程觀測(cè)器誤差方程(4) 求離散控制律 D(z)加入觀測(cè)器和反饋增益系統(tǒng)的離散方程為:對(duì)上式進(jìn)行z變換 ;(5) 將 D(z)進(jìn)行實(shí)現(xiàn),配置適當(dāng)?shù)谋壤蜃?。采用零極型編排結(jié)構(gòu)實(shí)現(xiàn)配置比例因子控制器穩(wěn)態(tài)增益為,高頻增益為 選擇比例因子為4不考慮A/D,D/A的量程,結(jié)構(gòu)圖如下:兩

16、圖比較得:K1=-0.505 K2=1 K3=-0.4615 K4=-0.8121K5=0.21 K6=0.5 K7=2(6)編排實(shí)現(xiàn)按下圖編排實(shí)現(xiàn):可得,k1=-0.45725,k2=1,k3=-0.09787,k4=0.233,k5=0.25,k6=0.125,k7=8上面為理論計(jì)算得到的控制器,實(shí)驗(yàn)中使用的控制器參考了往屆同學(xué)的工作,進(jìn)行了較大修正,得到的效果較好。以下為實(shí)驗(yàn)實(shí)際所用的編排數(shù)據(jù),程序見(jiàn)附錄:k1=-0.66,k2=1,k3=-0.456,k4=0.511,k5=0.74,k6=0.26,k7=2.7;五、實(shí)驗(yàn)步驟1. 按上述原理圖接線。2. 用C語(yǔ)言編制帶曲顯示的實(shí)時(shí)控制

17、程序。實(shí)時(shí)控制程序參考流程圖 3. 運(yùn)行帶曲顯示的實(shí)時(shí)控制程序,調(diào)節(jié)系統(tǒng)達(dá)到控制要求,打印輸出曲線六、實(shí)驗(yàn)結(jié)果 實(shí)驗(yàn)結(jié)果比較順利的完成了指定的任務(wù)。靜差和超調(diào)均在規(guī)定范圍之內(nèi)??刂平缑娴慕貓D如下所示:階躍響應(yīng):七、思考題1. 若系統(tǒng)輸入和輸出有較大偏差,如何通過(guò)系數(shù)的調(diào)整解決?答:若輸出角度和輸入角度有較大偏差,可以通過(guò)改變K1的值,增大或減小反饋值,從而達(dá)到改變輸出電壓,即調(diào)整輸出角度的目的,不用重新設(shè)計(jì)狀態(tài)反饋。2. 系統(tǒng)引入速度反饋的作用是什么?答:速度反饋的目的是改善系統(tǒng)的動(dòng)態(tài)特性,使系統(tǒng)能夠快速響應(yīng)輸入。 3. 參數(shù) K1 、K5 對(duì)系統(tǒng)靜特性的影響? 答:K1和K5影響的主要是系統(tǒng)

18、的開環(huán)增益,增加開環(huán)增益可以減少系統(tǒng)靜差,提高系統(tǒng)的快速性,同時(shí)太大的開環(huán)增益會(huì)是的系統(tǒng)振蕩性加強(qiáng)甚至不穩(wěn)定。4. 參數(shù) K3 、K4 對(duì)系統(tǒng)動(dòng)特性的影響? 答:K3調(diào)整的是控制器的零點(diǎn),可以調(diào)節(jié)系統(tǒng)的響應(yīng),但對(duì)穩(wěn)定性影響不大;K4對(duì)應(yīng)控制器的極點(diǎn),對(duì)系統(tǒng)的動(dòng)態(tài)響應(yīng)及穩(wěn)定性都起關(guān)鍵作用。八、實(shí)驗(yàn)感想通過(guò)這四次實(shí)驗(yàn),對(duì)計(jì)算機(jī)控制系統(tǒng)的實(shí)驗(yàn)有了進(jìn)一步了解,從前三次實(shí)驗(yàn)的分步了解認(rèn)識(shí)到后來(lái)第四次綜合性的大實(shí)驗(yàn)結(jié)合,對(duì)速度反饋系統(tǒng)有了深刻了解,并且學(xué)會(huì)了如果通過(guò)調(diào)節(jié)速度反饋中的系數(shù)大小來(lái)調(diào)節(jié)完善系統(tǒng)反饋的準(zhǔn)確性,通過(guò)調(diào)節(jié)參數(shù)來(lái)減小系統(tǒng)靜差,并且接觸到了仿真程序的編寫,以及如何控制這些仿真程序來(lái)改變仿真

19、界面的類型等技巧,相信這些知識(shí)對(duì)我將來(lái)起到極大的作用。最后感謝老師的細(xì)心指導(dǎo)和每節(jié)課的耐心講解,在我們遇到線路上的問(wèn)題時(shí),都會(huì)幫我們來(lái)排查故障。謝謝老師。附(實(shí)驗(yàn)代碼):#include #include #include #include #include #include #include #define pi 3.14159265/*-define k1 to k7-*/float k1=-0.68,k2=1,k3=-0.459,k4=0.521,k5=0.85,k6=1.02,k7=0.8;/*-others-*/float k1=-0.505,k2=1,k3=-0.4615,k4=-

20、0.8121,k5=0.21,k6=0.5,k7=2;/float k1=-0.6546,k2=1,k3=-0.4293,k4=0.5024,k5=0.75,k6=4,k7=2;float k1=-0.66,k2=1,k3=-0.456,k4=0.511,k5=0.74,k6=0.26,k7=2.7;/float k1=-0.6743,k2=0.75,k3=-0.459,k4=0.521,k5=2,k6=2,k7=2;/float k1=-0.67,k2=1,k3=-0.459,k4=0.521,k5=0.75,k6=0.25,k7=2;/float k1=-0.6743,k2=0.75,k3

21、=-0.459,k4=0.521,k5=4,k6=4,k7=2;/float k1=-0.333,k2=0.75,k3=0.0329,k4=0.1963,k5=4,k6=4,k7=2;/*-*/float t=0.1,x=0,x1,adpre=0,adpre1=0;float timer=0;int N1;void interrupt (*oldint)(.);void interrupt newint(.);float adc(int n);void dac(float da);void initialscreen();void main() initialscreen(); oldint=

22、getvect(0xb); setvect(0xb,newint); disable(); int n,temp; N1=10/t; x1=50*t; n=2000000*t; temp=n; n=n*256; outportb(0x31b,0xb6); outportb(0x31a,n); outportb(0x31a,temp); outportb(0x21,inportb(0x21)&0xf7); /setcolor(BLACK); enable(); getch(); closegraph(); outportb(0x21,inport(0x21)|0x08);/8259 INTERR

23、UPT END MARK setvect(0xb,oldint); /RECOVER INTVECTvoid interrupt newint(.)while(timer=N1)disable();outportb(0x20,0x20);goto a;timer=timer+0.3 ;float ad0,ad1,a1,da,d1;ad0=adc(0);ad1=adc(1);/*-DRAW THE PICTURE-*/setcolor(BLUE);line(240+x1*timer,120-adpre1*90,240+x1*timer,120-ad0*90);adpre1=ad0;setcolo

24、r(RED);line(240+x1*(timer),350-adpre*90,240+x1*timer,350-ad1*90);adpre=ad1;/*-DRAW THE POINTER-*/setcolor(RED);setfillstyle(0,BLACK);fillellipse(120,120,77,77);setcolor(RED);line(120,120,120+75*cos(ad0+0.5)*pi),120-75*sin(ad0+0.5)*pi);setcolor(RED);setfillstyle(0,RED);fillellipse(120,350,77,77);setc

25、olor(YELLOW);line(120,350,120+75*cos(ad1+0.5)*pi),350-75*sin(ad1+0.5)*pi); /*a1=ad1*k1+x;d1=ad0*k5+a1*k2;if(d1=1/k6) d1=1/k6;else if(d1=-1/k6) d1=-1/k6;da=k7*d1;dac(da); */ da=2*(ad0-ad1); dac(da); a: outportb(0x20,0x20);/*-D/A PROGRAM-*/void dac(float da)int y,lo,hi,newhi,newlo;y=(da+1)/2*0xfff0;lo

26、=y&0x00ff;hi=(y&0xff00)/256;newhi=(hi&0x000f)*16+(hi&0x00f0)/16;outportb(0x314,newhi);newlo=(lo&0x00f0)/16;outportb(0x315,newlo);inportb(0x315);/*-A/D PROGRAM-*/float adc(int n) float ad; int p,q; int i,r; outportb(0x31b,0x18); outportb(0x310,n); for(i=0;i500;i+) outportb(0x311,0x0); for(i=0;i500;i+

27、) p=inportb(0x312)%16; q=inportb(0x313); /printf(%0x,%0xn,p,q); r=p*256+q; /printf(%0x,r); float r1=r; ad=r1/0x800-1; /printf(%f,ad); /getch(); return ad; /*-FIGURE PLOT-*/void initialscreen() int gm, i,Radius,numy,width,startx,starty,height,blockHeight; char msg100; int point16; int gdriver = DETEC

28、T, gmode; initgraph(&gdriver, &gmode,D:BORLANDCBGI); cleardevice(); setbkcolor(BLUE); setcolor(14); int x1=120,y1=120; int x2=120,y2=350;/ Radius=80; char k100; for(float t=0;t=360) sprintf(k,%2.0f,t-360); outtextxy(x1+120*sin(t/180*pi),y1+120*cos(180-t)/180*pi),k); outtextxy(x2+120*sin(t/180*pi),y2

29、+120*cos(180-t)/180*pi),k); else outtextxy(x1-10+111*sin(t/180*pi),y1-3+111*cos(180-t)/180*pi),k); outtextxy(x2-10+111*sin(t/180*pi),y2-3+111*cos(180-t)/180*pi),k); setcolor(20); line(x1+85*sin(t/180*pi),y1+85*cos(180-t)/180*pi),x1+100*sin(t/180*pi),y1+100*cos(180-t)/180*pi); line(x2+85*sin(t/180*pi

30、),y2+85*cos(180-t)/180*pi),x2+100*sin(t/180*pi),y2+100*cos(180-t)/180*pi); setcolor(20);else line(x1+90*sin(t/180*pi),y1+90*cos(180-t)/180*pi),x1+100*sin(t/180*pi),y1+100*cos(180-t)/180*pi); line(x2+90*sin(t/180*pi),y2+90*cos(180-t)/180*pi),x2+100*sin(t/180*pi),y2+100*cos(180-t)/180*pi); else line(x

31、1+94*sin(t/180*pi),y1+94*cos(180-t)/180*pi),x1+100*sin(t/180*pi),y1+100*cos(180-t)/180*pi); line(x2+94*sin(t/180*pi),y2+94*cos(180-t)/180*pi),x2+100*sin(t/180*pi),y2+100*cos(180-t)/180*pi); char input,output; setcolor(14); sprintf(msg,Input V:,input); outtextxy(373,15,msg); setcolor(14); sprintf(msg

32、,Output V:,output); outtextxy(373,235,msg); setcolor(14); sprintf(msg,Input Angle:,output); outtextxy(10,10,msg); setcolor(14); sprintf(msg,Output Angle:,output); outtextxy(10,235,msg);height=180, width=380,startx=240,starty=30;int rp8;char a60;setfillstyle(1,WHITE);rp0 = rp2 = startx;rp1 = rp7 = starty;rp4 = rp6 = startx+width;rp3 = rp5 = starty+height;fillpoly(4,rp);settextstyle(0,0,0);setlinestyle(1,1,1);setcolor(DARKGRAY);height=180, width=380,startx=240,starty=260;int tp8;char b60;setfi

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論