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

正文內(nèi)容

基于單片機(jī)的pid溫度控制畢業(yè)設(shè)計(jì)-閱讀頁(yè)

2025-03-18 11:55本頁(yè)面
  

【正文】 參考文獻(xiàn) [1]陳妙芳 ,胡曉東 .基于 AT89C51 單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì) [J].機(jī)械工程師, 2021, (01): 151152. [2]趙鴻圖 .基于單片機(jī)的溫度控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [J].微計(jì)機(jī)信息, 2021, (26): 9698. [3]葉景 .基于單片機(jī)的溫度控制系統(tǒng)的設(shè)計(jì) [J].中國(guó)新通信, 2021, (13): 12. [4]紀(jì)綱 .HD7279A 鍵盤顯示驅(qū)動(dòng)芯片及應(yīng)用 [J].儀表技術(shù), 2021, (30): 1516. [5]羅云松 .基于單片機(jī) AT89C51 的溫度控制系統(tǒng)設(shè)計(jì) [J].中國(guó)科技信息, 2021 (12): 2325. [6]楊萬(wàn)超 .51 單片機(jī)溫度控制系統(tǒng)設(shè)計(jì) [J].黑龍江科技信息, 2021, (29): 34. [7]張艷艷 .基于 PID 算法和 89C52 單片機(jī)的溫度控制系統(tǒng) [J].現(xiàn)代電子技術(shù), 2021,(21): 89. [8]胡朝 .基于單片機(jī)的溫度控制系統(tǒng)的開(kāi)發(fā)應(yīng)用 [J].商場(chǎng)現(xiàn)代化, 2021, (14): 6265. [9]張青 .單片機(jī)溫度控制系統(tǒng)方案的研究 [J].上海交通大學(xué)學(xué)報(bào), 2021, (41): 47. [10]Zhou Z, Vucetic B. Design of adaptive modulstion using impact CSI in MIMO systems[J]. Elesctronics Lctters, 2021 , 40(17): 7374. [11]Dai L, Zhou S D, Zhang H R, et al, Closedloop MIMO architecture based on waterfilling[J]. Elesctronics Lctters, 2021 , 38(25): 118120. [12]Narula A, Lopcz M J, Troct M D, et use of side information in multiplcantenna data transmission over fading channels[J]. IEEE Katsuhiko Ogata. Moden Control Engineering. Publishing house of electronics industry,2021:196— 202. [13]趙娜 .基于 51 單片機(jī)的溫度測(cè)量系統(tǒng) [J].微計(jì)算機(jī)信息 , 2021, (16): 146148. [14]Jang J,Lee K B,Lee Y H,Transmit power and bit allocations for OFDM systems in a fading channcl [C] IEEE GLOHECOM,USA。 uchar data dis_buf[8],i。 //數(shù)碼管顯示標(biāo)簽 uchar dis_digit=0xfe。 //驅(qū)動(dòng)蜂鳴器報(bào)警 sbit Key_UP = P3^3。 //下調(diào)溫度 sbit Key_SET = P3^2。 //定義 18B20的數(shù)據(jù)端 bit flag。 uchar gechar,shichar,baichar,Alarm。 //存儲(chǔ)讀取的字節(jié), read scratchpad 為 9字節(jié), read rom ID 為 8 字節(jié) uchar id_buff[8]。 uchar crc_data。 //CRC 校驗(yàn)表 /************************************************************ *Function:延時(shí)處理 *************************************************************/ void TempDelay (uint us) { while(us)。 dq=1。 dq=0。 //delay 530 uS//80 _nop_()。 TempDelay(14)。 _nop_()。 if(dq==0) flag = 1。 //detect 1820 fail! TempDelay(20)。 _nop_()。 EA=1。 EA=0。i8。 _nop_()。 0x01。 //delay 45 uS //5 _nop_()。 dq=1。 } EA=1。 EA=0。i8。 u = 1。 33 if(dq==1) u |= 0x80。 _nop_()。 return(u)。 for(i=0。i++) { *p = ReadByte()。 } } /************************************************************ *Function:CRC校驗(yàn) *************************************************************/ uchar CRC (uchar j) { uchar i,crc_data=0。ij。 return (crc_data)。 if (CRC(9)==0) //校驗(yàn)正確 { Temperature = temp_buff[1]*0x100 + temp_buff[0]。 //忽略小數(shù)部分 TempDelay(1)。 } } /************************************************************ *Function:內(nèi)部配置 *************************************************************/ void Config18b20 (void) //重新配置報(bào)警限定值 { Init18b20()。 //skip rom WriteByte(0x4e)。 //寫入溫度上限 Init18b20()。 //skip rom WriteByte(0x48)。 WriteByte(0xcc)。 //回調(diào)設(shè)定值 } /************************************************************ *Function:讀 18B20的 ID *************************************************************/ void ReadID (void)//讀取器件 id { Init18b20()。 //read rom readbytes(8)。 ReadID()。 WriteByte(0xcc)。 //Temperature convert Init18b20 ()。 //skip rom 36 WriteByte(0xbe)。 GemTemp()。 TL0 = 0x17。 // 先關(guān)閉所有數(shù)碼管 P0 = dis_buf[dis_index]。 // 傳送位選通值 dis_digit = _crol_(dis_digit,1)。 dis_index amp。 //掃描到第四個(gè)數(shù)碼管后返回 } /************************************************************ *Function:顯示代碼處理 *************************************************************/ void processCode(void) //顯示代碼處理(分離數(shù)值) { gechar =(uchar)(Temperature % 10)。 baichar=(uchar)(Temperature / 100)。 // 顯示代碼的個(gè)位傳送到數(shù)碼管一 37 dis_buf[1] = dis_code[shichar]。 // 顯示代碼的百位傳送到數(shù)碼管三 dis_buf[3] = dis_code[0]。 while(1) { Alarm_ge =(uchar)(Alarm % 10)。 Alarm_bai=(uchar)(Alarm / 100)。 // 第一位 用來(lái)顯示所設(shè)報(bào)警值的個(gè)位 dis_buf[1] = dis_code[Alarm_shi]。 // 第三位 用來(lái)顯示所設(shè)報(bào)警值的百位 dis_buf[3] = dis_code[11]。 //延時(shí)防抖 按下 10ms 再測(cè) if (Key_UP == 0) Alarm = Alarm + 1。 } if (Key_DOWN == 0) { TempDelay(10000)。 //上調(diào)溫度 if (Alarm = 1) //限制溫度下限為 1 度 Alarm = 1。 TempDelay(10000)。 if (Key_SET == 0) { Config18b20 ()。 //跳出 while循環(huán) } } } } /**************************************************************** 39 *Function:主程序 ***************主程序入口 *****************************************/ void main() { TH0=0XFC。 TR0=1。 //總中斷打開(kāi) ET0=1。 dis_buf[0] = dis_code[0]。 // 第二位 初始值為 0 dis_buf[2] = dis_code[0]。 // 第四位 初始值為 0 TemperatuerResult ()。 //開(kāi)始采集溫度 if(TemperatureAlarm) //超過(guò) Alarm值 蜂鳴器報(bào)警 (低電平有效) { Spk=0。 40 } processCode()。 //延時(shí)防抖 按下 10ms 再測(cè) if (!Key_SET) //如果 Key_SET鍵確實(shí)被按下,則開(kāi)始進(jìn)入功能鍵處理程序 processKey()。 float data deltaPn,deltaPi,deltaPp,deltaPd,PsumCopy。 if(abs(E_0)Emax) { deltaPp=(float)Kp*(E_0E_11)。 // if(deltaPd=dPdmax) deltaPd=0。 } else { if(abs(E_0)E0) { deltaPi=(float)Ki*E_0*(Emaxabs(E_0))/(EmaxE0)。 // if(fabs(deltaPi)dPimin) deltaPi=0。 42 deltaPd=(float)Kd*(E_02*E_11+E_21)。 deltaPn=deltaPp+deltaPi+deltaPd。 else deltaPn=dPmax。 PsumCopy=Psum1。 if(PsumCopyPmin) PsumCopy=Pmin。 E_11=E_0。 } /*********************************************************/ /* 名稱 : float PIDprocess2 */ /* 功能 : PID adjust */ /* 說(shuō)明 : */ /* 調(diào)用 : */ /* 輸入 : float xdata Yn, float xdata Rn */ /* 返回值 : Psum2 */ /*********************************************************/ float PIDprocess2() { int data E_0。 E_0=SetTemperature2CurrentTemperature2。 43 } else { if(abs(E_0)E0) { deltaPi=(float)Ki*E_0*(Emaxabs(E_0))/(EmaxE0)。 } deltaPn=
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1