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

正文內(nèi)容

基于單片機(jī)的pid控制器設(shè)計(jì)文畢業(yè)論文(已改無(wú)錯(cuò)字)

2022-07-25 19:12:41 本頁(yè)面
  

【正文】 on2創(chuàng)建源文件并組應(yīng)用工程加以管理。 vision2可以自動(dòng)完成編譯匯編鏈接程序的操作; (2)C51編譯器和A51匯編器 由 Vision2 IDE創(chuàng)建的源文件可以被C51編譯器或A51匯編器處理生成可定位的object文件。KEIL C51編譯器遵照ANSI C語(yǔ)言標(biāo)準(zhǔn)支持C語(yǔ)言的所有準(zhǔn)特性,另外還增加了幾個(gè)可以直接支持80C51結(jié)構(gòu)的特性。KEIL A51宏匯器支持80C51及其派生系列的所有指令集; (3)LIB51庫(kù)管理器 LIB51庫(kù)管理器可以從由匯編器和編譯器創(chuàng)建的目標(biāo)文件建立目標(biāo)庫(kù),些庫(kù)是按規(guī)定格式排列的目標(biāo)模塊,可在以后被鏈接器所使用當(dāng)鏈接器處理個(gè)庫(kù)時(shí)僅僅使用了庫(kù)中程序使用了的目標(biāo)模塊而不是全部加以引用;(4)BL51鏈接器定位器BL51鏈接器使用從庫(kù)中提取出來(lái)的目標(biāo)模塊和由編譯器匯編器生成的標(biāo)模塊創(chuàng)建一個(gè)絕對(duì)地址目標(biāo)模塊,絕對(duì)地址目標(biāo)文件或模塊包括不可重定的代碼和數(shù)據(jù)所有的代碼和數(shù)據(jù)都被固定在具體的存儲(chǔ)器單元中。絕對(duì)地址標(biāo)文件可以用于: ?編程EPROM或其它存儲(chǔ)器設(shè)備;?由 Vision2調(diào)試器對(duì)目標(biāo)進(jìn)行調(diào)試和模擬;?使用在線仿真器進(jìn)行程序測(cè)試。(5) Vision2軟件調(diào)試器 Vision2軟件調(diào)試器能十分理想地進(jìn)行快速可靠的程序調(diào)試。調(diào)試器包一個(gè)高速模擬器,可以使用它模擬整個(gè)80C51系統(tǒng)包括片上外圍器件和外部件; (6)Vision2硬件調(diào)試器 Vision2調(diào)試器向您提供了幾種在實(shí)際目標(biāo)硬件上測(cè)試程序的方法。安裝MON51目標(biāo)監(jiān)控器到目標(biāo)系統(tǒng)并通過(guò)Monitor51接口下載程序,使用高級(jí)GD1接口將 Vision2調(diào)試器同TKS系列仿真器的硬件系統(tǒng)相連接,通過(guò)Vision2的機(jī)交互環(huán)境指揮連接的硬件完成仿真操作。 利用KEIL開(kāi)發(fā)系統(tǒng)軟件流程 利用KEIL開(kāi)發(fā)和調(diào)試系統(tǒng)軟件流程大致如下: (l)啟動(dòng) Vision2,進(jìn)入KEIL軟件的集成開(kāi)發(fā)環(huán)境; (2)利用KEIL內(nèi)置的文本編輯器進(jìn)行程序源文件的編輯; (3)建立工程,指定針對(duì)哪種單片機(jī)進(jìn)行開(kāi)發(fā),指定對(duì)源程序的編譯、鏈參數(shù),指定調(diào)試方式,然后對(duì)工程進(jìn)行相關(guān)設(shè)置;(4)設(shè)置好工程后即可進(jìn)行編譯、鏈接。連接仿真器對(duì)軟件進(jìn)行調(diào)試。也以生成下載到單片機(jī)存儲(chǔ)器上的HEX文件。 節(jié) 系統(tǒng)軟件調(diào)試 系統(tǒng)的軟件調(diào)試借助于TKS仿真器,在進(jìn)行系統(tǒng)軟件的連續(xù)調(diào)試之前進(jìn)行軟件的初調(diào),就是要使各個(gè)子程序模塊運(yùn)行正確,程序的運(yùn)行流程正軟件調(diào)試主要分以下幾個(gè)步驟進(jìn)行: (1)功能子程序的調(diào)試功能子程序的調(diào)試包括運(yùn)算、采樣、數(shù)字濾波以及PID運(yùn)算等子程序試。在調(diào)試功能子程序時(shí),許多參數(shù)都是未知的,要根據(jù)其所需的條件,假定的數(shù)據(jù),使其運(yùn)行,如果能完成預(yù)定的處理功能或與手工計(jì)算的結(jié)果相就說(shuō)明該子程序己調(diào)試通過(guò)。調(diào)試時(shí)由小到大,由里到外;(2)程序流程的調(diào)試 程序流程的調(diào)試主要是查看程序運(yùn)行的步驟是否正確,在某時(shí)刻程序運(yùn)所處的位置是否正確,是否能正確運(yùn)行各個(gè)中斷服務(wù)程序。在調(diào)試過(guò)程中,將PID算法子程序屏蔽,輸出可控硅導(dǎo)通時(shí)間用一個(gè)固定的常數(shù)代替,在各中斷服務(wù)子程序設(shè)置斷點(diǎn),然后運(yùn)行程序,查看程序是否能運(yùn)行到所有的斷若所有斷點(diǎn)都能運(yùn)行到,則程序流程基本正確。去掉所有斷點(diǎn),再一次運(yùn)行序,查看可控硅狀態(tài),從而判斷程序流程正確,反之,若程序流程不正確,相應(yīng)的修改后,重新調(diào)試; (3)功能程序與算法程序的通調(diào)在完成整個(gè)程序流程的調(diào)試后,將PID等算法子程序加入,在算法子程前或后設(shè)置斷點(diǎn),運(yùn)行整個(gè)程序。當(dāng)程序在斷點(diǎn)處暫停時(shí),查看PID計(jì)算制量與手工計(jì)算的值是否相同。多運(yùn)行幾次,若每次的結(jié)果都正確,則說(shuō)明序各個(gè)部分互相沒(méi)有矛盾,反之,則說(shuō)明算法子程序和其它子程序之間有影需要做相應(yīng)的修改后重新調(diào)試。 本章小結(jié) 本章主要介紹了系統(tǒng)軟件開(kāi)發(fā)平臺(tái)KEIL IDE vision2集成開(kāi)發(fā)環(huán)境和統(tǒng)調(diào)試工具TKS仿真器。以及系統(tǒng)軟、硬件的調(diào)試。第6章 結(jié)論 本文完成了基于單片機(jī)的PID溫度控制系統(tǒng)的開(kāi)發(fā)。包括系統(tǒng)的硬件開(kāi)發(fā)、軟件編程與仿真調(diào)試等。在論文完成過(guò)程中,主要做的工作有:(l)以ATMEL公司的AT89c52單片機(jī)為核心進(jìn)行系統(tǒng)硬件設(shè)計(jì),輸入通道采用Pt100鉑電阻溫度傳感器,AD7705作為A/D轉(zhuǎn)換器;輸出通道采用可控硅作為輸出單元;(2) 在溫度控制系統(tǒng)中采用的PID控制方法,并設(shè)計(jì)了PID控制器; (3)采用C語(yǔ)言對(duì)系統(tǒng)的軟件編程,在開(kāi)發(fā)過(guò)程中使用了TKS仿真器。 本系統(tǒng)使用的AT89C52屬于與MCS51系列兼容的8位單片機(jī),這種單片機(jī)本身資源較少,不利于系統(tǒng)的擴(kuò)展,目前日益普及的基于ARM或DSP結(jié)構(gòu)的微控制器,在系統(tǒng)擴(kuò)展能力,處理數(shù)據(jù)的能力各個(gè)方面都遠(yuǎn)遠(yuǎn)超出了8位單片機(jī)。傳統(tǒng)的單片機(jī)編程采用時(shí)間片輪轉(zhuǎn)的方式,即將實(shí)時(shí)性要求不高的工作放在主函數(shù)之中,依次輪流執(zhí)行;實(shí)時(shí)性要求高的,使用中斷技術(shù)及時(shí)處理,這樣構(gòu)成前、后臺(tái)處理程序,程序中間通過(guò)軟件標(biāo)志、全局變量等完成通信與聯(lián)絡(luò)。本系統(tǒng)的軟件就是基于這種方式開(kāi)發(fā)的。隨著微處理器芯片性能的提升、價(jià)格的下降及對(duì)軟件的可重用性、可維護(hù)性的提高,采用實(shí)時(shí)操作系統(tǒng)(RTOS)已經(jīng)成為大勢(shì)所趨。隨著工業(yè)的發(fā)展,對(duì)象的復(fù)雜程度不斷加深,尤其對(duì)于大滯后、時(shí)變的、非線性的復(fù)雜系統(tǒng):其中有的參數(shù)未知或緩慢變化;有的帶有延時(shí)或隨機(jī)干擾;的無(wú)法獲得較精確的數(shù)學(xué)模型或模型非常粗糙。加之人們對(duì)控制品質(zhì)的要求日益提高,常規(guī)PID控制的缺陷也逐漸暴露出來(lái)。因此人們?cè)趹?yīng)用PID控制的同時(shí),也不斷地對(duì)其進(jìn)行了各種改進(jìn)。主要體現(xiàn)在兩個(gè)方面:一是對(duì)常規(guī)PID控制器本身結(jié)構(gòu)的改進(jìn),即變結(jié)構(gòu)PID控制;另一方面隨著智能控制如模糊控制、經(jīng)網(wǎng)絡(luò)控制和專(zhuān)家控制等先進(jìn)控制技術(shù)的迅速發(fā)展,它們與常規(guī)PID控制相合,揚(yáng)長(zhǎng)避短,發(fā)揮各自的優(yōu)勢(shì),形成所謂的智能PID控制。這種新型智能PID控制器已引起人們的普遍關(guān)注和極大的興趣,也已得到較為廣泛的應(yīng)用。結(jié)合上面的論述,今后還需要做進(jìn)一步的研究和解決的問(wèn)題有: (1)硬件方面,采用DSP、ARM對(duì)系統(tǒng)的硬件進(jìn)行重新設(shè)計(jì); (2)軟件方面,摒棄傳統(tǒng)的前后臺(tái)系統(tǒng)軟件編程模式,改用基于實(shí)時(shí)操作系統(tǒng)的系統(tǒng)軟件開(kāi)發(fā);(3) 控制算法方面,嘗試采用現(xiàn)在得到快速發(fā)展的智能控制方法,如模糊控制、神經(jīng)網(wǎng)絡(luò)控制和模糊PID控制等等。參考文獻(xiàn)[1]蘇衛(wèi)東,[J].中國(guó)慣性技術(shù)學(xué)報(bào),1995年第3卷第4期.[2]尚玉沛,石林鎖,[J].傳感器技術(shù),2000年第1期.[3]劉國(guó)強(qiáng),唐東紅,[J].儀器儀表學(xué)報(bào),2005年第26卷第8期增刊.[4]劉俊伏,[J].現(xiàn)代電子技術(shù),2008年第16期.[5]齊志才,[M].北京:中國(guó)建筑工業(yè)出版社,2005.[6][M].北京:機(jī)械工業(yè)出版社,1999.[7]王幸之,王雷,[M].北京航空航天大學(xué)出版社,1999.[8][M].北京:電子工業(yè)出版社,2003.[9][M].清華大學(xué)出版社,2004.[10](第五版)[M].北京:國(guó)防工業(yè)出版社,1994.[11][D].西安建筑科技大學(xué)碩士學(xué)位論文,2006.[12][D].合肥工業(yè)大學(xué)碩士學(xué)位論文,2005.[13][D].大連理工大學(xué)碩士學(xué)位論文,2006.[14][D].沈陽(yáng)工業(yè)大學(xué)碩士學(xué)位論文,2004.附錄部分源程序...... void init(void){ DIOInit()。 Reset 7705()。 /復(fù)位7705 Init7705(0)。 //7705通道1初始化 ConvAdr[0]=0x01。 // IO口位地址定義 ConvAdr[1]=0x02。 ConvAdr[2]=0x04: ConvAdr[3]=0x08。 ConvAdr[4]=0x10。ConvAdr[5]=0x20。TMOD=0x01。 /timer0,model(16bit timer ) ES=ET1=EX1=ET0=EX0=0。 //Disable all interrupt sourceEA=l。 //Enable CPU interrupt init_serialm()。 //初始化串口} ......void DIOInit(void){DOmap=0xff。XBYTE[DRIVER]=DOmap。 //控制前將所有的驅(qū)動(dòng)輸出口打開(kāi),這 樣可控硅不會(huì)道通避免上電就直接加熱}......void Reset 7705(void){ unsigned char i,j: AdClk=1。AdDin=0。 for(i=0。i32。i++) //DIN與DOUT共用一根數(shù)據(jù)線, 需至少24個(gè)讀操作 { AdClk=0。 for(j=0。jAD_CLK_WIDTH。j++){} AdC1K=1。 for(j=0。jAD_CLK_WIDTH。j++){} } AdDin =1。 for(i=0。i40。i++) //多于連續(xù)32個(gè)DIN=1 是AD7705復(fù)位 { AdC1K=0。 for(j=0。jAD_CLK_WIDTH。j++){} AdC1K=1。 for(j=0。jAD_CLK_WIDTH。j++){} } delay(100,100)。 //延時(shí)100*100*1us=10ms}......void Init7705(unsigned char chan){unsigned char i,j。 unsigned int rd[5][4]。float dtmp[5][4]。Writebyte7705(0x20|chan)。 //通道0/1,下一個(gè)寫(xiě)時(shí)鐘寄存器Writebyte7705(0x0b)。 //2MHz,分頻,更新速度為200HzWritebyte7705(0x10|chan)。 //通道0,下一個(gè)寫(xiě)設(shè)置寄存器Writebyte7705(0x44)。 //自校準(zhǔn),增益1,單極,不緩沖,同步While(AdRdy){} //等待數(shù)據(jù)準(zhǔn)備好}......Void init_serialm(void){ SCON=0x50。 //SCON:serail model 1,8bit UART,baud variable TMOD|=0x20。 //TMOD:timer1,mode2,8bit reload PCON|=0x80。 //SMOD=1。 TH1=0xf4。 //Baud:4800 fosc= TL1=0xf4。 ES=1。 //Enable Serial Interrupt TR1=1。 //timer 1 run}2. 數(shù)字濾波程序......unsigned char ad_filter(unsigned char channel){ unsigned char ad_count。 unsigned int ad_max,ad_min。 unsigned int result_tmp=0: unsigned int adresult[6]。 adresult[0]=GetData7705(channel)。 //連續(xù)采樣6次 adresult[1]=GetData7705(channel)。 adresult[2]=GetData7705(channel)。 adresult[3]=GetData7705(channel)。 adresult[4]=GetData7705(channel)。 adresult[5]=GetData7705(channel)。 for(ad_count=0。ad_count6。ad_count++) //排序 { if(ad_result[ad_count]=ad_max) { ad_max=ad_result[ad_count]。 } if(ad_result[ad_count]=ad_min) { ad_min=ad_result[ad_count]。 }}Result_tmp=(adresult[0]+adresult[1]+adresult[2]+adresult[3]+adresult[4]+adresult[5]ad_maxad_min)/4。 //求均值ad_count=result_tmp。return(ad_count)。}unsigned char codedisp_code[22]={0xa0,0xf0,0x00,0x60,0x60,0xd0,0x40,0xf0,
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1