|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 CCxiaom 于 2020-3-16 12:07 编辑
2 D: ~# o8 ]3 ?$ ^% X2 _1 o% W0 H6 _1 H6 t% h, g
摘要:介绍了单总线测温器件DS18B20及其与ATmega8单
1 o& C, `5 B1 r8 B: `0 J片机共同组成单总线测温系统的接口方法,并给出了其核
2 P8 z J, n5 k心的μS级软件延时的C语言源程序和对DS18B20进行操3 s* g( H* X" Q7 y# a
作的程序框图,以及利用C语言实现接口软件的方法以及
! b7 ~8 x9 N8 p- d, \使用时的技巧和需要注意的一些问题。
: Q+ W! R) ?! j2 W2 Y8 @$ T, K! q$ l$ G; n4 z
关键词:单总线;单片机;嵌入式C
; t' q/ W2 }: T- l% {
- {% a) i7 E: v0 F/ U$ B1引言4 W$ v) X# I2 p1 ^3 j$ h2 \1 U/ f! O$ S
工业生产过程中,普遍存在着需要进行温度测量8 }6 Q5 `& g2 i+ R
的场合。利用单片机和温度传感器组成的专用测温系
+ X1 g* y( ^* S7 F统由于具有结构简单、工作可靠、价格低廉的优势,而
3 l u9 p0 q4 u* W得到了广泛的应用。
9 s; z' y- F' H6 t目前市场上单片机种类繁多,各具优势, ATMEL
9 s9 N6 \9 Q% C# R' i公司生产的mega8单片机无疑是其中较为典型的一 k! d( r) u6 g" {
种,它的内部集成了较大容量的存储器和丰富强大的/ h' }; |. R( x( L+ [) s
硬件接口电路,如定时/计数器、实时时钟、PWM通道、: M% @9 x, Z- y% Q. h9 d
A/D转换器、I2C的串行接口、可编程的串行USART+ j$ X/ X7 M( h
接口、SPI串行接口和带片内晶振的可编程看门狗定
- ^# r9 p* }! L7 ?, _% G时器以及片内的模拟比较器等,除传感器外几乎可以. V" }7 r. _" `/ w. F3 f
不需要其它任何元件独立而构成系统。它具有AVR: U9 M/ _( f, ?( b6 p, u8 Y& w
高档单片机MEGA系列的全部特点,而价格仅与低档* b1 a0 L9 X7 e- T3 o
单片机相当且系统二次开发极为方便,性价比极高。
5 m, @2 c n# z- Z另外,由于采用了单周期指令模式,它具有极高的运
$ u n* R* _. S# Z& m行速度,可达到1MIPS/MHz,比AT89C51高出10倍。
# \8 ]" ?; H% w) M并且在省电性能、稳定性、抗干扰性能和灵活性方面8 o. t1 O" q& l$ ]
极具特色。在产品应用市场上具有强大的竞争力,因
/ y8 K( G: H+ X$ h( t q- |而在工业测控领域中得到了广泛的应用。; X, l+ @+ P1 m1 h
+ ~1 O* D8 P! T% e& x EDS18B20是美国DALLAS半导体器件公司在其
8 B4 C N! }) _; T1 G3 s p( h5 B前代产品DS1820的基础上最新推出的单线数字化智) W" G1 k- o2 s9 e% V. H
能集成温度的传感器,其全部传感元件及转换电路集
( M5 x+ A+ v, X. A3 f! D成在形如一只三极管的集成电路内。与其它温度传感3 @& o. H2 k! C3 [8 b2 V
器相比,DS18B20具有以下特性:①独特的单线接口% q3 D- F4 k& J( h6 W; k
方式,DS1820在与微处理器连接时仅需要一条接口线
6 s1 o% k, n' Z [即可实现微处理器与DS18B20的双向通讯。②- w! q) |% s# L& u
DS18B20支持多点组网功能,多个DS18B20可以并联7 i3 B* B5 l/ j, F$ r
在唯一-的信号线上,实现多点测温。③DS18B20在使9 b! r9 }5 v+ c: u4 x
用中不需要任何外围元件。④测温范围-55C-+, U; |' A# [: C- _ B
125C,固有测温分辨率0.625C。⑤测量结果以9~12; {3 C* U' d8 q, K. U r9 F& p9 `
位数字量方式串行传送。
. {0 h% w U. t2 z2 Atmega8单片机与单总线测温器件& v% T9 s+ _' M; u1 G) J% L
DS18B20的接口及其操作时序
6 @4 d) p5 L2 I% ?7 m( ~* ~+ D3 H% h, fDS18B20内部结构主要由四部分组成:64位光刻
6 P; g8 _% C) O" ~1 YROM、温度传感器、非挥发的温度报警触发器TH/TL
& a8 \# e0 r, z* _和配置寄存器。
: q4 e7 B) W4 Q光刻ROM中的64位序列号是出厂前被光刻好, o8 @3 `) `( A' V- p& ?5 a
的,可视作是DS18B20的地址序列码。光刻ROM的作
p) [# F+ P5 v: v8 x用是使每一个DS18B200 f# s0 p9 D r: Z# Q
都各不相同,以实现一根总线上挂接多个
# h& t* T; J: U! vDS18B20的目的。
7 Z7 l$ l6 _8 X* g8 {/ D- ADS18B20温度传感器的内部存储器包括--个高
. K1 z4 q" t' r; h1 x速暂存RAM和一个非易失性的可电擦除的E2PROM,- g2 P* I0 B/ r5 j- B5 q c
后者存放高/低温度触发器TH/TL和结构寄存器。暂
6 Y" K4 Q$ e+ u W) w存存储器包含了8个连续字节,前两个字节是测得的
. \% F; c" I6 S5 t8 l6 ~% l9 ~温度信息,第一个字节的内容是温度的低八位,第二7 F8 a2 B) R& A" C) u: w2 r0 [
个字节是温度的高八位。第三个和第四个字节是TH/; ]0 ^4 a% U0 {0 K7 q
TL的易失性拷贝,第五个字节是结构寄存器的易失性
0 N+ w6 P' n7 \+ R# T拷贝,这三个字节的内容在每一次上电复位时即被刷
& J2 D6 @" A0 R9 {/ }4 q7 A新。
) e' g6 k+ D/ P5 k& p4 |. i第六、七八个字节用于内部计算。第九个字节是
( r, }8 I7 n# t冗余检验字节。" R3 E* n5 T% y5 A& }* T5 q
DS18B20中的温度传感器对温度的测量结果用
, E0 l6 @& J- j: D; U16位符号扩展的二进制补码读数形式提供,当转换精
9 y1 O& k0 z! C ^2 ]* K) p度为12位时,则所得测量结果中前5位s为符号位,: S! b+ X% C7 [: c8 |9 L
如果测得的温度大于0C时,,S 均为0,否则为1。后11
# N: W0 [1 r7 P位为数据位,分辨率为0.0625C/LSB,只要将测到的数! Q) e; Q* o3 s7 ?/ @% A6 O
值乘于0.0625即可得到实际温度。3 Z. p, G9 f% w2 ]* W
5 D. ^7 ]2 h! y. }# F; b; n+ I8 V
( o: I. a! n8 U6 R- ~( x1 i6 K
. u2 m& Y1 H) A& V0 A W附近下载: |
|