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

正文內(nèi)容

溫度傳感器設(shè)計(jì)畢業(yè)設(shè)計(jì)(論文)-資料下載頁

2025-06-06 20:09本頁面
  

【正文】 入 respons()。 write_byte(address)。 respons()。 write_byte(date)。 respons()。 stop()。 } uc read_add(uc address)//讀隨意地址內(nèi)容 { uc date。 start()。 write_byte(0xa0)。//0xa0代表寫入 respons()。 write_byte(address)。 respons()。 start()。 write_byte(0xa1)。//0xa1代表讀出 respons()。 date=read_byte()。 stop()。 return date。//返回值 } /*****初始化 DS18B20*****/ void Init_DS18B20(void) { uc w=0。 DQ = 1。 //DQ復(fù)位 Delay_DS18B20(8)。 //稍做延時(shí) DQ = 0。 //單片機(jī)將 DQ拉低 共 頁 第 頁 Delay_DS18B20(80)。 //精確延時(shí),大于 480us DQ = 1。 //拉高總線 Delay_DS18B20(14)。 w = DQ。 //稍做延時(shí)后,如果 x=0則初始化成功, x=1 則初始化失敗 Delay_DS18B20(20)。 } /*****讀一個(gè)字節(jié) *****/ unsigned char ReadOneChar(void) { uc i=0。 uc dat = 0。 for (i=8。i0。i) { DQ = 0。 // 給脈沖信號(hào) dat=1。 DQ = 1。 // 給脈沖信號(hào) if(DQ) dat|=0x80。 Delay_DS18B20(4)。 } return(dat)。 } /*****寫一個(gè)字節(jié) *****/ void WriteOneChar(uc dat) { uc i=0。 for (i=8。 i0。 i) { DQ = 0。 DQ = datamp。0x01。 Delay_DS18B20(5)。 DQ = 1。 dat=1。 } } 共 頁 第 頁 /*****讀取溫度 *****/ ui ReadTemperature(void) { ui b=0。 float tt=0。 Init_DS18B20()。 WriteOneChar(0xCC)。 //跳過讀序號(hào)列號(hào)的操作 WriteOneChar(0x44)。 //啟動(dòng)溫度轉(zhuǎn)換 Init_DS18B20()。 WriteOneChar(0xCC)。 //跳過讀序號(hào)列號(hào)的操作 WriteOneChar(0xBE)。 //讀取溫度寄存器 a=ReadOneChar()。 //讀低 8位 b=ReadOneChar()。 //讀高 8位 t=b。 t=8。 t=t|a。 tt=t*。 t= tt*10+。 //放大 10倍輸出并四舍五入 return(t)。 } /*****延時(shí)子程序 *****/ void Delay(ui num) { while( num )。 } /*****初始化定時(shí)器 0*****/ void InitTimer(void) { TMOD=0x01。 TH0=0x3c。 TL0=0xb0。 //50ms(晶振 12M) } /*****讀取溫度 *****/ void check_wendu(void) 共 頁 第 頁 { ui f。 f=ReadTemperature()5。 //獲取溫度值并減去 DS18B20的溫漂誤差 if(f0)f=0。 if(f999)f=999。 bai=f/100。 //計(jì)算得到十位數(shù)字 shi=(f%100)/10。 //計(jì)算得到個(gè)位數(shù)字 ge=(f%100)%10。 //計(jì)算得到整數(shù)位 } /*****顯示開機(jī)初始化等待畫面 *****/ void Disp_init(void) { P0 = ~0x80。 //顯示 P2 = 0x7F。 Delay(200)。 P2 = 0xDF。 Delay(200)。 P2 = 0xF7。 Delay(200)。 P2 = 0xFD。 Delay(200)。 P2 = 0xFF。 //關(guān)閉顯示 } /*****顯示溫度子程序 *****/ void Disp_Temperature(void) //顯示溫度 { P0 = ~0x98。 //顯示 C P2 = 0x7F。 Delay(400)。 P0=~LEDData[ge]。 //顯示個(gè)位 P2 = 0xDF。 Delay(400)。 P0 =~LEDData[shi]。 //顯示十位 DIAN = 0。 //顯示小數(shù)點(diǎn) P2 = 0xF7。 共 頁 第 頁 Delay(400)。 P0 =~LEDData[bai]。 //顯示百位 P2 = 0xFD。 Delay(400)。 P2 = 0xff。 //關(guān)閉顯示 } /*****顯示報(bào)警溫度子程序 *****/ void Disp_alarm(uc baojing) { P0 =~0x98。 //顯示 C P2 = 0x7F。 Delay(200)。 P0 =~LEDData[baojing%10]。 //顯示十位 P0 =~LEDData[baojing/10]。 //顯示百位 P2 = 0xF7。 Delay(200)。 if(set_st==1)P0 =~0xCE。 else if(set_st==2)P0 =~0x1A。 //上限 H、下限 L標(biāo)示 P2 = 0xFD。 Delay(200)。 P2 = 0xff。 //關(guān)閉顯示 } /*****報(bào)警子程序 *****/ void Alarm() { if(x=10){beep_st=~beep_st。x=0。} if((bai*10+shi)=shangxianamp。amp。beep_st==1) { BEEP=0。 ALAM1=0。 } else if((bai*10+shi)=shangxianamp。amp。beep_st==0) { BEEP=1。 ALAM1=0。 共 頁 第 頁 } if((bai*10+shi)xiaxianamp。amp。beep_st==1) { BEEP=0。 ALAM=0。 } else if((bai*10+shi)xiaxianamp。amp。beep_st==0) { BEEP=1。 ALAM=0。 } if(((bai*10+shi)shangxian)amp。amp。((bai*10+shi)=xiaxian)) { BEEP=1。 ALAM1=1。 ALAM=1。 } } /*****主函數(shù) *****/ void main(void) { ui z。 InitTimer()。 //初始化定時(shí)器 EA=1。 //全局中斷開關(guān) TR0=1。 ET0=1。 //開啟定時(shí)器 0 check_wendu()。 check_wendu()。 shangxian=read_add(10)。 xiaxian=read_add(20)。 for(z=0。z300。z++) { Disp_init()。 } while(1) 共 頁 第 頁 { if(SET==0) { Delay(2021)。 do{} while(SET==0)。 set_st++。x=0。shanshuo_st=1。 if(set_st2)set_st=0。 } if(set_st==0) { check_wendu()。 Disp_Temperature()。 Alarm()。 //報(bào)警檢測(cè) } else if(set_st==1) { BEEP=1。 //關(guān)閉蜂鳴器 ALAM=1。 ALAM1=1。 if(x=10){shanshuo_st=~shanshuo_st。x=0。} if(shanshuo_st) {Disp_alarm(shangxian)。} if(ADD==0) { do{Disp_alarm(shangxian)。} shangxian++。 if(shangxian99)shangxian=99。 write_add(10,shangxian)。 } else if(DEC==0) { do{Disp_alarm(shangxian)。} while(DEC==0)。 shangxian。 if(shangxianxiaxian) shangxian=xiaxian。 共 頁 第 頁 write_add(10,shangxian)。 } } else if(set_st==2) { BEEP=1。 //關(guān)閉蜂鳴器 ALAM=1。 ALAM1=1。 if(x=10){shanshuo_st=~shanshuo_st。x=0。} if(shanshuo_st) {Disp_alarm(xiaxian)。} if(ADD==0) { do{Disp_alarm(xiaxian)。} while(ADD==0)。 xiaxian++。 if(xiaxianshangxian) xiaxian=shangxian。 write_add(20,xiaxian)。 } else if(DEC==0) { do{Disp_alarm(xiaxian)。} while(DEC==0)。 xiaxian。 if(xiaxian0) xiaxian=0。 write_add(20,xiaxian)。 } } } } /*****定時(shí)器 0中斷服務(wù)程序 *****/ void timer0(void) interrupt 1 { TH0=0x3c。 TL0=0xb0。 x++。 共 頁 第 頁 } 裝 訂 線
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1