欢迎来到天天文库
浏览记录
ID:20567776
大小:448.35 KB
页数:19页
时间:2018-10-13
《基于单片机的多功能波形发生器设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于MSP430单片机的多功能波形发生器设计1.设计目的与任务木次设计旨在利用msp430单片机设计一个多功能波形发生器,并且利用led12864液晶屏进行当前波形的特征值的测量及显示,例如频率。2.设计指标与技术要求(1)借助现有的单片机系统;(2)能产生正弦波、方波、三角波、锯齿波等波形;(3)各种波形频卒刊调,频率疮围为100—3000Hz;(4)正弦波输出电压为5V峰峰值,方波、三角波、鋸齿波输出电压为5V(5)采用8位D/A转换器;(6)进行硬件乎滑滤波;(7)编写程序并调试;(8)提
2、供程序清单;(9)能实物演示。3.总体设计图1.1所示是基于单片机的多波形发生器的总体设计流程图单片机正弦波方波三角波梅齿波滤波图i.i总体设计流程图3.1总体设计功能说明:根据设计要求,分析得木次设计需要硬件和软件两部分。硬件上,如图。键盘输入部分主耍用丁•选择波形。键盘共设4个键,用丁•选择三角波、矩形波、锯齿波、正弦波4种不同的波形,。msp430单片机用来执行某一波形发生程序,向D/A转换器的输入端发送数据,将其转化成模拟量,并通过运算放大器凋节波形的幅值,经过滤波器的滤波,从而在输出端
3、得到所需的波形。软件上,如图。可由硬件设计好后,再根据要求进行具体编写。程序的主耍功能是:首先程序在开始厄,先判断PO.O,P0.1,P0.2相应的波形,然后根据选择的波形输出相应的波形.程序将根据要求进行调节波形.再卜*一步程序再判断用户继续从键盘输入耍输出的波形,可以进行必耍的延迟。3.2总体电路图3.2如下所示:控制三角波输出控制方波输出控制银齿波输出控制正弦波输出PO.0-P0.7AT89C51/DAC0832P1.1/WRP1.2P1.3P1.4P2.7DOD7RfbWR1WR2lou
4、tlCSXFERIout210OnF,C阁1.2总体电路阁3.3总体程序流程图3.2如下所示:阉1.3总体程序流程阁4.总体设计4.1msp430单片机MSP430单片机称之为混合信号处理器,是由于其针对实际应用需求,将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上,处理能力强、运算速度快,功能强大4.2DAC0832芯片C5—120—VocWR,一—ILEAGND_—DAC—XFLRDjj—0832———D為Do-——VftFJ——d7Rea—a~^JT2DGND—1011一图
5、2.2DAC0832芯片图DAC0832是采样频率为八位的D/A转换芯片,集成电路内宥两级输入寄存器。DAC0832输出的是电流,一•般要求输出是电压,所以还必须经过一个外接的运算放大器转换成电压。DAC0832芯片具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需耍(如要求多路D/A异步输入、同步转换等)。所以这个芯片的应用很广泛,关于DAC0832的引脚功能如下:DO〜D7:数字信号输入端。ILE:输入寄存器允讲,高电平打效。CS:片选信号,低电平宥效。WR1:写信号1,低电平冇效。
6、XFER:传送控制信号,低电平宥效。WR2:写信号2,低电平冇效。IOUT1、IOUT2:DAC电流输出端。RfB:是集成在片内的外接运放的反馈电阻。Vref:基准电压(-10〜10V)。Vcc:是源电压(+5〜+15V)。AGND:模拟地NGND:数字地,可与AGND接在一起使用。4.3硬件滤波电路1图2.3滤波电路图由图知,截止频率w0=w=1/RC,即f=l/2pRC,再根据公式Q=Rf/(2Rf-R2)及Rf//R2=2R可算出Rf及R2的值。5.调试实验调试过程需要使用到装有CCS的电
7、脑、DP-51PR0单片机综合仿真实验仪以及示波器。附:程序代码:msp430控制的液晶、键盘、AD转换程序此程序未加CD4051,只能实现对单通道AD的转换1.MAIN函数部分//这一部分为主程序i,LCD,7289,程序详见附件#include#include"ZLG7289.h"#include"LCD12864.h"#defineucharunsignedchar#defineuintunsignedintuchardisl[]={"电压值:••};uchardis2
8、[]={••上限电压:"};uchardis3[]={.'0"};ucharnumber[];uintcolumn_num=0;#defineNum_of_Results8unsignedcharindex=0;doubleaver=0.0;unsignedchartext[40];doublenum=0>0;unsignedintresults[Num_of_Results];voidmain(void){WDTCTL=WDTPW+WDTHOLD;//StopwatchdogtimerP6SE
此文档下载收益归作者所有