ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:81.92KB ,
资源ID:4509348      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4509348.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(波形发生器设计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

波形发生器设计.docx

1、波形发生器设计五邑大学单片机课程设计报告题 目:波形发生器设计院 系 信息学院 专 业 电子信息工程 学 号 * 学生 梓聪 指导教师 黄辉 波形发生器设计摘要本文以STC89C51片机为核心设计了一个低频函数信号发生器。信号发生器采用数字波形合成技术,通过硬件电路和软件程相结合,可输出自定义波形,如正弦波、方波、三角波、梯形波及其他任意波形,波形的频率和幅度在一定围可任意改变。波形和频率的改变通过软件控制,幅度的改变通过硬件实现。介绍了波形的生成原理、硬件电路和软件部分的设计原理。该信号发生器具有体积小、价格低、性能稳定、功能齐全的优点。关键词:低频信号发生器;单片机;D/A转换一、设计要求

2、 设计一个能产生正弦波、方波、三角波、梯形波、锯齿波的波形发生器。二、实验目的 1、进行硬件电路设计。 2、编写程序,并进行程序测试。 3、利用单片机采用软件设计方法产生五种波形。 4、焊接电路,将程序下载到单片机,并用示波器对输出程序进行测试。三、实验容1、工作原理:数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。89C51单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通讯接口等,只要将89C51再配置键盘及、数模转

3、换及波形输出、放大电路等部分,即可构成所需的波形发生器,其信号发生器构成系统框图如下图所示。 图(1)89C51是整个波形发生器的核心部分,通过程序的编写和执行,产生各种各样的信号,并从键盘接收数据,进行各种功能的转换。当数字信号电路到达转换电路,将其转换成模拟信号也就是所需要的输出波形。波形ROM表是将信号一个周期等间距地分离成128个点,储存在单片机得ROM。 产生指定波形可以通过DAC来实现,不同波形产生实质上是对输出的二进制数字量进行相应改变来实现的。本题目中,方波信号是利用定时器中断产生的,每次中断时,将输出的信号按位反即可;三角波信号是将输出的二进制数字信号依次加1,达到0xff时

4、依次减1,并实时将数字信号经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、主控电路 设

5、计中主要采用AT89C51型单片机,它具有如下优点:(1)拥有完善的外部扩展总线,通过这些总线可方便地扩展外围单元、外围接口等。(2)该单片机部拥有4K字节的FLASH ROM程序存储器空间和256字节的RAM数据存储空间,完全可以满足程序的要求。由于该芯片可电可擦写,故可重复使用。如果更改程序容,可将芯片拿下重新烧写。(3)该单片机与工业标准的MCS51型机的指令集和输出引脚兼容。 AT89C51单处机部设置两个16位可编程的定时器/计数器T0和T1,它们具有计数器方式和定时器方式两种工作方式及4种工作模式。在波形发生器中,将其作定时器使用,用它来精确地确定波形的两个采样点输出之间的延迟时间

6、。模式1采用的是16位计数器,当T0或T1被允许计数后,从初值开始加计数,最高位产生溢出时向CPU请求中断。 中断系统是使处理器具有对外界异步事件的处理能力而设置的。当中央处理器CPU正在处理某件事的时候外界发生了紧急事件,要求CPU暂停当前的工作,转而去处理这个紧急事件。在波形发生器中,只用到片定时器/计数器溢出时产生的中断请求,即是在AT89C51输出一个波形采样点信号后,接着启动定时器,在定时器未产生中断之前,AT89C51等待,直到定时器计时结束,产生中断请求, AT89C51响应中断,接着输出下一个采样点的信号,如此循环产生所需要的信号波形。 主控电路图如图(2)所示,AT89C51

7、从P1口接收来自键盘的信号。 89C51是片有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单可靠。用89C51单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,89C51单片机最小系统所示。由于集成度的限制,最小应用统只能用作一些小型的控制单元。其应用特点: 1)有可供用户使用的大量I/O口线; 2)部存储器容量有限; 3)应用系统开发具有特殊性。图(2)4、数/模转换电路 由于单片机产生的是数字信号,要想得到所需要的波形,就要把数字信号转换成模拟信号,所以该文选用价格低廉、接口简单、转换控制容易并具有8位分辨率的数模转换器DAC0832。DAC0832主要由8位

8、输入寄存器、8位DAC寄存器、8位D/A转换器以及输入控制电路四部分组成。但实际上,DAC0832输出的电量也不是真正能连续可调,而是以其绝对分辨率为单位增减,是准模拟量的输出。DAC0832是电流型输出,在应用时外接运放使之成为电压型输出。 根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,DAC0832有三种工作方式:直通方式、单缓冲方式和双缓冲方式。本设计选用直通方式。 DAC0832的数据口和单片机的P2口相连。 CSDA:片选信号输入线(选通数据锁存器),低电平有效; WR:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ILE、CS、WR1的逻辑组合产生

9、LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存。 图(3)5、运算放大电路和低通滤波电路LM324的5管脚与DAC0832的(IOUT2)12管脚相连,LM324的6管脚与DAC0832的(IOUT1)11管脚相连,LM324的7管脚与DAC0832的REF(9)管脚相连。 LM324运算放大器的作用是将DAC0832输出的电流信号转化为电压信号V1,输出端连了一个低通滤波器。如果不加低通滤波器,也能够生成波形,但是产生的信号会有毛刺,如果加一个低通滤波器不仅能起到滤波的作用,还能起到平滑的作用。低通滤波器的截止频率F=1/(2*pi*R3*C6),

10、这里我们选择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、

11、S2,看波形是否改变五、系统仿真波形正弦波:三角波:方波: 、锯齿波: 梯形波:六、实验结论 基于单片机的信号发生器设计,这个信号发生器的设计中涉及到一个典型的控制过程。通过单片机控制一个模数转换器DAC0832产生所需要的电流,然后使用运算放大器LM324可以将其电流输出线性地转换成电压输出,再将电压经过运算放大器的放大,可以得到足够幅度的信号。通过程序的控制,可以产生一系列有规律的波形。这样一个信号发生装置在控制领域有相当广泛的应用围。最终做出来的信号发生器满足了题目中的所有要求: 产生五种波形。正弦波、三角波、矩形波、锯齿波、梯形波。参考文献:1、焕成工程背景下的单片机原理及系统设计第2

12、版2、STC公司官方网页下载资料3、郭天翔.新概念51单片机C语言教程 入门、提高、开发、拓展全.电子工业 2009.1附录:程序设计#include #define uchar unsigned char#define uint unsigned intvoid delay(uint);void delay1(uint);sbit cs=P32; sbit wr=P36; sbit key1=P10;sbit key2=P11;sbit key3=P12;sbit key4=P13;sbit key5=P14;uchar j=0;uint a=0,b=0,c=0,d=0;uchar code

13、 tosin128=0x80,0x86,0x8c,0x92,0x98,0x9f,0xa5,0xab, 0xb0,0xb6,0xbc,0xc1,0xc7,0xcc,0xd1,0xd5, 0xda,0xde,0xe2,0xe6,0xea,0xed,0xf0,0xf3, 0xf6,0xf8,0xfa,0xfc,0xfd,0xfe,0xff,0xff, 0xff,0xff,0xff,0xfe,0xfd,0xfc,0xfa,0xf8, 0xf6,0xf3,0xf0,0xed,0xea,0xe6,0xe3,0xde, 0xda,0xd6,0xd1,0xcc,0xc7,0xc1,0xbc,0xb6, 0xb

14、1,0xab,0xa5,0x9f,0x99,0x92,0x8c,0x86, 0x80,0x79,0x73,0x6d,0x67,0x61,0x5b,0x55, 0x4f,0x49,0x43,0x3e,0x39,0x33,0x2e,0x2a, 0x25,0x21,0x1d,0x19,0x15,0x12,0xf,0xc,0x9, 0x7,0x5,0x3,0x2,0x1,0x0,0x0,0x0,0x0,0x0, 0x1,0x2,0x3,0x5,0x7,0x9,0xc,0xe,0x12,0x15, 0x18,0x1c,0x20,0x25,0x29,0x2e,0x33,0x38, 0x3d,0x43,0x

15、48,0x4e,0x54,0x5a,0x60,0x66, 0x6c,0x73,0x79;/*正弦波码 */ void delay(uint z) /延时子程序 uint i,j; for(i=z;i0;i-) for(j=110;j0;j-); void delay1(uint y) uint i; for(i=y;i0;i-); void main() cs=0; wr=0; TMOD=0x01; TH0=(65535-10000)/256; TL0=(65535-10000)%256; EA=1; ET0=1; while(1) if(key1=0)/正弦波 P2=tosinj; dela

16、y1(100); if(j=127) j=0; else j+; if(key2=0)/三角波 if(a128) P2=a; delay(2); else P2=255-a; delay(2); a+; if(a=255) a=0; if(key3=0)/方波 TR0=1; if(b=10) P2=0xff; if(b=20) b=0; P2=0; if(key3=1) TR0=0; if(key4=0) /锯齿波 if(c255) P2=c; delay(2); c+; if(c=255) c=0; P2=0; delay1(1); if(key5=0)/梯形波 if(d128) P2=d; delay(2); else if(128d&d255) P2=(255-d); delay(2); else if(d=128) P2=d; delay(300); d+; if(d=255) d=0; void tt() interrupt 1 TH0=(65535-10000)/256; TL0=(65535-10000)%256; b+;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1