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

正文內(nèi)容

基于單片機(jī)實現(xiàn)的制冷溫控系統(tǒng)的設(shè)計-資料下載頁

2024-11-12 14:59本頁面

【導(dǎo)讀】度下降到下限溫度時,停止制冷。當(dāng)溫度在上下限溫度之間時,執(zhí)行機(jī)構(gòu)不執(zhí)行。示當(dāng)前運(yùn)行狀態(tài)和溫度,精確到小數(shù)點(diǎn)一位(℃)。本設(shè)計使用的軟件有keil和proteus。keil主要用來進(jìn)行單片機(jī)程序的編寫和編譯,proteus可以用來進(jìn)行單片機(jī)的仿真,并能方便和直觀的驗證程序的正確性。技術(shù)參數(shù):利用DS18B20進(jìn)行實時溫度采集,精度為。單片機(jī)獲取當(dāng)前溫度,控制繼電器的斷開與閉合,將溫度控制在10~20度。單片機(jī)控制1602液晶顯示當(dāng)前工作狀態(tài)和實時溫度,刷新時間為1s。a編寫所用到的各種元器件的原理和簡單介紹b完成主題設(shè)計思路完成電路圖設(shè)計;隨著計算機(jī)在日常生活中的廣泛應(yīng)用,單片機(jī)的應(yīng)用正在不斷地走向深入,同時帶動傳統(tǒng)控制檢測日新月益更新。該有硬件軟件的結(jié)合。從而滿足了大多數(shù)人對于空調(diào)的日常要求。本系統(tǒng)采用DS18B20充當(dāng)測溫器件。外部溫度信號經(jīng)DS18B20將輸入的模。擬信號轉(zhuǎn)換成8位的數(shù)字信號,通過并口傳送到單片機(jī)系統(tǒng)。

  

【正文】 ////////////////////主程序 /////////////////////////////// void main() { init_lcd()。 Init_DS18B20()。 timer0_init()。 while(1) { Print()。 set_num()。 Comparison()。 } } void Comparison() { if(N_Countamp。amp。M_Count) { if(TEMP_NOWTEMP_SET) { warm=1。 cold=0。 } if(TEMP_NOWTEMP_SET) { cold=1。 warm=0。 } if(TEMP_NOW==TEMP_SET) { cold=0。 warm=0。 } } } : 煙臺南山學(xué)院本科畢業(yè)論文 25 ifndef _18B20_H define _18B20_H include extern uchar Init_DS18B20()。 extern void Read_Temperature()。 extern void Display_Temperature()。 endif : include include define delayNOP() {_nop_()。_nop_()。_nop_()。_nop_()。} uchar code Temperature_Char[8] = {0x0c,0x12,0x12,0x0c,0x00,0x00,0x00,0x00}。 uchar code df_Table[]={0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9}。 uchar CurrentT = 0。 uchar Temp_Value[]={0x00,0x00}。 uchar Display_Digit[]={0,0,0,0}。 bit DS18B20_IS_OK = 1。 void Delay_INI(uint x) { while(x)。 } void Delay(unsigned int n) { do { _nop_()。_nop_()。 _nop_()。_nop_()。 _nop_()。_nop_()。 _nop_()。_nop_()。 _nop_()。 n。 }while(n)。 } uchar Init_DS18B20() { 煙臺南山學(xué)院本科畢業(yè)論文 26 uchar status。 DQ = 1。 Delay_INI(8)。 DQ = 0。 Delay_INI(90)。 DQ = 1。 Delay_INI(8)。 status=DQ。 Delay_INI(100)。 DQ = 1。 return status。 } uchar ReadOneByte() { uchar i,dat=0。 DQ = 1。 _nop_()。 for(i=0。i8。i++) { DQ = 0。 dat = 1。 DQ = 1。 _nop_()。 _nop_()。 if(DQ) dat |= 0X80。 Delay(30)。 DQ = 1。 } return dat。 } void WriteOneByte(uchar dat) { uchar i。 for(i=0。i8。i++) { DQ = 0。 DQ = datamp。 0x01。 Delay(5)。 DQ = 1。 dat = 1。 } 煙臺南山學(xué)院本科畢業(yè)論文 27 } void Read_Temperature() { if(Init_DS18B20()==1) DS18B20_IS_OK=0。 else { WriteOneByte(0xcc)。 WriteOneByte(0x44)。 Init_DS18B20()。 WriteOneByte(0xcc)。 WriteOneByte(0xbe)。 Temp_Value[0] = ReadOneByte()。 Temp_Value[1] = ReadOneByte()。 DS18B20_IS_OK=1。 } } void Display_Temperature() { uchar t = 150, ng = 0。 if((Temp_Value[1]amp。0xf8)==0xf8) { Temp_Value[1] = ~Temp_Value[1]。 Temp_Value[0] = ~Temp_Value[0]+1。 if(Temp_Value[0]==0x00) Temp_Value[1]++。 ng = 1。 } Display_Digit[0] = df_Table[Temp_Value[0]amp。0x0f]。 CurrentT = ((Temp_Value[0]amp。0xf0)4) | ((Temp_Value[1]amp。0x07)4)。 Display_Digit[3] = CurrentT/100。 Display_Digit[2] = CurrentT%100/10。 Display_Digit[1] = CurrentT%10。 Current_Temp_Display_Buffer[11] = Display_Digit[0] + 39。039。 Current_Temp_Display_Buffer[10] = 39。.39。 Current_Temp_Display_Buffer[9] = Display_Digit[1] + 39。039。 Current_Temp_Display_Buffer[8] = Display_Digit[2] + 39。039。 Current_Temp_Display_Buffer[7] = Display_Digit[3] + 39。039。 TEMP_NOW=Display_Digit[2]*10+Display_Digit[1]+Display_Digit[0]* 。 if(Display_Digit[3] == 0) Current_Temp_Display_Buffer[7] = 39。 39。 if(Display_Digit[2] == 0amp。amp。Display_Digit[3]==0) 煙臺南山學(xué)院本科畢業(yè)論文 28 Current_Temp_Display_Buffer[8] = 39。 39。 if(ng) { TEMP_NOW=(Display_Digit[2]*10+Display_Digit[1]+Display_Digit[0]*)。 if(Current_Temp_Display_Buffer[8] == 39。 39。) Current_Temp_Display_Buffer[8] = 39。39。 else if(Current_Temp_Display_Buffer[7] == 39。 39。) Current_Temp_Display_Buffer[7] = 39。39。 else Current_Temp_Display_Buffer[6] = 39。39。 } } : ifndef _KEY_H define _KEY_H include extern unsigned char Keys_Scan()。 extern void set_num()。 extern void set()。 endif : include include include include uchar code KeyCodeTable[]= { 0x11,0x12,0x14,0x18,0x21,0x22,0x24,0x28,0x41,0x42,0x44,0x48,0x81,0x82,0x84,0x88 }。 void Delay_key() { uchar i。 for(i=0。i200。i++)。 } 煙臺南山學(xué)院本科畢業(yè)論文 29 uchar Keys_Scan() { uchar sCode,kCode,k。 P3 = 0xf0。 if((P3amp。0xf0)!=0xf0) { Delay_key()。 if((P3amp。0xf0)!=0xf0) { sCode = 0xfe。 for(k=0。k4。k++) { P3 = sCode。 if((P3amp。0xf0)!=0xf0) { kCode = ~P3。 if(kCode == KeyCodeTable[0]) return K_ONE。 else if(kCode == KeyCodeTable[1]) return K_TWO。 else if(kCode == KeyCodeTable[2]) return K_THREE。 else if(kCode == KeyCodeTable[3]) return K_FOUR。 else if(kCode == KeyCodeTable[4]) return K_FIVE。 else if(kCode == KeyCodeTable[5]) return K_SIX。 else if(kCode == KeyCodeTable[6]) return K_SEVEN。 else if(kCode == KeyCodeTable[7]) return K_EIGHT。 else if(kCode == KeyCodeTable[8]) return K_NINE。 else if(kCode == KeyCodeTable[9]) return K_UP。 else if(kCode == KeyCodeTable[10]) return K_DOWN。 else if(kCode == KeyCodeTable[11]) return K_CLEAR。 else if(kCode == KeyCodeTable[12]) return K_OK。 else if(kCode == KeyCodeTable[13]) return K_ZERO。 else if(kCode == KeyCodeTable[14]) return K_POINT。 else if(kCode == KeyCodeTable[15]) return K_SET。 } else sCode = _crol_(sCode,1)。 } } } return 1。 } void set_num() { uchar key。 煙臺南山學(xué)院本科畢業(yè)論文 30 if(sel==0) { key = Keys_Scan()。 if(K_CLEAR == key) { while(Keys_Scan() == K_CLEAR)。 set_Temp_Display_Buffer[8] =39。 39。 set_Temp_Display_Buffer[9] =39。 39。 set_Temp_Display_Buffer[10]=39。 39。 set_Temp_Display_Buffer[11]=39。 39。 // 48(0)49(1)50(2)51(3)52(4)53(5)54(6)55(7)56(8)57(9) M_Count=0。 cold=0。 warm=0。 } if(K_UP == key) { while(Keys_Scan() == K_UP)。 if((set_Temp_Display_Buffer[11]47)amp。amp。(set_Temp_Display_Buffer[11]57)) { set_Temp_Display_Buffer[11]+=1。 } else if(set_Temp_Display_Buffer[11]==57) { set_Temp_Display_Buffer[11]=48。 if((set_T
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1