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

正文內(nèi)容

基于單片機(jī)的繼電器控制設(shè)計(jì)畢業(yè)論文-資料下載頁(yè)

2025-06-27 19:52本頁(yè)面
  

【正文】 ]=39。:39。shuju1[14]=39。F39。shuju1[15]=39。 39。shuju1[16] = 39。\039。 shuju2[0]=39。T39。shuju2[1]=39。:39。shuju2[4]=39。.39。shuju2[7]=39。C39。shuju2[8]=39。 39。shuju2[9]=39。 39。shuju2[11]=39。H39。shuju2[12]=39。:39。shuju2[15]=39。C39。 shuju2[16] = 39。\039。 }/*****初始化DS18B20*****/void Init_DS18B20(void){ unsigned char x=0。 DQ=1。 Delay(8)。 //稍做延時(shí) DQ=0。 //單片機(jī)將DQ拉低 Delay(80)。 //精確延時(shí),大于480us DQ=1。 //拉高總線 Delay(14)。 x=DQ。 //稍做延時(shí)后,如果x=0則初始化成功,x=1則初始化失敗 Delay(20)。}/*****讀一個(gè)字節(jié)*****/unsigned char ReadOneChar(void){ unsigned char i=0。 unsigned char dat=0。 for (i=8。i0。i) { DQ=0。 // 給脈沖信號(hào) dat=1。 DQ=1。 // 給脈沖信號(hào) if(DQ) dat|=0x80。 Delay(4)。 } return(dat)。}/*****寫(xiě)一個(gè)字節(jié)*****/void WriteOneChar(unsigned char dat){ unsigned char i=0。 for (i=8。 i0。 i) { DQ=0。 DQ=datamp。0x01。 Delay(5)。 DQ=1。 dat=1。 }}void Tmpchange(void) //發(fā)送溫度轉(zhuǎn)換命令{ Init_DS18B20()。 WriteOneChar(0xCC)。 //跳過(guò)讀序號(hào)列號(hào)的操作 WriteOneChar(0x44)。 //啟動(dòng)溫度轉(zhuǎn)換}/*****讀取溫度*****/unsigned int ReadTemperature(void){ unsigned char a=0。 unsigned char b=0。 unsigned int t=0。 float tt=0。 Tmpchange()。 Init_DS18B20()。 WriteOneChar(0xCC)。 //跳過(guò)讀序號(hào)列號(hào)的操作 WriteOneChar(0xBE)。 //讀取溫度寄存器 a=ReadOneChar()。 //讀低8位 b=ReadOneChar()。 //讀高8位 t=b。 t=8。 t=t|a。 tt=t*。 t= tt*100+。 //放大10倍輸出并四舍五入 return(t)。}/*****數(shù)據(jù)轉(zhuǎn)換子程序*****/Disp_Temperature() //顯示溫度{e=ReadTemperature()。 //獲取溫度值 m=e/100。 //溫度整數(shù)位 a=e/1000。 //計(jì)算得到溫度十位數(shù)字 shuju2[2]=ASCII_NUM[a]。 //把計(jì)算得到的數(shù)放到顯示的數(shù)組里 b=e/100a*10。 //計(jì)算得到溫度個(gè)位數(shù)字 shuju2[3]=ASCII_NUM[b]。 //把計(jì)算得到的數(shù)放到顯示的數(shù)組里 d=e%10。 //計(jì)算得到溫度小數(shù)點(diǎn)后一位 shuju2[6]=ASCII_NUM[d]。 //把計(jì)算得到的數(shù)放到顯示的數(shù)組里 c=(e%100)/10。 //計(jì)算得到溫度小數(shù)點(diǎn)后兩位 shuju2[5]=ASCII_NUM[c]。 //把計(jì)算得到的數(shù)放到顯示的數(shù)組里 shuju2[13]=ASCII_NUM[shangxian/10]。 //計(jì)算得到上限十位,并把計(jì)算得到的數(shù)放到顯示的數(shù)組里 shuju2[14]=ASCII_NUM[shangxian%10]。 //計(jì)算得到上限個(gè)位,并把計(jì)算得到的數(shù)放到顯示的數(shù)組里 if(m=shangxian) {jdq4=0。shuju1[14]=39。N39。}//溫度不在范圍內(nèi)接通繼電器 else {jdq4=1。shuju1[14]=39。F39。} j4=jdq4。 }/*****初始化溫度檢測(cè)子程序*****/Disp_Temperature1() //顯示溫度{e=ReadTemperature()。 //獲取溫度值 a=e/1000。 //計(jì)算得到溫度十位數(shù)字 shuju2[2]=ASCII_NUM[a]。 //把計(jì)算得到的數(shù)放到顯示的數(shù)組里 b=e/100a*10。 //計(jì)算得到溫度個(gè)位數(shù)字 shuju2[3]=ASCII_NUM[b]。 //把計(jì)算得到的數(shù)放到顯示的數(shù)組里 d=e%10。 //計(jì)算得到溫度小數(shù)點(diǎn)后一位 shuju2[6]=ASCII_NUM[d]。 //把計(jì)算得到的數(shù)放到顯示的數(shù)組里 c=(e%100)/10。 //計(jì)算得到溫度小數(shù)點(diǎn)后兩位 shuju2[5]=ASCII_NUM[c]。 //把計(jì)算得到的數(shù)放到顯示的數(shù)組里 shuju2[13]=ASCII_NUM[shangxian/10]。 //計(jì)算得到上限十位,并把計(jì)算得到的數(shù)放到顯示的數(shù)組里 shuju2[14]=ASCII_NUM[shangxian%10]。 //計(jì)算得到上限個(gè)位,并把計(jì)算得到的數(shù)放到顯示的數(shù)組里 m=e/100。 //溫度整數(shù)位}/*****顯示子程序*****/Disp() { LCD_Write_String(0,0,shuju1)。 LCD_Write_String(0,1,shuju2)。 } /*****初始化顯示*****/void csh(){int ww=1,i。while(ww){ i++。 Disp_Temperature1()。 //初始化溫度檢測(cè) LCD_Write_String(0,0, Wele )。 LCD_Write_String(0,1, )。 if(i=50) ww=0。} LCD_Write_String(0,0,1:F 2:F 3:F 4:F )。 LCD_Write_String(0,1,T: C H: C)。 IT1=1。//INT1下降沿觸發(fā) EX1=1。//外部中斷允許 EA=1。//開(kāi)總中斷 IRIN=1。 //I/O口初始化} /**********************************************************/void delay1(unsigned char x) //x*{ unsigned char i。 while(x) { for (i = 0。 i13。 i++) {} }}/**********************************************************/void beep(){ unsigned char i 。 BEEP=0。 for (i=0。i100。i++) { delay1(20)。 } BEEP=1。 //關(guān)閉蜂鳴器}/**********************************************************/void IR_IN() interrupt 2 using 0{ unsigned char j,k,N=0。 EX1 = 0。 delay1(15)。 if (IRIN==1) { EX1 =1。 return。 } //確認(rèn)IR信號(hào)出現(xiàn) while (!IRIN) //等IR變?yōu)楦唠娖?,跳過(guò)9ms的前導(dǎo)低電平信號(hào)。 { delay1(1)。 } for (j=0。j4。j++) //收集四組數(shù)據(jù) { for (k=0。k8。k++) //每組數(shù)據(jù)有8位 { while (IRIN) //等 IR 變?yōu)榈碗娖健? { delay1(1)。 } while (!IRIN) //等 IR 變?yōu)楦唠娖? { delay1(1)。 } while (IRIN) //計(jì)算IR高電平時(shí)長(zhǎng) { delay1(1)。 N++。 if (N=30) { EX1=1。 return。 } //。 } //高電平計(jì)數(shù)完畢 IRCOM[j]=IRCOM[j] 1。 //數(shù)據(jù)最高位補(bǔ)“0” if (N=8) {IRCOM[j] = IRCOM[j] | 0x80。} //數(shù)據(jù)最高位補(bǔ)“1” N=0。 }//end for k }//end for j if (IRCOM[2]!=~IRCOM[3]) { EX1=1。 return。 } if(IRCOM[2]==0x0c) {jdq1=!jdq1。j1=jdq1。if(jdq1==0) shuju1[2]=39。N39。 else shuju1[2]=39。F39。 Disp()。 } if(IRCOM[2]==0x18) {jdq2=!jdq2。j2=jdq2。if(jdq2==0) shuju1[6]=39。N39。 else shuju1[6]=39。F39。 Disp()。 } if(IRCOM[2]==0x5e) {jdq3=!jdq3。j3=jdq3。if(jdq3==0) shuju1[10]=39。N39。 else shuju1[10]=39。F39。 Disp()。 } beep()。 EX1 = 1。 }void key() //按鍵掃描{ if (shezhi==0) //設(shè)置按鍵按下 { qudou()。 //去抖 if(shezhi==0) //確認(rèn)按下 {sz++。 //sz為調(diào)整的目標(biāo)變量,1為上限 if(sz==2) sz=0。 //sz為2是,退出調(diào)整設(shè)置 if(sz==0) shuju2[10]=39。 39。 else shuju2[10]=39。*39。 }while(shezhi==0)。 } if(sz0) { if (jia==0) //加按鍵按下 { qudou()。 //去抖 if(jia==0) //確認(rèn)按下 {shangxian++。 if(shangxian=100) shangxian=99。 }while(jia==0)。 } if (jian==0) //減按鍵按下 { qudou()。 //去抖 if(jian==0) //確認(rèn)按下 {shangxian。 if(shangxian=0) shangxian=0。 }while(jian==0)。 } } if (K1==0) //設(shè)置按鍵按下 { qudou()。 //去抖 if(K1==0) //確認(rèn)按下 { jdq1=!jdq1。j1=jdq1。 if(jdq1==0) shuju1[2]=39。N39。 else shuju1[2]=39。F39。 Disp()。 }while(K1==0)。 } if (K2==0) //設(shè)置按鍵按下 { qudou()。 //去抖 if(K2==0)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1