1樓:匿名使用者
應該是你的程式上出來還存在小問題。
2樓:匿名使用者
近期通過ds18b20再加lcd1602加序列輸出除錯成功,的lcddata埠p0
#包括#包括#“ stc12c5a.h“
#定義xtal 11059200 / /杯晶振頻率
#定義波特率9600 / /通訊波特率
#定義uchar無符號字元型
#定義的uint無符號整數 br p> sbit dq = p2 ^ 3; / / ds18b20的資料腳
sbit e = p2 ^ 7 / / 1602,使
sbit rw = p2 ^ 6 / / 1602讀取和寫入
sbit rs = p2 ^ 5 / / 1602資料/命令選擇
uchar資料temp_data的[2] = / / 8 - 位的資料快取記憶體》 uchar**編號 = ; / / lcd1602數字ascii表,用來顯示數字
uint ds [4]; / /溫度顯示4個顯著的數字
uint dh;
uint升
uint pic16f684; / /十六進位制轉十進位制資料快取
無效延遲(無符號整型數)
的無效inituart(無效)/ /串列埠初始化
無效sendonebyte(無符號字元)/ /串列埠傳送1位元組
無效的delay()/ / lcd1602延遲
無效wcmd(uchar德爾)/ /寫命令程式
>無效寫(uchar德爾)/ /寫入資料
無效l1602_init(無效)/ / lcd1602初始化
:無效l1602_char(uchar掛起,的uchar李,燒焦的跡象)/ /寫一個字元
uchar;
(掛起== 2)一個= 0xc0;
= a +謊言 - 1
wcmd(一)寫(標誌);}
無效l1602_string(uchar uchar李掛起,,uchar * p),/ /寫字串
uchar a,b = 0;
(掛起== 1)= 0x80的;
(掛起== 2)= 0xc0;
= a +謊言 - 1; 而(1) }
uchar init_ds18b20(無效)
:uchar readonechar(無效)
dq = 1;
回報率(值); br />}
,無效writeonechar(無符號字元型dat)
} 無效read_temperature的(無效)
無效的主要() }
居然把ascii碼只要38就夠了,當我沒想到
3樓:
如果ds18b20壞了會一直顯示85的,
我編寫ds18b20程式想顯示溫度在led燈上但
include reg52.h include include 要用到取絕對值函式abs define uchar unsigned char define uint unsigned int sbit ds p2 1 sbit ds p3 2 ds18b20 sbit duan p2 6 sbit...
ds18b20裡的溫度值正負判斷為什麼要判斷大於
科強小米 tem data l read byte 讀低8位資料,低8位資料格式 2 3,2 2,2 1,2 0,2 tem data h read byte 讀高8位資料,高8位資料格式 s,s,s,s,s,2 6,2 5 temp data tem data h 256 tem data l s...
ds18b20與其他溫度感測器有什麼優缺點
優點 1 與微控制器的介面簡單 2 單隻使用比較簡單 3 有體積小,硬體開銷低,抗干擾能力強 缺點 1 多隻單匯流排使用涉及到rom搜尋的程式,比較難懂點2 精度0.5度。ds18b20數字溫度感測器接線方便,封裝成後可應用於多種場合,如管道式,螺紋式,磁鐵吸附式,不鏽鋼封裝式,型號多種多樣,有lt...