51驱动AD9833
使用51驱动AD9833模块的使用
- 关于AD9833
- 相关参数
- 程序流程
- 代码片
- 上传程序
- 总结
原文链接:https://www.yourcee.com/newsinfo/2925703.html
关于AD9833
AD9833是一款低功耗、可编程波形发生器,能够产生正弦波、三角波和方波输出。各种类型的检测、信号激励和时域反射(TDR)应用都需要波形发生器。输出频率和相位可通过软件进行编程,调整简单。无需外部元件。频率寄存器为28位:时钟速率为25 MHz时,可以实现0.1 Hz的分辨率;而时钟速率为1 MHz时,则可以实现0.004 Hz的分辨率。AD9833通过一个三线式串行接口写入数据。该串行接口能够以最高40 MHz的时钟速率工作,并且与DSP和微控制器标准兼容。该器件采用2.3 V至5.5 V电源供电,AD9833具有省电功能。此功能允许关断器件中不用的部分,从而将功耗降至最低。例如,在产生时钟输出时,可以关断DAC从而降低功耗。
点击图片购买
相关参数
1 引脚说明:
引脚 | 名称 | 描述 |
---|---|---|
1 | COMP | DAC偏置引脚 |
2 | VDD | 模拟和数字接口部分的正电源。片内2.5V稳压器也采用VDD供电。VDD的值范围为2.3V至5.5V。VDD和AGND之间应连接一个0.1 uF和一个10 uF去耦电容。 |
3 | CAP/2.5V | 数字电路采用2.5V电源供电。当VDD超过2.7V时,此2.5V利用片内稳压器从VDD产生。该稳压器需要在CAP/2.5V至DGND之间连接一个典型值为100 nF的去耦电容。如果VDD小于或等于2.7V,则CAP/2.5V应与VDD直接相连。 |
4 | DGND | 数字地 |
5 | MCLK | 数字时钟输入。DDS输出频率是MCLK频率的一个分数,分数的分子是二进制数。输出频率精度和相位噪声均由此时钟决定。 |
6 | SDATA | 串行数据输入。16位串行数据字施加于此输入。 |
7 | SCLK | 串行时钟输入。数据在SCLK的各下降沿逐个输入AD9833。 |
8 | FSYNC | 低电平有效控制输入。FSYNC是输入数据的帧同步信号。当FSYNC变为低电平时,即告知内部逻辑,正在向器件中载入新数据字。 |
9 | AGND | 模拟地 |
10 | VOUT | 电压输出。AD9833的模拟和数字输出均通过此引脚提供。由于该器件片内有一个200Q电阻,因此无需连接外部负载电阻。 |
2:原理图
程序流程
代码片
所使用单片机为8051的单片机,实现输出正弦波的效果,下代码为AD9833头文件定义。
#define TRI_WAVE 0 //输出三角波
#define SIN_WAVE 1 //输出正弦波
#define SQU_WAVE 2 //输出方波void AD9833_WaveSeting(double frequence,unsigned int frequence_SFR,unsigned int WaveMode,unsigned int Phase );void AD9833_Init_GPIO(void);void AD9833_AmpSet(unsigned char amp);
if(WaveMode==TRI_WAVE) //输出三角波波形AD9833_Write(0x2002); if(WaveMode==SQU_WAVE) //输出方波波形AD9833_Write(0x2028); if(WaveMode==SIN_WAVE) //输出正弦波形AD9833_Write(0x2000);
上传程序
AD9833_WaveSeting(2000.0,0,SIN_WAVE,0 );//2KHz, 频率寄存器0,正弦波输出 ,初相位0 AD9833_AmpSet(200); //设置幅值,幅值最大 255
程序配置的输出正弦波,然后采用示波器拉出波形可见如下图所示
总结
此模块在应用领域中,可以作为波形信号发生器,对于51单片机来说可以做一个小型信号发生器,程序中附带调节幅度和频率等代码,长期发布此类文章,喜欢的点个关注吧。
51驱动AD9833相关推荐
- 基于OMAPL138的字符驱动_GPIO驱动AD9833(三)之中断申请IRQ
基于OMAPL138的字符驱动_GPIO驱动AD9833(三)之中断申请IRQ 0. 导语 学习进入到了下一个阶段,还是以AD9833为例,这次学习是向设备申请中断,实现触发,在未来很多场景,比如做用 ...
- 51驱动DS1302制作电子时钟1602显示
51驱动DS1302制作电子时钟1602显示 模组选型 模组选型解析 设计思路 产品接线 部分代码解析 总结 原文链接:https://www.yourcee.com/newsinfo/2928557 ...
- 51驱动AS608光学指纹识别模块 12864显示
51驱动AS608光学指纹识别模块 12864显示 AS608光学指纹识别模块 模块工作原理 1.指纹特征 2.指纹处理 模块参数 引脚说明 实验程序 硬件设备和接线 程序讲解 按键 主函数 实验步骤 ...
- 51驱动NRF24L01通信,NRF24L01与TTL转NRF24L01模块通信
51驱动NRF24L01通信,NRF24L01与TTL转NRF24L01模块通信 NRF24L01 一.简介 二.引脚功能描述 程序设计 一.对 24L01 的程序编程的基本思路如下: 二.Tx 与 ...
- L298N模块的连接与使用(stm32驱动与51驱动)
一.L298N的一些基本参数 使用方法: 输出A: 通道A输出 ,连接电机 输出B: 通道B输出 ,连接电机 12V供电: 主电源正极输入 供电GND: 主电源正负极极输入 5V输出: 5v电压输出端 ...
- 单片机语音识别源码与资料(ASR M08-B模块arduino与51驱动)
//注意,这里以控制台灯举例,实际上不一定是用来控制台灯的, //增加多路请对比1路的程序和两路的程序,按照同样的方法修改程序. //使用此程序前,模块要设置好关键词. #include #defin ...
- 液晶显示器c语言编程,51驱动1602液晶显示器c程序
/* 程序效果:单片机控制液晶显示器1602显示字母数字,用户自行更改io 程序版权:http://www.51hei.com */ #include //头文件 #define uchar unsi ...
- 优信电子所有博客汇总(导航搜索)
优信电子所有博客汇总(导航搜索) 文章目录 51单片机开发 stm32系列 arduino专栏 ESP系列开发板/模组 树莓派相关 各类传感器驱动案例 TFT.LCD DIY 其他 文章目录 本文用于 ...
- 51系列驱动WS2812
51驱动WS2812B三色流水灯 WS2812简介 模组选型 关于WS2812的时序解析 发送数据格式解析 部分代码 功能现象 总结 原文链接:https://www.yourcee.com/news ...
- 使用51单片机 驱动DHT22温湿度模块 串口显示温湿度
使用51 驱动DHT22温湿度 串口显示 一.基本参数 二.接线 三.部分代码 引脚定义 通信协议 时序对用代码 四.实验现象 五.注意事项 一.基本参数 二.接线 DHT22温湿度模块 STC89C ...
最新文章
- 基于GAN的单目图像3D物体重建(纹理和形状)
- 【Android 逆向】ELF 文件格式 ( ELF 文件类型 | ELF 文件对应 CPU 架构 | ELF 目标文件版本 | 可执行程序起始地址 )
- “约见”面试官系列之常见面试题第三十九篇之异步更新队列-$nextTick(建议收藏)
- checkbox全选和反选功能
- python3 super_python3的super详解
- C#.Net工作笔记005---c#中list合并去重_以及单纯合并_值类型list去重
- CentOS安装Hive
- 【入门】R语言最详细Windows安装指南
- Word 2013 无法撤销操作的错误
- 从打造“兴趣电商”到“完全闭环”,抖音电商之路
- 排列组合(组合C语言实现)
- Python查询快递订单信息
- English trip -- Phonics 1 ar
- NOVA温控器参数笔记(十)(故障代码)
- 2018蓝桥模拟赛 天上的星星
- 小武学fpgastep5
- 利用Office PPT录制演示视频
- 数据库异常状态:Recovery Pending,Suspect,估计Recovery的剩余时间
- Java网红10s计时器
- HTML怎么做出菱形框架,css3怎么实现菱形渐变?
热门文章
- 在layui表格中插入时间插件
- OLED SH1108 STM32 8080接口实际使用
- PS去除图片白底制作微信表情包
- ascii码值为负数_C语言字符型数据的ASCII码值为何是负数?
- i3cpu驱动xp_Intel英特尔Core i3/Core i5/Core i7系列CPU核芯显卡驱动
- 提交按钮html修改样式,css提交按钮样式
- MCSE 與 MCSA 升級 Windows Server 2008 之路
- jquery所有版本下载
- Android 进阶自定义View(5)图表统计PieChartView圆饼图的实现
- CS224N WINTER 2022(四)机器翻译、注意力机制、subword模型(附Assignment4答案)