Proteus中温度传感器模拟与数码管、液晶显示教程

需积分: 50 22 下载量 29 浏览量 更新于2024-09-03 1 收藏 3KB TXT 举报
本文档主要介绍了如何在Proteus软件中使用温度传感器并将其读数显示在数码管和1206液晶屏上,涉及到了单片机编程、嵌入式系统设计以及C语言的应用。具体步骤包括以下几个部分: 1. **硬件准备**: - 字库(用于数码管和液晶屏的字符映射) - 数码管编码表:提供了各个段的二进制代码,如seg7codeB数组,用于驱动7段数码管的每个位。 - 1206液晶屏的说明书:包含了驱动液晶屏的数据和命令的发送方式。 2. **软件环境设置**: - 定义了多个输入输出引脚,如WEAI_1, WEAI_2, WEAI_3, tp, 和led,分别用于控制数码管的段选和公共端,以及液晶屏的某些功能。 - 使用C语言的变量tempL和tempH存储温度数据的低字节和高字节,sdata存储传感器读取的数值,xiaoshu1和xiaoshu2用于临时存储数码管显示的数字。 3. **程序逻辑**: - 定义了一个名为delay的函数,用于实现延时,以便在操作传感器和显示数据时进行适当的时间间隔。 - lm016_int函数可能与某个特定的中断或外部信号有关,它用于接收传感器的数据,并将数据处理后分段显示在数码管上。x变量可能用于暂存中断接收到的温度值。 4. **数据处理与显示**: - 将传感器读取的温度数据(sdata)分为高位和低位两部分,分别存储在tempH和tempL中。 - 计算xiaoshu1和xiaoshu2,可能是通过模运算将十进制的温度值转换成对应的数码管显示字符。 - 如果fg标志(可能表示是否正在读取温度)为1,程序进入数据处理阶段;当fg为0时,可能表示已经读取完成,此时显示xiaoshu1和xiaoshu2,然后可能清零并重新开始读取过程。 5. **数码管与液晶屏驱动**: - 使用定义好的数码管编码表,通过控制P2口的不同组合来选择相应的段显示温度值。对于1206液晶屏,可能涉及到写入特定的字符或指令到液晶屏的寄存器,以便在指定的位置显示温度值。 这篇文档展示了在嵌入式开发环境中,如何通过C语言和Proteus仿真平台,将实际物理的温度传感器与数码管和液晶屏结合,实现温度值的实时监控和显示。这对于学习嵌入式系统的编程和硬件交互具有很高的参考价值。