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

正文內(nèi)容

課程設(shè)計(jì)-基于單片機(jī)的數(shù)字溫度計(jì)課程設(shè)計(jì)(編輯修改稿)

2025-07-10 16:30 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 id int0(void) interrupt 0 { EX0=0。 //關(guān)外部中斷 0 if(DEC==0amp。amp。set_st==1) { shangxian。 if(shangxianxiaxian)shangxian=xiaxian。 } else if(DEC==0amp。amp。set_st==2) { xiaxian。 if(xiaxian0)xiaxian=0。 } } /*****外部中斷 1 服務(wù)程序 *****/ void int1(void) interrupt 2 { EX1=0。 //關(guān)外部中斷 1 if(ADD==0amp。amp。set_st==1) { shangxian++。 if(shangxian99)shangxian=99。 } else if(ADD==0amp。amp。set_st==2) { xiaxian++。 if(xiaxianshangxian)xiaxian=shangxian。 } } /*****讀取溫度 *****/ void check_wendu(void) { uint a,b,c。 c=ReadTemperature()5。 //獲取溫度值并減去 DS18B20 的溫漂誤差 a=c/100。 //計(jì)算得到十位數(shù)字 b=c/10a*10。 //計(jì)算得到個(gè)位數(shù)字 m=c/10。 //計(jì)算得到整數(shù)位 n=ca*100b*10。 //計(jì)算得到小數(shù)位 if(m0){m=0。n=0。} //設(shè)置溫度顯示上限 if(m99){m=99。n=9。} //設(shè)置溫度顯示上限 } /*****顯示開機(jī)初始化等待畫面 *****/ Disp_init() { P2=0xbf。 P1=0xfe。 Delay(200)。 P2=0xbf。 P1=0xfd。 Delay(200)。 P2=0xbf。 P1=0xfb。 Delay(200)。 P2=0xbf。 P1=0xf7。 //第四 Delay(200)。 P1=0xff。 // 關(guān)閉顯示 } /*****顯示溫度子程序 *****/ Disp_Temperature() //顯示溫度 { P2=0xc6。 //顯示 C P1=0xf7。 // Delay(300)。 P2=LEDData[n]。 //顯示個(gè)位 P1=0xfb。 // Delay(300)。 P2=LEDData[m%10]。 //顯示小數(shù)點(diǎn) DIAN=0。 P1=0xfd。 Delay(300)。 P2=LEDData[m/10]。 //顯示百位 P1=0xfe。 Delay(300)。 P1=0xff。 //關(guān)閉顯示 } /*****顯示報(bào)警溫度子程序 *****/ Disp_alarm(uchar baojing) { P2=0xc6。 //顯示 C P1=0xf7。 Delay(200)。 P2=LEDData[baojing%10]。 //顯示十位 P1=0xfb。 Delay(200)。 P2=LEDData[baojing/10]。 //顯示百位 P1=0xfd。 Delay(200)。 if(set_st==1)P2=0x89。 else if(set_st==2)P2=0xc7。 //上限 H、下限 L 標(biāo)示 P1=0xfe。 Delay(200)。 P1=0xff。 } /*****報(bào)警子程序 *****/ void Alarm() { if(x=10){beep_st=~beep_st。x=0。} if((m=shangxianamp。amp。beep_st==1)||(mxiaxianamp。amp。beep_st==1))BEEP=0。 else BEEP=1。 } /*****主函數(shù) *****/ void main(void) { uint z。 InitTimer()。 //初始化定時(shí)器 EA=1。 //全局中斷開關(guān) TR0=1。 ET0=1。 //開啟定時(shí)器 0 IT0=1。 IT1=1。 check_wendu()。 check_wendu()。 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) { EX0=0。 //關(guān)閉外部中斷 0 EX1=0。 //關(guān)閉外部中斷 1 check_wendu()。 Disp_Temperature()。 Alarm()。 //報(bào)警檢測(cè) } else if(set_st==1) { BEEP=1。 //關(guān)閉蜂鳴器 EX0=1。 //開啟外部中斷 0 EX1=1。 //開啟外部中斷 1 if(x=10){shanshuo_st=~shanshuo_st。x=0。} if(shanshuo_st) {Disp_alarm(shangxian)。} } else if(set_st==2) { BEEP=1。 //關(guān)閉蜂鳴器 EX0=1。 //開啟外部中斷 0 EX1=1。 //開啟外部中斷 1 if(x=10){shanshuo_st=~shanshuo_st。x=0。} if(shanshuo_st) {Disp_alarm(xiaxian)。} } } } /*****END*****/ : include define DQ P3_6 //定義 DS18B20 總線 I/O /*****延時(shí)子程序 *****/ void Delay_DS18B20(int num) { while(num) 。 } /*****初始化 DS18B20*****/ void Init_DS18B20(void) { unsigned char x=0。 DQ = 1。 //DQ 復(fù)位 Delay_DS18B20(8)。 //稍做延時(shí) DQ = 0。 //單片機(jī)將 DQ 拉低 Delay_DS18B20(80)。 //精確延時(shí),大于 480us DQ = 1。 //拉高總線 Delay_DS18B20(14)。 x = DQ。 //稍做延時(shí)后,如果 x=0 則初始化成功, x=1 則初始化失敗 Delay_DS18B20(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_DS18B20(4)。 } return(dat)。 } /*****寫一個(gè)字節(jié) *****/ void WriteOneChar(unsigned char dat) { unsigned char i=0。 for (i=8。 i0。 i) { DQ = 0。 DQ = datamp。0x01。 Delay_DS18B20(5)。 DQ = 1。 dat=1。 } } /*****讀取溫度 *****/ int ReadTemperature(void) { unsigned char a=0。 unsigned char b=0。 int t=0。 float tt=0。 Init_DS18B20()。 WriteOneChar(0xCC)。 //跳過(guò)讀序號(hào)列號(hào)的操作 WriteOneChar(0x44)。 //啟動(dòng)溫度轉(zhuǎn)換 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*10+。 /
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1