DS18B20 与51单片机 怎么用

DS18B20 与51单片机 怎么用,第1张

DS18B20使用:

接线时,面对着扁平的那一面,左负右正,一旦接反就会立刻发热,有可能烧毁,同时,接反也是导致该传感器总是显示85℃的原因。实际 *** 作中将正负反接,传感器立即发热,液晶屏不能显示读数,正负接好后显示85℃。

DS18B20是常用的温度传感器,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。

51单片机使用方法:

1.将仿真器插入需仿真的用户板的CPU插座中,仿真器由用户板供电;

2.将仿真器的串行电缆和PC机接好,打开用户板电源;

3.通过Keil C 的IDE 开发仿真环境UV2 下载用户程序进行仿真、调试。

51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出。

正好我以前写过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个时钟周期(大约125微秒)

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个时钟周期(大约175微秒)

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个时钟周期(大约175微秒)

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 与51单片机 怎么用 全部的内容,包括:DS18B20 与51单片机 怎么用 、温度传感器DS18B20、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9705190.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存