单片机在数字多用表中的应用设计
扫描二维码
随时随地手机看文章
介绍Dallas公司的两线数字温度传感器/实时时钟芯片DS1629的特点和结构原理,详细讨论了DS1629在温度表/计时器中的应用设计,并指出了在实际应用设计中应注意的问题。
关键词:DS1629;两线总线;数字多用表;单片机
DS1629是专为温度的数字化测量而设计的一种芯片,同时还兼有实时时钟/日历的功能。DS1629的宽电源范围和极小的功耗非常适合于电池供电的应用环境。其时钟功能可以是12小时或者24小时的模式,且在12小时的模式下带有AM/PM指示。当温度达到或超过程序设定的上限TH或者时间到达程序设定的时刻时,芯片就产生漏极开路的报警输出。
DS1629由数字温度传感器、实时时钟、两线串行接口、数据寄存器、温度和时钟报警比较器及时钟分频器和缓冲器6个部分组成。
由制造商标定的温度传感器无需外部器件。芯片一上电就开始进行温度转换,并随后连续进行转换。主机(通常为单片机)可以周期性地读取温度寄存器中最新转换的温度值,并且由于转换是在“后台”进行的,读数据并不影响转换的过程。主机可以修改芯片的配置,如上电后并不立即开始转换和连续转换模式,这样对于要求省电的场合很有益处。实时时钟/日历提供秒、分、时、星期、日期、月、年的BCD数值,这需要内部的振荡器/分频器和外部的32.768kHz的晶振。不足31天的月份则在月底自动调整,闰年的补偿直到2100年。实时时钟可以通过清除时钟寄存器中的控制位而关闭。通过读/写时钟寄存器或者时钟报警寄存器可以关闭时钟报警输出。
二进制数据的读/写通过两线总线进行,高位在前,每个寄存器的访问都采用8位的命令协议。芯片各个引脚的功能如表1所示。
从前面的讨论可以看出,DS1629兼有数字温度传感器和实时时钟/日历的功能,工作电压为2.2~5.5V,因而可将其与单片机结合起来设计出带有数字钟功能的数字温度表。单片机采用AT89C2051,封装为20DIP,工作电压范围是2.7~5.5V。显示部分采用6位数码管来显示时间、日期或温度等数据。为了简化电路,减少芯片,降低功耗,显示部分采用动态循环扫描的方式,由一片4~7段译码器CD4543驱动。CD4543的工作电压为3~18V,整个电路采用两节干电池供电,系统的硬件构成如图1所示。图中,DS1629的SCL与SDA端分别接单片机的P3.0和P3.1,R1和C1构成上电自动复位电路,P3.2~P3.4接 3个按键,C2、C3及6MHz晶振构成振荡电路,P3.5、P3.7、P1.0~P1.3分别接6位数码管的公共端(图中3个数码管LED2~LED4没有画出)作为位选信号,P1.4~P1.7接CD4543的BCD码输入端,6个数码管的数据输入端a~g都并接到CD4543的数据输出端a~g。