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

正文內(nèi)容

畢業(yè)論文--基于labview的溫度檢測系統(tǒng)設(shè)計-展示頁

2024-11-26 21:41本頁面
  

【正文】 ture 獲得溫度 float tt DS1 1 if DS1reset writebyte1 0xcc writebyte1 0xbe 發(fā)送讀取數(shù)據(jù)命令 a1 readbyte1 連續(xù)讀兩個字節(jié)數(shù)據(jù) b1 readbyte1 temp1 a1b1 8 tt temp100625 得到真實十進(jìn)制溫度值因為 DS118B20 可以精確到 00625 度所以讀回數(shù)據(jù)的最低位代表的是 temp1 tt100051005 放大十倍這樣做的目的將小數(shù)點后第一位 return temp1 返回溫度值 DS18B20 初始化函數(shù) bit dsreset bit dat DS 1 數(shù)據(jù)線置高電平 DS 0 數(shù)據(jù)線拉低置 0 Delay 32 為保險起見延時 495us DS 1 數(shù)據(jù)線置高電平 1 Delay 4 需要等待 1560us 這里延時 75us 后可以保證接受到的是存在脈沖 dat DS 讀數(shù)據(jù)線值 DS 1 數(shù)據(jù)線置高電平 1 Delay 32 495us return dat 初始化成功返回 1 反之返回 0 讀一位 bit readbit void read a bit 讀一位 bit dat DS 1 數(shù)據(jù)線置高電平 DS 0 數(shù)據(jù)線拉低置 0 _nop_ _nop_ 總線拉低大 于 1us DS 1 數(shù)據(jù)線置高電平釋放總線 _nop_ _nop_ _nop_ _nop_ dat DS 讀時隙產(chǎn)生 7 us 后讀取總線數(shù)據(jù)把總線的讀取動作放在 15us時間限制的后面是為了保證數(shù)據(jù)讀取的有效性 Delay 3 延時 60us 滿足讀時隙的時間長度要求 DS 1 數(shù)據(jù)線置高電平釋放總線 _nop_ _nop_ 延時周期恢復(fù)時間 return dat 返回讀取到的數(shù)據(jù) 讀一個字節(jié) uchar readbyte void read a byte date 讀一個字節(jié) uchar idat for i 0i 8i dat 1 最低位在前 if readbit dat 0x80 else dat 0x00 return dat 將一個字節(jié)數(shù)據(jù)返回 寫一位 void writebit bit i DS 1 數(shù)據(jù)線置高 電平 DS 0 數(shù)據(jù)線拉低置 0 Delay 0 延時 15us 滿足讀時隙的時間長度要求 DS i 寫 0 或 1 Delay 3 延時 60us 等待 ds18b20 采樣讀取 DS 1 釋放總線 _nop_ _nop_ 延時周期恢復(fù)時間 寫一個字節(jié) void writebyte uchar dat write a byte to ds18b20 寫一個字節(jié)到 DS18B20 里 uint i for i 0i 8i writebit dat0x01 從最低位寫起 dat 1 溫度轉(zhuǎn)換 void tmpchange void DS18B20 begin change 發(fā)送溫度轉(zhuǎn)換命令 DS 1 if dsreset 初始化 DS18B20 writebyte 0xcc 跳過序列號命令 writebyte 0x44 發(fā)送溫度轉(zhuǎn)換命令 獲取溫度值 uint tmp get the temperature 獲得溫度 float tt DS 1 if dsreset writebyte 0xcc writebyte 0xbe 發(fā)送讀取數(shù)據(jù)命令 a readbyte 連續(xù)讀兩個字節(jié)數(shù)據(jù) b readbyte temp ab 8 tt temp00625 得到 真實十進(jìn)制溫度值因為 DS18B20 可以精確到 00625 度所以讀回數(shù)據(jù)的最低位代表的是 temp tt100051005 放大十倍這樣做的目的將小數(shù)點后第一位 return temp 返回溫度值 顯示函數(shù) void Disp uint disp_value uchar i Bcd disp_value for i 0i 4i P0 LED_Val[num[i]] if i 1 P0 P00x7f 點亮第二位的小數(shù)點 P2 led_point[i] Delay_ms 4 P2 0XFF P0 0XFF 數(shù)據(jù)分離函數(shù) void Bcd uint bcd_value num[0] bcd_value1000 num[1] bcd_value1000 100 num[2] bcd_value1000 100 10 num[3] bcd_value1000 100 10 void Send_SCI unsigned char p SBUF p 數(shù)據(jù)寄存器 TB8 0 while TI 0 當(dāng) TI 0 時等待不等于 0 退出循環(huán) TI 清 0 送下一數(shù) TI 0 函數(shù)名稱 URAT1_Init 參量無 函數(shù)功能串口初始化 void SCI_Init void SM0 0sm2 不用設(shè)只有方式 23 時才用得到 SM1 1 方式 3 時波特率由定時器 1 決定 SM2 0 REN 1 允許接受控制為 TI 0 發(fā)送中斷標(biāo)志位 RI 0 接受中斷標(biāo)志位 PCON 0 控制波特率的計算公式的指數(shù)部分 TH1 0xFd TL1 0XFd 設(shè)置波特率為 4800 TMOD 0X20 讓 T1 工作在自動裝入時間常數(shù)的定時方式 2 EA 1 要開總中斷 ET1 0 用 T1 做波特率發(fā)生器時必須禁止定時中斷使 ET1 0 TR1 1 還要啟動定時器 T1 EA 1 ES 1 串行口中斷允許位 void send_packet uchar send_data_tmpsend_data_weishu uchar i ES 0 禁止串口中斷 Send_SCI START_FLAG 發(fā)送數(shù)據(jù) for i 0i send_data_weishui Send_SCI send_data_tmp send_data_tmp ES 1 允許串口中斷 void delay_ms uint delay uchar j while delay for j 12
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1