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

正文內(nèi)容

基于單片機(jī)的電阻爐溫度控制系統(tǒng)設(shè)計(jì)畢業(yè)論文-資料下載頁

2025-07-06 17:13本頁面
  

【正文】 公共端、常閉端以及長(zhǎng)開端間所引出的兩根導(dǎo)線,一根接VCC,另外一根接一發(fā)光二極管,在調(diào)試過程中用來驗(yàn)證其通斷情況。硬件電路調(diào)試好后,就可以進(jìn)行軟件的編寫及實(shí)現(xiàn)。該系統(tǒng)的軟件開發(fā)步驟依次是: (l)顯示和鍵盤軟件設(shè)計(jì):顯示和鍵盤是人機(jī)交互接口,即指人與計(jì)算機(jī)之間建立聯(lián)系、交互信息的輸入輸出設(shè)備的接口。該程序編寫過程要注意合理分配單片機(jī)的I/O端口,在本系統(tǒng)中,PD口作為顯示數(shù)據(jù)輸出口,PD0PD7分別連接數(shù)碼管的a、b、c、d、e、f、g及dp。PC口作為片選端口,分別控制4位LED數(shù)碼管。本系統(tǒng)采用4*2矩陣式鍵盤,其八個(gè)鍵分別標(biāo)號(hào)為K1K8,PB口作為鍵盤的控制端口,由PB0PB3控制行線,PBPB5控制列線,鍵盤首先設(shè)定個(gè)初始值,本設(shè)計(jì)用set表示,在鍵盤設(shè)定控制過程中,K3作為設(shè)定標(biāo)志及確定鍵,當(dāng)鍵盤掃描程序掃描到K3鍵按下時(shí),則進(jìn)入鍵盤設(shè)定狀態(tài),通過K1鍵和K2鍵分別在原有設(shè)定值的基礎(chǔ)上進(jìn)行加設(shè)定和減設(shè)定,直到達(dá)到預(yù)期目標(biāo)值為止,然后按下K3鍵進(jìn)行確認(rèn)操作,同時(shí)返回當(dāng)前溫度值的顯示。其程序參見附錄B源程序中的鍵盤設(shè)定子程序部分。(2)輸入信號(hào)的測(cè)量:本部分主要包括A/D采樣子程序的設(shè)計(jì),首先通過對(duì)A/D內(nèi)部ADMUX(ADC多工選擇寄存器)、ADCSRA(ADC控制和狀態(tài)寄存器)等寄存器的初始化關(guān)閉模擬比較器、選擇內(nèi)部AVCC為基準(zhǔn)電壓、ADC0為A/D輸入通道及64分頻,在調(diào)用A/D轉(zhuǎn)換函數(shù)時(shí),通過ADCSRA|=(1ADSC)語句開啟A/D轉(zhuǎn)換 ,等待轉(zhuǎn)換完成時(shí),返回ADC的值。由于電路板的局限性,雖然A/D子程序的編譯全部通過,但是在調(diào)試過程中存在很多問題,通道0(ADC0)到通道七(ADC7)均不能正常采樣數(shù)據(jù),A/D輸出的電壓信號(hào)為零,所以,在調(diào)試其他程序,比如限速濾波、PID運(yùn)算等過程中,只能賦一虛擬的采樣值。(3)數(shù)據(jù)處理及控制量計(jì)算:本部分包括數(shù)字濾波、線性化標(biāo)度變換、PID控制以及過零觸發(fā)型雙向晶閘管的通斷控制。由于電路板的局限性,在程序調(diào)試過程中采用固態(tài)繼電器取代雙向晶閘管,而電路的驅(qū)動(dòng)電流小,所以用一個(gè)LED發(fā)光二極管來反映繼電器的通斷。數(shù)字濾波、線性化標(biāo)度變換的調(diào)試比較簡(jiǎn)單,而在PID控制子程序的調(diào)試過程中存在一些問題,開始雖然程序編譯完全正確,但是輸出的控制量老顯示為四個(gè)“0”,為了尋找問題所在,起初不加死區(qū)判斷、積分分離以及輸出限幅,不進(jìn)行PID的增量運(yùn)算,直接給上一次的輸出sptrLastOutput和增量iIncpid賦初值,然后計(jì)算顯示輸出量sptrOutput=sptrLastOutput+iIncpid,但是經(jīng)過調(diào)試發(fā)現(xiàn),顯示的輸出量sptrOutput僅僅為增量iIncpid的值,根本與上一次的輸出sptrLastOutput無關(guān),這說明sptrLastOutput的初值根本沒被sptrOutput=sptrLastOutput+iIncpid算式調(diào)用,這就考慮到程序初始化的調(diào)用有問題,經(jīng)檢查驗(yàn)證發(fā)現(xiàn)PID參數(shù)的初始化必須在增量式PID計(jì)算函數(shù)內(nèi)部進(jìn)行,這樣才可以將個(gè)參數(shù)初始化的值正確調(diào)用,此時(shí),當(dāng)加上死區(qū)判斷、積分分離以及輸出限幅時(shí),也可以正確顯示PID輸出的控制量了。其程序參見附錄B源程序中的增量式PID計(jì)算部分。(4)報(bào)警軟件設(shè)計(jì):本系統(tǒng)采用光報(bào)警,通過一個(gè)LED燈反應(yīng),如果被測(cè)溫度或設(shè)定溫度越限時(shí),則LED燈閃爍發(fā)光產(chǎn)生報(bào)警提示。這部分調(diào)試比較簡(jiǎn)單,其程序參見附錄B源程序中的控制報(bào)警。 總結(jié)可以認(rèn)為整個(gè)系統(tǒng)的設(shè)計(jì)思路是可行的,設(shè)計(jì)結(jié)果是可靠的、合理的?,F(xiàn)在將整個(gè)設(shè)計(jì)過程中的工作情況做一總結(jié):。首先提出了系統(tǒng)的總體設(shè)計(jì)方案,確保設(shè)計(jì)一個(gè)有價(jià)值的控制系統(tǒng),給硬件設(shè)計(jì)和軟件設(shè)計(jì)確定具體的目標(biāo)。在整個(gè)儀表的開發(fā)過程中,驗(yàn)證這種做法是正確的。設(shè)計(jì)方案的明確加快了系統(tǒng)開發(fā)速度,減少了返工時(shí)間。其不僅為各功能電路提供了穩(wěn)定電壓,保證了各芯片的正常工作,而且還分別提供了模擬電源與數(shù)字電源,有效的抑制了干擾信號(hào)的輸入,減少了各信號(hào)間的干擾,保證了儀表的穩(wěn)定運(yùn)行與準(zhǔn)確測(cè)控。,以簡(jiǎn)約為原則,合理利用ATmega28單片機(jī)的工/0資源。在此原則下,設(shè)計(jì)出的電路使用芯片少,降低了儀表的成本。,分別驗(yàn)證了鍵盤設(shè)定、溫度顯示、越限報(bào)警以及PID控制的正確性。但是,由于電路板的局限性和個(gè)人能力有限,未能實(shí)現(xiàn)A/D的正確采樣。參考文獻(xiàn)1 [D].武漢科技大學(xué)出版社,20082 [D].沈陽工業(yè)大學(xué)出版社,20073 [M].北京:機(jī)械工業(yè)出版社,20054 FU K S,WALTS Heuristic Approach to Reinforcement Learning Control System[J].IEEE ,10(4)5 周德儉,[M].6 [D].西安建筑科技大學(xué),20077 [J].武漢工業(yè)學(xué)院報(bào),2008,27(1)8 [M].北京航空航天大學(xué)出版社,19969 [J].模糊控制,1998,12(6)10 韋 [M].北京:機(jī)械工業(yè)出版社,200011 [J].中國發(fā)明專利公報(bào),2001,10(31)12 [M].北京:化學(xué)工業(yè)出版社,199813 [M].北京:機(jī)械工業(yè)出版社,200614 [J].電氣自動(dòng)化,2000,22(2)15 [J].自動(dòng)化儀表,1997,15(11)16 [J].計(jì)算機(jī)測(cè)量與控制,2004,12(3)17 [D].武漢理工大學(xué),200618 [J].自動(dòng)化儀表,2006,21(6)19 王兆安,[M].北京:機(jī)械工業(yè)出版社,200020 潘新民,[M].北京:電子工業(yè)出版社,200522 徐科軍. 傳感器與檢測(cè)技術(shù)[M]. 北京:電子工業(yè)出版社,200423 魯 慧. 基于ATmega128單片機(jī)的控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].華中科技大學(xué),200724 ICCAVR使用說明.25 何立民. MCS—51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)系統(tǒng)配置與接口技術(shù)[M].北京:航空 航天大學(xué)出版社,200126 [J].儀表技術(shù),2005,17(2)27 [M].北京:冶金工業(yè)出版社,200028 [J].電子科技雜志,1994,3(44)29 [M].北京:電子工業(yè)出版社,199530 [M].北京:化學(xué)工業(yè)出版社,200531 [J].常州工業(yè)技術(shù)學(xué)院學(xué)報(bào),1995,18(4)32 [J].自動(dòng)化儀表, 2002,23(1):535533 沙占友,劉勇,[J].電測(cè)與儀表,1999,36(405):202234 ,2001,8(12):444535 [M].上海:華東理工大學(xué)出版社,200336 [D].江蘇大學(xué)出版社,200737 牛余朋,[J].電子制作,2007,5(03)38 [M].北京:電子工業(yè)出版社,200639 中國知網(wǎng)40 附錄A 硬件原理圖附錄B 源程序include include pragma interrupt_handler timer0_ovf_isr:17define led_data_port PORTD define led_data_ddr DDRD define led_control_port PORTC define led_control_ddr DDRC define port_key PORTBdefine ddr_key DDRBdefine pin_key PINBunsigned char seg7[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}。unsigned char addr=1,ldata = 0,jdata = 0,i=0。 //定義變量unsigned char kdata[] = {0,0,0,0}。 //需要顯示的數(shù)據(jù) //函數(shù)聲明//unsigned int AD_GetData()。 //AD轉(zhuǎn)換函數(shù)unsigned char filter()。 //限速濾波函數(shù)void line(void)。 //線性化標(biāo)度變換函數(shù)unsigned int IncPIDCalc()。 //增量式PID控制函數(shù)void delay(int ms)。 //延時(shí)函數(shù)void timer0_ovf_isr(void)。 //延時(shí)顯示void diplay(int y)。 //顯示函數(shù)unsigned char key(unsigned char number)。 //鍵盤設(shè)定函數(shù)//端口初始化//void port_init(void) { PORTA = 0x0。 DDRA = 0xFF。 PORTB = 0x0。 DDRB = 0xFF。 PORTC = 0xFF。 DDRC = 0xFF。 PORTD = 0xFF。 DDRD = 0xFF。 PORTE = 0x0。 DDRE = 0xFF。 PORTF = 0xFF。 DDRF = 0xFF。 PORTG = 0x0。 DDRG = 0xFF。}//PID參數(shù)初始化//typedef struct PID { int SetPoint。 //設(shè)定目標(biāo)long SumError。 //誤差累計(jì) double Proportion。 //比例常數(shù) double Integral。 //積分常數(shù) double Derivative。 //微分常數(shù) int LastError。 //第K1采樣時(shí)的偏差值,Error[1]int PrevError。 //第K2采樣時(shí)的偏差值,Error[2] int B。 //死區(qū)電壓int A。 //積分分離限int Downlimit。 //PID增量部分高限幅int uplimit。 //PID增量部分低限幅int LastOutput。 //上次PID輸出int Output。 //PID的輸出} PID。static PID sPID。 static PID *sptr = amp。sPID。 //ADC初始化,轉(zhuǎn)換時(shí)間: 3uS // void AD_init(void) { ADMUX = 0x60。 //AVcc,AREF外部并接電容、右對(duì)齊、通道0 ADCSRA = 0xC6。 //使能、開啟、64分頻 ACSR =(1ACD)。 //關(guān)閉模擬比較器}//AD轉(zhuǎn)換函數(shù)//unsigned int AD_GetData(){ ADCSRA|=(1 ADSC)。 //開始AD轉(zhuǎn)換 while(!(ADCSRA amp。 (1 ADIF)))。 //等待轉(zhuǎn)換完成 ADCSRA |= (1 ADIF)。 //清零ADC中斷標(biāo)志位 adcl=ADCL。 //讀低字節(jié) sdch=ADCH。 //讀高字節(jié) ADC=( sdch8)+ ADCL。 return ADC。 //返回ADC值}//延時(shí)函數(shù)//void delay(int ms){ int i,j。 for(j=0。jms。j++) for(i=0。i100。i++)。}// 限速濾波//unsigned char filter(void) {unsigned char Y[]={0,0,0},E=0。 //Y1,Y2,Y3分別為連續(xù)三次采樣值unsigned char YY。for(i=0。i3。i++){Y[i]=AD_GetData()。}E=(abs(Y0Y1)+abs(Y1Y2))/2。if (abs(Y0Y1)=E)return Y1。else {if (abs(Y1
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1