PIC单片机AD转换数据存储及串口效率-技术方案_第1页
PIC单片机AD转换数据存储及串口效率-技术方案_第2页
PIC单片机AD转换数据存储及串口效率-技术方案_第3页
PIC单片机AD转换数据存储及串口效率-技术方案_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档-下载后可编辑PIC单片机AD转换数据存储及串口效率-技术方案PIC单片机A/D转换后的数据通常需要占用两个8位宽的RAM单元,而PIC单片机的存储单元有限,因此造成了单片机的存储单元不能被有效利用,同时通过串口向上位机传送数据时也需要花费较多的时间。

为此提出一种数据打包的方法,使得相同的数据量占用较少的存储空间,并可提高传输效率。

0引言

在由单片机和PC机构成的检测系统中,通常会由多个单片机采集数据并将经过A/D转换的数据通过串口送往上位PC机进行数据处理。PIC单片机A/D转换后的结果大多是8位或10位的,8位的A/D转换不涉及该问题。以10位的数据为例,在单片机内进行存储时需要占用2个8位的字节,低8位和高2位分别存储在2个字节中,但是用于存储高位数据的8位宽的RAM单元中仅有2位是有效数据。

单片机的存储空间有限,以单片机为例,RAM数据存储器按功能分为通用寄存器和特殊功能寄存器两个部分,除去特殊功能寄存器外,仅有368个8位宽的RAM单元,单片机能够存储的数据量很有限。假设将每次A/D转换的数据直接存储,每个数据都要占用2个字节,理想状态下也只能存储184个数据;假设需要存储100个A/D转换的数据,就要占用200个字节的单元,这样的存储方式并未将单片机的存储空间充分利用,同时,如果将A/D转换后的数据通过串口直接上传,串口就要向上传送200帧的数据,有效传输速率比较低,没有充分利用数据帧中的数据位。为此,本文提出如下方法将A/D转换后的数据先进行处理后再存储或上传。

1程序设计思路

以10位的A/D转换为例,可以将A/D转换的结果暂存在a[size]中,然后把数组a中的数据一位一位地取出,把低8位和高8位拆开分别存放,低8位存放在数组b中,高8位存放在数组c中,由于高8位的数据中只有2位是有效数据,我们可以把有效数据取出组合成一个新的数据存放,当上传数据后再用相反的方法解码,把数据恢复到原先的状态。这样对于10位的A/D转换来说可以节省3/8的空间,需要向上位机传送的数据也会比较少,数据传输时间仅为原来的5/8。

2采用C语言编写的程序

本文采用PIC16F877单片机进行试验。其中定义i、h、j、n、m为int8,a[size]为int16的数组,用于暂存A/D转换的结果;b[number]、c[number]、d[number]是int8的数组。程序原文如下:

程序首先利用一个for循环将A/D转换后的数据拆开,将低8位存放在数组b中,高2位暂时存放在数组c中。由于数组c中的8位二进制数据都是仅有低2位是有效数据,所以第二个for循环将c[i]、c[i+1]、c[i+2]、c[i+3]中的2位有效数据取出,按照由低到高的顺序重新组合成一个8位的二进制数,放入数组d,构成一个新的数组。这样A/D转换结果由原来用数组a表示变成了由数组b表示低8位、数组d表示高2位的状态。

程序中的h、j、n、m用于记录转换的数据存储在数组的位置,在下转换的时候,数据可以接在上的数据后面,n和j在主程序中convert()被调用之前首先被赋值为0。

3结论

根据以上程序,我们可以按照类似的方法把12位的A/D转化结果进行组合,将12位的A/D转换结果拆成低8位和高4位,再将2个高4位重新组合成一个8位的二进制数存储,这样对于12位的A/D转化结果可以节省1/4存储空间,缩短1/4传输时间。

该程序的执行时间仅为990us,相对于数据的传输时间是很小的。在单片机空间小的情况下,以程序的执行时间来换取单片

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论