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

正文內(nèi)容

北京交通大學(xué)-計(jì)算機(jī)控制課程設(shè)計(jì)報(bào)告-資料下載頁

2025-08-03 01:03本頁面
  

【正文】 Char(0,0,39。^39。)。 // 控溫,^表示不加熱 } } /************液晶顯示子函數(shù)2***************/void displayfun2(void){ WriteCommandLCM(0x0c,1)。 //顯示屏打開,光標(biāo)不顯示,不閃爍,檢測(cè)忙信號(hào) DisplayListChar(0,0,str0)。 DisplayListChar(0,1,str1)。 DisplayOneChar(6,0,minite/10+0x30)。 DisplayOneChar(7,0,minite%10+0x30)。 DisplayOneChar(9,0,seconde/10+0x30)。 DisplayOneChar(10,0,seconde%10+0x30)。 DisplayOneChar(11,1,temp1/10+0x30)。 DisplayOneChar(12,1,temp1%10+0x30)。 DisplayOneChar(14,1,temp2/10+0x30)。 WriteCommandLCM(0x0f,1)。 //顯示屏打開,光標(biāo)顯示,閃爍,檢測(cè)忙信號(hào) DisplayOneChar(3,0,hour/10+0x30)。 DisplayOneChar(4,0,hour%10+0x30)。}/**************液晶顯示子函數(shù)3*****************/void displayfun3(void){ WriteCommandLCM(0x0c,1)。 //顯示屏打開,光標(biāo)不顯示,不閃爍,檢測(cè)忙信號(hào) DisplayListChar(0,0,str0)。 DisplayListChar(0,1,str1)。 DisplayOneChar(3,0,hour/10+0x30)。 DisplayOneChar(4,0,hour%10+0x30)。 DisplayOneChar(9,0,seconde/10+0x30)。 DisplayOneChar(10,0,seconde%10+0x30)。 DisplayOneChar(11,1,temp1/10+0x30)。 DisplayOneChar(12,1,temp1%10+0x30)。 DisplayOneChar(14,1,temp2/10+0x30)。 WriteCommandLCM(0x0f,1)。 //顯示屏打開,光標(biāo)顯示,閃爍,檢測(cè)忙信號(hào) DisplayOneChar(6,0,minite/10+0x30)。 DisplayOneChar(7,0,minite%10+0x30)。}/**************設(shè)定工作模式子函數(shù)****************/void set_adj(void){ delay_LCM(50)。 set++。 if(set=3)set=0。 //3種工作模式 :正常、調(diào)時(shí)、調(diào)分 }/****************按鍵加法子函數(shù)******************/void inc_key(void){ delay_LCM(50)。 switch(set) { case 0:if(P1==0x18)ON_OFF=!ON_OFF。 break。 //加熱控制總開關(guān) case 1:hour++。 if(hour=23)hour=23。 break。 case 2:minite++。 if(minite=59)minite=59。break。 default:break。 } }/****************按鍵減法子函數(shù)*****************/void dec_key(void){ delay_LCM(50)。 switch(set) { case 0:if(P1==0x18)ON_OFF=!ON_OFF。 break。 case 1:hour。 if(hour=0)hour=0。 break。 case 2:minite。if(minite=0)minite=0。break。 default:break。 } }/***************定時(shí)器t0初始化*******************/void init_timer0(void){ TMOD=0x01。 //time0為定時(shí)器,方式1 TH0=0x3c。 //預(yù)置計(jì)數(shù)初值 50ms中斷一次 TL0=0xb0。 EA=1。 ET0=1。 TR0=1。 }/***********定時(shí)器t0中斷子函數(shù)**************/void timer0(void) interrupt 1 using 0 //定時(shí)器0方式1,50ms中斷一次{ TIM+=1。 //PID計(jì)時(shí)中斷 TH0=0x3c。 TL0=0xb0。 mstt++。 if(mstt=20 ) {seconde++。 mstt=0。 } if(seconde=60) {minite++。 seconde=0。} if(minite=60 ) {hour++。 minite=0。 } if(hour=24 ) {hour=0。} }/**************************PID計(jì)算子函數(shù)*******************************/void PID(void){ float ek,ek1,ek2,ek_sum。 uint a。 ek=Ktemp。 //計(jì)算誤差 while(1) { //溫控開關(guān)開 if(ON_OFF==1) { if(ek=15) {outflag=1。OUT=0。Time_on=100。break。}//溫差大于15度,不用PID調(diào)節(jié) else if(ek0) {ek=0。outflag=0。 OUT=1。Time_on=0。break。} //溫差小于等于0不調(diào)節(jié) else { if(ek5) a=0。 if(ek5) a=1。 ek2=ek1。 ek1=ek。 ek_sum+=ek。 uk=kp*ek+ki*ek_sum+kd*(ek1ek2)。 //計(jì)算PID輸出uk if(start_flag==0) //PID運(yùn)算標(biāo)志位 { uk0=uk。 //uk初值,用于參考以后uk加熱時(shí)間 start_flag=1。 div=100/uk0。 } //開始PID計(jì)算 else if(start_flag==1) { //加熱片加熱時(shí)間 Time_on=uk*div。 //if(Time_on=15) // { // Time_on=Time_on12。 //延遲// if(Time_on0) // {// OUT=1。} //else OUT=0。 // else{Time_on=0。OUT=12。} outflag=1。 } break。} } else{outflag=0。OUT=1。break。} //不加熱}}/******************主函數(shù)*****************/ void main(void){ P1=0xff。 //初始化p1口,全設(shè)為1 delay_LCM(100)。 //延時(shí)500ms啟動(dòng) initLCM( )。 //LCD初始化 init_timer0( )。 //時(shí)鐘定時(shí)器0初始化 Init_DS18B20( ) 。 //DS18B20初始化 DisplayListChar(0,0,str0)。 //顯示時(shí)鐘字符串 DisplayListChar(0,1,str1)。 while (1) { keydown() 。 //按鍵掃描 if(start_key==0) { value[0]=3。value[1]=5。start_key=1。} //軟件輸入顯示初值 ReadTemperature()。 //溫度采集 K=10*value[0]+value[1]。 //計(jì)算按鍵實(shí)際值 if((K30)|(K50)) {BUZZER=0。} //如果輸入溫度大于50度 發(fā)出警報(bào) else{BUZZER=1。} if(temp50){led1=0。} //如果溫度大于50度,黃燈亮 else led1=1。 if(temp30) {led2=0。} //如果溫度小于30度,綠燈亮 else led2=1。 switch(set) //LCD根據(jù)工作模式顯示 { case 0:displayfun1()。delay_LCM(500)。break。 //正常工作顯示 case 1:displayfun2()。delay_LCM(500)。break。 //調(diào)整時(shí)顯示 case 2:displayfun3()。delay_LCM(500)。break。 //調(diào)整分顯示 default:break。 } //控制加熱片加熱時(shí)間 if(TIMTime_on) { OUT=1。 outflag=0。 } //5s進(jìn)行一次PID計(jì)算 if(TIM=100) { PID()。 TIM=0。 } } }
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1