一.任务要求
能够通过串口向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进制数据转换。
根据下表对串口输入数据进行操作: