一、开环境介绍
按照官方给出的Code Composer Studio +mspm0_sdk_2_00_00_03+sysconfig-1.20.0_3587进行此次开发。
二、学习内容以及任务介绍
初级教程二:
学习AD采样的配置方法,并实现温度报警器
1. 学习蜂鸣器的控制方法,用蜂鸣器实现按键音效
2. 学习AD采样的配置,实现数码管显示采样温度
3. 学习数据处理方法,实现数字温度报警器
课后任务:
用DS18B20数字温度芯片实现温度报警器
三、实现分析
在课程三第1讲里,我们学习了如何用蜂鸣器实现按键音效。第2讲里,我们学习了如何把板载NTC负温度系数热敏电阻的数值显示在数码管上。第3讲,我们学习了如何用板载的NTC负温度系数热敏电阻做一个温度报警器。任务要求用DS18B20数字温度芯片实现温度报警器,其实只需要把板载的NTC负温度系数热敏电阻的硬件以及软件程序部分更换为DS18B20模块即可。将数码管、蜂鸣器、DS18B20结合到一起可以做成一个温度报警器。此外我还加入了板载的LED灯来配合报警显示。
四、所需设备
LP-MSPM0L1306开发板
MicroUSB的数据一根
安装 有CCS软件的电脑进行程序开发调试
74HC595数码管模块
蜂鸣器
DS18B20模块
杜邦线 若干根
五、硬件原理
1.74HC595数码管模块
74HC595数码管模块的硬件原理前面帖子已经介绍过了,在此不再赘述。
2.蜂鸣器的工作原理:
蜂鸣器可分为有源蜂鸣器和无源蜂鸣器两种。主要在于它们的工作原理和驱动方式。有源蜂鸣器内置了振荡器和驱动电路,可以直接通过给定电压来产生声音,而无源蜂鸣器则需要外部提供频率适当的方波信号来驱动。在选择使用哪种类型的蜂鸣器时,需要考虑到具体的应用需求,包括所需的声音效果、控制灵活性以及成本等因素。
3.DS18B20模块
DS18B20 是一种数字温度传感器,基于 Dallas Semiconductor(现在是 Maxim Integrated)的一种单线(One-Wire)总线协议工作。传感器内部包含温度传感器和一种称为“控制/状态/存储寄存器”(Control/Status/Storage Register,简称为寄存器)的内部存储器。
DS18B20 的通信过程:
1. 初始化
主控制器向 DS18B20 发送复位脉冲(Reset Pulse)。
DS18B20 接收到复位脉冲后,会进行复位操作,准备接收命令。
2. 发送命令
主控制器发送指令到 DS18B20,指令包括温度转换命令、读取温度命令等。
3. DS18B20 响应
DS18B20 接收到命令后,会执行相应的操作,例如进行温度转换或将温度值写入内部存储器。
4. 数据传输
如果主控制器需要读取温度值,则会发送读取命令。
DS18B20 将温度值发送给主控制器,主控制器通过单线总线接收数据。
5. 结束通信
通信完成后,主控制器发送复位脉冲来结束通信。
典型电路
六、软件编程
使用图形界面得到SysConfig 自动生成代码,帮助开发者更高效地进行嵌入式系统开发,减少了手动编码的复杂性和错误,提高了开发效率和代码质量。
其中74HC595数码管模块和RGB不再展示
BEEP PIN
DS18B20PIN
使用Code Composer Studio 进行代码编写
七、代码展示
从DS18B20拿到温度后再展示在数码管上
数码管显示程序不再赘述
八、效果演示
获取到的温度保留3位小数
在温度小于27℃时,RGB灯显示绿色,代表温度正常
在温度大于27℃,但小于29℃时,RGB灯显示蓝色,代表进入一级报警状态,此时蜂鸣器发出连续的鸣叫声
在温度大于29℃时,RGB灯显示色,代表进入二级报警状态,此时蜂鸣器长鸣