//***************************************************//
//函数1: ad9851_reset() //
//函数2: ad9851_reset_serial() //
//函数3: ad9851_wr_parrel(unsigned char w0,double frequence)//
//函数4: ad9851_wr_serial(unsigned char w0,double frequence)//
//版本: V1.1 //
//日期: 2008/12/19 //
//修改日期: 2008/12/19 //
//编写者: xyc5208@163.com) //
//***************************************************//
// 子程序说明 //
//***************************************************//
//函数1: ad9851_reset()
// 复位ad9851,之后为并口写入模式
//函数2: ad9851_reset_serial()
// 复位ad9851,之后为串口写入模式
//函数3: ad9851_wr_parrel(unsigned char w0,double frequence)
// 并口写ad9851数据,w0为ad9851中w0的数据,frequence
// 为写入的频率
//函数4: ad9851_wr_serial(unsigned char w0,double frequence)
// 串口写ad9851数据,w0为ad9851中w0的数据,frequence
// 为写入的频率
//需定义的位:
//ad9851_w_clk ;
//ad9851_fq_up ;
//ad9851_rest ;
//ad9851_bit_data ;
//例:
//sbit ad9851_w_clk =P2^2;
//sbit ad9851_fq_up =P2^1;
//sbit ad9851_rest =P2^0;
//sbit ad9851_bit_data =P1^7;
//***************************************************//
// 写数据说明 //
//***************************************************//
//写数据例:
// ad9851_reset()
// wr_lcd02_data(unsigned char x)
// ad9851_wr_parrel(0x01,1000)
// ad9851_wr_serial(0x01,1000)
//***************************************************//
//---------------------------------------------------//
// 程序 //
//---------------------------------------------------//
# include <reg51.h>
# include <stdio.h>
# include <intrins.h>
sbit ad9851_w_clk =P2^2; //P2.2口接AD9851的w_clk脚/PIN7
sbit ad9851_fq_up =P2^1; //P2.1口接AD9851的fq_up脚/PIN8
sbit ad9851_rest =P2^0; //P2.0口接AD9851的rest脚/PIN12
sbit ad9851_bit_data =P1^7; //P1.7口接AD9851的D7脚/PIN25
//P1为8位数据口
//***************************************************//
// ad9851复位(并口模式) //
//---------------------------------------------------//
void ad9851_reset()
{
ad9851_w_clk=0;
ad9851_fq_up=0;
//rest信号
ad9851_rest=0;
ad9851_rest=1;
ad9851_rest=0;
}
//***************************************************//
// ad9851复位(并口模式) //
//---------------------------------------------------//
void ad9851_reset_serial()
{
ad9851_w_clk=0;
ad9851_fq_up=0;
//rest信号
ad9851_rest=0;
ad9851_rest=1;
ad9851_rest=0;
//w_clk信号
ad9851_w_clk=0;
ad9851_w_clk=1;
ad9851_w_clk=0;
//fq_up信号
ad9851_fq_up=0;
ad9851_fq_up=1;
ad9851_fq_up=0;
}
//***************************************************//
// 向ad9851中写命令与数据(并口) //
//---------------------------------------------------//
void ad9851_wr_parrel(unsigned char w0,double frequence)
{
unsigned char w;
long int y;
double x;
//计算频率的HEX值
x=4294967295/180;//适合180M晶振/180为最终时钟频率(或30M六倍频)
//如果时钟频率不为180MHZ,修改该处的频率值,单位MHz !!!
frequence=frequence/1000000;
frequence=frequence*x;
y=frequence;
//写w0数据
w=w0;
P1=w; //w0
ad9851_w_clk=1;
ad9851_w_clk=0;
//写w1数据
w=(y>>24);
P1=w; //w1
ad9851_w_clk=1;
ad9851_w_clk=0;
//写w2数据
w=(y>>16);
P1=w; //w2
ad9851_w_clk=1;
ad9851_w_clk=0;
//写w3数据
w=(y>>8);
P1=w; //w3
ad9851_w_clk=1;
ad9851_w_clk=0;
//写w4数据
w=(y>>=0);
P1=w; //w4
ad9851_w_clk=1;
ad9851_w_clk=0;
//移入始能
ad9851_fq_up=1;
ad9851_fq_up=0;
}
//***************************************************//
// 向ad9851中写命令与数据(串口) //
//---------------------------------------------------//
void ad9851_wr_serial(unsigned char w0,double frequence)
{
unsigned char i,w;
long int y;
double x;
//计算频率的HEX值
x=4294967295/180;//适合180M晶振/180为最终时钟频率(或30M六倍频)
//如果时钟频率不为180MHZ,修改该处的频率值,单位MHz !!!
frequence=frequence/1000000;
frequence=frequence*x;
y=frequence;
//写w4数据
w=(y>>=0);
for(i=0;i<8;i++)
{
ad9851_bit_data=(w>>i)&0x01;
ad9851_w_clk=1;
ad9851_w_clk=0;
}
//写w3数据
w=(y>>8);
for(i=0;i<8;i++)
{
ad9851_bit_data=(w>>i)&0x01;
ad9851_w_clk=1;
ad9851_w_clk=0;
}
//写w2数据
w=(y>>16);
for(i=0;i<8;i++)
{
ad9851_bit_data=(w>>i)&0x01;
ad9851_w_clk=1;
ad9851_w_clk=0;
}
//写w1数据
w=(y>>24);
for(i=0;i<8;i++)
{
ad9851_bit_data=(w>>i)&0x01;
ad9851_w_clk=1;
ad9851_w_clk=0;
}
//写w0数据
w=w0;
for(i=0;i<8;i++)
{
ad9851_bit_data=(w>>i)&0x01;
ad9851_w_clk=1;
ad9851_w_clk=0;
}
//移入始能
ad9851_fq_up=1;
ad9851_fq_up=0;
}
//***************************************************//
// 测试程序1000Hz //
//---------------------------------------------------//
main()
{
P0=0x00;
P1=0x00;
P2=0x00;
P3=0x00;
//---------------------------------------------------//
//并行写1000Hz程序
//ad9851_reset();
//ad9851_wr_parrel(0x01,1000);
//0X01为开六备频
//ad9851_wr_parrel(0x00,1000);
//0X00为不开六备频
//---------------------------------------------------//
//---------------------------------------------------//
//串行写1000Hz程序
ad9851_reset_serial();
ad9851_wr_serial(0x01,1000);
//0X01为开六备频
//ad9851_wr_serial(0x00,1000);
//0X00为不开六备频
//---------------------------------------------------//
while(1)
{
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
AD9850芯片模块软硬开发资料包C51+STM32驱动程序源码: AD9833.pdf AD9850-51程序 AD9850-MC145151.pdf AD9850-STM32程序 AD9850_51_VB.zip ad9850_AN-543_FM.pdf AD9850线路图.pdf AD9851.pdf AD9853.pdf AD9854.pdf AD9951.pdf DDS-ADI资料.pdf DDS调试心得.pdf
资源推荐
资源详情
资源评论
收起资源包目录
AD9850芯片模块软硬开发资料包C51+STM32驱动程序源码.zip (97个子文件)
DDS-资料
ad9850_AN-543_FM.pdf 49KB
AD9851.pdf 743KB
ad9850中文资料ad9850 pdf及ad9850的应用-技术文章-海纳电子资讯网.htm 31KB
AD9951.pdf 826KB
AD9850-MC145151.pdf 1.7MB
AD9850线路图.pdf 41KB
AD9854.pdf 1.39MB
DDS-ADI资料.pdf 699KB
AD9833.pdf 450KB
ad9850中文资料ad9850 pdf及ad9850的应用-技术文章-海纳电子资讯网.files
20070828105912568.gif 12KB
1025646.js 2KB
config.js 49B
login.htm 858B
ad.htm 206B
20070828105913535.gif 14KB
ad9850中文资料ad9850 pdf及ad9850的应用-技术文章-海纳电子资讯网.htm 31KB
prototype.js 46KB
20070828105913258.gif 13KB
click.htm 2KB
list_js.htm 20B
time.js 673B
ggtuijie1.files
show_ads.js 14KB
stat.htm 0B
ggtuijie1.htm 622B
Std_StranJF.Js 8KB
logo.gif 2KB
20070828105913454.gif 11KB
20070828105916554.gif 20KB
20070828105909822.gif 12KB
show_ads.js 14KB
common.js 7KB
rss.gif 133B
show_js.htm 358B
style.css 33KB
20070828105917474.gif 21KB
DDS调试心得.pdf 1.26MB
AD9850_51_VB.zip 204KB
AD9853.pdf 336KB
AD9850-STM32程序
Ex026-DDS芯片AD9850信号发生器(OLED显示)例程(V1.0_2012-07-05).rar 498KB
AD9850-51程序
AD9851-HEX
AD9851-serial.hex 3KB
AD9851-parial.hex 3KB
ad9850-并行
ad9850.plg 626B
ad9850_Opt.Bak 1KB
STARTUP.LST 11KB
ad9850.LST 9KB
ad9850_Uv2.Bak 0B
ad9850.c 5KB
ad9850.Opt 1KB
STARTUP.A51 5KB
ad9850 7KB
ad9850.hex 3KB
ad9850.OBJ 7KB
ad9850.lnp 45B
STARTUP.OBJ 749B
ad9850.M51 11KB
ad9850.Uv2 2KB
AD9851-串行
ad9851.Uv2 2KB
ad9851 6KB
ad9851.OBJ 7KB
ad9851.Opt 1KB
ad9851.LST 10KB
ad9851.c 6KB
ad9851.lnp 29B
ad9851.M51 9KB
ad9851.plg 206B
ad9851_Uv2.Bak 2KB
ad9851_Opt.Bak 1KB
ad9851.hex 3KB
AD9850-HEX
ad9850-parrel.hex 3KB
ad9850-serial.hex 3KB
ad9851-并行
ad9851.Uv2 2KB
ad9851 6KB
ad9851.OBJ 7KB
ad9851.Opt 1KB
ad9851.LST 10KB
ad9851.c 6KB
ad9851.lnp 29B
ad9851.M51 9KB
ad9851.plg 206B
ad9851_Uv2.Bak 2KB
ad9851_Opt.Bak 1KB
ad9851.hex 3KB
AD9850-串行
ad9850.plg 206B
ad9850_Opt.Bak 1KB
STARTUP.LST 11KB
ad9850.LST 9KB
ad9850_Uv2.Bak 2KB
ad9850.c 5KB
ad9850.Opt 1KB
STARTUP.A51 5KB
ad9850 7KB
ad9850.hex 3KB
ad9850.OBJ 7KB
ad9850.lnp 45B
STARTUP.OBJ 749B
ad9850.M51 11KB
ad9850.Uv2 2KB
共 97 条
- 1
资源评论
- w266002022-04-22用户下载后在一定时间内未进行评价,系统默认好评。
SKCQTGZX
- 粉丝: 126
- 资源: 4768
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功