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

正文內(nèi)容

基于單片機(jī)的pid控制器整體方案設(shè)計畢業(yè)論文(文件)

2025-05-30 23:34 上一頁面

下一頁面
 

【正文】 程序地址寄存器緩沖器PC遞增器程序計數(shù)器PC數(shù)據(jù)指針DPTRVCCGND~堆棧指針SPACCTMP2PSW通道3鎖存器通道1鎖存器通道1驅(qū)動器通道3驅(qū)動器TMP1SCONTMODPCONTCONTL0TH1TH0TL1IESBUF(TX/RX)IP中斷、串行口和定時器邏輯振蕩器~RSTEAALEPSENXTAL2XTAL1ALU(+5V)指令
寄存器定時和
控制邏輯指令
譯碼器 單片機(jī)的內(nèi)部組成8051單片機(jī)的CPUCPU就是中央處理器,是單片機(jī)的核心部件,它完成各種運(yùn)算和控制操作,CPU由運(yùn)算器和控制器兩部分組成。在進(jìn)行加法或減法運(yùn)算時,若運(yùn)算結(jié)果的最 高位有進(jìn)位或借位,CY=1,否則CY=0,在執(zhí)行位操作指令時, CY作為位累加器。*RS1和RS0:工作寄存器組選擇,如下表所示。*P:奇偶校驗(yàn)標(biāo)志。程序計數(shù)器PC:當(dāng)一條指令按PC所指向的地址從程序存儲器中取出之后,PC的值就會自動增量,即指向下一條指令。數(shù)據(jù)指針寄存器DRTR:它是一個16位的寄存器,由高位字節(jié)DPH和低位字節(jié)DPL組成,用來存放16位數(shù)據(jù)存儲器的地址,便于對片外64kB的數(shù)據(jù)RAM區(qū)進(jìn)行讀寫操作。 ① ALE功能:用來鎖存P0口送出的低8位地址。 ① RST(Reset)功能:復(fù)位信號輸入端。 ② Vpp功能:片內(nèi)有EPROM的芯片,在EPROM 編程期間,施加編程電源Vpp。,當(dāng)?shù)刂房偩€。即:編程脈沖:30腳(ALE/PROG) 編程電壓(25V):31腳(EA/Vpp)    8051單片機(jī)的工作原理單片機(jī)自動完成賦予它任務(wù)的過程,也就是單片機(jī)執(zhí)行程序的過程,即一條條執(zhí)行的指令的過程,指令就是把要求單片機(jī)執(zhí)行的各種操作用的命令的形式寫下來,這是在設(shè)計人員賦予它的指令系統(tǒng)所決定的,一條指令對應(yīng)著一種基本操作;單片機(jī)所能執(zhí)行的全部指令,就是該單片機(jī)的指令系統(tǒng),不同種類的單片機(jī),其指令系統(tǒng)亦不同。 4 電路設(shè)計 電源電路設(shè)計本次論文的電源電路用7805穩(wěn)壓電源。 圖 7805的整流電路 圖 整流電路原理圖變壓器后面是由四個二極管組成的一個橋式整流電路。(2) 有可靠的邏輯處理辦法。單片機(jī)控制系統(tǒng)中,一般可能只需要幾個功能鍵,此時,可采用獨(dú)立式按鍵結(jié)構(gòu)。常見數(shù)碼管有10根管腳。 圖 數(shù)碼管內(nèi)部結(jié)構(gòu)圖本次設(shè)計中我們用的是四位一體的數(shù)碼管,下面簡單介紹一下。T1還可以作為其串行口的波特率發(fā)生器。定時器的編程包括:(1)置工作方式。定時器/計數(shù)器由四種工作方式,所用的計數(shù)位數(shù)不同,因此,定時計數(shù)常數(shù)也就不同。這里選用集成A/D轉(zhuǎn)換器——ADC0832。復(fù)雜的硬件或具有合適的軟件指令的簡單硬件都可能實(shí)現(xiàn)模數(shù)轉(zhuǎn)換。ADC0832是美國國家半導(dǎo)體公司生產(chǎn)的一種 8 位分辨率、雙通道 A/D 轉(zhuǎn)換芯片。CH0:模擬輸入通道0,或作為IN+/使用。DO:數(shù)據(jù)信號輸出,轉(zhuǎn)換數(shù)據(jù)輸出。VREF——參考電源參考電壓用來與輸入的模擬信號進(jìn)行比較,作為逐次逼近的基準(zhǔn)。芯片轉(zhuǎn)換時間僅為32μS,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗(yàn),以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強(qiáng)。但由于DO端與DI端在通信時并未同時有效并與單片機(jī)的接口是雙向的,所以電路設(shè)計時可以將DO和DI并聯(lián)在一根數(shù)據(jù)線上使用。在第1個時鐘脈沖的下沉之前DI端必須是高電平,表示啟始信號。 圖 單片機(jī)與A/D連接圖D/A轉(zhuǎn)換電路D/A轉(zhuǎn)換的原理可以總結(jié)為“按權(quán)展開,相加求和”。DAC0832是一個8位D/A轉(zhuǎn)換器。② ILE:輸入鎖存允許端,高電平有效時,數(shù)據(jù)輸入DAC0832 的輸入寄存器并鎖存。⑥ /XFER :數(shù)據(jù)傳輸控制信號,輸入低電平有效。與外接運(yùn)放器同相輸入端相連。⑩ VREF:基準(zhǔn)電壓輸入端。① 直通方式:若和均為高電平,則DI7~DI0輸入的數(shù)據(jù)便可 直通地到達(dá)8位DAC寄存器進(jìn)行D/A轉(zhuǎn)換。③ 雙緩沖方式:所謂雙緩沖方式,就是將DAC0832內(nèi)部的兩個寄存器 都連接成獨(dú)立受控鎖存方式。上電時,考慮到振蕩器有一定的起振時間,該引腳上高電平必須持續(xù)10 ms以上才能保證有效復(fù)位。 圖 晶振電路XTAL1和XTAL2是片內(nèi)振蕩電路輸入線,這兩個端子用來外接石英晶體和微調(diào)電容,即用來連接8051片內(nèi)OSC的定時反饋回路。中斷服務(wù)程序處理異步事件,這部分可以看成是前臺行為(foreground)。Proteus ISIS是英國Labcenter公司開發(fā)的電路分析與實(shí)物仿真軟件。目前支持的單片機(jī)類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。總之,該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。軟件仿真的缺點(diǎn)是無法完全真與硬件相關(guān)的部分,因此最終還要通過硬件仿真來完成最后的設(shè)計; Keil軟件Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。 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)試、仿真等整個開發(fā)流程。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級調(diào)試,也可由仿真器使用直接對目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM中。 設(shè)計思路 程序設(shè)計根據(jù)系統(tǒng)功能,可以將系統(tǒng)設(shè)計分為若干個子程序進(jìn)行設(shè)計,如按鍵子程序、顯示子程序、參數(shù)設(shè)置子程序、PID算法子程序。先輸入一個給定輸入值,通過參數(shù)選擇再通過PID整定顯示出參數(shù)和參數(shù)的整定輸出值,再將輸出值賦給前一時刻的輸入值再進(jìn)行循環(huán)。按鍵的抖動時間的長短由按鍵的機(jī)械特性決定,一般為5~10ms,這是一個很重要的參數(shù)。 本系統(tǒng)采用軟件消抖,當(dāng)單片機(jī)第一次檢測到有鍵按下時,即檢測到與按鍵連接的I/O口為低電平是,等待10ms,再去確認(rèn)該I/O口是否仍舊為低電平,如果還是低電平,就一般的機(jī)械按鍵而言,已經(jīng)是出于穩(wěn)定期了,按鍵的抖動被消除了。 圖 參數(shù)設(shè)置程序流程圖 PID算法子程序PID控制的算法有兩種,增量式PID算法和位置式PID算法。(2)控制從手動切換到自動時,位置式PID算法必須先將計算機(jī)的輸出值置為原始閥門開時,才能保證無沖擊切換。該設(shè)計充分利用了8051單片機(jī)的功能,通過電源電路、按鍵電路、顯示電路、復(fù)位和晶振等電路來使數(shù)碼管顯示出PID參數(shù)的選擇和參數(shù)數(shù)值。 參考文獻(xiàn)[1] 周潤景、張麗娜、(第二版).北京: 航空航天大學(xué)出版社,2010[2] ,2011[3] (第二版).[4] 郭一楠、??×?、2009[5] 張毅剛、彭喜源、2000[6] ,2008[7] ,2000[8] 齊志才、:中國建筑工業(yè)出版社, 2005[9] 高金源、2007[10] :機(jī)械工業(yè)出版社,1998[11] [M].北京:電子工業(yè)出版社,2003[12] 吳占雄。 sbit wei02 = P1^1。 for(i =0。 j++)。 delay(1000)。 delay(1000)。 //預(yù)置計數(shù)初值; TL0=(65536500)%256。 //定時器0開始計數(shù);} 按鍵程序下面的程序代碼初始化引腳為輸入。 io_key_4 = 1 。 if(io_key_3 == 0)return KEY_VALUE_3 。 sbit io_key_2 = P1^5 。uchar data adtab。for(j=0。P1=adtab。 //誤差累計 double Proportion。 //Error[1] int PrevError。sPID。 //Error[2] sptrProportion = 0。 }/*==================================================================================================== 增量式PID計算部分 =====================================================================================================*/ int IncPIDCalc(int NextPoint) { register int iError, iIncpid。 sptrLastErro。 //增量計算 iIncpid = sptrProportion * iError //E[k]項(xiàng) sptrIntegral * sptrLastError //E[k-1]項(xiàng) + sptrDerivative * sptrPrevError。 //積分常數(shù)Integral Const sptrDerivative = 0。 sptrLastError = 0。static PID sPID。 //積分常數(shù) Integral Const double Derivative。}}增量式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。j++)。 main() {ad=0x0f000。 sbit io_key_4 = P1^7 。 return KEY_NULL 。 if(io_key_1 == 0)return KEY_VALUE_1 。 根據(jù)第一章所描述的按鍵檢測原理,我們可以很容易的得出如下的代碼: static uint8 KeyScan(void) { io_key_2 = 1 。 //開總中斷; ET0=1。 //初始化p1口,全設(shè)為0; TMOD=0x01。 wei04 = 0。 wei04 = 1。 i++) for(j =0。 sbit wei04 = P1^3。Cui Shan。本設(shè)計基本上符合預(yù)期的目標(biāo),但設(shè)計不完美,存在很多問題,比如怎樣使電路更加簡單,更加能符合使用者的要求,讓使用者能簡單的操作。 式中 ,計算e(k)計算e(k)計算e(k1)計算e(k)+e(k1)計算e(k2)計算?u(k)更新e(k1),e(k2)返回 圖 增量式PID算法流程圖賦給e(k)一個給定值32,=2,=3,=1,通過按鍵改變后的=3,=2,=2,e(k1)是前一次輸出的值,e(k2)是前兩次輸出的值。它與位置式PID相比,有下列優(yōu)點(diǎn):(1)位置式PID算法每次輸出與整個過去狀態(tài)有關(guān),計算式中要用到過去誤差的累加值,因此,容易產(chǎn)生較大的累積計算誤差。 圖 按鍵流程圖 PID參數(shù)設(shè)置子程序在實(shí)際調(diào)試中,只能先大致設(shè)定一個經(jīng)驗(yàn)值,然后根據(jù)調(diào)節(jié)效果修改。為了確保CPU對一次按鍵動作只確認(rèn)一次按鍵,提高按鍵處理的可靠性,應(yīng)在程序中做按鍵消抖處理。表2 數(shù)字字型碼共陰字型碼所顯字符共陰字型碼所顯字符3FH07DH606H107H75BH27FH84FH36FH966H477HA6DH5本文中數(shù)碼管顯示出PID參數(shù),字型碼分別為73H,06H,3fH. 按
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1