基于51单片机的DDS函数信号发生器的设计

发布者:dfdiqc最新更新时间:2020-02-03 来源: elecfans关键字:51单片机  DDS  函数信号发生器 手机看文章 扫描二维码
随时随地手机看文章

本文介绍基于51单片机的DDS函数信号发生器的设计。系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,通过程序设计方法产生锯齿波、正弦波、三角波、矩形波四种波形,通过按键来控制四种波形的类型选择、频率变化,并通过液晶屏1602显示其各自的类型以及频率值。

总体系统设计

该系统采用单片机作为数据处理及控制核心,由单片机完成人机界面、系统控制、信号的采集分析以及信号的处理和变换,采用按键输入,利用液晶显示电路输出数字显示的方案。将设计任务分解为按键电路、液晶显示电路等模块。下图为系统的总体框图

基于51单片机的DDS函数信号发生器的设计

总体方框图

硬件实现及单元电路设计

振荡电路

单片机内部有一个高增益、反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。通过这两个引脚在芯片外并接石英晶体振荡器和两只电容(电容和一般取30pF)。这样就构成一个稳定的自激振荡器。


振荡电路脉冲经过二分频后作为系统的时钟信号,再在二分频的基础上叁分频产生ALE信号,此时得到的信号时机器周期信号。振荡电路如下图所示:

基于51单片机的DDS函数信号发生器的设计
振荡电路

复位电路设计

复位操作有两种基本形式:一种是上电复位,另一种是按键复位。按键复位具有上电复位功能外,若要复位,只要按图中的RESET键,电源VCC经电阻R1、R2分压,在RESET端产生一个复位高电平。上电复位电路要求接通电源后,通过外部电容充电来实现单片机自动复位操作。上电瞬间RESET引脚获得高电平,随着电容的充电,RERST引脚的高电平将逐渐下降。RERST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。按键复位电路图如下图所示。

基于51单片机的DDS函数信号发生器的设计

复位电路

波形产生模块设计

由单片机采用编程方法产生四种波形、通过DA转换模块DAC0832在进过滤波放大之后输出。

其电路图如下图:

基于51单片机的DDS函数信号发生器的设计

波形产生电路

如上图所示,单片机的P0口连接DAC0832的八位数据输入端,DAC0832的输出端接放大器,经过放大后输出所要的波形。DAC0832的为八位数据并行输入的,其结构图如下图:

基于51单片机的DDS函数信号发生器的设计

DAC0832的内部结构

显示模块的设计

通过液晶1602显示输出的波形、频率。1602的八位数据端接单片机的P0口,其使能端RS、E分别接单片机的P3.5、P3.4。通过软件控制液晶屏可以显示波形的种类以及波形的频率。

其电路图如下图:

基于51单片机的DDS函数信号发生器的设计

液晶显示

键盘显示模块的设计其连接电路图如下图:

基于51单片机的DDS函数信号发生器的设计
键盘显示


软件设计流程

本系统采用STC89C52单片机,用编程的方法来产生四种波形,并通过编程来切换四种波形以及波形频率的改变。

具体功能有:

(1)各个波形的切换;

(2)各种参数的设定;

(3)频率增减等。

软件调通后,通过编程器下载到STC89C52芯片中,然后插到系统中即可独立完成所有的控制。

软件的流程图如下图:

基于51单片机的DDS函数信号发生器的设计

程序流程图


关键字:51单片机  DDS  函数信号发生器 引用地址:基于51单片机的DDS函数信号发生器的设计

上一篇:YB4328示波器的结构和使用技巧
下一篇:DDS函数信号发生器是什么_DDS函数信号发生器简单介绍

推荐阅读最新更新时间:2024-11-11 15:20

51单片机--仿真出租车计价器
这汇编的程序,编写的很复杂,实现的功能却还是很简陋。 在硬件方面,显示金额的位数也不足。 做而论道用 C 重新编写了一个程序,如下: #include reg52.h #include intrins.h #define BAITIAN 10 //白天价格/km #define YEJIAN 14 //夜间价格/km #define DENGREN 1 //停车等人价格/30s sbit QD = P3^4; sbit RY = P3^7; unsigned char danjia, jvli, n_X0, mode; unsigned int jinee, n_50ms; bit ye;
[单片机]
<font color='red'>51单片机</font>--仿真出租车计价器
蜂鸣器播放DOREMI+普中51单片机+江科大自化协
现象 在无源蜂鸣器上循环演奏低音“DO、RE、MI、FA、SO、LA、SI”这7个音调。 参考程序 1 主函数 #include REGX52.H #include delayms.h #include timer0.h sbit Buzzer = P2^5; //音调与频率对照表,低中高:1,1#,2,2#,3,4,4#,5,5#,6,6#,7 //unsigned int FreqTable ={ // 63628,63731,63835,63928,64021,64103,64185,64260,64331,64400,64463,64528, // 64580,64633,64684,647
[单片机]
用AT89S51单片机控制16×16点阵显示器的硬件电路及工作
  现在就通过AT89S51 单片机 来控制16×16点阵显示器,其硬件接法原理图如下图所示,AT89S51单片机的P1.0~P1.3与74LS154的A、B、C、D输入端对应相连,作为行扫描信号输出控制,P2口的8位与两片74LS373的8位输入端相连,P3.0和P3.1分别与74LS373(1)的11脚和74LS373(2)的11脚相连,作为上半部和下半部的数据输入控制使能端。      下面以共阴极16×16点阵显示器显示一个静态汉字为例,介绍其工作原理与步骤。      1、要静态显示一个 大 字,先将 大 字的代码编好。如右图所示,上方是1~16行,左边是a~p16列;上8列是a~h,下8列是i~p,编写代码时,上8列a
[单片机]
用AT89S<font color='red'>51单片机</font>控制16×16点阵显示器的硬件电路及工作
基于51单片机的计数器设计
1.实验任务   利用AT89S51单片机的P1.0-P1.3接四个发光二极管L1-L4,用来指示当前计数的数据;用P1.4-P1.7作为预置数据的输入端,接四个拨动开关K1-K4,用P3.6/WR和P3.7/RD端口接两个轻触开关,用来作加计数和减计数开关。具体的电路原理图如下图所示 2.电路原理图 图4.12.1 3.系统板上硬件连线 (1).把“单片机系统”区域中的P1.0-P1.3端口用8芯排线连接到“八路发光 二极管 指示模块”区域中的L1-L4上;要求:P1.0对应着L1,P1.1对应着L2,P1.2对应着L3,P1.3对应着L4; (2).把“单片机系统”区域中的P3.0/RXD,P3.1/TXD,P3.2/INT
[单片机]
基于<font color='red'>51单片机</font>的计数器设计
利用中断结构,编制一个脉冲计数8051单片机程序
在8051单片机的INTO引脚外接脉冲信号,要求每送来一个脉冲,把30H单元值加1,若30H单元记满则进位31H单元。试利用 中断 结构,编制一个脉冲计数程序。 解: ORG 0000H AJMP MAIN ORG 0003H AJMP SUBG MAIN:MOV A,#OOH MOV 30H,A MOV 31H,A MOV SP,#70H SETB INT0 SETB EA SETB EX0 AJMP $ ORG 0200H SUBG:PUSH ACC INC 30H MOV A,30H JNZ BACK INC
[单片机]
51单片机扩展中断的简便方法
MCS—51系列单片机内部只有两个外部中断源输入端,当外部中断源多于两个时,就必须进行扩展,下面介绍两种简单的扩展方法: 一、采用硬件请求和软件查询的方法: 这种方法是:把各个中断源通过硬件“或非”门引入到单片机外部中断源输入端(INT0或INT1),同时再把外部中断源送到单片机的某个输入输出端口,这样当外部中断时,通过“或非”门引起单片机中断,在中断服务程序中再通过软件查询,进而转相应的中断服务程序。显然,这种方法的中断优先级取决于软件查询的次序。其硬件连接和软件编程如下: Voidzhongduan(void)interrupt0using3//中断函数 { EX0=0;//关中断 If(P0_0=1)
[单片机]
8051单片机教程第十二课:逻辑运算类指令
单片机教程第十二课:逻辑运算类指令: 对累加器A的逻辑操作: CLRA;将A中的值清0,单周期单字节指令,与MOVA,#00H效果相同。 CPLA;将A中的值按位取反 RLA;将A中的值逻辑左移 RLCA;将A中的值加上进位位进行逻辑左移 RRA;将A中的值进行逻辑右移 RRCA;将A中的值加上进位位进行逻辑右移 SWAPA;将A中的值高、低4位交换。 例:(A)=73H,则执行CPLA,这样进行: 73H化为二进制为01110011, 逐位取反即为10001100,也就是8CH。 RLA是将(A)中的值的第7位送到第0位,第0位送1位,依次类推。 例:A中的值为68H,执
[单片机]
小广播
最新测试测量文章
换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved