温度传感器DS18B20
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/18 02:03:46
温度传感器DS18B20
用AVR怎么读和写?
最好有示例的程序
lnlh21 - 试用期 一级 :你说那个网站资料太少,找不到我要的
用AVR怎么读和写?
最好有示例的程序
lnlh21 - 试用期 一级 :你说那个网站资料太少,找不到我要的
正好我以前写过DS18B20的程序,现在共享给你.
我的单片机频率是8M,如果你的频率不同,请自己计算后把延时参数修改一下就可以了.
DS1820温度传感器单线总线读时间片
read:push r24
in r24,SREG
push r24
ldi r22,$FF
clr r23
out PORTB,r22 ;升高单线总线
out DDRB,r22 ;B口为输出口
out PORTB,r23 ;拉低单线总线
ldi r24,$05
read1:dec r24
brne read1 ;延迟10个时钟周期(大约1.25微秒)
out DDRB,r23 ;B口为输入口
ldi r24,$30
read2:dec r24
brne read2 ;延迟96个时钟周期(大约12微秒)
in r21,PINB ;读单线总线
ldi r24,$C8
read3:dec r24
brne read3 ;延迟400个时钟周期(大约50微秒)
pop r24
out SREG,r24
pop r24
ret
DS1820温度传感器单线总线写0时间片
write0:push r24
in r24,SREG
push r24
ldi r22,$FF
clr r23
out PORTB,r22 ;升高单线总线
out DDRB,r22 ;B口为输出口
out PORTB,r23 ;拉低单线总线
clr r24
wr0j1:dec r24
dec r24
nop
nop
brne wr0j1 ;延迟640个时钟周期(大约80微秒)
out PORTB,r22 ;升高单线总线
ldi r24,$07
wr0j2:dec r24
brne wr0j2 ;延迟14个时钟周期(大约1.75微秒)
out DDRB,r23 ;B口为输入口
pop r24
out SREG,r24
pop r24
ret
DS1820温度传感器单线总线写1时间片
write1:push r24
in r24,SREG
push r24
ldi r22,$FF
clr r23
out PORTB,r22 ;升高单线总线
out DDRB,r22 ;B口为输出口
out PORTB,r23 ;拉低单线总线
ldi r24,$07
wr1j1:dec r24
brne wr1j1 ;延迟14个时钟周期(大约1.75微秒)
out PORTB,r22 ;升高单线总线
clr r24
wr1j2:dec r24
dec r24
nop
nop
brne wr1j2 ;延迟640个时钟周期(大约80微秒)
out DDRB,r23 ;B口为输入口
pop r24
out SREG,r24
pop r24
ret
我的单片机频率是8M,如果你的频率不同,请自己计算后把延时参数修改一下就可以了.
DS1820温度传感器单线总线读时间片
read:push r24
in r24,SREG
push r24
ldi r22,$FF
clr r23
out PORTB,r22 ;升高单线总线
out DDRB,r22 ;B口为输出口
out PORTB,r23 ;拉低单线总线
ldi r24,$05
read1:dec r24
brne read1 ;延迟10个时钟周期(大约1.25微秒)
out DDRB,r23 ;B口为输入口
ldi r24,$30
read2:dec r24
brne read2 ;延迟96个时钟周期(大约12微秒)
in r21,PINB ;读单线总线
ldi r24,$C8
read3:dec r24
brne read3 ;延迟400个时钟周期(大约50微秒)
pop r24
out SREG,r24
pop r24
ret
DS1820温度传感器单线总线写0时间片
write0:push r24
in r24,SREG
push r24
ldi r22,$FF
clr r23
out PORTB,r22 ;升高单线总线
out DDRB,r22 ;B口为输出口
out PORTB,r23 ;拉低单线总线
clr r24
wr0j1:dec r24
dec r24
nop
nop
brne wr0j1 ;延迟640个时钟周期(大约80微秒)
out PORTB,r22 ;升高单线总线
ldi r24,$07
wr0j2:dec r24
brne wr0j2 ;延迟14个时钟周期(大约1.75微秒)
out DDRB,r23 ;B口为输入口
pop r24
out SREG,r24
pop r24
ret
DS1820温度传感器单线总线写1时间片
write1:push r24
in r24,SREG
push r24
ldi r22,$FF
clr r23
out PORTB,r22 ;升高单线总线
out DDRB,r22 ;B口为输出口
out PORTB,r23 ;拉低单线总线
ldi r24,$07
wr1j1:dec r24
brne wr1j1 ;延迟14个时钟周期(大约1.75微秒)
out PORTB,r22 ;升高单线总线
clr r24
wr1j2:dec r24
dec r24
nop
nop
brne wr1j2 ;延迟640个时钟周期(大约80微秒)
out DDRB,r23 ;B口为输入口
pop r24
out SREG,r24
pop r24
ret
DS18B20数字温度传感器
关于温度传感器DS18B20的疑问
DS18B20温度传感器读出数据的转化问题?
请教关于DS18B20温度传感器的温度读取
ds18b20温度传感器测量油料温度,怎么样保证油库安全?
数字温度传感器DS18B20是怎么实现温度补偿的?
用AT89S51单片机和DS18B20温度传感器如何设计数字温度计
基于单片机的电池监控系统,其中温度采集电路运用到了DS18B20温度传感器
数字温度传感器电路图AT89S52单片机ds18b20液晶频 或数码管显示 都 可以
请问,热敏电阻(10k,25度)和温度传感器(ds18b20)哪个对温度比较敏感?
英语翻译主要采用Atmel公司AT89S52单片机、××LCD、Dallas公司的单总线温度传感器DS18B20设计一种
用DS18B20单总线温度传感器实现一个温度计,测温范围0~100度,精度+/-0.25度,温度用数码管显示