freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的pid控制器畢業(yè)設(shè)計(jì)(參考版)

2025-07-30 05:25本頁面
  

【正文】 } 英文原文ProportionalIntegralDerivative (PID) Controller[7]The PID algorithm is the most popular feedback controller used within the process industries. It has been successfully used for 50 years. It is a robust easily understood algorithm that can provide excellent control performance despite the varied dynamic characteristics of process plant.As the name suggests, the PID algorithm consists of three basic modes, the Proportional mode, th。 sptrLastError = iError。 //增量計(jì)算 iIncpid = sptrProportion * iError //E[k]項(xiàng) sptrIntegral * sptrLastError //E[k-1]項(xiàng) + sptrDerivative * sptrPrevError。 }/*==================================================================================================== 增量式PID計(jì)算部分 =====================================================================================================*/ int IncPIDCalc(int NextPoint) { register int iError, iIncpid。 //積分常數(shù)Integral Const sptrDerivative = 0。 //Error[2] sptrProportion = 0。 sptrLastError = 0。sPID。static PID sPID。 //Error[1] int PrevError。 //積分常數(shù) Integral Const double Derivative。 //誤差累計(jì) double Proportion。}}增量式PID控制算法C51程序/*==================================================================================================== PID Function The PID (比例、積分、微分) function is used in mainly control applications. PIDCalc performs one iteration of the PID algorithm. While the PID function works, main is just a dummy program showing a typical usage. =====================================================================================================*/ typedef struct PID { int SetPoint。P1=adtab。j++)。for(j=0。 main() {ad=0x0f000。uchar data adtab。 sbit io_key_4 = P1^7 。 sbit io_key_2 = P1^5 。 return KEY_NULL 。 if(io_key_3 == 0)return KEY_VALUE_3 。 if(io_key_1 == 0)return KEY_VALUE_1 。 根據(jù)第一章所描述的按鍵檢測(cè)原理,我們可以很容易的得出如下的代碼: static uint8 KeyScan(void) { io_key_4 = 1 。 io_key_2 = 1 。 //定時(shí)器0開始計(jì)數(shù);} 按鍵程序下面的程序代碼初始化引腳為輸入。 //開總中斷; ET0=1。 //預(yù)置計(jì)數(shù)初值; TL0=(65536500)%256。 //初始化p1口,全設(shè)為0; TMOD=0x01。 delay(1000)。 wei04 = 0。 delay(1000)。 wei04 = 1。 j++)。 i++) for(j =0。 for(i =0。 sbit wei04 = P1^3。 sbit wei02 = P1^1。Cui Shan。 參考文獻(xiàn)[1] 周潤(rùn)景、張麗娜、(第二版).北京: 航空航天大學(xué)出版社,2010[2] ,2011[3] (第二版).[4] 郭一楠、??×?、2009[5] 張毅剛、彭喜源、2000[6] ,2008[7] ,2000[8] 齊志才、:中國(guó)建筑工業(yè)出版社, 2005[9] 高金源、2007[10] :機(jī)械工業(yè)出版社,1998[11] [M].北京:電子工業(yè)出版社,2003[12] 吳占雄。本設(shè)計(jì)基本上符合預(yù)期的目標(biāo),但設(shè)計(jì)不完美,存在很多問題,比如怎樣使電路更加簡(jiǎn)單,更加能符合使用者的要求,讓使用者能簡(jiǎn)單的操作。該設(shè)計(jì)充分利用了8051單片機(jī)的功能,通過電源電路、按鍵電路、顯示電路、復(fù)位和晶振等電路來使數(shù)碼管顯示出PID參數(shù)的選擇和參數(shù)數(shù)值。 式中 ,計(jì)算e(k)計(jì)算e(k)計(jì)算e(k1)計(jì)算e(k)+e(k1)計(jì)算e(k2)計(jì)算?u(k)更新e(k1),e(k2)返回 圖 增量式PID算法流程圖賦給e(k)一個(gè)給定值32,=2,=3,=1,通過按鍵改變后的=3,=2,=2,e(k1)是前一次輸出的值,e(k2)是前兩次輸出的值。(2)控制從手動(dòng)切換到自動(dòng)時(shí),位置式PID算法必須先將計(jì)算機(jī)的輸出值置為原始閥門開時(shí),才能保證無沖擊切換。它與位置式PID相比,有下列優(yōu)點(diǎn):(1)位置式PID算法每次輸出與整個(gè)過去狀態(tài)有關(guān),計(jì)算式中要用到過去誤差的累加值,因此,容易產(chǎn)生較大的累積計(jì)算誤差。 圖 參數(shù)設(shè)置程序流程圖 PID算法子程序PID控制的算法有兩種,增量式PID算法和位置式PID算法。 圖 按鍵流程圖 PID參數(shù)設(shè)置子程序在實(shí)際調(diào)試中,只能先大致設(shè)定一個(gè)經(jīng)驗(yàn)值,然后根據(jù)調(diào)節(jié)效果修改。 本系統(tǒng)采用軟件消抖,當(dāng)單片機(jī)第一次檢測(cè)到有鍵按下時(shí),即檢測(cè)到與按鍵連接的I/O口為低電平是,等待10ms,再去確認(rèn)該I/O口是否仍舊為低電平,如果還是低電平,就一般的機(jī)械按鍵而言,已經(jīng)是出于穩(wěn)定期了,按鍵的抖動(dòng)被消除了。為了確保CPU對(duì)一次按鍵動(dòng)作只確認(rèn)一次按鍵,提高按鍵處理的可靠性,應(yīng)在程序中做按鍵消抖處理。按鍵的抖動(dòng)時(shí)間的長(zhǎng)短由按鍵的機(jī)械特性決定,一般為5~10ms,這是一個(gè)很重要的參數(shù)。表2 數(shù)字字型碼共陰字型碼所顯字符共陰字型碼所顯字符3FH07DH606H107H75BH27FH84FH36FH966H477HA6DH5本文中數(shù)碼管顯示出PID參數(shù),字型碼分別為73H,06H,3fH. 按鍵子程序當(dāng)按鍵被按下時(shí),I/O口電平為低;松開時(shí),I/O口電平為高。先輸入一個(gè)給定輸入值,通過參數(shù)選擇再通過PID整定顯示出參數(shù)和參數(shù)的整定輸出值,再將輸出值賦給前一時(shí)刻的輸入值再進(jìn)行循環(huán)。在程序設(shè)計(jì)上,先使數(shù)碼管第一位顯示出PID參數(shù)中的一個(gè),在通過按鍵和程序設(shè)計(jì)使后三位顯示出PID參數(shù)的設(shè)定值,通過加減按鍵來調(diào)節(jié)這些參數(shù)的數(shù)值。 設(shè)計(jì)思路 程序設(shè)計(jì)根據(jù)系統(tǒng)功能,可以將系統(tǒng)設(shè)計(jì)分為若干個(gè)子程序進(jìn)行設(shè)計(jì),如按鍵子程序、顯示子程序、參數(shù)設(shè)置子程序、PID算法子程序。 * 仿真器上的復(fù)位按鈕只復(fù)位仿真芯片,不復(fù)位目標(biāo)系統(tǒng)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM中。然后分別由C51及C51編譯器編譯生成目標(biāo)文件(.OBJ)。 Keil C51單片機(jī)軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu) C51工具包的整體結(jié)構(gòu),uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開發(fā)流程。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語言的優(yōu)勢(shì)。Keil C51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。運(yùn)行Keil軟件需要WIN9NT、WIN2000、WINXP等操作系統(tǒng)。軟件仿真的缺點(diǎn)是無法完全真與硬件相關(guān)的部分,因此最終還要通過硬件仿真來完成最后的設(shè)計(jì); Keil軟件Keil C51是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。 軟件仿真這種方法主要是使用計(jì)算機(jī)軟件來模擬實(shí)際的單片機(jī)運(yùn)因此仿真與硬件無關(guān)的系統(tǒng)具有一定的優(yōu)點(diǎn)。總之,該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),所以在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2等軟件。目前支持的單片機(jī)類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動(dòng)態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。Proteus ISIS是英國(guó)Labcenter公司開發(fā)的電路分析與實(shí)物仿真軟件。前臺(tái)也可以叫做中斷級(jí)。中斷服務(wù)程序處理異步事件,這部分可以看成是前臺(tái)行為(foreground)。 5 軟件設(shè)計(jì) Proteus軟件簡(jiǎn)介很多的單片機(jī)軟件系統(tǒng)都是采用前、后臺(tái)系統(tǒng)(也稱超循環(huán)系統(tǒng))。 圖 晶振電路XTAL1和XTAL2是片內(nèi)振蕩電路輸入線,這兩個(gè)端子用來外接石英晶體和微調(diào)電容,即用來連接8051片內(nèi)OSC的定時(shí)反饋回路。圖 復(fù)位電路晶振電路晶振是為電路提供頻率基準(zhǔn)的元器件,通常分成有源晶振和無源晶振兩個(gè)大類,無源晶振需要芯片內(nèi)部有振蕩器,并且晶振的信號(hào)電壓根據(jù)起振電路而定,允許不同的電壓,但無源晶振通常信號(hào)質(zhì)量和精度較差,需要精確匹配外圍電路(電感、電容、電阻等),如需更換晶振時(shí)要同時(shí)更換外圍的電路。上電時(shí),考慮到振蕩器有一定的起振時(shí)間,該引腳上高電平必須持續(xù)10 ms以上才能保證有效復(fù)位。 圖 單片機(jī)與DAC0832連接圖 復(fù)位電路和晶振電路在51單片機(jī)中RST/VPD是復(fù)位/備用電源線,可以使8051處于復(fù)位(即初始化)工作狀態(tài)。③ 雙緩沖方式:所謂雙緩沖方式,就是將DAC0832內(nèi)部的兩個(gè)寄存器 都連接成獨(dú)立受控鎖存方式。直通方式常用于不需要單 片機(jī)控制的系統(tǒng)。① 直通方式:若和均為高電平,則DI7~DI0輸入的數(shù)據(jù)便可 直通地到達(dá)8位DAC寄存器進(jìn)行D/A轉(zhuǎn)換。其它引腳:DGND為數(shù)字地;AGND為模擬地;Vcc為芯片主電源,電壓范圍為+5V~+15V。⑩ VREF:基準(zhǔn)電壓輸入端。⑨ Rfb:反饋電阻端。與外接運(yùn)放器同相輸入端相連。與外接運(yùn)放器反相輸入端相連, 當(dāng)輸入數(shù)據(jù)為全“1”時(shí),輸出電流最大,當(dāng)輸入數(shù)據(jù)為全 “0”時(shí),輸出電流最小。⑥ /XFER :數(shù)據(jù)傳輸控制信號(hào),輸入低電平有效。 ④ /WR1:輸入寄存器寫信號(hào),低電平有效 。② ILE:輸入鎖存允許端,高電平有效時(shí),數(shù)據(jù)輸入DAC0832 的輸入寄存器并鎖存。基準(zhǔn)電壓的范圍為177。DAC0832是一個(gè)8位D/A轉(zhuǎn)換器。因此,D/A轉(zhuǎn)換器內(nèi)部必須要有一個(gè)解碼網(wǎng)絡(luò),以實(shí)現(xiàn)按權(quán)值分別進(jìn)行D/A轉(zhuǎn)換。 圖 單片機(jī)與A/D連接圖D/A轉(zhuǎn)換電路D/A轉(zhuǎn)換的原理可以總結(jié)為“按權(quán)展開,相加求和”。如果作為由IN+與IN輸入的輸入時(shí),可是將電壓值設(shè)定在某一個(gè)較大范圍之內(nèi),從而提高轉(zhuǎn)換的寬度。在第1個(gè)時(shí)鐘脈沖的下沉之前DI端必須是高電平,表示啟始信號(hào)。當(dāng)要進(jìn)行A/D轉(zhuǎn)換時(shí),須先將CS使能端置于低電平并且保持低電平直到轉(zhuǎn)換完全結(jié)束。但由于DO端與DI端
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1