Proteus中温度传感器模拟与数码管、液晶显示教程
需积分: 50 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仿真平台,将实际物理的温度传感器与数码管和液晶屏结合,实现温度值的实时监控和显示。这对于学习嵌入式系统的编程和硬件交互具有很高的参考价值。
2020-12-13 上传
2023-04-30 上传
2024-07-02 上传
2023-07-17 上传
2023-05-29 上传
2023-09-06 上传
2023-12-10 上传
木头木脑a
- 粉丝: 0
- 资源: 1
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析