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

正文內(nèi)容

基于單片機(jī)的pwm控制方法的精密溫度控制_畢業(yè)設(shè)計(jì)(論文)-閱讀頁

2024-09-17 18:00本頁面
  

【正文】 可維護(hù)性上有明顯的優(yōu)勢,易學(xué)易用。 Keil C51 標(biāo)準(zhǔn) C編譯器為 8051 微控制器的軟件開發(fā)提供 了 C 語言環(huán)境 , 同時保留了匯編代碼高效 ,快速的特點(diǎn)。所以本設(shè)計(jì)選擇 Keil 軟件。由此可見, Proteus 軟件功能強(qiáng)大,集電路設(shè)計(jì)、制版以及仿真等功能于一身,不僅可以對電路進(jìn)行設(shè)計(jì)與分析,還可以對微處理器進(jìn)行設(shè)計(jì)和仿真,是一款電子線路設(shè)計(jì)與仿真軟件。 Proteus 軟件與其它單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī) CPU 的工作情況,也能仿真單片機(jī)外圍電路或沒有單片機(jī)參與的其它電路的工作情況。對于這樣的仿真,從某種意義上講,彌補(bǔ)了實(shí)驗(yàn)和工程應(yīng)用不能相結(jié)合的不足。 軟件仿真 將 Keil 軟件成的 .hex 文件加載到單片機(jī)內(nèi),并在 Proteus 軟件里仿真,會在數(shù)碼管上看到溫度顯示,如圖 61 所示,其中 60度是系統(tǒng)設(shè)定的默認(rèn)溫度,即目標(biāo)溫度;27度是 DS18B20 溫度傳感器的溫度,即實(shí)際溫度,如圖 62所示。 由于本設(shè)計(jì)系統(tǒng)主要對發(fā)熱片的溫度進(jìn)行實(shí)時檢測,以此來精密地控制發(fā)熱片的溫度。這遠(yuǎn)遠(yuǎn)達(dá)不到本系統(tǒng)設(shè)計(jì)的控制要求,因此,硬件電路的調(diào)試工作是本系統(tǒng)的關(guān)鍵。在上電測試之前,一定要保證電路的完整無誤,要避免電路出現(xiàn)短路或斷路的情況。在本次畢業(yè)設(shè)計(jì)當(dāng)中,上電調(diào)試主要是實(shí)時溫度測量與溫度控制的單片機(jī)控制部分和數(shù)碼管點(diǎn)亮部分的硬件調(diào)試??磫纹瑱C(jī)通電后是否可以正常工作等這一系列問題。數(shù)碼管的公共端( COM)直接接到單片機(jī)的 ~ 口作為位選信號,段選接在 P1 口。在這一前提下,查看數(shù)碼管能否點(diǎn)亮。 圖 63 通電初始狀態(tài) ,目標(biāo)溫度與實(shí)際溫度的差大于 2 度,此時占空比為 100%,周期為 3s。 圖 64 通電后溫度上升狀態(tài) 23 ,目標(biāo)溫度與實(shí)際溫度的差小于等于 2 度,系統(tǒng)進(jìn)入 PID算法控制調(diào)節(jié)。 圖 65 PID算法控制調(diào)節(jié) ,系統(tǒng)輸出 PWM 的占空比越小,直到數(shù)碼管顯示溫度與 目標(biāo)溫度接近或相等時,系統(tǒng)此時保持者穩(wěn)定狀態(tài)。 圖 66 實(shí)時溫度與目標(biāo)溫度一致時的狀態(tài) ,將會對占空比一直微調(diào),保持溫度控制精度在177。最終到達(dá)對溫度的精密控制。從選擇單片機(jī),并在研究單片機(jī)的管腳性能基礎(chǔ)上,設(shè)計(jì)出相應(yīng)的電路;通過設(shè)計(jì)程序,調(diào)試程序,把設(shè)計(jì)的相應(yīng)電路通過 Proteus 軟件以及 keil 軟件結(jié)合起來,達(dá)到實(shí)現(xiàn)系統(tǒng)功能的設(shè)計(jì),在仿真的基礎(chǔ)上,確立電路以及程序的正確性,其中不足的是, Proteus 軟件當(dāng)中雖然有其他發(fā)熱元件,但在 Proteus 仿真軟件卻不能實(shí)現(xiàn)溫度的變化,不能實(shí)現(xiàn)相應(yīng)的溫度動態(tài)顯示,只能顯示一下傳感器 DS18B20 的溫度 ,以及程序設(shè)定的默認(rèn)溫度 60 度,看不到相應(yīng)的 PWM 控制加熱的效果,看不到具體的溫度上升;在仿真的基礎(chǔ)上完成實(shí)物,通過實(shí)物看到了具體的溫度上升顯示,基本完成設(shè)計(jì)的要求。 從這次設(shè)計(jì)中,我學(xué)到很多,也更能體會到理論聯(lián)系實(shí)際的好處。 25 致謝 歷時將近兩個月的時間終于將這篇論文寫完,在論文的寫作過程中遇到了 無數(shù)的困難和障礙,都在同學(xué)和老師的幫助下度過了。 正是老師的無私的指導(dǎo)和幫助, 我的畢業(yè)設(shè)計(jì)才能夠得以順利完成,感謝李衛(wèi)平老師 。本文引用了數(shù)位學(xué)者的研究文獻(xiàn),如果沒有各位學(xué)者的研究成果的幫助和啟發(fā),我將很難完成本篇論文的寫作。由于我的學(xué)術(shù)水平有限,所寫論文難免有不足之處,懇請各位老師和學(xué)友批評和指正 ! 26 參考文獻(xiàn) [1]張毅剛 ,彭喜元 ,彭宇 .單片機(jī)原理及應(yīng)用 (第二版 )[M].北京 :高等教育出版社 ,2020. [2]田玉平 ,蔣珉 ,李世華 .自動控制原理 [M].北京 :科學(xué)出版社 ,2020. [3]Ljung, Lennard. Theory And Practice of Recursive Identification [M].The MIT Press,1983. [4]劉迪 ,譚春亮 ,李建海 ,孫晶 .基于數(shù)字 PID 和 89C52 單片機(jī)的溫度控制系統(tǒng) [J].電子設(shè)計(jì)工程 ,2020,18(04). [5]儲海兵 ,譚功全 ,曹亢 ,任善榮 .單片機(jī)溫度控制實(shí)驗(yàn)系統(tǒng) [J].儀表科技 ,2020,12. [6]陶冶 ,袁永超 ,羅平 .基于 DS18B20 的單片機(jī)溫度測量系統(tǒng) [J].農(nóng)機(jī)化研究 ,2020,(10). [7]劉軍 ,李建偉 ,李慧琴 .基于模糊 PID的通用中檔單片機(jī)溫度控制系統(tǒng)設(shè)計(jì) [J].科學(xué)技術(shù)與工程 ,2020,(15). [8]葉丹 .基于單片機(jī)的自適應(yīng)溫度控制系統(tǒng) [J].傳感器技術(shù) ,2020,21(3):2730. [9]張艷艷 .基于 PID 算法和 89C52 單片機(jī)的溫度控制系統(tǒng) [J].現(xiàn)代電子技 術(shù) ,2020,(21). [10]劉天 .基于單片機(jī)的恒溫控制系統(tǒng)的設(shè)計(jì)研究 [J].IT 技術(shù) ,2020,(3):2934. [11]李善壽 .基于 單片機(jī) 的恒溫 控制器 的設(shè)計(jì) 和實(shí)現(xiàn) [J].計(jì)算 機(jī)技術(shù) 與發(fā) 展 ,2020,(12):197199. [12]Dallas Programmable Resolution Onewire Digital Thermometer [Z].2020 27 附錄 附 1 整體電路圖 附 2 硬件成品展示圖 28 29 附 3 系統(tǒng)源程序 /********// //主程序 include include include include sbit P10=P1^0。 sbit beep=P1^5。 unsigned int set_temper。 uint e,e1,e2,Ep,Ed,rout=0。 uchar high_time,low_time=50。 void pare_temper(void)。 void main(void) { TMOD=0x01。 TL0=(6553620200)%256。 EX0=1。 IT0=0。 kp=10。 kd=6。 set_temper=(b[0]*100+b[1]*10+b[2])*10+b[3]。 display()。 } } } uint pid_(void) { uint n。 Ep=kp*(ee1)。 n=Ep+ki*e+Ed。 e1=e。 } //PWM 調(diào)節(jié)脈沖 void pare_temper(void) { if(set_tempertemper) {beep=1。 low_time=0。 high_time=(uchar)(rout/80)。 } low_time=100high_time。 low_time=100。 // } else { rout=pid_()。 if(high_time=100) { high_time=0。 } } } void int0 () interrupt 0 { flag=~flag。 TL0=(6553630000)%256。 32 led0=1。 } if(counthigh_time) { P10=0。 } if(count==0) { led0=0。 } } /*****************// //DS18B20 子程序 ,DS18B20 頭文件 include include include define DQ_HIGH() DQ = 1 define DQ_LOW() DQ = 0 sbit DQ = P1^1。 DQ_LOW()。 DQ_HIGH()。 if(DQ == 0) 33 { flag = 1。 } delay(20)。 } void WriteDS18B20(uchar ch) { uchar i。i8。0x01) { DQ_LOW()。 DQ_HIGH()。 } else { DQ_LOW()。 DQ_HIGH()。 } } uchar ReadDS18B20(void) { uchar i,ReValue。i8。 delay(0)。 ReValue = 1。 } else { ReValueamp。 } delay(2)。 } uchar UpDataDS18B20(void) { uchar Temp_H,Temp_L。 WriteDS18B20(0xcc)。 delay(800)。 WriteDS18B20(0xcc)。 Temp_L = ReadDS18B20()。 tp2=Temp_Lamp。 tp2=tp2*。 Temp_H = 4。 return Temp_L。 35 unsigned int tp。 //加一鍵 sbit k2=P3^1。 //進(jìn)入或退出鍵 unsigned char num1,num2,n=0。 unsigned char code smg_du1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}。 unsigned char code smg_we[]={0x01,0x02,0x04,0x08}。 if((k1==1)amp。(k2==1)) { for(i=0。i++) { P2=smg_we[i]。 if(i==2) { P0=smg_du2[n]。 } delay_50us(15)。 if(k1==0) { num1++。 while(!k1)。 while(!k1)。 switch(num2) { case 0:b[0]=num1。 case 1:b[1]=num1。 case 2:b[2]=num1。 case 3:b[3]=num1。 } } if(k2==0) { delay_50us(200)。 num1=0。 while(!k2)。 while(!k2)。 } } void display(void) { if((tp/100)==0) { P2=0x00。 P0=smg_du1[tp/100]。 if((((tp%100)/10)==0)amp。((tp/100)==0)) { P2=0x00。 P0=smg_du1[(tp%100)/10]。 P2=smg_we[2]。 delay_50us(20)。 P0=smg_du1[tp2]。 } /***********/// //延時子程序,延時頭文 件 include void delay_50us(uint t) { uchar j。t0。j0。 } void delay(uint us) { while(us
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1