用MAXQ3212微控制设计数字温度监控器
[09-13 17:04:11] 来源:http://www.88dzw.com 控制技术 阅读:8304次
文章摘要:在这个应用里,以华氏温度为单位显示温度。利用下列方程进行转换:华氏温度 = (摄氏温度 × 1.8) + 32(式1)因为温度以小数形式表示,而且转换时需要乘以1.8,所以用二进制数进行计算。进行实数乘法运算时,需要在不浪费处理器资源的情况下尽量减小计算误差。DS18B20初始化时,温度值的分辨率设置成10位,所以第1位和第0位没有意义。在温度小数部分的其余2位(第3位和第2位)提供0.25°C (0.45°F)的分辨率。因为MAXQ3212累加器的字节宽度为8位,可以方便地用一个字节作为温度换算的小数部分,乘法器可以包含6位小数信息。从下面可以看出,可以用6位小数近似表示到0.8至0.8的9
用MAXQ3212微控制设计数字温度监控器,标签:计算机控制技术,工厂电气控制技术,http://www.88dzw.com在这个应用里,以华氏温度为单位显示温度。利用下列方程进行转换:
华氏温度 = (摄氏温度 × 1.8) + 32

因为温度以小数形式表示,而且转换时需要乘以1.8,所以用二进制数进行计算。进行实数乘法运算时,需要在不浪费处理器资源的情况下尽量减小计算误差。DS18B20初始化时,温度值的分辨率设置成10位,所以第1位和第0位没有意义。在温度小数部分的其余2位(第3位和第2位)提供0.25°C (0.45°F)的分辨率。因为MAXQ3212累加器的字节宽度为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)与处理器的输出端口连接,控制继电器开关。MAXQ3212端口的复位默认状态是弱上拉,高电平。因此,上电时其端口引脚为高电平,直到应用软件改变其状态。如果利用一路n沟道FET (BS-170)控制继电器线圈的供电,在处理器上电时,这个端口的默认状态就会触发继电器动作。直到应用软件将其置0为止。这种状态是不期望出现的,因为继电器被错误地触发,导致了一次不需要的动作。为了解决这一问题,电路采用了2个串联FET,共同控制继电器动作,处理器上电后的默认状态不会触发继电器。例程
该应用的配套软件可从: 下载(ZIP),其中包含源代码文件:Thermostat.asm、1-Wire.asm、BCD.asm、ThermDisp.asm和头文件maxq3120.inc,其中头文件包含MAXQ3210/MAXQ3212的寄存器定义。压缩文件还包含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显示器上。所选择的微控制器和高集成度显示驱动器,使系统的元件数量大大降低。
Tag:控制技术,计算机控制技术,工厂电气控制技术,控制技术
《用MAXQ3212微控制设计数字温度监控器》相关文章
- › 采用MAX809芯片的复位电路图
- › 使用MAX2682的GPS接收机下变频器电路
- › 利用MAX712/MAX713的温度控制典型电路
- › 利用MAX1894/MAX1924组成的没有预充电功能的典型应用电路
- › 利用MAX1894/MAX1924组成的具有预充电功能的典型应用电路
- › 采用MAX761设计的5V转12V开关电源电路图
- 在百度中搜索相关文章:用MAXQ3212微控制设计数字温度监控器
- 在谷歌中搜索相关文章:用MAXQ3212微控制设计数字温度监控器
- 在soso中搜索相关文章:用MAXQ3212微控制设计数字温度监控器
- 在搜狗中搜索相关文章:用MAXQ3212微控制设计数字温度监控器
分类导航
最新更新