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

正文內(nèi)容

恒溫箱單片機(jī)控制系統(tǒng)設(shè)計(jì)論文-資料下載頁

2025-06-28 01:26本頁面
  

【正文】 =8。i0。i) { DQ=1。_nop_()。_nop_()。 value=1。 DQ=0。_nop_()。_nop_()。_nop_()。_nop_()。 //4 us DQ=1。_nop_()。_nop_()。_nop_()。_nop_()。 //4 us if(DQ)value|=0x80。 delay(6)。 //66 us } DQ=1。 return(value)。}///****************讀出溫度函數(shù)************************///read_temp(){ ow_reset()。 //總線復(fù)位 delay(200)。 write_byte(0xcc)。 //發(fā)命令 write_byte(0x44)。 //發(fā)轉(zhuǎn)換命令 ow_reset()。 delay(1)。 write_byte(0xcc)。 //發(fā)命令 write_byte(0xbe)。 temp_data[0]=read_byte()。 //讀溫度值的第字節(jié) temp_data[1]=read_byte()。 //讀溫度值的高字節(jié) temp=temp_data[1]。 temp=8。 temp=temp|temp_data[0]。 // 兩字節(jié)合成一個(gè)整型變量。 return temp。 //返回溫度值}///****************溫度數(shù)據(jù)處理函數(shù)************************///二進(jìn)制高字節(jié)的低半字節(jié)和低字節(jié)的高半字節(jié)組成一字節(jié),這個(gè)//字節(jié)的二進(jìn)制轉(zhuǎn)換為十進(jìn)制后,就是溫度值的百、十、個(gè)位值,而剩//下的低字節(jié)的低半字節(jié)轉(zhuǎn)化成十進(jìn)制后,就是溫度值的小數(shù)部分/********************************************************/work_temp(uint tem){ uchar n=0。 if(tem6348) // 溫度值正負(fù)判斷 {tem=65536tem。n=1。} // 負(fù)溫度求補(bǔ)碼,標(biāo)志位置1 display[4]=temamp。0x0f。 // 取小數(shù)部分的值 display[0]=ditab[display[4]]。 // 存入小數(shù)部分顯示值 display[4]=tem4。 // 取中間八位,即整數(shù)部分的值 display[3]=display[4]/100。 // 取百位數(shù)據(jù)暫存 display[1]=display[4]%100。 // 取后兩位數(shù)據(jù)暫存 display[2]=display[1]/10。 // 取十位數(shù)據(jù)暫存 display[1]=display[1]%10。 /******************符號(hào)位顯示判斷**************************/ if(!display[3]) { display[3]=0x0a。 //最高位為0時(shí)不顯示 if(!display[2]) { display[2]=0x0a。 //次高位為0時(shí)不顯示 } } if(n){display[3]=0x0b。} //負(fù)溫度時(shí)最高位顯示}/****************模式選擇,加減功能************************/void key_block(){ if(!key) //模式切換 { delay2ms()。 if(!key) { mode++。 if(mode==3) mode=1。 while(!key)。 } } if(!k1) { delay2ms()。 if(!k1) { if(mode==2) { code_ge++。 if(code_ge==100) { code_ge=0。 } } while(!k1)。 } } if(!k2) { delay2ms()。 if(!k2) { if(mode==2) { code_ge。 if(code_ge0) { code_ge=99。 } } while(!k2)。 } }}/****************PWM輸出 PID算法控制部分************************/void set_pwm(){ uchar i。 if(code_ge code_data[0]) out=1。if(code_ge code_data[0]=10amp。amp。 code_ge code_data[0]0)//判斷溫差是否在10度范圍內(nèi) { ut[0]= code_ge code_data[0]。//占空比的第一次初始值 for(i=0。i3。i++) { data_tp=code_data[i]。 st[0]=data_tp。//第i次采樣的溫度值賦給st[0]zliang=*( code_gest[0])*( code_gest[1])+*( code_ge st[2])。//pid算法增量計(jì)算公式 ut[1]=ut[0]+zliang。//調(diào)節(jié)量 ut[0]=ut[1]。 if (ut[0]10) ut[0]=10。 else if (ut[0]0) ut[0]=0。//把 ut[0]控制在0到10的范圍之內(nèi) pltime[0]=ut[0]*25。// PWM=pltime[1]。//根據(jù)調(diào)節(jié)后的溫度給占空比賦相應(yīng)的值 st[2]=st[1]。 st[1]=st[0]。//誤差傳給上一次 out=1。 TMOD=0x21 。//定時(shí)器0工作方式1,定時(shí)器1工作方式2 TH0=0xfc 。 TL0=0x66 。 //頻率調(diào)節(jié) TH1=PWM 。 //脈寬調(diào)節(jié) TL1=0 。 EA=1。 ET0=1。 ET1=1。 TR0=1 。 do { if(PWM!=pltime[0]) { PWM 。 delayms(10)。 } }while(PWM==pltime[0])。//輸出pwm的調(diào)節(jié)部分 pltime[1]=pltime[0]。//下一才調(diào)節(jié)的初始值賦值 } } else out=0。//否則輸出以最大的功率調(diào)節(jié)}/****************設(shè)定溫度************************/void play_code(){ char k。 dip_code[0]=0。 dip_code[1]=code_ge%10。 dip_code[2]=code_ge/10。 dip_code[3]=12。 for(k=0。k4。k++) //4位LED掃描控制 { Disdata=dis_7[dip_code[k]]。 //數(shù)據(jù)顯示 if (k==1){DIN=0。} //小數(shù)點(diǎn)顯示 discan=scan_con[k]。 //位選 delay(300)。 }} /////****************主函數(shù)************************/main(){ Disdata=0xff。 //初始化端口 discan=0xff。 for(h=0。h4。h++) //開機(jī)顯示0000 {display[h]=0。} ow_reset()。 //開機(jī)先轉(zhuǎn)換一次 write_byte(0xcc)。 //Skip ROM write_byte(0x44)。 //發(fā)轉(zhuǎn)換命令 for(h=0。h100。h++) //開機(jī)顯示0000 {scan()。} while(1) { work_temp(read_temp())。 //處理溫度數(shù)據(jù) key_block()。 switch (mode) { case 1: scan()。 break。 case 2: play_code()。 break。 default: break。 } code_data[0]=temp; set_pwm()。 }}////***********************結(jié)束*************************
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1