温度检测工程上板说明
温度检测工程上板说明作者:肖肖肖
本文为明德扬原创文章,转载请注明出处!
明德扬MP801开发板可以支持温度检测工程,该工程可以达到实时检测温度的效果。在串口中设置温度范围,实际温度会实时的显示开发板在数码管上,实际温度超过设置范围的蜂鸣器会“滴”声报警。具体工程展示如下。
一、MP801开发板效果图
MP801开发板是明德扬自有开发板,此设计我们需要用到串口接口、电源、数码管、蜂鸣器和温度传感器这几部分,连接图如下所示:
二、quartus烧录进板
1. 打开软件“Quartus”,点击图标:
2. 出现Programmer界面后,点击 Add File 添加工程“.sof”文件:
3. 添加对应工程的“.sof”文件:在添加工程文件的时候特别注意区分文件名!
4. 添加成功后,点击“Start”开始下载:5. 下载成功如下所示:
三、串口调试助手 发送操作指令
1.打开串口调试助手:
2.配置串口号等相关参数:
3.串口端口号可在“设备管理器”—“端口(COM和LPT)”中查看:
4.在串口调试助手的发送区域一次性发送以下指令:55d5010155d5800055d581cc55d5814455d5800055d581cc55d581be55d5820055d5830055d5800055d5040055d5032055d5020055d5050055d50d00
5.点击“打开串口”,点击“手动发送” ,温度传感器检测一次温度就会在MP801开发板的数码管上显示并传回数据显示在串口调试助手。
此时,如果温度显示的是+85°,这是正常的。因为“*The power-on reset value of the temperature register is +85°C”,这个是DS18B20数据手册里的描述,也就是说,DS18B20在上电复位时,其温度寄存器里的初始值是85°C。如果你不想显示这个85°C,你可以延迟一段时间,比如0.5S后再提取这个DS18B20转换的温度显示即可。
四、效果演示
1.单次采集效果
再次点击“手动发送”,温度检测器检测一次温度,此时的温度就为正常的,数码管上显示检测到的温度“+31.01875°”,并传回数据给上位机。MP801开发板温度显示效果如下图所示:
串口助手得到的传回数据如下图所示:
2.实时采集效果
点击“自动发送” ,温度检测器就可以实现实时检测、显示温度并返回温度数据,串口显示效果如下图所示:
五、温度传感器操作码(opcode)说明
指令(16进制)功能定义
80XX复位温度传感器
81XX将XX值写到温度传感器
82XX从温度传感器的温度寄存器(LSB)读到1字节数据,并保存在fpga温度低位寄存器DS_TEMP_LSB_REG中
83XX从温度传感器的温度寄存器(MSB)读到1字节数据,并保存在fpga温度高位寄存器DS_TEMP_MSB_REG中
84XX从温度传感器读到1字节数据,并保存到fpga读通用寄存器(读除了温度寄存器的其他寄存器)DS_TEMP_RDATA_REG
01XX设置数码管开关。XX最低位有效: 0:关闭数码管显示 1:开启数码管显示 其他:无效
02XX设置温度报警器范围的下限,XX一共有8bit,其中最高位是符号位,0表示正数,1表示负数。低7位是数值。
03XX设置温度报警器范围的上限,XX一共有8bit,其中最高位是符号位,0表示正数,1表示负数。低7位是数值。
04XX利用DS_TEMP_LSB_REG和DS_TEMP_MSB_REG计算出十进制值,结果保存到TEMP_US寄存器中
05XX设置温度报警功能:XX最低位有效: 0:关闭温度报警功能 1:开启温度报警功能 其他:无效
06XX读寄存器TEMP_US,返回给PC
07XX读寄存器TEMP_US,返回给PC
08XX读寄存器TEMP_US,返回给PC
09XX读寄存器TEMP_US[ 7:0],返回给PC
0aXX读寄存器DS_TEMP_LSB_REG,返回给PC
0bXX读寄存器DS_TEMP_MSB_REG,返回给PC
0cXX读寄存器DS_TEMP_RDATA_REG,返回PC
0dXX读取转换后的温度值,返回给PC
其他无效,可用作延时
注:1.每次发送必须是两个字节,否则会出错; 2.表中的XX,如果是发送数据,则XX是发送的内容;否则,XX表示任何值。
以上就是明德扬MP801开发板上板效果,想要学习更多内容的同学,可以加Q:1479512800肖肖肖获取本工程的“.sof”文件!
页:
[1]