没有合适的资源?快使用搜索试试~ 我知道了~
基于单片机的多功能波形发生器设计讲义.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 143 浏览量
2022-06-27
23:49:43
上传
评论
收藏 638KB PDF 举报
温馨提示
试读
19页
基于单片机的多功能波形发生器设计讲义.pdf基于单片机的多功能波形发生器设计讲义.pdf基于单片机的多功能波形发生器设计讲义.pdf基于单片机的多功能波形发生器设计讲义.pdf基于单片机的多功能波形发生器设计讲义.pdf基于单片机的多功能波形发生器设计讲义.pdf基于单片机的多功能波形发生器设计讲义.pdf基于单片机的多功能波形发生器设计讲义.pdf
资源推荐
资源详情
资源评论
基于 MSP430 单片机的多功能波形发生器设计
1. 设计目的与任务
本次设计旨在利用 msp430 单片机设计一个多功能波形发生器,并且利用
lcd12864 液晶屏进行当前波形的特征值的测量及显示,例如频率。
2. 设计指标与技术要求
(1)借助现有的单片机系统;
(2)能产生正弦波、方波、三角波、锯齿波等波形;
(3)各种波形频率可调,频率范围为 100-3000Hz;
(4)正弦波输出电压为 5V 峰峰值,方波、三角波、锯齿波输出电压为 5V
(5)采用 8 位 D/A 转换器;
(6)进行硬件平滑滤波;
(7)编写程序并调试;
(8)提供程序清单;
(9)能实物演示。
3. 总体设计
图1.1所示是基于单片机的多波形发生器的总体设计流程图。
图 1.1 总体设计流程图
3.1 总体设计功能说明:
根据设计要求,分析得本次设计需要硬件和软件两部分。
硬件上,如图。键盘输入部分主要用于选择波形。键盘共设4 个键,用于选
择三角波、矩形波、锯齿波、正弦波 4 种不同的波形,。msp430 单片机用来执
行某一波形发生程序,向 D/A 转换器的输入端发送数据,将其转化成模拟量,
并通过运算放大器调节波形的幅值,经过滤波器的滤波,从而在输出端得到所需
的波形。
1
软件上,如图。可由硬件设计好后,再根据要求进行具体编写。程序的主要
功能是:首先程序在开始后,先判断 P0.0,P0.1 ,P0.2 相应的波形,然后根据
选择的波形输出相应的波形 .程序将根据要求进行调节波形 .再下一步程序再判
断用户继续从键盘输入要输出的波形,可以进行必要的延迟。
3.2 总体电路图 3.2 如下所示:
图 1.2 总体电路图
3.3 总体程序流程图 3.2 如下所示:
图 1.3 总体程序流程图
2
4. 总体设计
4.1 msp430 单片机
MSP430 单片机称之为混合信号处理器,是由于其针对实际应用需求,将
多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上,处理能
力强、运算速度快,功能强大
4.2 DAC0832 芯片
图 2.2 DAC0832 芯片图
DAC0832 是采样频率为八位的 D/A 转换芯片,集成电路内有两级输入寄存
器。DAC0832 输出的是电流,一般要求输出是电压,所以还必须经过一个外接
的运算放大器转换成电压。
DAC0832 芯片具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电
路的需要(如要求多路 D/A 异步输入、同步转换等)。所以这个芯片的应用很广泛,
关于 DAC0832 的引脚功能如下:
D0~D7:数字信号输入端。
ILE:输入寄存器允许,高电平有效。
CS:片选信号,低电平有效。
WR1:写信号 1,低电平有效。
XFER:传送控制信号,低电平有效。
WR2:写信号 2,低电平有效。
IOUT1、IOUT2:DAC 电流输出端。
3
R
fB
:是集成在片内的外接运放的反馈电阻。
V
REF
:基准电压(-10~10V)。
Vcc:是源电压(+5~+15V)。
AGND:模拟地 NGND:数字地,可与 AGND 接在一起使用。
4.3 硬件滤波电路
图2.3 滤波电路图
由图知,截止频率 w0 =w =1/RC,即 f =1/2pRC,再根据公式 Q=Rf/(2Rf-
R2)及 Rf∥R2=2R 可算出 Rf 及 R2 的值。
5. 调试
实验调试过程需要使用到装有 CCS 的电脑、DP-51PRO 单片机综合仿真实验
仪以及示波器。
附:程序代码:
msp430 控制的液晶、键盘、AD 转换程序
此程序未加 CD4051,只能实现对单通道 AD 的转换
1.MAIN 函数部分
// 这一部分为主程序 i,LCD,7289,程序详见附件
#include <msp430.h>
#include"ZLG7289.h"
#include"LCD12864.h"
#define uchar unsigned char
#define uint unsigned int
uchar dis1[] = {"电压值:"};
uchar dis2[] = {"上限电压:"};
uchar dis3[]={"0"};
uchar number[];
uint column_num=0;
#define Num_of_Results 8
unsigned char index = 0;
4
剩余18页未读,继续阅读
资源评论
春哥111
- 粉丝: 1w+
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功