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

正文內(nèi)容

本科:遠(yuǎn)程溫度監(jiān)控系統(tǒng)的設(shè)計(jì)-資料下載頁

2024-12-04 10:59本頁面

【導(dǎo)讀】DS18B20對現(xiàn)場水阻試驗(yàn)用水溫?cái)?shù)據(jù)進(jìn)行遠(yuǎn)程無線測量與控制。實(shí)驗(yàn)表明,系統(tǒng)具有。其他生產(chǎn)領(lǐng)域,特別是人體無法接近的高溫或危險(xiǎn)場所的溫度控制.

  

【正文】 =P2^7。 sbit v1=P1^1。 //傳送數(shù)據(jù)口 sbit v2=P1^2。 sbit v3=P1^3。 sbit v4=P1^4。 sbit p33=P3^3。 define D_port P2 //顯示的數(shù)據(jù)口是 P2 /***********************************************************************/ void delay1(uchar MS)。 unsigned char ReadTemperature(void)。 void Init_DS18B20(void)。 unsigned char ReadOneChar(void)。 void WriteOneChar(unsigned char dat)。 void delay(unsigned int i)。 /************************************************************************/ void delay1ms(unsigned int t)//延時(shí) {unsigned int i,j。 for(i=0。it。i++) for(j=0。j50。j++)。 } 遠(yuǎn)程溫度監(jiān) 控系統(tǒng) 的設(shè)計(jì) 29 Checkbusy() //液晶檢測忙信號 { // //P0 全部置 1,可以查詢判斷 P0 口狀態(tài),讀取液晶的命令 RS=0。 RW=1。 EN=1。 _nop_()。 //讀液晶命令時(shí)各控制位的狀態(tài)幾時(shí)序 while(1) //判斷最高位狀態(tài),最高位是液晶忙的狀態(tài)位 { { P2=0xff。 EN=1。 // +++ 要不停地檢測 +++ _nop_ ()。 _nop_ ()。 _nop_ ()。 if (!busy) // LCD 空閑則退出 { EN=0。 break。 } EN=0。 } } //如果液晶忙,則循環(huán)查詢 } void wr_(unsigned char )//寫指令 // { delay1ms(1)。 Checkbusy()。 RS=0。 RW=0。 EN=0。 P2=。 _nop_ ()。 _nop_ ()。 _nop_ ()。 _nop_ ()。 _nop_ ()。 _nop_ ()。 EN=1。 廣東技術(shù)師范學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 30 _nop_ ()。 _nop_ ()。 _nop_ ()。 _nop_ ()。 _nop_ ()。 _nop_ ()。 EN=0。 } void wr_dat(unsigned char dat)//寫數(shù)據(jù) // { delay1ms(1)。 Checkbusy()。 RS=1。 RW=0。 EN=0。 D_port=dat。 _nop_ ()。 _nop_ ()。 _nop_ ()。 _nop_ ()。 _nop_ ()。 _nop_ ()。 EN=1。 _nop_ ()。 _nop_ ()。 _nop_ ()。 _nop_ ()。 _nop_ ()。 _nop_ ()。 EN=0。 } void lcd_init()//初始化設(shè)置 // {delay1ms(15)。 wr_(0x3C)。delay1ms(5)。 //8 位數(shù)據(jù),兩行字符, 5*10 點(diǎn)陣字符體 wr_(0x0F)。delay1ms(5)。 //開顯示,開光標(biāo),光標(biāo)閃爍 } void display(unsigned char *p)//顯示字符串 // { while(*p!=39。\039。) { wr_dat(*p)。 p++。 遠(yuǎn)程溫度監(jiān) 控系統(tǒng) 的設(shè)計(jì) 31 delay1ms(1)。 } } setpos(uchar posx,uchar posy) //顯示位置 { // posx=posxamp。0xf。 //將顯示在第幾位置轉(zhuǎn)為二十六進(jìn)制,每行總共 16 個(gè)位置 // posy=posyamp。0x1。 //設(shè)置顯示在第幾行 wr_(posx+posy*0x40+0x80)。 //設(shè)置位置命令最高位必須為一,所以要加0x80 ,顯示的位置 //wr_(posx)。 } /***************顯示一個(gè)字符子程序 **********************/ displaychar(uchar x,uchar y,uchar a) //顯示字符 { //Checkbusy()。 //檢查忙標(biāo)志位 setpos(x,y)。 //設(shè)置顯示位置 wr_dat(a)。 //將要顯示的數(shù)據(jù)寫到液晶 } displaystring(uchar x,uchar y,unsigned char *string) //顯示字符串 { setpos(x,y)。 while(*string) //字符串是以 39。\039。結(jié)束的,因此只要每結(jié)束就顯示下一字符 { wr_dat(*string)。 //顯示一個(gè)字符子程序 string++。 // length++。//液晶顯示的位置 +1 } } unsigned char read_dat()//dushuju//讀數(shù)據(jù)字節(jié) { unsigned char g1。 delay1ms(1)。 Checkbusy()。 RS=1。 RW=1。 EN=0。 delay1ms(1)。 EN=1。 廣東技術(shù)師范學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 32 delay1ms(1)。 g1=D_port。 return(g1)。 } unsigned char readchar(uchar x,uchar y) //讀字符 { unsigned char g2。 //Checkbusy()。 //檢查忙標(biāo)志位 setpos(x,y)。 //設(shè)置顯示位置 g2=read_dat()。 //將要顯示的數(shù)據(jù)寫到液晶 } /***********************************************************************/ wendu() { delay(100)。 temp=ReadTemperature()。 } /***************溫度程序 **********************/ void delay(unsigned int i)//延時(shí)函數(shù) { while(i)。 } /*************************************************************************/ //18b20 初始化函數(shù) void Init_DS18B20(void) { unsigned char s=0。 DQ = 1。 //DQ 復(fù)位 delay(8)。 //稍做延時(shí) DQ = 0。 //單片機(jī)將 DQ 拉低 delay(80)。 //精確延時(shí) 大于 480us DQ = 1。 //拉高總線 delay(10)。 s=DQ。 //稍做延時(shí)后 如果 x=0 則初始化成功 x=1 則初始化失敗 delay(5)。 } //讀一個(gè)字節(jié) unsigned char ReadOneChar(void) { unsigned char i=0。 unsigned char dat = 0。 for (i=8。i0。i) 遠(yuǎn)程溫度監(jiān) 控系統(tǒng) 的設(shè)計(jì) 33 { DQ = 0。 // 給脈沖信號 dat=1。 DQ = 1。 // 給脈沖信號 if(DQ) dat|=0x80。 delay(5)。 } return(dat)。 } //寫一個(gè)字節(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。 } delay(5)。 } //讀取溫度 unsigned char ReadTemperature(void) { unsigned char a=0。 unsigned char b=0。 unsigned char t=0。 // float tt=0。 Init_DS18B20()。 WriteOneChar(0xCC)。 // 跳過讀序號列號的操作 WriteOneChar(0x44)。 // 啟動(dòng)溫度轉(zhuǎn)換 delay(200)。 Init_DS18B20()。 WriteOneChar(0xCC)。 //跳過讀序號列號的操作 WriteOneChar(0xBE)。 //讀取溫度寄存器等(共可讀 9 個(gè)寄存器) 前兩個(gè)就是溫度 a=ReadOneChar()。 b=ReadOneChar()。 廣東技術(shù)師范學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 34 b=4。 b+=(aamp。0xf0)4。 t=b。 //tt=t*。 // t= tt*10+。 //放大 10 倍輸出并四舍五入 return(t)。 } code1(int m1,int m2,int m3,int m4,int m5) //代碼 , 用來設(shè)置數(shù)字、字母、符號等 { time1=span1。 //延時(shí)時(shí)間 switch(m1) {case 1: v1=0。 //數(shù)據(jù)口 1 為 高電平 delay1ms(time1)。 v1=1。 //數(shù)據(jù)口為低電平 delay1ms(time1)。 break。 case 2: v2=0。 delay1ms(time1)。 v2=1。 delay1ms(time1)。 break。 case 3: v3=0。 delay1ms(time1)。 v3=1。 delay1ms(time1)。 break。 case 4: v4=0。 delay1ms(time1)。 v4=1。 delay1ms(time1)。 break。 } switch(m2) {case 1: v1=0。 delay1ms(time1)。 v1=1。 遠(yuǎn)程溫度監(jiān) 控系統(tǒng) 的設(shè)計(jì) 35 delay1ms(time1)。 break。 case 2: v2=0。 delay1ms(time1)。 v2=1。 delay1ms(time1)。 break。 case 3: v3=0。 delay1ms(time1)。 v3=1。 delay1ms(time1)。 break。 case 4: v4=0。 delay1ms(time1)。 v4=1。 delay1ms(time1)。 break。 } switch(m3) {case 1: v1=0。 delay1ms(time1)。 v1=1。 delay1ms(time1)。 break。 case 2: v2=0。 delay1ms(time1)。 v2=1。 delay1ms(time1)。 break。 case 3: v3=0。 delay1ms(time1)。 v3=1。 delay1ms(time1)。 break。 case 4: v4=0。 delay1ms(time1)
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1