新闻中心

EEPW首页>模拟技术>设计应用> 用MAXQ3212微控制设计数字温度监控器

用MAXQ3212微控制设计数字温度监控器

作者: 时间:2012-03-19 来源:网络 收藏
0.25°C (0.45°F)的分辨率。因为累加器的字节宽度为8位,可以方便地用一个字节作为温度换算的小数部分,乘法器可以包含6位小数信息。从下面可以看出,可以用6位小数近似表示到0.8至0.8的99.61%。

2-1 = 0.500000 => 0.8的62.50%
2-2 = 0.250000 + 0.50000 = 0.750000 => 0.8的93.7%
2-5 = 0.031250 + 0.0750000 = 0.781250 => 0.8的97.65%
2-6 = 0.015625 + 0.781250 = 0.796875 => 0.8的99.61%

用这个精度的数值转换华氏度数据,足以满足这个温度传感器的精度要求。

作为一个例子,我们可以计算测量温度+24.2510,(018.116)摄氏度,可表示为:

温度高有效位
Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8
0 (sign) 0 (sign) 0 (sign) 0 (sign) 0 (sign) 0 0 1

温度低有效位
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
1 0 0 0 0 1 x x

换一种方式表示,上面的数值可以表示为00000001 1000.01xx2,这个数乘以1.810。把1.810转换成二进制数,用6位表示小数,结果转换成常数0001.1100112。这种转换方法如下:

0000s0 011000.012 = 006116
× 00000000 01.1100112 = 007316
-----------------------
00101011 .100100112 = 2B9316
+ 00100000 .000000002 = 32.010
-----------------------
01001011 .100100112 = 4B9316 = 75.57421910

可以看出,75.574219是精确的计算结果。如果把这个结果去掉2位小数,得到75.5°F,可以达到用计算器进行浮点运算时的0.15°F精度。如此精确的结果足以满足这种应用的要求。

双FET线圈驱动

本应用使用两个场效应管(FET)与处理器的输出端口连接,控制继电器开关。端口的复位默认状态是弱上拉,高电平。因此,上电时其端口引脚为高电平,直到应用软件改变其状态。如果利用一路n沟道FET (BS-170)控制继电器线圈的供电,在处理器上电时,这个端口的默认状态就会触发继电器动作。直到应用软件将其置0为止。这种状态是不期望出现的,因为继电器被错误地触发,导致了一次不需要的动作。为了解决这一问题,电路采用了2个串联FET,共同控制继电器动作,处理器上电后的默认状态不会触发继电器。

例程

该应用的配套软件可从: 下载(ZIP),其中包含源代码文件:Thermostat.asm、1-Wire.asm、BCD.asm、ThermDisp.asm和头文件maxq3120.inc,其中头文件包含MAXQ3210/的寄存器定义。压缩文件还包含MAX-IDE项目文件Thermostat.prj和可装载十六进制文件Thermostat.hex。把这些压缩文件解压到一个目录下,即可在MAXQ3210评估软件上编译和运行。2007年9月12日,在an3965_sw.zip程序文件中增加了另一个文件(Temp3Gerber.zip),所增加的文件包括Gerber数据、训练数据以及实现该设计的双层印制电路板所需的器件列表。

结论

MAXQ3212是一个用途广泛的高性能RISC处理器,具有小尺寸、低成本特性,提供强大的功能支持,特别适合大批量生产的应用。本应用笔记介绍了一个基于MAXQ3212 RISC微控制器的温度控制器。通过MAXQ3212将检测到的环境温度与用户设置的温度门限进行比较,用于继电器控制。利用DS18B20 1-Wire温度传感器检测环境温度,并将温度显示在由Maxim的8引脚LED显示驱动器ICM7218驱动的4位、7段LED显示器上。所选择的微控制器和高集成度显示驱动器,使系统的元件数量大大降低。

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭