i
cludereg52h包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义r
i
cludemathhr
i
cludeINTRINSHr
defi
eucharu
sig
edcharr
defi
eui
tu
sig
edi
tr
r
r
r
sbitDQP23ds18b20端口r
sbitrsP26r
sbitrwP25r
sbitepP24r
r
r
ui
ttempr
ucharflag_get
ummi
uteseco
dr
ucharshuzi100123456789r
ucharstr5r
r
voiddelay1ucharMSr
u
sig
edi
tReadTemperaturevoidr
voidI
it_DS18B20voidr
u
sig
edcharReadO
eCharvoidr
voidWriteO
eCharuchardatr
voiddelayui
tir
r
voidlcd_wcmducharr
bitlcd_bzvoidr
voidlcd_posucharr
voidlcd_wdatucharr
voidlcd_i
itvoidr
voidputcharucharweizhiuchardar
voidshow_temperaturer
r
r
主函数r
r
r
voiddelaymsucharmsr
r
ucharir
whilemsr
r
fori0i100ir
r
r
r
bitlcd_bzr
r
bitresultr
rs0r
rw1r
delayms3r
ep1r
resultbitP00x80r
delayms2r
ep0tr
retur
resultr
tttttttttttr
r
voidlcd_wcmducharcmdr
r
whilelcd_bzr
rs0r
rw0r
delayms3r
ep0r
P0cmdr
ep1r
delayms3r
ep0r
r
r
voidlcd_posucharposr
r
lcd_wcmdpos0x80r
r
r
voidlcd_wdatuchardatr
r
whilelcd_bzr
rs1r
rw0r
delayms3r
ep0r
P0datr
ep1r
delayms3r
ep0r
r
r
voidlcd_i
itvoidr
r
lcd_wcmd0x38r
delayms2r
lcd_wcmd0x01r
delayms2r
lcd_wcmd0x06r
delayms2r
lcd_wcmd0x0cr
delayms2r
r
r
voidputcharucharweizhiuchardar
r
delayms2r
lcd_posweizhir
lcd_wdatdar
r
r
voidshow_temperaturetttt显示温度r
ttr
putchar0x40Tr
putchar0x41Er
putchar0x42Mr
putchar0x43Pr
r
ifstr012putchar0x45r
ifstr011putchar0x45r
r
putchar0x46shuzistr1r
putchar0x47shuzistr2r
putchar0x48shuzistr3r
putchar0x49r
putchar0x4ashuzistr4r
putchar0x4cCtttr
r
r
r
r
r
voidtimvoidi
terrupt1usi
g1中断,用于数码管扫描和温度检测间隔r
r
TH00xef定时器重装值r
TL00xf0r
umr
if
um50r
r
um0r
flag_get1标志位有效r
seco
dr
ifseco
d60r
seco
d0r
mi
uter
r
r
r
r
r
voiddelayui
ti延时函数r
r
whileir
r
r
r
voidI
it_DS18B20voidr
r
ucharx0r
DQ1DQ复位r
delay8稍做延时r
DQ0单片机将DQ拉低r
delay80精确延时大于480usr
DQ1拉高总线r
delay10r
xDQ稍做延时后如果x0则初始化成功x1则初始化失败r
delay5r
r
r
r
r
ucharReadO
eCharvoidr
rr