littlebot
Published on 2025-04-15 / 1 Visits
0

【源码】基于AVR微控制器和C语言的温度读取显示系统

项目简介

本项目是基于AVR微控制器的ATMega328P微控制器温度读取和显示系统。利用DS18B20温度传感器读取温度数据,并将其实时显示在HD44780 LCD屏幕上,使用CMake和Ninja进行编译和上传。

项目的主要特性和功能

  1. 借助DS18B20温度传感器读取温度数据。
  2. 实时在HD44780 LCD屏幕上显示读取到的温度数据。
  3. 支持灵活的端口配置,可重新定义I²C和DS18B20的端口。
  4. 主程序通过无限循环持续更新温度和时间显示。

安装使用步骤

前提条件

假设用户已经下载了本项目的源码文件。

步骤

  1. 解压源码文件。
  2. 打开终端,依次执行以下命令(注意将<port>替换为PCB连接的串口,例如/dev/ttyUSB0): $ cd atmega328p_thermometer $ mkdir build $ cd build $ cmake -DCMAKE_BUILD_TYPE=Release -G Ninja -DPROG_PORT=<port> .. $ ninja $ ninja upload

重新定义默认端口

I²C端口

若要更改默认I²C端口,需在运行cmake命令时添加以下额外参数: -DREDEFINED_I2C_PORTS=1 -DSDA_PORT=<port> -DSDA_DDR=<ddr> -DSDA_PORT_BIT=<bit> -DSCL_PORT=<port> -DSCL_DDR=<ddr> -DSCL_PORT_BIT=<bit> 例如,将I²C SDA和SCL端口分别更改为Arduino的第9和第10个数字引脚,需运行以下cmake命令: cmake -DCMAKE_BUILD_TYPE=Release -G Ninja -DPROG_PORT=/dev/ttyUSB0 -DREDEFINED_I2C_PORTS=1 -DSDA_PORT=PORTB -DSDA_DDR=DDRB -DSDA_PORT_BIT=1 -DSCL_PORT=PORTB -DSCL_DDR=DDRB -DSCL_PORT_BIT=2 ..

DS18B20端口

若要更改默认DS18B20 DQ端口,需在运行cmake命令时添加以下额外参数: -DREDEFINED_DS18B20_PORT=1 -DDS18B20_PORT=<port> -DDS18B20_DDR=<ddr> -DDS18B20_PIN=<pin> -DDS18B20_PORT_BIT=<bit> 例如,将DS18B20 DQ端口更改为Arduino的第5个数字引脚,需运行以下cmake命令: cmake -DCMAKE_BUILD_TYPE=Release -G Ninja -DPROG_PORT=/dev/ttyUSB0 -DREDEFINED_DS18B20_PORT=1 -DDS18B20_PORT=PORTD -DDS18B20_DDR=DDRD -DDS18B20_PIN=PIND -DDS18B20_PORT_BIT=5 .. 3. 上传到ATMega328P微控制器后,项目即可运行,实时读取温度数据并在LCD屏幕上显示。

注意事项

在编译和上传项目时,请确保微控制器的端口配置与项目设置一致。如果需要更改端口配置,请按照上述说明进行修改。此外,确保使用的DS18B20和HD44780模块与项目兼容。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】