登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 电子信息类 > 电子信息工程 > 正文

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

 2023-08-04 10:08  

论文总字数:12514字

摘 要

本文对基于51单片机的函数信号发生器做了相关研究。本设计采用DDS模块为主信号发生器,实现数模转换、信号放大和滤波功能。外扩12864液晶显示模块显示波形、频率等参数。按键模块用于对波形种类和频率参数进行设置,频率大小在一定范围内可任意改变。复位电路用于重置参数。经系统的安装与测试,该函数信号发生器可在6Hz~2MHz范围内稳定输出正弦波、方波、三角波三种周期性波形,频率误差小,能较好实现预定目标。

关键词:DDS模块,单片机,函数信号发生器,液晶显示

Abstract: In this paper, the function signal generator based on 51 MCU is studied. This design uses the DDS module as the signal generator to realize the functions of digital to analog conversion, signal amplification and filtering. External expansion 12864 LCD module displays waveform, frequency and other parameters. The key module is used to set waveform types and frequency parameters, and the frequency can be changed arbitrarily within a certain range. The reset circuit is used to reset the parameters. Through the system installation and test, the function signal generator can stabilize three kinds of periodic waveforms of sine wave, square wave and triangle wave in the range of 6Hz~2MHz. The frequency error is small, and the predetermined target can be achieved better.

Key words: DDS module, MCU, function signal generator, LCD display.

目 录

1 概述 3

1.1设计任务分析 4

2 系统方案选择与分析 4

2.1 系统方案分析 4

2.2 系统方案选择 5

3 硬件设计 6

3.1 单片机最小系统 6

3.2 DDS模块 8

3.3 按键模块 11

3.4 12864液晶显示模块 12

3.5 时钟模块 12

4 软件设计 13

4.1 系统总流程图 13

4.2 数据写入流程图 14

4.3 按键模块流程图 14

4.4 系统子流程图 15

4.5 系统源程序 16

5 硬件实物图 17

6 测试结果 18

总结 21

参考文献 22

致谢 23

1 概述

信号发生器又被叫做信号源或振荡器,是常用的信号源之一,它能够产生波形等信号。在高校教学中,我们常用到数字或模拟示波器来测量在实验中产生的波形,尤其是电子信息类专业使用较多。在通信等领域都需要射频发射,同样涉及信号发生器的应用。信号发生器根据其不同功能又分为不同种类的发生器。例如,我们常见的函数信号发生器就是其中一种。同时,函数信号发生器根据其使用功能的不同又分为模拟式和数字式,两种发生器在制作过程中相差不大,但在使用功能上两种函数信号发生器各有优缺点,目前并没有实际的解决两种发生器之间的难题。故在使用上根据自身情况选择使用。

函数信号发生器在信号产生上有多种方法,在学生设计的作品中最常见的还是使用直接的数字频率合成器来产生指定的信号,即使用DDS模块可直接输出确定的信号。此方法需要软硬件结合使用,更改信号种类直接修改程序使其产生想要输出的信号。使用单片机控制的函数信号发生器输出信号固定,频率范围也不可更改,应用功能少,但其输出信号参数稳定,操作切实可行。一般利用此方法设计的信号发生器因其产生信号有限且功能较少,只限于教学应用与学生实验方面。

1.1 设计任务分析

本设计想制作一个可以产生正弦波、方波、三角波三种周期性波形的函数信号发生器,信号的频率大小可以根据使用需要进行调节,欲实现信号的输出频率在5Hz~2MHz的可行范围内上下调节,输出的频率误差尽可能的小,同时要求输出信号尽可能稳定、无跳变,且输出波形规范、平滑、美观。 

2 系统方案选择与分析

2.1 系统方案分析

2.1.1 主控芯片方案

方案一:采用STC89C51单片机作为主控芯片。因为此款芯片最常用,其存储器可编程,使用方便,操作简单。同时本人学习过此芯片的知识,比较熟悉,且其价格低廉,虽然其储存较小,但不影响本设计的使用。

方案二:AT89C51系列单片机基本功能与STC89C51单片机基本相同,但AT89系列烧录程序到硬件内,需要专门的下载器,比较麻烦。而STC89系列只需要一根数据线就可以工作。

方案三:MSP430系列单片机功能强大,自带数模转换器,但是焊接困难,需要PCB制板,价格高。本设计若用MSP430,则大材小用。

方案四:STM32f103系列单片机,内置存储容量大,运行速度快,功耗低,但价格贵,不考虑使用。

综合各方面考虑,选择STC89C51作为本设计的主控芯片。

2.1.2 DDS模块方案

方案一:利用直接数字合成DDS模块实现函数信号发生器。目前该模块是基于某种芯片合成的,本设计采用基于AD9833芯片的DDS模块,输出的信号比较稳定,跳变小,误差小,操作简便,焊接容易。

方案二:选用DAC0832再结合运放电路等外围电路相当于组合成的一个DDS模块,但其焊接繁杂,精度也不高,所以不予考虑。

方案三:采用原始的模拟振荡法。此电路输出的信号精准度不高,极其不稳定,极易被外界条件扰乱,若想对电路进行调试,操作困难,不易进行,无法达到预定指标。

考虑到稳定性和易操作性选择方案一,即采用基于AD9833芯片的DDS模块。

2.1.3 显示模块方案

方案一:采用LCD12864作为人机交互界面。LCD12864是比较常用的液晶显示屏,能显示32个汉字以及图形。8位并行和串行两种连接方式,且功能多,LCD12864液晶显示可以显示波形种类、频率等参数。

方案二:LCD1602字符型液晶,是一个可以显示字符、数字、字母等点阵型液晶显示器。此显示屏可以一次同时显示32个字符(16x2),每个字符由40个点阵(5x8)组成。显示界面简洁,字符列与列,行与行之间均有间隔,方面读出显示字符。LCD1602是比较常用的液晶显示模块,但其显示内容太少,不适合本设计使用。

剩余内容已隐藏,请支付后下载全文,论文总字数:12514字

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图