打印

怎么把ad的正旋表格是怎么计算出来的

[复制链接]
2653|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
【量化阶数】就是 ADC 位数,例如tlc1549 是10 阶,ADC0809 是8 阶;
【采样点数】就是在一个正弦周期内,均匀分布多少个采样点,例如在 128 点的lcd 上显示2
个以上周期的话,采样点数要小于64 点,这里选用30 点数来举例,源程序如下。
#include "mini51b.h" //所有与硬件相关的接口函数定义
#include "uart.h"
unsigned char code dot[30]={ //正弦表,注意数据类型是“code”,存放在rom 当中这个表格的数据时怎么得到的
0x80,0x9a,0xb4,0xcb,0xdf,0xee,0xf9,0xff,0xff,0xf9,
0xee,0xdf,0xcb,0xb4,0x9a,0x80,0x65,0x4c,0x34,0x21,
0x11,0x6,0x0,0x0,0x6, 0x10,0x20,0x34,0x4b,0x65,
};
void main()
{
unsigned char i;
rs232_port_init();
delay_ms(1);
while(1) {
for(i=0;i<128;i++) {
uart_put_uchar(dot[i%30]);
delay_ms(1);//此处延时当于调节了采样率
}
}
}

相关帖子

沙发
枫叶1989| | 2010-8-14 10:23 | 只看该作者
你可以用c语言编程序产生,或者用MATLAB也可以。

使用特权

评论回复
板凳
cubasa| | 2010-8-14 11:14 | 只看该作者
你是要正弦的ROM数据表吗?
希望我做的这个对你有用。

用EXCEL 2007打开,可能要设置一下,允许访问VBA项目。
如果选中保存文件,可以在同级目录下生成十进制的序列文件SIN.TXT,长度根据DAC位数决定。
30个点能不能改成32个点,这样就选择5位(可以在下拉框中直接输入)。实在不行可去掉0和31,再手动微调一下。
SIN.rar (23.52 KB)

使用特权

评论回复
地板
472666GAQ|  楼主 | 2010-8-14 12:25 | 只看该作者
你可以用c语言编程序产生   产生这个依据是什么 怎么弄呢

使用特权

评论回复
5
472666GAQ|  楼主 | 2010-8-14 12:28 | 只看该作者
比如公式啥的

使用特权

评论回复
6
枫叶1989| | 2010-9-2 10:13 | 只看该作者
就是一个函数,把正弦信号采样成你需要的十六进制数组啊...

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

102

主题

285

帖子

2

粉丝