《波形发生器设计.docx》由会员分享,可在线阅读,更多相关《波形发生器设计.docx(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、波形发生器设计五邑大学单片机课程设计报告题目:波形发生器设计院系信息学院专业电子信息工程学号3112001979学生梓聪指导老师黄辉波形发生器设计摘要本文以STC89C51片机为核心设计了一个低频函数信号发生器。信号发生器采用数字波形合成技术,通过硬件电路和软件程相结合,可输出自定义波形,如正弦波、方波、三角波、梯形波及其他任意波形,波形的频率和幅度在一定围可任意改变。波形和频率的改变通过软件控制,幅度的改变通过硬件实现。介绍了波形的生成原理、硬件电路和软件部分的设计原理。该信号发生器具有体积小、价格低、性能稳定、功能齐全的优点。关键词:低频信号发生器;单片机;D/A转换一、设计要求设计一个能
2、产生正弦波、方波、三角波、梯形波、锯齿波的波形发生器。二、实验目的1、进行硬件电路设计。2、编写程序,并进行程序测试。3、利用单片机采用软件设计方法产生五种波形。4、焊接电路,将程序下载到单片机,并用示波器对输出程序进行测试。三、实验容1、工作原理:数字信号能够通过数/模转换器转换成模拟信号,因而可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。89C51单片机本身就是一个完好的微型计算机,具有组成微型计算机的各部分部件:中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通讯接口等,只要将89C51再配置键盘及、数模转换及波形输出、放大电
3、路等部分,即可构成所需的波形发生器,其信号发生器构成系统框图如下列图所示。图189C51是整个波形发生器的核心部分,通经过序的编写和执行,产生各种各样的信号,并从键盘接收数据,进行各种功能的转换。当数字信号电路到达转换电路,将其转换成模拟信号也就是所需要的输出波形。波形ROM表是将信号一个周期等间距地分离成128个点,储存在单片机得ROM。产生指定波形能够通过DAC来实现,不同波形产生本质上是对输出的二进制数字量进行相应改变来实现的。此题目中,方波信号是利用定时器中断产生的,每次中断时,将输出的信号按位反即可;三角波信号是将输出的二进制数字信号依次加1,到达0xff时依次减1,并实时将数字信号
4、经D/A转换得到;锯齿波信号是将输出的二进制数字信号依次加1,到达0xff时置为0x00,并实时将数字信号经D/A转换得到的;梯形波是将输出的二进制数字信号依次加1,到达0xff时保持一段时间,然后依次减1直至0x00,并实时将数字信号经D/A转换得到的;正弦波是利用MATLAB将正弦曲线均匀取样后,得到等间隔时刻的y方向上的二进制数值,然后依次输出后经D/A转换得到。2、设计功能本方案有5个独立式按键。其中“S1号键代表正弦波输出,“S2号键代表三角波输出,“S3号键代表方波输出,“S4号键代表锯齿波输出,“S5号键代表梯形波输出。3、主控电路设计中主要采用AT89C51型单片机,它具有如下
5、优点:1拥有完善的外部扩展总线,通过这些总线可方便地扩展外围单元、外围接口等。2该单片机部拥有4K字节的FLASHROM程序存储器空间和256字节的RAM数据存储空间,完全能够知足程序的要求。由于该芯片可电可擦写,故可重复使用。假如更改程序容,可将芯片拿下重新烧写。3该单片机与工业标准的MCS51型机的指令集和输出引脚兼容。AT89C51单处机部设置两个16位可编程的定时器/计数器T0和T1,它们具有计数器方式和定时器方式两种工作方式及4种工作形式。在波形发生器中,将其作定时器使用,用它来准确地确定波形的两个采样点输出之间的延迟时间。形式1采用的是16位计数器,当T0或T1被允许计数后,从初值
6、开场加计数,最高位产生溢出时向CPU请求中断。中断系统是使处理器具有对外界异步事件的处理能力而设置的。当中央处理器CPU正在处理某件事的时候外界发生了紧急事件,要求CPU暂停当前的工作,转而去处理这个紧急事件。在波形发生器中,只用到片定时器/计数器溢出时产生的中断请求,即是在AT89C51输出一个波形采样点信号后,接着启动定时器,在定时器未产生中断之前,AT89C51等待,直到定时器计时结束,产生中断请求,AT89C51响应中断,接着输出下一个采样点的信号,如此循环产生所需要的信号波形。主控电路图如图2所示,AT89C51从P1口接收来自键盘的信号。89C51是片有ROM/EPROM的单片机,
7、因而,这种芯片构成的最小系统简单可靠。用89C51单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,89C51单片机最小系统所示。由于集成度的限制,最小应用统只能用作一些小型的控制单元。其应用特点:1有可供用户使用的大量I/O口线;2部存储器容量有限;3应用系统开发具有特殊性。图24、数/模转换电路由于单片机产生的是数字信号,要想得到所需要的波形,就要把数字信号转换成模拟信号,所以该文选用价格低廉、接口简单、转换控制容易并具有8位分辨率的数模转换器DAC0832。DAC0832主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器以及输入控制电路四部分组成。但实际上,DAC0
8、832输出的电量也不是真正能连续可调,而是以其绝对分辨率为单位增减,是准模拟量的输出。DAC0832是电流型输出,在应用时外接运放使之成为电压型输出。根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,DAC0832有三种工作方式:直通方式、单缓冲方式和双缓冲方式。本设计选用直通方式。DAC0832的数据口和单片机的P2口相连。CSDA:片选信号输入线选通数据锁存器,低电平有效;WR:数据锁存器写选通输入线,负脉冲脉宽应大于500ns有效。由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平常,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存。图35、运算放大
9、电路和低通滤波电路LM324的5管脚与DAC0832的IOUT212管脚相连,LM324的6管脚与DAC0832的IOUT111管脚相连,LM324的7管脚与DAC0832的REF9管脚相连。LM324运算放大器的作用是将DAC0832输出的电流信号转化为电压信号V1,输出端连了一个低通滤波器。假如不加低通滤波器,也能够生成波形,但是产生的信号会有毛刺,假如加一个低通滤波器不仅能起到滤波的作用,还能起到平滑的作用。低通滤波器的截止频率F=1/(2*pi*R3*C6),这里我们选择R3为100欧姆的电阻,C6为104电容,截止频率F=16KHZ。实验表明,此时的输出波形效果不错。图4四、安装调试1不通电,用万用表根据电路图仔细检查各线路连接能否正常。2首先是调试单片机部分,DA和运算放大器芯片不接。用STC_ISP_V483软件通过串口下程序。看能否能够正常下程序。3当能够正常下程序时,给51单片机下一个让所有I/0口一会儿输入0,延时,再输出1,以此类推。用万用表测量各I/O口得电压是不是一会儿高,一会儿低。4安上DA和运算放大器芯片,给单片机下一个输出正弦波的测试程序,通过示波器看输出能否正常。5给单片机下一个完好的程序,分别按下S1、S2,看波形能否改变五、系统仿真波形正弦波:
限制150内