关键是定时器该怎么写?如果你能写出来就给你最佳
追答我的意思就是把输出P1OUT = sin_tab[a];这一步放到定时器里面做,每次进入定时器中断时输出一个值。 你给定时器赋的初值就决定了输出两个点的间隔时间,再换算一下就是周期。
以下程序只是我的想法, 没经过实测。
TACCR0 = 1; // 假设频率为8M 则定时器间隔1为1/8M 假设你的正弦表是20个点 那么输出周期就是20/8M 输出频率就是 400KHz
#pragma vector=TIMER0_A0_VECTOR
__interrupt void TACCR0_ISR()
{
i++;
P1OUT = sin_tab[i];
if(i==20) i=0;
}
仅供参考。。 理论上应该能行 但实际肯定达不到400k
你能提供一个实例程序吗?
追答我这没有,你可以网上找找。
本回答被网友采纳我想要个实例程序,大体方向我也知道,但是程序不知道怎么写
追答我没写过用dac产生的正弦波 你可以去网上找找应该有很多 其实如果实际中用的话 我还是建议你用dds产生正弦波
如何用51单片机控制DAC0832产生不同频率正弦波,键盘改变频率,求具体的...
假设你把一个正弦波的一周期分成180个点,那么每个点相差是2度,那么每个点是有一个对应的SIN值的,比如SIN0 SIN2 SIN4等。假设1ms发送一个点(即单片机向DA写一个该SIN值所对应的电压大小), 那么写完一个正弦波,要180ms。如果2ms写一个点,这就改变了正弦波的频率了。一周期所分的点越...
用DAC0832作正弦波发生器,生成正弦波,怎么选取数字值?计算正弦波大小...
DA生成的信号是离散的。假设生成一个Y=Asin(2*pi*f*t)的正弦波,AD的数据端口给了256个数字,0~255.假设0~127表示X轴上方的电压值,其余的表示下方。则得到数据端口的数值的具体量。VALUE=127sin(2*pi*f*t)+127.参考资料:myself
DAC0832+单片机输出正弦波频率最大值问题
DAC0832转换时间为1uS。采用单片机控制的话,转换速度已经够快了,采用查表法输出,假设单片机主频为1MHz(传统51,晶振12MHz为例),那么,采用汇编语言的话,效率较高的话,输出一个数据点大约需要20uS。假设一个周期输出64个数据点,大约1280uS,大约可输出1kHz的频率。如果采用较高速度单片机(如AVR系...
51 单片机和DAC0832输出方波、矩形波和正弦波由液晶1602显示的C语言程 ...
sbit DA_S1= P2^0; \/\/ 控制DAC0832的8位输入寄存器,仅当都为0时,可以输出数据(处于直通状态),否则,输出将被锁存 sbit DA_S2= P2^1; \/\/ 控制DAC0832的8位DAC寄存器,仅当都为0时,可以输出数据(处于直通状态),否则,输出将被锁存 sbit key= P3^2;uchar wavecount; \/\/'抽...
利用单片机怎么产生正弦波信号
单片机 外接AD转换芯片 再加运放 通过一定的控制程序就可产生正弦波。实现方法:1、通过单片机DA来实现,需要通过查表法;2、通过PWM方式实现;不过都需要加硬件滤波电路来实现正弦波的平滑。
单片机汇编程序实现DA转换,用DAC0832芯片实现
\/\/0832各种波型输出演示 \/\/P1.1P1.0 = 00时 正弦波 \/\/P1.1P1.0 = 01时 锯齿波 \/\/P1.1P1.0 = 10时 方波 \/\/P1.1P1.0 = 11时 三角波 \/\/需要连接的导线:\/\/(1)译码器Y0接DAC0832的CS \/\/(2)P3.6即XWR插孔接DAC0832的WR \/\/(3)8芯的排线连接8排针的P0口...
利用单片机和DAC0832控制输出方形波,锯齿波,三角波,并通过示波器显示...
单片机和DAC0832控制输出方波,锯齿波,三角波,正弦波。include<at89x51.h> \/\/unsigned char TIME0_H=0xec,TIME0_L=0x78; \/\/定时器0的初值设置;全局变量 include<sinx.h> include<0832.h> void main(){ TMOD=0X01;TH0=0xff;TL0=0xd9;IT0=1; \/\/设置中断触发方式,下降沿 EA=1...
51单片机和DAC0832制作可调频的信号发生器
256个点,DAC0832速率为1us左右,理论上频率可以达到1M\/256=3906HZ。但实际上受器件影响,不一定达到这么高的频率。不过由于你用的是51单片机,12T的模式,执行指令的速率非常低,所以真正影响频率的首先不是DAC0832,而是单片机。因相对于DAC0832的速率,单片机的速率慢了很多,所以单片机的速率是跟不上...
怎么用单片机产生2路正弦波信号相位相差120度(用2片dac0832)
提供一点思路,用两个定时器产生PWM信号,第一个定时器工作到交流电半周期的三分之二启动第二个定时器。
用两片DAC0832和单片机实现信号发生器,如何搭接电路
波形和频率的改变通过软件控制,幅度的改变通过硬件实现。介绍了波形的生成原理、硬件电路和软件部分的设计原理。本系统可以产生最高频率798.6HZ的波形。该信号发生器具有体积小、价格低、性能稳定、功能齐全的优点。DAC0832是8分辨率的D\/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口...