首页 » 技术文章 » 基于单片机的数字多用表的设计

基于单片机的数字多用表的设计

作者:  时间:2011-01-27 21:04  来源:EDN

  1DS1629的结构特性与工作原理

  DS1629是专为温度的数字化测量而设计的一种芯片,同时还兼有实时时钟/日历的功能。DS1629的宽电源范围和极小的功耗非常适合于电池供电的应用环境。其时钟功能可以是12小时或者24小时的模式,且在12小时的模式下带有AM/PM指示。当温度达到或超过程序设定的上限TH或者时间到达程序设定的时刻时,芯片就产生漏极开路的报警输出。

  DS1629由数字温度传感器、实时时钟、两线串行接口、数据寄存器、温度和时钟报警比较器及时钟分频器和缓冲器6个部分组成。

  由制造商标定的温度传感器无需外部器件。芯片一上电就开始进行温度转换,并随后连续进行转换。主机(通常为单片机)可以周期性地读取温度寄存器中最新转换的温度值,并且由于转换是在后台进行的,读数据并不影响转换的过程。主机可以修改芯片的配置,如上电后并不立即开始转换和连续转换模式,这样对于要求省电的场合很有益处。实时时钟/日历提供秒、分、时、星期、日期、月、年的BCD数值,这需要内部的振荡器/分频器和外部的32.768kHz的晶振。不足31天的月份则在月底自动调整,闰年的补偿直到2100年。实时时钟可以通过清除时钟寄存器中的控制位而关闭。通过读/写时钟寄存器或者时钟报警寄存器可以关闭时钟报警输出。

  二进制数据的读/写通过两线总线进行,高位在前,每个寄存器的访问都采用8位的命令协议。芯片各个引脚的功能如表1所示。

  2 硬件设计

  从前面的讨论可以看出,DS1629兼有数字温度传感器和实时时钟/日历的功能,工作电压为2.25.5V,因而可将其与单片机结合起来设计出带有数字钟功能的数字温度表。单片机采用AT89C2051,封装为20DIP,工作电压范围是2.75.5V。显示部分采用6位数码管来显示时间、日期或温度等数据。为了简化电路,减少芯片,降低功耗,显示部分采用动态循环扫描的方式,由一片47段译码器CD4543驱动。CD4543的工作电压为 318V,整个电路采用两节干电池供电,系统的硬件构成如图1所示。图中,DS1629SCLSDA端分别接单片机的P3.0P3.1R1 C1构成上电自动复位电路,P3.2P3.4 3个按键,C2C36MHz晶振构成振荡电路,P3.5P3.7P1.0P1.3分别接6位数码管的公共端(图中3个数码管LED2LED4 没有画出)作为位选信号,P1.4P1.7CD4543BCD码输入端,6个数码管的数据输入端ag都并接到CD4543的数据输出端ag

  数字表的功能包括温度的测量显示和时钟两个方面,因而在软件设计中应同时考虑。温度表和时钟功能由按键S3选择,上电后的默认状态为自动显示测量的温度,按一下S3则切换到时间显示,再按一下又返回到温度显示。默认状态下按键S2为秒表功能键,按1次开始计时,按两次停止计时,按3次则清 0,再按则返回到初始状态。默认状态下按键S1为调整时间的功能键,按1S1设定小时,此时S2为加1键,按1次小时加1S3为减1键,按1次小时减 1;按2S1设定分钟,此时S2S3的作用同前;按3S1则返回到初始状态。根据这些功能,软件设计由初始化、功能键处理、时间显示、温度测量及显示等几个部分组成。初始化部分完成单片机中断、定时器、片内存储单元和DS1629的初始配置;功能键处理部分则进行键盘的扫描及相应的处理;时间及温度显示则是读取DS1629的时间和温度参数,进行转换后送出显示。下面给出单片机对DS1629操作的程序段,假定单片机的P3.1SDAP3.0 SCL,设定DS1629的工作模式为单次转换模式,禁止时钟输出,对温度及时钟均为高电平报警,则相应的程序段如下:

  

  从前面的讨论可以看出,DS1629给基于单片机的数字化温度的测量与控制带来了极大的方便,使得系统的设计大为简化,具有很高的实用价值。

相关推荐

飞思卡尔CEO:新战略初现成效 未来更关注中国市场

飞思卡尔  单片机  2013-04-28

飞思卡尔携手周立功单片机 共同拓展中国MCU市场

飞思卡尔  MCU  单片机  2012-12-19

英飞凌为提高XMC4000单片机生产率免费提供DAVE 3

英飞凌  单片机  2012-04-20

英飞凌XMC4500工业单片机现已量产供货

英飞凌  单片机  XMC4500  2012-03-19

ZLG成为Energy Micro中国区合作伙伴

周立功  Energy  Micro  单片机  2011-12-19

Microchip第100亿颗PIC单片机交付三星电子

微芯科技  单片机  PIC32  2011-09-21
在线研讨会
焦点