|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 CCxiaom 于 2020-3-16 12:07 编辑 9 Y- d& y7 L% L3 a/ o
9 P0 j e# }. p3 O7 a摘要:介绍了单总线测温器件DS18B20及其与ATmega8单
6 |" I. ?! s# S8 g7 T3 u& o8 q片机共同组成单总线测温系统的接口方法,并给出了其核% ~, a) m( A- {5 m4 E
心的μS级软件延时的C语言源程序和对DS18B20进行操
9 ? k$ k; |- g0 x( Q作的程序框图,以及利用C语言实现接口软件的方法以及# k0 a4 V# L; s# V" v9 h* D3 ?. q
使用时的技巧和需要注意的一些问题。
" ?# G$ R# s6 _; s, a0 x- q% ^, i8 e3 n' c& r2 x
关键词:单总线;单片机;嵌入式C
) Z8 y6 _. [# E2 P' Y
; F1 [' {; \$ G* ~' p" e( V Y1引言9 U8 ^5 y, j3 z9 Q5 c* W
工业生产过程中,普遍存在着需要进行温度测量
2 V' i* J& ?0 {5 \9 ?# L的场合。利用单片机和温度传感器组成的专用测温系8 L5 U& _6 Z9 \* c9 I, E
统由于具有结构简单、工作可靠、价格低廉的优势,而
1 \( d m2 y3 e' B4 s H& M得到了广泛的应用。
# e; G% b+ S5 J6 i3 S+ ~ d) B& k; S目前市场上单片机种类繁多,各具优势, ATMEL# Z( Q$ P+ x8 P1 N9 N/ q
公司生产的mega8单片机无疑是其中较为典型的一7 Q2 H1 X8 r8 h0 L1 @3 @! p# f
种,它的内部集成了较大容量的存储器和丰富强大的' r3 m- K$ j8 u5 C4 T
硬件接口电路,如定时/计数器、实时时钟、PWM通道、
/ x0 }. A- f" ?8 K5 g% @A/D转换器、I2C的串行接口、可编程的串行USART
( w' o1 ~- f- \. v$ B接口、SPI串行接口和带片内晶振的可编程看门狗定' d! \4 V" D* z( V, Y0 B
时器以及片内的模拟比较器等,除传感器外几乎可以
! c: ]& J. C) A, ]5 L1 b a不需要其它任何元件独立而构成系统。它具有AVR
0 J4 Q H, M, \ i高档单片机MEGA系列的全部特点,而价格仅与低档
$ l/ C5 U' N. a) I单片机相当且系统二次开发极为方便,性价比极高。# E+ {; ~/ G' k- G
另外,由于采用了单周期指令模式,它具有极高的运0 ?+ O* L8 `$ l w
行速度,可达到1MIPS/MHz,比AT89C51高出10倍。* o) E+ ~' a5 c( Z- X/ r
并且在省电性能、稳定性、抗干扰性能和灵活性方面$ C( ^3 ?; X) X4 A# _
极具特色。在产品应用市场上具有强大的竞争力,因$ ]" r7 S2 B/ [2 q
而在工业测控领域中得到了广泛的应用。
) p4 K5 `$ b/ @' n5 T
! x1 O; D" v( L" ?5 h4 f0 ~DS18B20是美国DALLAS半导体器件公司在其$ S: e/ [" p5 s
前代产品DS1820的基础上最新推出的单线数字化智
" A% y+ ]( L* c; ` Y: U: |能集成温度的传感器,其全部传感元件及转换电路集
0 J# O4 R% J& @2 O( u3 J成在形如一只三极管的集成电路内。与其它温度传感
; H' L9 @$ m2 A4 C' Z" Z: u' G器相比,DS18B20具有以下特性:①独特的单线接口
b9 {/ N. N0 B& g, O) z! k0 M方式,DS1820在与微处理器连接时仅需要一条接口线4 x' T* q2 p9 L
即可实现微处理器与DS18B20的双向通讯。②
2 G p9 s! O# Z) H* f- g1 ZDS18B20支持多点组网功能,多个DS18B20可以并联
. i2 J/ D, ?. C; t( x4 N8 t9 J在唯一-的信号线上,实现多点测温。③DS18B20在使* L1 D: j; ?5 h4 }. h
用中不需要任何外围元件。④测温范围-55C-+5 `! J' B% C1 g" k
125C,固有测温分辨率0.625C。⑤测量结果以9~12
3 b0 [: c, H0 a" d+ Q+ Q8 ]位数字量方式串行传送。7 `' I/ y! N; L) l, l
2 Atmega8单片机与单总线测温器件
/ Q/ p# k% i' S. R! [, q wDS18B20的接口及其操作时序7 U4 y& Q; A; ?
DS18B20内部结构主要由四部分组成:64位光刻8 ^, E" I) W' \
ROM、温度传感器、非挥发的温度报警触发器TH/TL# ^+ c0 w: c. U5 ~
和配置寄存器。/ h) d2 w7 N3 ^& @
光刻ROM中的64位序列号是出厂前被光刻好% I' I1 w; r f8 V0 r$ \$ V
的,可视作是DS18B20的地址序列码。光刻ROM的作4 U* ]3 m2 E0 w1 A3 n: A, Z; v; o
用是使每一个DS18B201 f# l C# V8 p2 ?' d( G
都各不相同,以实现一根总线上挂接多个6 c* \" z7 c2 n4 D: L
DS18B20的目的。
! y, F6 Y7 @9 R- d; @) m6 @% GDS18B20温度传感器的内部存储器包括--个高
/ C1 [8 {, o9 I# w, D l) C速暂存RAM和一个非易失性的可电擦除的E2PROM,
" @( t* S, M V- ^& t1 ]; m- U后者存放高/低温度触发器TH/TL和结构寄存器。暂* X z; C, Y& l
存存储器包含了8个连续字节,前两个字节是测得的
: Y/ S1 [0 U) t( V5 \- I) a温度信息,第一个字节的内容是温度的低八位,第二
% b( u- g9 O& j" C1 }个字节是温度的高八位。第三个和第四个字节是TH/5 g+ c8 }" S, K, |/ v
TL的易失性拷贝,第五个字节是结构寄存器的易失性% S; l5 f J2 _" a/ S1 Q8 ^5 F
拷贝,这三个字节的内容在每一次上电复位时即被刷; {' \# |4 K, T1 j' X: `
新。9 O1 z7 x( m9 E8 h3 y$ w6 K- C
第六、七八个字节用于内部计算。第九个字节是
( v% S+ |. Y4 A; P" z8 S冗余检验字节。. d+ L, ?! W& h% N0 K/ t' s2 d
DS18B20中的温度传感器对温度的测量结果用
! M7 r' v& {, s16位符号扩展的二进制补码读数形式提供,当转换精
( m2 ?' M' L0 m' e2 @# s% V度为12位时,则所得测量结果中前5位s为符号位,9 P4 l! M9 E9 R/ ?3 }4 L
如果测得的温度大于0C时,,S 均为0,否则为1。后118 r+ j! b$ e, X( |
位为数据位,分辨率为0.0625C/LSB,只要将测到的数
/ n. F4 A1 h/ N% x; Z/ u* @值乘于0.0625即可得到实际温度。, h3 p7 ]8 H, [' m5 T
2 D3 A9 I+ I6 Q6 ~- [2 n$ M
- ?3 r; d) g$ N0 S1 A1 j4 w3 Z
/ |: n. V( u1 G K/ n6 x附近下载: |
|