欢迎来到天天文库
浏览记录
ID:47199235
大小:17.45 KB
页数:27页
时间:2019-08-22
《AD9833模块地dds信号源程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用文档//---------------------------------------------------////AD9833模块测试程序//功能:循环输出1KHz方波,正弦波。三角波//接口:////---------------------------------------------------////sum为按键输入临时变量//K3为外部中断口控制通道开关//R=33为选择通道A标志R34为选择通道B标志//y1A通道的开关标志1:关闭;0:打开y2也一样//temp1A通道的频率控制字变量temp
2、3A通道的相位控制字变量//temp2B通道的频率控制字变量temp4B通道的相位控制字变量//c1c2为频率比变量b1为选择比例标志位变量//定义头文件#include#include#include#include文案大全实用文档#include//---------------------------------------------------//sbitad9833_sdata=P2^2;//ad9833数据线sbi
3、tad9833_sclk=P2^3;//ad9833时钟线sbitad9833_fsync1=P2^4;//通道A使能sbitad9833_fsync2=P2^1;//通道2使能//外部中断的IOsbitK3=P3^2;//外部中断0sbitK4=P3^3;//外部中断1#defineucharunsignedchar#defineuintunsignedintlongintm;uintw1=38,w2=38,w3=38,w4=38,floag1=0;ucharz,y=1,y1=1,y2=1;externunsign
4、edlongintsum,temp1,temp2,temp3,temp4,temp5=0,temp6=0;externuchars,di,R,b1,q;文案大全实用文档voidoutput_f1(unsignedlongfreq_value);//输出子函数voidoutput_f2(unsignedlongphase_value);//相位输出函数voidoutput_p1(unsignedlongfreq_value);//输出子函数voidoutput_p2(unsignedlongphase_value);/
5、/相位输出函数voiddisplay(longintp,uchars,ucharb1,ucharfloag1);//显示处理函数voidIntConfiguration();//外部中断函数//---------------------------------------------------////延时程序//---------------------------------------------------//voiddelay(unsignedintm){unsignedintn;for(n=0;n<=m;
6、n++){}}文案大全实用文档voiddelayms(unsignedintii)//1ms延时函数{unsignedinti,x;for(x=0;x7、rite_ad9833ic1_d16(unsignedintx){inti,w;ad9833_sclk=1;//scl置为高电平ad9833_fsync2=1;//关闭ic2文案大全实用文档ad9833_fsync1=1;//fsync置为高电平,关闭使能ic1ad9833_fsync1=0;//fsync置为低电平,使能ic1//写16位数据w=x;for(i=0;i<16;i++){ad9833_sdata=w&0x8000;ad9833_sclk=0;ad9833_sclk=1;w=w<<1;}ad9833_f8、sync1=1;ad9833_sclk=0;}//---------------------------------------------------////向16位AD9833_ic2写数据//文案大全实用文档//---------------------------------------------------//voidwrite_a
7、rite_ad9833ic1_d16(unsignedintx){inti,w;ad9833_sclk=1;//scl置为高电平ad9833_fsync2=1;//关闭ic2文案大全实用文档ad9833_fsync1=1;//fsync置为高电平,关闭使能ic1ad9833_fsync1=0;//fsync置为低电平,使能ic1//写16位数据w=x;for(i=0;i<16;i++){ad9833_sdata=w&0x8000;ad9833_sclk=0;ad9833_sclk=1;w=w<<1;}ad9833_f
8、sync1=1;ad9833_sclk=0;}//---------------------------------------------------////向16位AD9833_ic2写数据//文案大全实用文档//---------------------------------------------------//voidwrite_a
此文档下载收益归作者所有