独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范围为3.0~5.5V;零待机功耗;温度以9或12位数字;用户可定义报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入户报警上下限。
(3) DS18B20的寄存器说明
DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EPRAM。高速暂存RAM的结构为8字节的存储器,结构如图3所示。头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图3所示。低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率[13]。
3.2.3 DS18B20传感器与单片机的连接
DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式。
DS1302与单片机的连接仅需3条线:时钟线SCLK、数据线IO和复位线RST。时钟线SCLK与P1.4相连,数据线IO与P1.3相连,复位线RST与P1.2相连。由于DS1302是靠细电流充电来实现串行输入输出的,因此,在SCLK、IO、RST线上要加上拉电阻,其中,它们的电流应该在500u-1mA之间,若电源为5V,则R约为5K,因此,电阻R=4.7K。
在单电源与电池供电系统中,Vcc1提供低电源并提供低功率的备用电源。Vcc2提供高电源作为芯片供电的主电源。因此,这里Vcc1用3V纽扣电池,Vcc2用5V的
VCCR75.6kQ590135105105105105108765P3.4P3.5P3.6P2.7P2.6P2.5P2.4P2.3系统电源。 晶振为32.768KHz接入X1、X2引脚。DS1302测温电路如图3-2所示: DS2DS1820GNDDQVCC0832VCC123R234.7KP3.3 4 3 图3-2 DS18B20测温电路 3.3四位数码管显示电路的结构和工作原理
3.3.1 七段数码管简介
七段数码管一般由8个发光二极管组成,其中由7个细长的发光二极管组成数字显示,另外一个圆形的发光二极管显示小数点。
数码管使用条件:段及小数点上加限流电阻,使用电压:段:根据发光颜色决定;小数点:根据发光颜色决定,使用电流:静态:总电流 80mA(每段 10mA);动态:平均电流4-5mA,峰值电流100mA。
4位数码管引脚图数码管使用注意事项说明:数码管表面不要用手触摸,不要用手去弄引角;焊接温度:260度;焊接时间:5s;表面有保护膜的产品,可以在使用前撕下来[14]。
当发光二极管导通时,相应的一个点或一个笔画发光。控制相应的二极管导通,就能显示出各种字符,尽管显示的字符形状有些失真,能显示的数符数量也有限,但其控制简单,使有也方便。发光二极管的阳极连在一起的称为共阳极数码管,阴极连在一起的称为共阴极数码管,如图3-3所示。共阳极就是把所有LED的阳极连接到共同接点com,而每个LED的阴极分别为a、b、c、d、e、f、g及dp(小数点);共阴极则是把所有LED的阴极连接到共同接点com,而每个LED的阳极分别为a、b、c、d、e、f、g及dp(小数点),图中的8个LED分
别与上面那个图中的A~DP各段相对应,通过控制各个LED的亮灭来显示数字
[15]
。
对于单个数码管来说,从它的正面看进去,左下角那个脚为1脚,以逆时针
方向依次为1~10脚,左上角那个脚便是10脚了,上面两个图中的数字分别与这10个管脚一一对应。注意,3脚和8脚是连通的,这两个都是公共脚。七段数码管结构图如图3-3所示。
b)
a) c)
图3-3 七段数码管结构图 a) 七段数码管字段和引脚分布 b) 共阴极 c) 共阳极
还有一种比较常用的是四位数码管,内部的4个数码管共用a~dp这8根数据线,为人们的使用提供了方便,因为里面有4个数码管,所以它有4个公共端,加上a~dp,共有12个引脚,下面便是一个共阴的四位数码管的内部结构图(共阳的与之相反)。引脚排列依然是从左下角的那个脚(1脚)开始,以逆时针方向依次为1~12脚。
3.3.2 七段数码管驱动方法
发光二极管(LED)是一种由磷化镓(GaP)等半导体材料制成的,能直接将电能转变成光能的发光显示器件。当其内部有一一电流通过时,它就会发光。
七段数码管的显示方法可分为静态显示与动态显示,下面分别介绍。 (1) 静态显示
所谓静态显示,就是当显示某一字符时,相应段的发光二极管恒定地寻能可截止。这种显示方法为每一们都需要有一个8位输出口控制。对于51单片机,可以在并行口上扩展多片锁存74LS573作为静态显示器接口。
静态显示器的优点是显示稳定,在发光二极管导通电注一定的情况下显示器的亮度高,控制系统在运行过程中,仅仅在需要更新显示内容时,CPU才执行一次显示更新子程序,这样大大节省了CPU的时间,提高了CPU的工作效率;缺点是位数较多时,所需IO口太多,硬件开销太大,因此常采用另外一种显示方
式——动态显示。
(2) 动态显示
所谓动态显示就是一位一位地轮流点亮各位显示器(扫描),对于显示器的每一位而言,每隔一段时间点亮一次。虽然在同一时刻只有一位显示器在工作(点亮),但利用人眼的视觉暂留效应和发光二极管熄灭时的余辉效应,看到的却是多个字符“同时”显示。显示器亮度既与点亮时的导通电流有关,也与点亮时间和间隔时间的比例有关。调整电流和时间参烽,可实现亮度较高较稳定的显示。若显示器的位数不大于8位,则控制显示器公共极电位只需一个8位IO口(称为扫描口或字位口),控制各位LED显示器所显示的字形也需要一个8位口(称为数据口或字形口)[16]。
动态显示器的优点是节省硬件资源,成本较低,但在控制系统运行过程中,要保证显示器正常显示,CPU必须每隔一段时间执行一次显示子程序,这占用了CPU的大量时间,降低了CPU工作效率,同时显示亮度较静态显示器低。
综合以上考虑,由于温度显示为精确到小数点后两位,故只需4个数码管,又考虑到CPU工作效率与电源效率,本毕业设计采用静态显示。为共阳极显示。
3.3.3 硬件编码
74LS47是一款BCD码转换为7段输出的集成电路芯片,利用它可以直接驱动共阳极的七段数码管。它的引脚分布如图3-4所示。
图3-4 74LS47管脚图
3.3.4显示电路