标题:
单片机+DAC0832数字信号发生器仿真及源程序
[打印本页]
作者:
51黑ff
时间:
2016-9-27 16:25
标题:
单片机+DAC0832数字信号发生器仿真及源程序
这个数字信号发生器的数模转换部分是使用的dac0832芯片.下面是原理图:
0.png
(32.78 KB, 下载次数: 56)
下载附件
2016-9-27 16:24 上传
源程序:
#include<reg51.h>
#include<absacc.h>
#define DAC0832 XBYTE[0x7fff]
#define ADC0808 XBYTE[0xfeff]
sbit s0=P1^0;
sbit s1=P1^1;
sbit s2=P1^2;
sbit s3=P1^3;
unsigned int i;
unsigned int x=0;
unsigned char freq;
int code table[]=
{
100,102,104,107,109,112,114,117,119,121,
124,126,129,131,133,135,138,140,
142,144,147,149,151,153,155,157,
159,161,163,165,167,168,170,172,
174,175,177,178,180,181,183,184,
185,187,188,189,190,191,192,193,
194,194,195,196,197,197,198,198,
198,199,199,199,199,199,200,199,
199,199,199,199,198,198,198,197,
197,196,195,194,194,193,192,191,
190,189,188,187,185,184,183,181,
180,178,177,175,174,172,170,168,
167,165,163,161,159,157,155,153,
151,149,147,144,142,140,138,135,
133,131,129,126,124,121,119,117,
114,112,109,107,104,102,100,97,
95,92,90,87,85,82,80,78,75,
73,70,68,66,64,61,59,57,55,
52,50,48,46,44,42,40,38,36,
34,32,31,29,27,25,24,22,21,
19,18,16,15,14,12,11,10,9,
8,7,6,5,5,4,3,2,2,1,
1,1,0,0,0,0,0,0,0,0,
0,0,1,1,1,2,2,3,4,5,
5,6,7,8,9,10,11,12,14,
15,16,18,19,21,22,24,25,27,
29,31,32,34,36,38,40,42,44,
46,48,50,52,55,57,59,61,64,
66,68,70,73,75,78,80,82,85,
87,90,92,95,97,100
}; //正弦波形表
void sin()
{
while(s0==0)
{
ADC0808=0;
for(i=0;i<freq+1;i++)
DAC0832=table[x];
x++;
if(x>255)x=0;
}
}
void jvchi()
{
while(s1==0)
{
ADC0808=0;
for(i=0;i<freq+1;i++)
DAC0832=x;
x++;
if(x>255)x=0;
}
}
void triangle()
{
while(s2==0)
{
ADC0808=0;
for(i=0;i<freq+1;i++)
{
if(x<256)
DAC0832=x;
else DAC0832=512-x;
}
x++;
if(x>511)x=0;
}
}
void fangbo()
{
while(s3==0)
{
ADC0808=0;
for(i=0;i<freq+1;i++)
{
if(x<256)
DAC0832=0xff;
else DAC0832=0;
}
x++;
if(x>511)x=0;
}
}
void main()
{
IE=0X81;
ADC0808=0;
sin();
jvchi();
triangle();
fangbo();
}
extern0()interrupt 0
{
freq=ADC0808;
}
复制代码
0.png
(51.88 KB, 下载次数: 49)
下载附件
2016-9-27 16:25 上传
所有资料下载:
数字信号发生器.zip
(26.48 KB, 下载次数: 108)
2016-9-27 16:25 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
亘黑鹿
时间:
2016-10-31 23:02
可以可以 很feel!!!请问 你是如何完成的??都看了什么书??
作者:
a550771322
时间:
2016-11-3 17:05
起码程序没问题!!! 一会用用试试
作者:
peiwei20116
时间:
2016-12-2 18:44
正弦波很好,没有问题。。。
作者:
qzm
时间:
2017-6-11 17:41
找了好多不合适,希望这个可以
作者:
Andyove
时间:
2017-6-22 11:06
看了好多都不合适,总算在这找到了,看起来不错,但怎么下载
作者:
奔向你
时间:
2017-11-2 09:14
好好好
作者:
likailikai
时间:
2018-3-2 08:46
图片有点模糊
作者:
请输入用户名
时间:
2018-3-2 10:03
下载了不太会用
作者:
feuwudewu
时间:
2023-6-10 21:42
你好,想问下输出的是那几种波形呀
作者:
元元元。。。
时间:
2023-6-12 17:22
会使用LCD或数码管显示频率吗
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1