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

正文內(nèi)容

基于stc89c52單片機溫度控制電路設(shè)計畢業(yè)論文-資料下載頁

2025-06-27 21:10本頁面
  

【正文】 sbit p36=P2^6。sbit dp=P0^7。sbit p37=P2^7。sbit DQ=P2^2。 //定義 DS18B20 總線 I/Osbit SET=P3^1。 //定義選擇報調(diào)整警溫度上限和下限(1 為上限,0 為下限)sbit LING=P2^0。 //定義閃爍signed char m。 //溫度值全局變量bit sign=0。 //外部中斷狀態(tài)標(biāo)志signed char shangxian=38。 //上限報警溫度,默認值為 38signed char xiaxian=5。 //下限報警溫度,默認值為 5ucharcode LEDData[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf}。/*****延時子程序*****/void Delay(uint i){ while( i )。}/*****初始化 DS18B20*****/void Init_DS18B20(void){ unsigned char x=0。 DQ=1。 Delay(8)。 //稍做延時 DQ=0。 //單片機將 DQ 拉低 Delay(80)。 //精確延時,大于 480us DQ=1。 //拉高總線 Delay(14)。 x=DQ。 //稍做延時后,如果 x=0 則初始化成功,x=1 則初始化失敗 Delay(20)。}/*****讀一個字節(jié)*****/unsigned char ReadOneChar(void){ unsigned char i=0。 unsigned char dat=0。 for (i=8。i0。i) { DQ=0。 // 給脈沖信號 dat=1。 DQ=1。 // 給脈沖信號 if(DQ) dat|=0x80。 Delay(4)。 } return(dat)。}/*****寫一個字節(jié)*****/void WriteOneChar(unsigned char dat){ unsigned char i=0。 for (i=8。 i0。 i) { DQ=0。 DQ=datamp。0x01。 Delay(5)。 DQ=1。 dat=1。 }} void Tmpchange(void) //發(fā)送溫度轉(zhuǎn)換命令{ Init_DS18B20()。 WriteOneChar(0xCC)。 //跳過讀序號列號的操作 WriteOneChar(0x44)。 //啟動溫度轉(zhuǎn)換}/*****讀取溫度*****/unsigned int ReadTemperature(void){ unsigned char a=0。 unsigned char b=0。 unsigned int t=0。 float tt=0。 Tmpchange()。 Init_DS18B20()。 WriteOneChar(0xCC)。 //跳過讀序號列號的操作 WriteOneChar(0xBE)。 //讀取溫度寄存器 a=ReadOneChar()。 //讀低 8 位 b=ReadOneChar()。 //讀高 8 位 t=b。 t=8。 t=t|a。 tt=t*。 t= tt*100+。 //放大 100 倍輸出并四舍五入 return(t)。}/*****顯示開機初始化等待畫面*****/Disp_init() { P0 = 0x80。 //顯示p34=1。p35=0。p36=0。p37=0。Delay(200)。P0 = 0x80。p34=0。p35=1。p36=0。p37=0。 Delay(200)。 P0 = 0x80。 p34=0。p35=0。p36=1。p37=0。 Delay(200)。 P0 = 0x80。p34=0。p35=0。p36=0。p37=1。 Delay(200)。 P0 = 0x80。}/*****顯示溫度子程序*****/Disp_Temperature() //顯示溫度{ uint a,b,c,d,e。 e=ReadTemperature()。 //獲取溫度值 a=e/1000。 //計算得到十位數(shù)字 b=e/100a*10。 //計算得到個位數(shù)字 d=e%10。 //計算得到小數(shù)點后兩位 c=(e%100)/10。 //計算得到小數(shù)點后一位 m=e/100。 if(mshangxian || mxiaxian) LING=1。 //溫度不在范圍內(nèi)報警 else LING=0。p34=0。p35=0。p36=0。p37=0。 P0 =LEDData[d]。 //顯示小數(shù)點后兩位 p34=1。p35=0。p36=0。p37=0。 Delay(300)。p34=0。p35=0。p36=0。p37=0。 P0 =LEDData[c]。 //顯示小數(shù)點后一位p34=0。p35=1。p36=0。p37=0。 Delay(300)。p34=0。p35=0。p36=0。p37=0。 P0 =LEDData[b]。 //顯示個位dp=0。p34=0。p35=0。p36=1。p37=0。 Delay(300)。p34=0。p35=0。p36=0。p37=0。 P0 =LEDData[a]。 //顯示十位p34=0。p35=0。p36=0。p37=1。 Delay(300)。p34=0。p35=0。p36=0。p37=0。 //關(guān)閉顯示}disptiaozheng() { uchar f,g,j,k。 f=shangxian/10。 g=shangxian%10。 j=xiaxian/10。 k=xiaxian%10。p34=0。p35=0。p36=0。p37=0。 P0 =0xc0。 //顯示 0p34=1。p35=0。p36=0。p37=0。 Delay(200)。p34=0。p35=0。p36=0。p37=0。 P0 =0xc0。 //顯示 0p34=0。p35=1。p36=0。p37=0。 Delay(200)。p34=0。p35=0。p36=0。p37=0。 if(SET==1) { P0 =LEDData[g]。 dp=0。 //顯示上限溫度個位 } else { P0 =LEDData[k]。 dp=0。 }p34=0。p35=0。p36=1。p37=0。 Delay(200)。p34=0。p35=0。p36=0。p37=0。 if(SET==1) P0 =LEDData[f]。 //顯示上限溫度十位 else { if(f==0) P0=0x00。 //不顯示下限溫度十位 else P0 =LEDData[j]。 //顯示下限溫度十位 }p34=0。p35=0。p36=0。p37=1。 Delay(200)。p34=0。p35=0。p36=0。p37=0。 //關(guān)閉顯示 Delay(20)。 }/*****外部中斷 0 服務(wù)程序*****/void int0(void) interrupt 0{ EX0=0。 //關(guān)外部中斷 0 sign=1。 if(SET==1) shangxian++。 else xiaxian++。 Delay(500)。 EX0=1。 }/*****外部中斷 1 服務(wù)程序*****/void int1(void) interrupt 2{ EX1=0。 //關(guān)外部中斷 0 sign=1。 if(SET==1) shangxian。 else xiaxian。 Delay(500)。 EX1=1。 }/*****主函數(shù)*****/void main(void){ uint z。 IT0=1。 IT1=1。 EX0=1。 EX1=1。 EA=1。 ReadTemperature()。 LING=0。 for(z=0。z100。z++) { Disp_init()。 }while(1) { Disp_Temperature()。 if(sign==1) { for(z=0。z300。z++) disptiaozheng()。 sign=0。 } }
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1