一、 实验要求
实验目的:
- 掌握数码管的使用方式
- 掌握DS18B20温度传感器的工作原理
- 掌握单总线通信方式实现MCU与DS18B20数据传输
实验内容:
- 学习DS18B20温度传感器的单总线传输机制,通过单片机MCU的I/O实现温度采集,并将数据显示在数码管上。
二、 实验设计
1.整体思路
该程序主要实现的功能是读取温度传感器的温度值,并在数码管上显示。首先,需要将温度传感器正确地插入到温度传感器接口处。然后,通过单片机读取温度传感器的数据,经过处理后将结果显示在数码管上。
2.流程图
图 1 算法设计流程图
- 主要模块设计思路及分析
延时函数(delay):此函数用于实现延时功能,输入参数为延时时间,单位为毫秒。通过while循环实现延时。
数据处理函数(datapros):此函数用于读取温度值并转换为适合在数码管上显示的数字。首先判断温度值的正负,然后根据正负情况对数据进行处理,最后将数据显示在数码管上。
数码管显示函数(DisplayData):此函数用于控制数码管的显示。通过定义一个字符数组,将处理后的温度值存储在数组中,然后通过调用相关的显示函数将数据显示在数码管上。
- 总结
该程序通过读取温度传感器的数据,经过处理后将结果显示在数码管上。其中,数据处理是核心部分,需要根据温度值的正负情况进行不同的处理。同时,延时函数的实现也需要特别注意,因为延时时间需要精确控制才能保证程序的正常运行。在编写程序时需要注意变量的类型、数据的精度和数据的格式等问题,以确保程序的正确性和可靠性。
附录: