没有合适的资源?快使用搜索试试~ 我知道了~
基于单片机的函数信号发生器设计说明.doc
需积分: 12 22 浏览量
2022-07-16
08:17:39
上传
评论
收藏 19.66MB DOC 举报
温馨提示
基于单片机的函数信号发生器设计说明.doc
资源详情
资源评论
资源推荐

. . . .
1 / 16
基于单片机的函数信号发生器
设计所用元器件:
元器件
数量(个)
电阻
3
电容
9
STC89C52 芯片
1
DAC0832 芯片
1
MAX232 芯片
1
按键
7
OP07 运算放大器
1
LED 发光二极管
1
LCD1602 液晶屏幕
1
晶振
1
电位器
1
芯片底座
4
排阻
1
电解电容
2
排针
若干
跳线
若干
基于单片机的函数信号发生器
1.设计目的
1.学习使用 keil 编程,使用 Altium Designer 绘制原理图;

. . . .
2 / 16
2.使用单片机产生正弦波、方波、三角波、锯齿波并可通过按键对波形切
换、幅值和频率的调整;
3.学习使用示波器显示波形;
2.设计原理
基于单片机的函数发生器原理以 STC89C51 为整个函数发生器的核心部分,
通过编写程序和执行程序,运用示波器显示出四种波形,分别是正弦波、三角波、
方波和锯齿波。本设计拥有五个按键,分别实现波形的切换,改变波形的频率和
幅值的大小。芯片 DAC0832 将数字信号转换成模拟信号输出并通过外接运算放大
器 OP07 实现电流向电压的转换,最后通过示波器显示出波形。
3.设计容
3.1 基本设计容
本次设计的主要容是设计一个基于单片的函数信号发生器实现正弦波、三角
波、方波和锯齿波。利用单片机设计程序,使其能够通过按键有效切换四种波形,
并且实现波形幅值和频率的调整满足本设计的要求,进行硬件系统和软件系统的
设计,最后调试完成本次设计。
LCD1602 液晶显示波形种类、幅值以与频率。频率的可调围在 1—10HZ,幅
值可调围在 1—5V。显示屏上显示参数,第一行显示波形。第二行左边显示波形
频率,右边显示波形幅值。本设计由五个功能按键,分别进行波形切换,加减幅
值和加减频率。电压在示波器上显示,硬件原理示意图,如图 1.1 所示。
图 1.1 硬件原理设计图
3.2 模块设计
3.2.1 单片机最小系统模块
本设计 STC89C51 为整个函数发生器的核心部分,单片机、时钟电路和复位电
路构成单片机的最小系统,如图 2.1 所示。
显示电路
按键
单
片
机
D/A 转换电路
复位电路
放大电路
波形输出

. . . .
3 / 16
图 2.1 单片机最小系统模块原理图
晶体谐振器是时钟电路的重要组成部分,将晶体谐振器放入电路,上电后它
会产生机械振荡,单片机凭借晶体谐振器的频率运行所设计出来的频率,所以说
晶体谐振器的频率是单片机操作时间规律,保证单片机平稳的工作。晶体谐振器
是控制 CPU 的时钟频率的。频率控制运行速度。晶体谐振器虽然是振荡电路的一
部分,但是它自身不会产生震荡,它会有一个固定的频率,然后与外围电路发生
谐振。谐振的产生需要晶体谐振器固定频率和外围电路的频率一致,如果差距大,
或者根本对不上则会使电路不在振荡。单片机会根据实际所能承受的晶体谐振器
频率来选择自己的运行频率,不会因为晶体谐振器频率快单片机运行就快,频率
慢单片机运行速度就会降低。
复位电路包含一个电容、两个电阻包括一个接地电阻和一个复位按键,电容
和电阻采用值为 10μF 和 10K。复位电路让单片机回到原始工作状态,RST 复位
引脚高电平有效,高电平有效的持续时间应为 24 个时钟周期以上,才能有效复
位。根据公式电容的充电时间为 t=R*C,则电容的充电时间为 100ms,充满使得
单片机复位。电容充满,与地相接的的电阻电压、电流都降为零,在开机上电的
0.1s 钟,单片机系统会自动复位,在单片机工作期间,按下复位按键,电容放
电,接地电阻出现电压,单片机复位松开按键,电容充电,几个毫秒之后单片机
开始工作。
3.2.2 显示模块
LCD1602 能同时显示 32 个字符。LCD1602 采用的是数据并行接法,特点主要
是使用方便,需要很多的 I/O 口,函数发生器设计中 I/O 口是够用的,所以可以
使用这种数据传输方式。八位的数据赋给 I/O 口。读取数据时也只要读取整个
I/O 口。LCD1602 显示模块,如图 2.2 所示。

. . . .
4 / 16
图 2.2 显示模块原理图
3.2.3D/A 转换电路
DA 转换模块由 DAC0832、OP07 运算放大电路组成,DAC0832 作为函数发生器
数模转换模块的核心芯片,转换时间为 1us,工作电压为+5v~+15v,基准电压为
正负 10v。它主要由两个 8 为寄存器和一个 8 位 D/A 转换器组成,片有输入数据
寄存器,所以芯片可以直接与单片机相接。DAC0832 以电流的形式输出信号,所
以需要在 Iout 后接一个 OP07 运算放大器,把输出电流信号转换成电压的形式,
供示波器显示,在信号输出之前 OP07 输出口接一个电阻和一个电容组成一个简
单的滤波电路,用来抑制其他杂波,得到正常信号。D/A 转换模块,如图 2.3 所
示。
图 2.3 D/A 转换模块原理图
3.2.4 提供运放电源电路
DAC0832 输出的是电流信号,要将电流转换成电压,OP07 运算放大器需要提
供正负 10v 的电压,在单片机与计算机通信时需要加电平转换芯片,MAX232 可
以完成电平转换功能,因此 MAX232 芯片上可以找到正、负电压。根据测量,MAX232
芯片的 2、6 引脚分别输出+10v 和-10v 左右的电压,所以可以作为运算放大器
剩余15页未读,继续阅读













智慧安全方案
- 粉丝: 2951
- 资源: 59万+
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- Android几乎所有的开源项目的导航类目录 底部导航 顶部导航动画
- 天天一泉老款小区售水机充值管理软件V5.22和V4.1,适用于老款(2017年前)款式的小区售水机(一体化读卡器类型)
- 2022系统分析师真题
- c#深度学习-PaddleOCRSharp数字识别demo
- A Primer on Memory Consistency and Cache Coherence
- Is Parallel Programming Hard, And, If So, What Can You Do About
- LV.11 D1-D2 SQLite数据库笔记
- .NET MAUI for C# Developers
- 二分查找 & 二分答案 万字详解,超多例题,带你学透二分
- SQL Server2022安装教程 附每步截图
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

评论0