任务要求:
学习AD采样的配置方法,并实现温度报警器
1. 学习蜂鸣器的控制方法,用蜂鸣器实现按键音效
2. 学习AD采样的配置,实现数码管显示采样温度
3. 学习数据处理方法,实现数字温度报警器
课后任务:
用DS18B20数字温度芯片实现温度报警器
一、任务分析:
用DS18B20数字温度芯片实现温度报警器,依据官方案例,可以通过把板载的NTC负温度系数热敏电阻的硬件以及软件程序部分更换为DS18B20模块来实现,以降低开发难度。在本项目中实现了将数码管、蜂鸣器、DS18B20组合成一个有机系统实现温度报警器的功能。
主要使用的设备有数码管驱动芯片是HC595,高速串行数据转并行输出芯片。编程环境如项目一。
1.CH595数码管驱动电路
见任务二。
2.蜂鸣器
蜂鸣器分为有源蜂鸣器和无源蜂鸣器两种。有源蜂鸣器内置了振荡器和驱动电路,直接通过给定电压来产生声音;无源蜂鸣器需要外部提供频率适当的方波信号来驱动。
3.DS18B20模块
DS18B20 基于 Dallas Semiconductor(现在是 Maxim Integrated)的一种单线(One-Wire)总线协议工作。传感器内部包含温度传感器和一种称为“控制/状态/存储寄存器”的内部存储器。
DS18B20 的通信过程:
1. 初始化
主控制器向 DS18B20 发送复位脉冲(Reset Pulse)。
DS18B20 接收到复位脉冲后,会进行复位操作,准备接收命令。
2. 发送命令
主控制器发送指令到 DS18B20,指令包括温度转换命令、读取温度命令等。
3. DS18B20 响应
DS18B20 接收到命令后,会执行相应的操作,例如进行温度转换或将温度值写入内部存储器。
4. 数据传输
如果主控制器需要读取温度值,则会发送读取命令。
DS18B20 将温度值发送给主控制器,主控制器通过单线总线接收数据。
5. 结束通信
通信完成后,主控制器发送复位脉冲来结束通信。
二、硬件电路
三、编程环境和程序设计实现
(1)SysConfig配置硬件外设
根据电路图设计,分别配置DIO、SCLK、RCLK的管脚为PA27、PA26、PA13。
(2)实现数码管点亮
编译,下载。
五、结果验证
经过验证,可以实现温度检测,并在达到设定温度时发出蜂鸣声报警。