dsp里面adc采集的信号,将其通过串口传输到pc中,采集程序已有。如何编写传输程序

dsp里面adc采集的信号,将其通过串口传输到pc中,采集程序已有。如何编写传输程序,第1张

可以采用DSP的SCI - Serial Communication Interface模块实现

具体可参考TM320x281x Serial Communication Interface (SCI) Reference Guide

为什么采集不到数据,不知道什么情况的话,原因是多方面的。

首先,您要确定硬件没有问题,这个您一定要确认好;

那么,接下来看程序

1、程序初始化,两个ADC相关的寄存器必须要设置,ADMUX和ADCSRA

在ADMUX中必须要设置的参考电压和输入通道,您的设置是ADMUX = (1<<REFS1)|(1<<REFS0)|(0<<ADLAR); 您设置的是内部256V的基准(这里以Atmega8为例,具体根据您使用的MCU),但这里提醒您最好在AREF引脚上加个104电容,另外您没设置通道,那么就是默认ADC0通道输入,那您就要把信号接在ADC0,同时最好加阻容滤波,在这里(0<<ADLAR)这句完全多余虽然加上也没问题;

ADCSRA的设置,您设置的是ADCSRA = (1<<ADEN)|(7<<ADPS0); 其中, (1<<ADEN)这个没问题,问题出在(7<<ADPS0)这个上面,这个翻译的结果是(7<<ADPS0)等效于0x07,(7<<ADPS0)等效于(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0)也就等效于设置ADC为晶振的128分频, 不知道您是不是这个本意如果不是请更改。 另外,您没有设置其他的参数,就表示的意思是:单次转换,不使用中断。您的设置总的这个寄存器就是,128分频,单次转换(转换一次就停止),不使用中断(需要您扫描标志位来确认是否转换完)。请根据这个对照您的程序,是不是这是您的本意。

2、您的转换程序中,对应ADC0相应的IO口,不需要设置输入或输出;

ADCSRA |= 1<<ADSC;启动转换后,您延时10uS,这要注意了,您的分频是128,就是晶振频率/128,请确认这时ADC是否转换结束,您要算算延时够不够,如果不够请加延时;

另外,您转换完成后,因为没开中断,不能自动清除ADIF标志,您还要在程序中清零ADIF。

把300V电压,接到两个的电阻分电路上,电阻串联有分压作用。一端接地的电阻上分压为0~5V,假如电阻取10K,那么大电阻就应该是590K。电压分压比为300/5=60倍,所以,用AD采集0~5V电压,得到数字量,换算成电压为Ⅴd,再计算出被测电压Vx=60Vd。所以,写程序很简单,主要是A/D转换程序并转换为电压Vd。

51好久没弄过了,给你个思路吧,因为51对浮点型运算较慢,不适合使用傅里叶变换,可以这样

定义一个数组v[3]={0};

每次采集一个电压放到数组的最后一位;然后判断当v[0]<v[1]<v[2]时启动计时器进行

计时,否则{v[0]=v[1];v[1]=v[2];}

重复这个过程。

当又一次v[0]<v[1]<v[2]时停止计时器,读取时间差,这个时间就是周期T,频率就是1/T。

可以多读几个周期T取平均值。

你先弄清楚几个问题:

一、看懂程序,该程序是读P1口的状态:adval=P1;然后把它显示出来。顾名思义,该程序是一个AD采集程序(从adwr和adrd知道它们分别是ad write 和 ad read的简写)。

二、检查电路连接,ad芯片的管脚确实是adwr=P3^6;adrd=P3^7;?并且它的数据输出口确实是P1口?

三、上面两个没问题的话,检查程序里,ad芯片的时序写的对不对。

另外,最好贴上电路图和ad芯片的型号。

你的开发板上的单片机是STC89C52,这个89系列的单片机是没有内部A/D电路的,要进行AD采集电压,要外配A/D转换芯片,这AD芯片不同,采集的程序就不同的。

如下图所示,STC89系列单片机的内部配置,画红杠一列AD为空。

STC单片机从STC12系列开始才有内部AD电路的,你可以换一个STC12C5A60S2的单片机,带有内部AD的,可以替换你开发板上的STC89C52,这样,就可以用来练习A/D转换程序了。至于串口发送程序,你前面已经提问过了,那A/D转换程序,去STC官网下载,官网上有很多A/D转的例程,可以下载的。下图就是STC官网的资料目录。

以上就是关于dsp里面adc采集的信号,将其通过串口传输到pc中,采集程序已有。如何编写传输程序全部的内容,包括:dsp里面adc采集的信号,将其通过串口传输到pc中,采集程序已有。如何编写传输程序、急急急!请教为什么AVR的AD采集不出数据(程序)、请问51单片机ad采集电压0-300v降压转变成0-5v范围内,降压部分原理图和程序应该怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10140939.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存