【FPGA】串口以命令控制温度采集

本文介绍了一个FPGA项目,通过串口接收命令控制温度传感器(ds18b20)数据采集,并将数据转换为BCD码,然后在数码管上显示。设计包括ASCII到16进制转换、命令解析以及控制模块,实现串口通信与温度数据处理。
摘要由CSDN通过智能技术生成

一.任务要求

能够通过串口向FPGA芯片发送命令,以命令控制FPGA接收温度传感器数据,以及串口发送和数码管显示。该项目以前面学习的ds18b20温度传感器为例。

二.设计思路

①温度传感器返回数据是二进制的形式,为了方便后续处理,我们需要先将数据转换为bcd码的形式。

BCD码(Binary-Coded Decimal‎),用4位二进制数来表示1位十进制数中的0~9这10个数码,是一种二进制的数字编码形式,用二进制编码的十进制代码。BCD码这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。相对于一般的浮点式记数法,采用BCD码,既可保存数值的精确度,又可免去使计算机作浮点运算时所耗费的时间。此外,对于其他需要高精确度的计算,BCD编码亦很常用。

在这里,我们采用的是8421BCD码,也就是采用4位二进制的前十组代码表示0~9。
方法是:将要转的二进制值向左移动,一旦表示一位十进制数的4位二进制的值大于4,就加上3。
具体如下:
在这里插入图片描述

②串口以ASCII的形式收发数据,所以我们需要两个模块用于ASCII码和16进制数据转换。
根据下表对串口输入数据进行操作:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值