求助,用AD9850和51单片机原理与应用

21ic官方微信-->
ST MCU Finder
安装免费手机应用,
寻找理想的ST MCU
STM32F405RGT6驱动AD9850
实习生, 积分 24, 距离下一级还需 26 积分
实习生, 积分 24, 距离下一级还需 26 积分
实习生, 积分 24, 距离下一级还需 26 积分
实习生, 积分 24, 距离下一级还需 26 积分
最近使用STM32F405RGT6驱动AD9850,程序是从51单片机的程序改过来的,但是AD9850怎么都没有波形!!!!哪位大神可以指点一二啊!!!跪求!!!
void AD9850_Gpio_Init(void)
& &&&GPIO_InitTypeDef&&GPIO_InitS
& &&&RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);
& & GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;
& &&&GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
& &&&GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
& &&&GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
& &&&GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
& &&&GPIO_Init(GPIOC, &GPIO_InitStructure);
& &&&GPIO_SetBits(GPIOC,GPIO_Pin_15 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7);
(头文件中有定义:
#define ad9850_w_clk PCout(6)
#define ad9850_fq_up PCout(7)
#define ad9850_rest&&PCout(5)
#define ad9850_bit_data&&PCout(15))
void ad9850_reset_serial(void)
& &&&ad9850_w_clk = 0;
& &&&ad9850_fq_up = 0;
& &&&ad9850_rest = 0;
& &&&ad9850_rest = 1;
& &&&ad9850_rest = 0;
& &&&ad9850_w_clk = 0;
& &&&ad9850_w_clk = 1;
& &&&ad9850_w_clk = 0;
& &&&ad9850_fq_up = 0;
& &&&ad9850_fq_up = 1;
& &&&ad9850_fq_up = 0;
void ad9850_wr_serial(unsigned char w0,double frequence)
& &&&x = U/125;
& &&&frequence = frequence/1000000;
& &&&frequence = frequence *
& &&&w = (y&&=0);
& &&&for(i=0;i&8;i++)
& && && &ad9850_bit_data = (w&&i)&0x01;
& && && &ad9850_w_clk = 1;
& && && &ad9850_w_clk = 0;
// LED2 = 1;
& &&&w = (y&&8);
& &&&for(i=0;i&8;i++)
& && && &ad9850_bit_data = (w&&i)&0x01;
& && && &ad9850_w_clk = 1;
& && && &ad9850_w_clk = 0;
// LED2 = 0;
& &&&w = (y&&16);
& &&&for(i=0;i&8;i++)
& && && &ad9850_bit_data = (w&&i)&0x01;
& && && &ad9850_w_clk = 1;
& && && &ad9850_w_clk = 0;
// LED2 = 1;
& &&&w = (y&&24);
& &&&for(i=0;i&8;i++)
& && && &ad9850_bit_data = (w&&i)&0x01;
& && && &ad9850_w_clk = 1;
& && && &ad9850_w_clk = 0;
// LED2 = 0;
& &&&w = w0;
& &&&for(i=0;i&8;i++)
& && && &ad9850_bit_data = (w&&i)&0x01;
& && && &ad9850_w_clk = 1;
& && && &ad9850_w_clk = 0;
ad9850_fq_up = 1;
ad9850_fq_up = 0;
//LED2 = 1;
用示波器测下时序是否正确;
实习生, 积分 24, 距离下一级还需 26 积分
实习生, 积分 24, 距离下一级还需 26 积分
实习生, 积分 24, 距离下一级还需 26 积分
实习生, 积分 24, 距离下一级还需 26 积分
我用示波器测过ad9850_rest、和ad9850_fq_up、ad9850_bit_data的时序,是正确的,ad9850_w_clk不是太清楚,但是单步调试的时候,寄存器还有变量的值也是正确变化的。我想是不是系统频率的问题,时序要求里面对时间间隔是有一定要求的。
初级工程师, 积分 2532, 距离下一级还需 468 积分
初级工程师, 积分 2532, 距离下一级还需 468 积分
初级工程师, 积分 2532, 距离下一级还需 468 积分
初级工程师, 积分 2532, 距离下一级还需 468 积分
时序问题是经常出错的,楼主按照数据 手册里的要求设置试试
实习生, 积分 24, 距离下一级还需 26 积分
实习生, 积分 24, 距离下一级还需 26 积分
实习生, 积分 24, 距离下一级还需 26 积分
实习生, 积分 24, 距离下一级还需 26 积分
时序问题是经常出错的,楼主按照数据 手册里的要求设置试试
时序我是按照以前51单片机的程序写的,驱动程序也不是很难,应该是没有问题的。以前使用51和msp430都是使用相同的时序,而且也都可以输出正常波形,但是这次使用STM32F405修改的程序,时序没有做任何改变,初始化问题我觉得也不存在,因为只用到了几个IO口而已,但是没法输出波形,我认为问题可能不是出在时序,而是使用不同的控制芯片,芯片之间的某些差异导致的。目前猜测很可能是STM32F405时钟频率过快,导致时序的时间宽度没法满足,可是我也尝试用延时的方法,没有成功。想请教下大牛们,能够帮我分析下是否是时钟频率的问题,我应该怎么修改,除了使用延时以外。
实习生, 积分 24, 距离下一级还需 26 积分
实习生, 积分 24, 距离下一级还需 26 积分
实习生, 积分 24, 距离下一级还需 26 积分
实习生, 积分 24, 距离下一级还需 26 积分
用示波器测下时序是否正确;
我用示波器测过ad9850_rest、和ad9850_fq_up、ad9850_bit_data的时序,是正确的,ad9850_w_clk不是太清楚,但是单步调试的时候,寄存器还有变量的值也是正确变化的。我想是不是系统频率的问题,时序要求里面对时间间隔是有一定要求的。
初级工程师, 积分 2226, 距离下一级还需 774 积分
初级工程师, 积分 2226, 距离下一级还需 774 积分
初级工程师, 积分 2226, 距离下一级还需 774 积分
初级工程师, 积分 2226, 距离下一级还需 774 积分
改程序的时候得注意了,IO口,时钟等得改对
中级技术员, 积分 122, 距离下一级还需 178 积分
中级技术员, 积分 122, 距离下一级还需 178 积分
中级技术员, 积分 122, 距离下一级还需 178 积分
中级技术员, 积分 122, 距离下一级还需 178 积分
这种问题用示波器是很难查的,要用数字电路的万用表---逻辑分析仪来看.很直观的.
初级工程师, 积分 2328, 距离下一级还需 672 积分
初级工程师, 积分 2328, 距离下一级还需 672 积分
初级工程师, 积分 2328, 距离下一级还需 672 积分
初级工程师, 积分 2328, 距离下一级还需 672 积分
逻辑分析仪怎么用,我有一个可是还不会用,请教楼上
实习生, 积分 24, 距离下一级还需 26 积分
实习生, 积分 24, 距离下一级还需 26 积分
实习生, 积分 24, 距离下一级还需 26 积分
实习生, 积分 24, 距离下一级还需 26 积分
改程序的时候得注意了,IO口,时钟等得改对
我使用的是STM32F405的库函数进行的时钟设置:
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);
请问是不是这个时钟太快了
扫描二维码,随时随地手机跟帖
技术领袖奖章
人才类勋章
时间类勋章
坚毅之洋流
发帖类勋章
荣誉元老奖章
等级类勋章
技术奇才奖章
人才类勋章
时间类勋章
您需要登录后才可以回帖当前位置:
文件名称:DDS
所属分类:
标签属性:
上传时间:
文件大小:
浏览/下载:
105次 / 0次
提 供 者:
相关连接:
下载说明:
别用迅雷下载,失败请重下,重下不扣分!
AD9850、AD9851驱动程序,基于51单片机的,程序调试通过,可以移植。-AD9850, AD9851 driver, based on 51 microcontroller, debugging through, can be transplanted.
(系统自动生成,下载前可以参看下载内容)下载文件列表
AD9850和AD9851程序/AD9850-HEX/ad9850-parrel.hex
AD9850和AD9851程序/AD9850-HEX/ad9850-serial.hex
AD9850和AD9851程序/AD9850-串行/ad9850
AD9850和AD9851程序/AD9850-串行/ad9850.c
AD9850和AD9851程序/AD9850-串行/ad9850.hex
AD9850和AD9851程序/AD9850-串行/ad9850.lnp
AD9850和AD9851程序/AD9850-串行/ad9850.LST
AD9850和AD9851程序/AD9850-串行/ad9850.M51
AD9850和AD9851程序/AD9850-串行/ad9850.OBJ
AD9850和AD9851程序/AD9850-串行/ad9850.Opt
AD9850和AD9851程序/AD9850-串行/ad9850.plg
AD9850和AD9851程序/AD9850-串行/ad9850.Uv2
AD9850和AD9851程序/AD9850-串行/ad9850_Opt.Bak
AD9850和AD9851程序/AD9850-串行/ad9850_Uv2.Bak
AD9850和AD9851程序/AD9850-串行/STARTUP.A51
AD9850和AD9851程序/AD9850-串行/STARTUP.LST
AD9850和AD9851程序/AD9850-串行/STARTUP.OBJ
AD9850和AD9851程序/ad9850-并行/ad9850
AD9850和AD9851程序/ad9850-并行/ad9850.c
AD9850和AD9851程序/ad9850-并行/ad9850.hex
AD9850和AD9851程序/ad9850-并行/ad9850.lnp
AD9850和AD9851程序/ad9850-并行/ad9850.LST
AD9850和AD9851程序/ad9850-并行/ad9850.M51
AD9850和AD9851程序/ad9850-并行/ad9850.OBJ
AD9850和AD9851程序/ad9850-并行/ad9850.Opt
AD9850和AD9851程序/ad9850-并行/ad9850.plg
AD9850和AD9851程序/ad9850-并行/ad9850.Uv2
AD9850和AD9851程序/ad9850-并行/ad9850_Opt.Bak
AD9850和AD9851程序/ad9850-并行/ad9850_Uv2.Bak
AD9850和AD9851程序/ad9850-并行/STARTUP.A51
AD9850和AD9851程序/ad9850-并行/STARTUP.LST
AD9850和AD9851程序/ad9850-并行/STARTUP.OBJ
AD9850和AD9851程序/AD9850.pdf
AD9850和AD9851程序/AD9851-HEX/AD9851-parial.hex
AD9850和AD9851程序/AD9851-HEX/AD9851-serial.hex
AD9850和AD9851程序/AD9851-串行/ad9851
AD9850和AD9851程序/AD9851-串行/ad9851.c
AD9850和AD9851程序/AD9851-串行/ad9851.hex
AD9850和AD9851程序/AD9851-串行/ad9851.lnp
AD9850和AD9851程序/AD9851-串行/ad9851.LST
AD9850和AD9851程序/AD9851-串行/ad9851.M51
AD9850和AD9851程序/AD9851-串行/ad9851.OBJ
AD9850和AD9851程序/AD9851-串行/ad9851.Opt
AD9850和AD9851程序/AD9851-串行/ad9851.plg
AD9850和AD9851程序/AD9851-串行/ad9851.Uv2
AD9850和AD9851程序/AD9851-串行/ad9851_Opt.Bak
AD9850和AD9851程序/AD9851-串行/ad9851_Uv2.Bak
AD9850和AD9851程序/ad9851-并行/ad9851
AD9850和AD9851程序/ad9851-并行/ad9851.c
AD9850和AD9851程序/ad9851-并行/ad9851.hex
AD9850和AD9851程序/ad9851-并行/ad9851.lnp
AD9850和AD9851程序/ad9851-并行/ad9851.LST
AD9850和AD9851程序/ad9851-并行/ad9851.M51
AD9850和AD9851程序/ad9851-并行/ad9851.OBJ
AD9850和AD9851程序/ad9851-并行/ad9851.Opt
AD9850和AD9851程序/ad9851-并行/ad9851.plg
AD9850和AD9851程序/ad9851-并行/ad9851.Uv2
AD9850和AD9851程序/ad9851-并行/ad9851_Opt.Bak
AD9850和AD9851程序/ad9851-并行/ad9851_Uv2.Bak
AD9850和AD9851程序/AD9850-HEX
AD9850和AD9851程序/AD9850-串行
AD9850和AD9851程序/ad9850-并行
AD9850和AD9851程序/AD9851-HEX
AD9850和AD9851程序/AD9851-串行
AD9850和AD9851程序/ad9851-并行
AD9850和AD9851程序
暂无评论内容.
*快速评论:
和说明不符
不是源码或资料
纯粹是垃圾
*内  容:
*验 证 码:
搜珍网是交换下载平台,下载的内容请自行研究使用或咨询上传人.
资源属性分别代表:系统平台,开发平台,开发语言,文件格式四部分.
本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用进行解压.
如果您发现此软件无法下载,请稍后再次尝试;或者.
本站提供下载的内容为网上收集或会员上传提供,若无意中侵犯了您的版权,.
如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
如下载后发现下载的内容跟说明不相乎,可以联系本站的客服,经确认可以退回消费了的积分.
联系我们网站
·电话:(0)
搜珍网 www.dssz.com
All Rights Reserved.您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
基于51单片机STC89C52RC的AD9850DDS信号源设计与实现毕业设计.doc 30页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
你可能关注的文档:
··········
··········
UNIVERSITY
COURSE PAPER
基于51单片机STC89C52RC的AD9850DDS信号源设计与实现
电路设计方案及工作原理
(根据所选题目要求,说明电路原理图,设计思想、设计指标及功能实现方式,物料清单,关键元器件选型理由等。)
项目要求:
1、函数信号发生器输出频率为10HZ至1MHZ(用开关分档)
2、输出电压为0至8V
3、输出电阻小于100欧
4、可输出三种波形(正弦波、方波和三角波)
5、输出直流分量可调(-3V~ +3V)
6、有输出短路保护功能评分依据:
1、??????电路设计简单合理,设计分析计算过程清晰
2、??????可输出三种波形、输出直流分量可调、有输出短路保护功能
3、??????电路工作稳定可靠,输出波形失真小
4、??????如合理设计方案有多个则可以加分
AD9850是AD公司生产的最高时钟为125 MHz、采用先进的CMOS技术的直接频率合成器,主要由可编程DDS系统、高性能模数变换器(DAC)和高速比较器3部分构成,能实现全数字编程控制的频率合成
AD9850内含可编程DDS 系统和高速比较器,可实现全数字编程控制的频率合成。可编程DDS系统的核心是相位累加器,由一个加法器和一个N位相位寄存器组成,N 一般为24~32。每来一个外部参考时钟,相位寄存器便以步长M递加。相位寄存器的输出与相位控制字相加后可输入到正弦查询表地址上。正弦查询表包含一个正弦波周期的数字幅度信息,每一个地址对应正弦波中0°~360°范围的一个相位点。查询表把输入地址的相位信息映射成正弦波幅度信号,然后驱动DAC 输出模拟量。
相位寄存器每过2N/ M 个外部参考时钟后返回到初始状态一次,相应地正弦查询表
每经过一个循环也回到初始位置,从而使整个DDS 系统输出一个正弦波。
1.2稳压芯片 12 7912芯片介绍
稳压芯片 12 7912\
电子产品中,常见的三端稳压集成电路有负电压输出的79××系列和正电压输出的78 ×× 系列。顾名思义,三端IC是指这种稳压用的集成电路芯片,只有三条引脚输出,分别是输入端、接地端和输出端。它的样子象是普通的三极管,TO- 220 的标准封装,也有9013样子的TO-92封装。 用78/79系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。该系列集成稳压IC型号中的78或79后面的数字代表该三端集成稳压电路的输出电压,如7806表示输出电压为正6V,7909表示输出电压为负9V。 因为三端固定集成稳压电路的使用方便,电子制作中经常采用。
这个型号器件的失稳电压都是3V,输出电流是1A; 7805输出电压是+5V、7812是+12V、最高输入电压是35V; 7905输出电压是-5V、7912是-12V、最高输入电压是-35V;是三端稳压管,79XX系列是负电压输出,即输出-5V、-12V,78XX系列是正电压输出7805管脚图
集成稳压器还可以用作恒流源。
79XX系列集成压器是常用的固定负输出电压的三端集成稳压器,除输入电压和输出电压均为负值外,其他参数和特点与78XX系列集成稳压器相同。79XX系列集成稳压的三个引脚为:1脚为接地端,2脚为输入端,3脚为输出端。 79XX系列集成稳压器的应用电路也很简单。
同时运用78XX和79XX稳压器,可以组成正、负对称输出的稳压电路。下图所示为±5V稳压电源电路,IC1采用固定正输出集成稳压器7805,IC2采用固定负输出集成稳压器7905,VD1、VD2为保护二极管,用以防止正或负输入电压有一路未接入时损坏集成稳压器。
 在实际应用中,应在三端集成稳压电路芯片上安装足够大的散热器(当然小功率的条件下不用)。当稳压管温度过高时,稳压性能将变差,甚至损坏。 7905最大输出电流为1.5A,当制作中需要一个能输出1.5A以上电流的稳压电源,通常采用几块三端稳压电路并联起来,使其最大输出电流为N个1.5A,但应用时需注意:并联使用的集成稳压电路应采用同一厂家、同一批 号的产品,以保证参数的一致。另外在输出电流上留有一定的余量,以避免个别集成稳压电路失效时导致其他电路的连锁烧毁。  在79** 、78 ** 系列三端稳压器中最常应用的是TO-220 和TO-202 两种封装。这两种封装的图形以及引脚序号、引脚功能如附图所示。 从
正在加载中,请稍后...应用AD9850实现正弦标校信号的产生_hc360慧聪网电子行业频道_模拟/混合信号设计_设计与技术_技术文章_DDS_AD9850_AT89C51
& 设计与技术 & 模拟/混合信号设计
应用AD9850实现正弦标校信号的产生
&&&日10时51分&&&信息来源:现代电子技术
  摘 要:将DDS器件AD9850与单片机结合进行设计,可以产生频率(1~6 kHz)和幅值(0~1 V)都可调的正弦波信号。设计中选用AT89C51单片机实现用户需要的频率字,波形的产生以及与上位机通信等逻辑控制功能。该正弦信号源稳定方便,可在许多实时控制系统中用作标校信号。还可以通过高速比较器将该正弦波信号转换成方波,作为时钟信号输出。   关键词:DDS;AD9850;AT89C51;正弦波信号   AD9850采用先进的DDS技术,在内部集成了32 b相位累加器、14 b正/余弦查询表和高性能的10 bD/A转换器以及一个高速比较器。他通过并口或串口写入的频率控制字来设定相位累加器的步长大小,相位累加器输出的数字相位通过查找正/余弦查询表得到所需频率信号的采样值,然后通过D/A变换,输出所需频率的正弦波信号。还可以通过高速比较器将该正弦波信号转换成方波,作为时钟信号输出。&&& 1 系统总体设计  AD9850有40 b寄存器:32 b用于频率控制,5 b相位控制,1 b电源休眠功能,2 b厂家保留测试控制。这40 b控制字可通过并行方式或串行方式装入到AD9850。在并行装入方式中,通过8 b总线D7~D0重复5次装入寄存器,在FQ-VD上升沿把40 b数据从输入寄存器装入到频率和相位及控制数据寄存器,从而更新DDS输入频率和相位,同时把地址指针复位到第1个输入寄存器。在串行装入方式中,W-CLK上 升沿把25脚(D7)的1 b数据串行移入,移动40 b后,  用一个FR-VD就可以更新输出频率和相位。设计中选用并行装入方式。  频率调谐和相位调制字通过一个并行装载格式装入到AD9850中,并行装载的格式由连续的8 b控制字组成。第1个8 b字节中的5 b用来控制相位调制,1 b用来低功耗,2 b用于装载格式。第2个字节到第5个字节组成32 b频率调谐字,最大的控制寄存器的更新频率为23 MHz。其输出信号的频率fDDS由式(1)确定:   &&& fDDS=Δf.fCLK/232(1) &&& 其中:Δf为32 b频率控制字的值;fCLK为工作时钟。  AD9850控制简单,可用8 b并行口直接输入频率、相位等控制数据,其功能原理如图1所示。 &&& 2 AD9850与单片机接口设计  单片机用来实现对整个系统的控制。单片机控制部分包括键盘显示电路以及频率合成部分的接口电路。产生的正弦波或者方波的频率以及需要实现的功能信息从键盘键入,同时由显示器显示。频率合成以及各功能实现部分由DDS芯片AD9850及其外围电方波的产生输出。[1]&&&&
作者:高秀娥 陈文会&
&【】&【】&【】
[热门关键词]:&&&
特别推荐:&
更多精彩:
 相关文章
?&&(9.27 14:17)
?&&(8.19 9:36)
?&&(8.15 11:17)
?&&(6.29 11:0)
?&&(2.4 9:30)
 我来评两句  请您注意:?遵守中华人民共和国的各项有关法律法规?承担一切因您的行为而导致的法律责任?本网留言板管理人员有权删除其管辖留言内容 ?您在本网的留言,本网有权在网站内转载或引用 ?参与本留言即表明您已经阅读并接受上述条款昵称:匿名

我要回帖

更多关于 单片机的应用 的文章

 

随机推荐