资料介绍
//Fout=调制频率控制字*SYSCLK/2的32次方 (SYSCLK=50M) 50M=2faf080 2的32次方=100 000 000 1K=3e8 对应的调制频率控制字=14f8b
//
#include《reg52.h》
#define uchar unsigned char //这里用“uchar”代替“unsigned char”,“uchar”用来定义无符号字符型数。
#define uint unsigned int //“uint”用来定义无符号整型数。
sbit w_clk1= P1^0; //AD9850_1的将8bit的频率控制字加载进入数据锁存器 上升沿有效
sbit fq_ud1=P1^1; //AD9850_1将40bit的控制字加载进入相位累加器 上升沿有效
sbit Rset1= P1^2; //AD9850_1的复位 上升沿有效
sbit w_clk2 =P1^4 ; //AD9850_2的将8bit的频率控制字加载进入数据锁存器 上升沿有效
sbit fq_ud2 =P1^5; //AD9850_2的40bit的控制字加载进入相位累加器 上升沿有效
sbit Rset2 =P1^6; //AD9850_1的复位 上升沿有效
sbit DDSLE_1 =P1^7; //AD9850的数据锁存器控制端 上升沿有效
uchar code AD9850[61]={0,0x01,0x4f,0x8d,0x02,0x9f,0x16,0x03,0xee,0xa1,0x05,0x3e,0x2c,0x06,0x8d,0xb7,
0x07,0xdd,0x42,0x09,0x2c,0xcd,0x0a,0x7c,0x58,0x0b,0xcb,0xe3,0x0d,0x1b,0x6e,
0x0e,0x6a,0xf9,0x0f,0xba,0x84,0x11,0x0a,0x0f,0x12,0x59,0x9a,0x13,0xa9,0x25,
0x14,0xf8,0xb0,0x16,0x48,0x3b,0x17,0x97,0xc6,0x18,0xe7,0x51,0x1a,0x36,0xdc};
uint AD9850_kz=0; //AD9850_1的8bit的频率控制字
uint AD9850_sc=0; //AD9850_1的8bit的频率数据
uint AD9850_sccs=0; //AD9850_1的8bit的频率数据传输的次数
/********************************************************************
* 名称 : Delay()
* 功能 : 延时,延时时间为 10ms * del。这是通过软件延时,有一定误差。
* 输入 : del
* 输出 : 无
***********************************************************************/
void Delay(uint del)
{
uint i,j;
for(i=0; i《del; i++)
for(j=0; j《1827; j++) //这个是通过软件仿真得出的数
;
}
/********************************************************************
* 名称 : Main()
* 功能 : 实现灯的闪烁
* 输入 : 无
* 输出 : 无
***********************************************************************/
void AD9850_Rset(void) //AD9850复位
{
Rset1= 0; //AD9850_1的复位 上升沿有效
Rset1= 1;
Rset1= 0;
Rset2= 0; //AD9850_2的复位 上升沿有效
Rset2= 1;
Rset2= 0;
}
void AD98501_kzz(void) //将8bit的频率控制字加载到AD9850_1
{
w_clk1= 0; //将8bit的频率控制字加载进入AD9850_1的数据锁存器 上升沿有效
DDSLE_1=1;
P1=0;
w_clk1= 1;
DDSLE_1=0;
}
void AD98501_scpl(uint AD9850_sc) //AD9850_1的将32bit的频率数据加载
{
uint s=0; //临时变量
w_clk1= 0; //将16bit的0的频率数据加载进入AD9850_1的数据锁存器 上升沿有效
DDSLE_1=1;
P1=0;
w_clk1= 1;
w_clk1= 0;
w_clk1= 1;
w_clk1=0;
DDSLE_1=0;
for(AD9850_sccs=0;AD9850_sccs《3;AD9850_sccs++)
{
s=AD9850_sccs+ AD9850_sc*3;
w_clk1= 0; //将8bit的频率数据加载进入AD9850_1的数据锁存器 上升沿有效
DDSLE_1=1;
P1=AD9850[s];
w_clk1= 1;
DDSLE_1=0;
}
fq_ud1=0;
fq_ud1=1;
AD9850_sc=0;
}
void AD98502_kzz(void) //将8bit的频率控制字加载到AD9850_2
{
// w_clk2= 0; //将8bit的频率控制字加载进入AD9850_2的数据锁存器 上升沿有效
DDSLE_1=1;
// NOP();
// NOP();
P1=0;
// w_clk2=1;
DDSLE_1=0;
}
void AD98502_scpl(uint AD9850_sc) //将 32bit的频率数据加载到AD9850_2
{
uint s=0; //临时变量
w_clk2= 0; //将16bit的0的频率数据加载进入AD9850_2的数据锁存器 上升沿有效
DDSLE_1=1;
P1=0;
w_clk2= 1;
w_clk2= 0;
w_clk2= 1;
w_clk2=0;
DDSLE_1=0;
for(AD9850_sccs=0;AD9850_sccs《3;AD9850_sccs++)
{
s=AD9850_sccs+ AD9850_sc*3;
w_clk2= 0; //AD9850_1的将8bit的频率数据加载进入数据锁存器 上升沿有效
DDSLE_1=1;
P1=s;
w_clk2= 1;
DDSLE_1=0;
}
fq_ud2=0;
fq_ud2=1;
AD9850_sc=0;
}
void Main(void)
{
uint pl=0;
uint x=0;
P0=0;
P1=0;
AD9850_Rset(); //复位AD9850
AD98501_kzz(); //制AD9850控制字
AD98502_kzz();
while(1) //重复输出1-20KHz的波形
{
for(pl=0;pl《20;pl++)
{
AD98501_scpl(x);
AD98502_scpl(x);
Delay(500);
}
}
}
- 基于DSP控制的UDP协议与IPC的驱动例程 6次下载
- AD9850 FS制革文件
- AD9850/AD9851模块说明 4次下载
- USB例程指南电子版下载 0次下载
- AD9850 CG格伯文件
- AD9850 FS制革文件
- AD9850信号发生器模块说明 31次下载
- AD9850产生扫频波的程序 62次下载
- AD9850_AD9851_模块 10次下载
- AD9850学习资料 0次下载
- AD9850Design 33次下载
- 同步多个基于DDS的频率合成器AD9850 56次下载
- 基于AD9850的倍频器设计
- 锁相环频率合成器-ad9850激励
- ad9850应用源程序
- 两个单片机之间串口通信的例程 5138次阅读
- 字符型LCD显示器的应用和例程 933次阅读
- 使用ULN2003A的步进电机驱动例程 4870次阅读
- LPC5500_SDK例程:串口DMA发送+中断接收 879次阅读
- 基于STM32开发板点亮LCD例程 1661次阅读
- 经验贴:ADI官方IP核与例程编译指南 3185次阅读
- 如何移植FPGA的例程 1731次阅读
- 使用ZCU102开发板运行xdpdma例程 1939次阅读
- 例程中如何使用RTT Viewe 1659次阅读
- 串口DMA发送+中断接收的例程 2506次阅读
- 配置文件和例程文件的使用 1923次阅读
- 8位 PIC16 PIC® MCU B类安全软件库例程分析 2176次阅读
- AD9850芯片原理及使用方法总结 5.2w次阅读
- ad9850中文资料汇总(ad9850引脚图及功能_内部结构及应用电路) 4.3w次阅读
- 读写24LCxx系列的EEPROM的实例程序 2210次阅读
下载排行
本周
- 1电子电路原理第七版PDF电子教材免费下载
- 0.00 MB | 1490次下载 | 免费
- 2单片机典型实例介绍
- 18.19 MB | 93次下载 | 1 积分
- 3S7-200PLC编程实例详细资料
- 1.17 MB | 27次下载 | 1 积分
- 4笔记本电脑主板的元件识别和讲解说明
- 4.28 MB | 18次下载 | 4 积分
- 5开关电源原理及各功能电路详解
- 0.38 MB | 10次下载 | 免费
- 6基于AT89C2051/4051单片机编程器的实验
- 0.11 MB | 4次下载 | 免费
- 7基于单片机和 SG3525的程控开关电源设计
- 0.23 MB | 3次下载 | 免费
- 8基于单片机的红外风扇遥控
- 0.23 MB | 3次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 2PADS 9.0 2009最新版 -下载
- 0.00 MB | 66304次下载 | 免费
- 3protel99下载protel99软件下载(中文版)
- 0.00 MB | 51209次下载 | 免费
- 4LabView 8.0 专业版下载 (3CD完整版)
- 0.00 MB | 51043次下载 | 免费
- 5555集成电路应用800例(新编版)
- 0.00 MB | 33562次下载 | 免费
- 6接口电路图大全
- 未知 | 30320次下载 | 免费
- 7Multisim 10下载Multisim 10 中文版
- 0.00 MB | 28588次下载 | 免费
- 8开关电源设计实例指南
- 未知 | 21539次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935053次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537791次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191183次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183277次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138039次下载 | 免费
评论
查看更多