简易波形发生器_第1页
简易波形发生器_第2页
简易波形发生器_第3页
简易波形发生器_第4页
简易波形发生器_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——简易波形发生器

简易波形发生器

一、设计目的

1.把握tlv5618的应用和编程方法。2.熟悉几种典型波形的产生方法。

二、设计内容与要求

利用微机试验平台编程实现一个波形发生器,可以产生正弦波、方波、三角波等各种波形。

1.基本要求

(1)具有产生正弦波、方波、三角波三种周期性波形的功能。(2)输出波形的频率范围为100Hz~1Hz。(3)输出波形幅度范围1~5V(峰-峰值)。2.提高要求

(1)增加输出波形的类型。(2)扩展输出波形频率范围。(3)减少幅度范围的步进量。

三、设计报告要求

1.设计目的和内容2.总体设计

3.硬件设计:原理图(接线图)及简要说明4.软件设计框图及程序清单

5.设计结果和体会(包括遇到的问题及解决的方法)

四、总体设计

本次设计结合D/A和A/D转换,用键盘输入来选择tlv5618的输出波形,再通过tlv5618采集后在PC机上以图形方式显示。

设计要求该波形发生器能产生正弦波、方波、三角波等形状的波形。不同的波形主要是由输入tlv5618的不同规律的数据,所以在软件设计是主要是构造各种波形的数据表格。方波只需要控制输出高低电平的时间,三角波的表格可以由数字量的增减来控制,产生正弦波关于构造一个正弦函数数值表,通过查该函数表来实现波形的输出。波形的频率控制是通过对输出数据的时间间隔控制。幅度是通过改变输出数据的大小来控制的。为了程序实现便利,可以把每种波形的数据表构造好,再统一查表来实现。

五、硬件设计

硬件比较简单。将单片机系统里面的中断、tlv5618的电路弄明白,通过相应的跳线就可以完成电路的设计。

tlc5618应认真得

下面具体介绍采用一片可编程双通道d/a转换器tlc5618得一个通道实现d/a转换得同时*用它得另一个通道通过软件编程以逐次比较方式来实现a/d转换功能得实际应用方法!其硬件设计如图1所示

tlc5618市带有缓冲基准输入(高阻抗)得双路12位电压输出数字模拟转换器(dac)*8引脚得小型d封装*需5v单电源工作*其输出电压范围为基准电压得两倍*因此*电路设计采用了1.2v基准电压(如lm385)!通过cmos兼容得3线串行总线单片机可以对tlc5618实现数字控制*器件接收用于编程得16位输入字产生模拟输出!16位输入字得高4位为编程控制位*通过对编程控制位得设定*可以有三种不同得输出方式*低12位为被转换得数字量!数据从串行数据输入端din按从高位到低位得顺序依次输入*单片机串行通讯可工作在操作模式0下*串行口作同步移位寄放器用或采用其它i/o口模拟串行口方式实现数字控制!这里值得注意得市单片机工作在操作模式0下时*串行口发送或接收得市8位数据*且低位在前*与tlc5618得数据接收时序相反!因此单片机应先将数据进行高低位交换后再进行数据发送

!

图1采用一片tlc5618实现a/d转换和d/a转换得应用电路

1.d/a功能得实现

该功能只占用tlc5618得outb输出通道*若指定建立时间为3μs*则前4位编程控制位应为00xx!前4位编程控制位和被转换得12位数字量组成高8位低8位=16位得输入字*从串行数据输入端din按从高位到低位得顺序依次输入*转换结果电压从tlc5618得outb输出!本电路通过v-i转换电路(见图1)实现电压到电流得转换!这里不再祥述!

2.a/d功能得实现

在本电路中没有单独使用a/d转换器*a/d转换功能市通过双路d/a转换器tlc5618得另一个输出通道outa*通过一级放大电路和比较电路*并通过软件编程采用逐次比较法来实现得!即在双通道d/a转换器tlc5618得串行数据输入端din逐次输入按位依次指定得12位数字量(如x800h)*并将每次输入数字量得d/a转换结果同实际输入得模拟电压进行比较*根据比较结果来决定每次指定得位应为0或1*当最终一位确定后*这个按位被指定得数字量就市最终a/d转换结果!具体原理如下:

每次a/d转换过程中*前4位编程位一直为10xx!前4位编程位和后面12位转换数字量构成高8位低8位=16位得输入字!

每次a/d转换前先指定12位输入数字量(不包括4位编程位)得最高位为1输入tlc5618进行d/a转换*d/a转换得结果从outa输出后*经过一级放大电路*通过比较电路与实际输入得模拟电压比较!若转换结果电压大于输入得模拟电压*则三极管t1基极为高电平*t1导通*p0.2被下拉为低电平;否则转换结果电压小于输入得模拟电压*则三极管t1基极为低电平*t1截止*p0.2被上拉为高电平!单片机通过检测p0.2得状态*假使p0.2为高电平*则保存本位得1;否则p0.2为低电平*则将本位得1变为0!这样12位数字量中得一位就被确定下来*然后再指定下一位为1*再经过d/a转换、放大、比较*并检测p0.2得状态*该位又被确定下来!依次类推*直到12位数字量全被确定下来*这个12位得数字量得d/a转换结果将最接近输入得模拟电压*它实际就市a/d转换得结果!注意单片机在检测i/o比较结果状态时*应参与约为10μs得时间延时!

另外*本电路仅具有一个模拟量输入信号*如需有多个模拟量输入信号*可不必加模拟开关*只需增加比较电路即可*多个模拟量输入信号均可与d/a转换器经一级放大电路得输出信号比较*并通过相应得a/d转换子程序实现a/d转换!

六、软件设计

本设计的主要是把握各种典型波形的产生方法,例如三角波、方波和正弦波。构造各种波形的数据表和对tlv5618的编程输出。对于波形的频率调理主要是由8253定时/计数器来控制。

1.波形数据表的构造

每个周期的数据表由0x4ff个数据组成,不同的幅度对应的数据不一样,可以根据倍数关系求出。但是为了简化计算,将每个幅值的数据表列出。这边我们只探讨幅值为5V时的数据表,其他的数据表可以根据倍数关系求得。

1)方波数据表的构造

只要输出高电平和低电平就可以了,所以输入到ADC0832的数据由32个00H和32个

FFH组成。

2)三角波数据表的构造

三角波是由数据量的增减来控制的。在前半个周期数据由0000H增加到4FFH,在后半

个周期数据由4FFH减少到000H,每次变化为4ffH。

3)正弦波数据表的构造

DAC0832的输入数据与输出电压的关系为:Ua=(UREF)/4056*N,其中UREF表示参考电压2.程序的主要模块

程序主要由主程序和中断服务程序构成。主要由菜单显示、键盘读取、DA输出、AD采

样、屏幕画图等模块组成。

菜单显示包含有3个菜单:主菜单和2个子菜单。主菜单有选择波形和退出选项,子菜

单有选择频率菜单和选择幅度菜单。

键盘读取是协同菜单显示的条件下,接收键盘的输入,得到相应的数据来处理,决定输

出波形的信息。

屏幕画图主要是调用了INT10H中第12H号功能(AH=12,CX=列号,DX=行号,AL=点的颜色),在屏幕上写点。并通过幅度=(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论