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

正文內(nèi)容

畢業(yè)設(shè)計-基于單片機(jī)的恒溫箱控制系統(tǒng)-資料下載頁

2024-12-01 01:33本頁面

【導(dǎo)讀】本設(shè)計采用單片機(jī)控制整個系統(tǒng),通過按鍵設(shè)置溫度范圍,由溫度傳感器DS18B20采集箱中空氣的溫。用半導(dǎo)體制冷片進(jìn)行加熱、制。冷工作,通過STC89C51給出指令控制兩個繼電器開關(guān),以改變電流的正負(fù)極,實現(xiàn)半導(dǎo)體的加熱、制冷工作,同時在。半導(dǎo)體制冷片上配以風(fēng)扇,當(dāng)半導(dǎo)體朝向箱內(nèi)的一面進(jìn)行制冷工作時,風(fēng)扇可將朝向箱外加熱的一面的熱量散開,以防。隨著社會經(jīng)濟(jì)的進(jìn)一步發(fā)展,能源、環(huán)境問題日益突出,節(jié)能、環(huán)保已成為當(dāng)今社會關(guān)注的重點。對特定且穩(wěn)定的溫度環(huán)境。基于恒溫箱的廣泛使用,本作品以此為基點,設(shè)計制作小型恒溫箱控制系統(tǒng)。制冷過程中,LCD可及時顯示恒溫箱內(nèi)的溫度進(jìn)行監(jiān)控。還是制冷工作,蜂鳴器都會發(fā)出“嘀嘀”的響聲以報告此時箱內(nèi)的溫度在設(shè)置的范圍之外。復(fù)工作,以使箱子達(dá)到恒溫的效果。溫度傳感器DS18B20是“一線總線”接口,且可以直接讀出被測溫度,測溫范圍大[1],因。此選擇DS18B20來采集溫度,。LCD1602,可以顯示英文及數(shù)字,質(zhì)量輕,耗電小,而且顯示內(nèi)容多[3]。

  

【正文】 lcd_wdat(display[1])。 //低位數(shù)顯示 } } /*******************************************************************/ /* */ /* 讀取溫度 */ /* */ /*******************************************************************/ Read_Temperature(void) { uchar i。 TR0=0。 //關(guān)中斷 ,防止讀數(shù)錯誤 Init_DS18B20()。 WriteOneChar(0xCC)。 //跳過讀序號列號的操作 WriteOneChar(0x44)。 //啟動溫度轉(zhuǎn)換 Init_DS18B20()。 WriteOneChar(0x55)。 //匹配 ROM 命令 24 for(i=0。i8。i++) WriteOneChar(RomCode[i])。 WriteOneChar(0xBE)。 //讀取溫度寄存器 temp_data[0] = ReadOneChar()。 //溫度低 8 位 temp_data[1] = ReadOneChar()。 //溫度高 8 位 temp_alarm[0] = ReadOneChar()。 //溫度報警 TH temp_alarm[1] = ReadOneChar()。 //溫度報警 TL temp_p=((temp_data[0]amp。0xf0)4)|((temp_data[1]amp。0x0f)4)。 //取溫度整數(shù)值 TR0=1。 //開中斷 } /*******************************************************************/ /* */ /* 數(shù)據(jù)轉(zhuǎn)換與溫度顯示 */ /* */ /*******************************************************************/ Disp_Temperature() { uchar s=0。 if(temp_data[1]127) //溫度為負(fù)值 { temp_data[0]=(~temp_data[0])+1。 //取反加一,將補(bǔ)碼變成原碼 if((~temp_data[0])=0xff) temp_data[1]=(~temp_data[1])+1。 else temp_data[1]=~temp_data[1]。 s=1。 } display[4]=temp_data[0]amp。0x0f。 display[0]=(display[4]*10/16)+0x30。 display[4]=((temp_data[0]amp。0xf0)4)|((temp_data[1]amp。0x0f)4)。 display[3]=display[4]/100+0x30。 display[1]=display[4]%100。 display[2]=display[1]/10+0x30。 display[1]=display[1]%10+0x30。 if(display[3]==0x30) //高位為 0,不顯示 { display[3]=0x20。 if(display[2]==0x30) //次高位為 0,不顯示 display[2]=0x20。 } 25 if(s) display[3]=0x2d。 //顯示負(fù)號 lcd_pos(0x07)。 lcd_wdat(display[3])。 //百位數(shù)顯示 lcd_wdat(display[2])。 //十位數(shù)顯示 lcd_wdat(display[1])。 //個位數(shù)顯示 lcd_wdat(39。.39。)。 lcd_wdat(display[0])。 //小數(shù)位數(shù)顯示 lcd_wdat(0x00)。 //顯示自定義字符 lcd_wdat(39。C39。)。 //顯示 C } /*******************************************************************/ /* */ /* 蜂鳴器響一聲 */ /* */ /*******************************************************************/ void beep() { unsigned char y。 for (y=0。y100。y++) { Delay(70)。 BEEP=!BEEP。 //BEEP 取反 } BEEP=1。 //關(guān)閉蜂鳴器 Delay(25000)。 } /*******************************************************************/ /* */ /* ROMCORD 顯示菜單 */ /* */ /*******************************************************************/ void RomCode_Menu () { uchar m。 lcd_init()。 //初始化 LCD lcd_pos(0)。 //設(shè)置顯示位置為第一行 for(m=0。m16。m++) //顯示字符 lcd_wdat(cdis1[m])。 Read_RomCord()。 //讀取 64 位序列碼 CRC8()。 //CRC 效驗 26 if(crc==0) //CRC 效驗正確 { Disp_RomCode(2)。 //顯示 64 位序列碼 } } /*******************************************************************/ /* */ /* DS18B20 ERROR 顯示菜單 */ /* */ /*******************************************************************/ void Error_Menu () { uchar m。 lcd_init()。 //初始化 LCD lcd_pos(0)。 //設(shè)置顯示位置為第一行的第 1 個字符 for(m=0。m16。m++) lcd_wdat(cdis3[m])。 //顯示字符 lcd_pos(0x40)。 //設(shè)置顯示位置為第二行第 1 個字符 for(m=0。m16。m++) lcd_wdat(cdis4[m])。 //顯示字符 } /*******************************************************************/ /* */ /* DS18B20 正常顯示菜單 */ /* */ /*******************************************************************/ void Natural_Menu () { uchar m。 lcd_init()。 //初始化 LCD lcd_pos(0)。 //設(shè)置顯示位置為第一行的第 1 個字符 for(m=0。m16。m++) lcd_wdat(cdis5[m])。 //顯示字符 lcd_pos(0x40)。 //設(shè)置顯示位置為第二行第 1 個字符 for(m=0。m16。m++) lcd_wdat(cdis6[m])。 //顯示字符 Read_Temperature()。 Disp_Temp_alarm(0x43,0)。 //顯示 TH值 Disp_Temp_alarm(0x4b,1)。 //顯示 TL值 27 Disp_Temperature()。 //顯示實時溫度值 } /*******************************************************************/ /* */ /* 主函數(shù) */ /* */ /*******************************************************************/ void
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1