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

正文內(nèi)容

基于單片機(jī)的溫度測(cè)控系統(tǒng)的硬件設(shè)計(jì)(參考版)

2025-06-30 20:27本頁(yè)面
  

【正文】 }}。 sprintf(displaytemp,%,temp3)。 //掃描周期 lcd_write(0x8B)。 //輸出溫度上限下限 lcd_writestring(displaytemp)。 } lcd_write(0xC0)。break。break。break。break。 //溫度處理 num=KeyScan()。 //溫度轉(zhuǎn)換 display(temp)。 //清屏 while(1) { float temp3。 //計(jì)時(shí)器初始 init_1602()。 char displaytemp[16]。 } }/****************************************************** 函數(shù)名稱:main(void)。 default:return 0。 case 0x07:return 4。 case 0x0b:return 3。 case 0x0d:return 2。 //取出P3口的低四位 switch(keyvalue) //返回相應(yīng)的按鍵的值 { case 0x0e:return 1。 keyvalueamp。}/* 函數(shù)功能:按鍵掃描函數(shù),返回掃描鍵值**/unsigned char KeyScan(void){ unsigned char keyvalue。 if(tempgTempH)beep2=1。 }/******************************************************* 函數(shù):對(duì)18B20 獲取的溫度進(jìn)行處理********************************************************/void deal(int tempg){ if(tempgTempL)beep1=1。C39。 //寫入溫度右上角點(diǎn) lcd_write(0x89)。 //顯示小數(shù)點(diǎn) lcd_write(0x88)。039。 //顯示小數(shù)點(diǎn) lcd_write(0x87)。039。 //顯示 ‘.’ lcd_write(0x86)。.39。 //個(gè)位 lcd_write(0x85)。039。 //十位 lcd_write(0x84)。039。 //百位 lcd_write(0x83)。039。 lcd_write(0x82)。 datas[3] = temp % 100 / 10。 datas[1] = temp % 10000 / 1000。 //留兩個(gè)小數(shù)點(diǎn)就*100,+,因?yàn)镃語(yǔ)言浮點(diǎn)數(shù)轉(zhuǎn)換為整型的時(shí)候把小數(shù)點(diǎn) //后面的數(shù)自動(dòng)去掉,而+, //,還是在小數(shù)點(diǎn)后面。 temp1=temp。 } else { tp=temp。 temp2=tp*。 temp=tp**100+。 tp=temp。 //顯示負(fù) //因?yàn)樽x取的溫度是實(shí)際溫度的補(bǔ)碼,所以減1,再取反求出原碼 temp=temp1。39。 } if(temp0) //當(dāng)溫度值為負(fù)數(shù) { lcd_write(0x83)。i++) { lcd_writedate(table1[i])。 for(i=0。 lcd_write(0x80)。 unsigned char datas[] = {0, 0, 0, 0, 0}。 EA=1。 temp=8。 //讀低8 位 tempH=ReadOneChar()。 //跳過(guò)ROM WriteOneChar(0xbe)。time++)。 //準(zhǔn)備讀數(shù)據(jù)的初始化 for(time=0。 //寫溫度轉(zhuǎn)換指令 delay(10)。 //18B20 復(fù)位 WriteOneChar(0xcc)。 EA=0。 return(date)。time++)。 //如果讀到的數(shù)據(jù)是0,則將0存入dat for(time=0。 if(DQ==1) date|=0x80。time++)。 //將數(shù)據(jù)線人為拉高,為單片機(jī)檢測(cè)DS18B20的輸出電平作準(zhǔn)備 for(time=0。time++)。 //單片機(jī)從DS18B20讀書(shū)據(jù)時(shí),將數(shù)據(jù)線從高拉低即啟動(dòng)讀時(shí)序 for(time=0。 _nop_()。i8。 //儲(chǔ)存讀出的一個(gè)字節(jié)數(shù)據(jù) EA=0。 //將dat中的各二進(jìn)制位數(shù)據(jù)右移1位 } EA=1。time++) 。 //釋放數(shù)據(jù)線 for(time=0。time++)。 //利用與運(yùn)算取出要寫的某位二進(jìn)制數(shù)據(jù),并將其送到數(shù)據(jù)線上等待DS18B20采樣 for(time=0。 DQ=datamp。time1。 DQ=0。 i++) { DQ=1。 for (i=0。}/****************************************************** * 函數(shù):18B20 寫數(shù)據(jù)模塊********************************************************/void WriteOneChar (uchar dat) //18B20 寫 數(shù)據(jù){ uchar i,time。time++)。 //延時(shí)約60us(釋放總線后需等待15~60us讓DS18B20輸出存在脈沖) for(time=0。time20。 //略微延時(shí)約600微秒//以向DS18B20發(fā)出//一持續(xù)480~960us的低電平復(fù)位脈沖 DQ=1。time200。 DQ=0。 DQ=1。 } }/****************************************************** * 函數(shù):18B20 初始化程序模塊********************************************************/void init_DS18B20(void) //18b20初始化程序{ uchar time。}/****************************************************** * 函數(shù):lcd顯示字符串模塊* *******************************************************/ void lcd_writestring(unsigned char *s) { while (*s) //顯示字符串 { lcd_writedate( *s)。 lcd_write(0x80)。 lcd_write(0x01)。 lcd_write(0x06)。 lcd_write(0x0C)。}/******************************************************* 函數(shù):1602 1602初始化模塊*******************************************************/void init_1602(void) //1602初始化{ lcd_write(0x38)。 delay(1)。 delay(1)。 rw=0。 e=0。 e=1。 P0=。}/******************************************************* 函數(shù):1602 寫地址函數(shù)模塊*******************************************************/void lcd_write(uchar ) //寫地址函數(shù){ rs=0。y0。z0。 }}/******************************************************* 函數(shù):1602 延時(shí)模塊*******************************************************/void delay(unsigned int z) //延時(shí) { unsigned int y。 if(i=pwmflag2) // { enj=1。 } else { pwm1=0。 } if(i==101) { i=1。 j++。 // TL0=0xf0。 //開(kāi)始計(jì)時(shí)}/******************************************************* 函數(shù):中斷模塊*******************************************************/void timer0() interrupt 1{ int pwm1。 //開(kāi)中斷 ET0=1。 // TL0=0xf0。 TMOD=0x01。} /******************************************************* 函數(shù):計(jì)時(shí)器初始化模塊*******************************************************/void init_time(void){ in1=1。 DAOut=Pnow。 pwmflag2=0。 } else { if(Enow)pwmflag1=80。 else pwmflag2=25*Pnow。(Enow3))pwmflag2=90。 //PI的輸出 if(Pnow4)Pnow=4。 //積分上限 if(Pinow0)Pinow=0。 //積分分離 else { Pinow=Ki*Enow+Pil
點(diǎn)擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1