《波形发生器课程设计说明书》由会员分享,可在线阅读,更多相关《波形发生器课程设计说明书(27页珍藏版)》请在金锄头文库上搜索。
1、 课程设计说明书课程设计名称: 专业课程设计 课程设计题目: 波形发生器 学 院 名 称: 信息工程学院 专业: 电子信息工程 班级: 100412 学号: 10041222 姓名: 齐丕君 评分: 教师: 孙成立 20 13 年 7 月 5 日 专业 课程设计任务书20 12 20 13学年 第 2 学期分散1周 第 17 周 19 周集中 题目波形发生器内容及要求: (1).能产生正弦波、方波、三角波; (2).输出波形的范围:100HZ1KHZ; (3).输出波形的幅度范围:05VPP且可调;进度安排:(1)第16周17周根据指导老师布置的题目,查资料,设计方案,画出电路图。(2)第17
2、周电子时钟显示与校时设计:软件编程(在试验箱上实现)(3)第18周完成焊接与程序调试。(4)第19周周二检查验收。(5)第19周周五交报告。 学生姓名:齐丕君指导时间 第17周到第19周指导地点:E 楼 505室任务下达2013 年 6 月 17 日任务完成20 13 年 7 月 5 日考核方式1.评阅 2.答辩 3.实际操作 4.其它指导教师 孙成立系(部)主任王忠华摘要本设计是基于AT89C51单片机的数字式低频信号发生器。采用AT89C51单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)、运放电路(LM324)、按键等。通过按键控制可产生方波、三角波、正弦波等。其设计简单
3、、性能优好,可用于多种需要低频信号的场所,具有一定的实用性。各种各样的信号是通信领域的重要组成部分,其中正弦波、三角波和方波等是较为常见的信号。在科学研究及教学实验中常常需要这几种信号的发生装置。为了实验、研究方便,研制一种灵活适用、功能齐全、使用方便的信号源是十分必要的。本设计是利用AT89C51单片机和数模转换器件DAC0832产生所需不同信号的低频信号源,其信号幅度和频率都是可以按要求控制的。设计简要介绍了DAC0832数模转换器的结构原理和使用方法,AT89C51的基础理论,以及与设计电路有关的各种芯片。设计中着重介绍了如何利用单片机控制D/A转换器产生上述信号的硬件电路和软件编程。信
4、号频率幅度也按要求可调。本次关于产生不同低频信号的信号源的设计方案,不仅在理论和实践上都能满足实验的要求,而且具有很强的可行性。该信号源的特点是:体积小、价格低廉、性能稳定、实现方便、功能齐全。关键词:AT89C51 DAC0832 LM324 目录第一章 实验要求及设计思路51.1 设计内容及要求51.2 设计方案5第二章 硬件设计及分析6 2.1 MCS-51单片机的内部结构6 2.2 D/A转换电路62.3键盘输入电路82.4 电压放大电路8第三章 系统软件设计10 3.1 软件设计概述10 3.2 主程序流程10 3.3 波形的选择11第四章 系统仿真与原理图15 4.1 实验仿真电路
5、图15 4.2 实验仿真波形图15第五章 实验调试和测试结果与分析185.1 硬件调试185.2 软件调试185.3 测试结果18第六章 结论与心得19参考文献20附录1 元件清单21附录2 程序清单及注释22第一章 实验要求及设计思路1.1 设计内容及要求 设计一个波形发生器,要求如下: 1.能产生正弦波、方波、三角波; 2.输出波形的范围:100HZ1KHZ; 3.输出波形的幅度范围:05VPP且可调;1.2设计方案根据设计需要,可采用单片机程序产生3种波形,并通过一片D/A转换器输出。另外,采用一个滑动变阻器来改变参考电压,从而改变输出波形幅值,见图1.1所示。通过按钮或开关来设定波形的
6、类型、频率。波形选择按钮频率选择开关单片机D/A转换器运算放大器波形显示器滑动变阻器 图1.1 波形发生器原理框图 第二章 硬件电路方案设计2.1 MCS-51单片机的内部结构2.1.1 内部结构概述典型的MCS-51单片机芯片集成了以下几个基本组成部分。1 一个8位的CPU2 128B或256B单元内数据存储器(RAM)3 4KB或8KB片内程序存储器(ROM或EPROM)4 4个8位并行I/O接口P0P3。5 两个定时/计数器。6 5个中断源的中断管理控制系统。7 一个全双工串行I/O口UART(通用异步接收、发送器) 8 一个片内振荡器和时钟产生电路。图3.2 单片机引脚2.2 D/A转
7、换电路功能:将波形样值的编码转换成模拟值,完成波形输出。 DAC0832是一个具有两个输入数据寄存器的8位DAC。目前生产的DAC芯片分为两类,一类芯片内部设置有数据寄存器,不需要外加电路就可以直接与微型计算机接口。另一类芯片内部没有数据寄存器,输出信号随数据输入线的状态变化而变化,因此不能直接与微型计算机接口,必须通过并行接口与微型计算机接口。DAC0832是具有20条引线的双列直插式CMOS器件,它内部具有两级数据寄存器,完成8位电流D/A转换,故不需要外加电路。 单片机向0832发送数字编码,产生不同的输出。先利用采样定理对各波形进行抽样,然后把各采样值进行编码,的到的数字量存入各个波形
8、表,执行程序时通过查表方法依次取出,经过D/A转换后输出就可以得到波形。假如N个点构成波形的一个周期,则0832输出N个样值点后,样值点形成运动轨迹,即一个周期。重复输出N个点,成为第二个周期。利用单片机的晶振控制输出周期的速度,也就是控制了输出的波形的频率。这样就控制了输出的波形及其幅值和频率。DAC0832结构: D0D7:8位数据输入线,TTL电平,有效时间应大于90ns(否则锁存器的数据会出错);ILE:数据锁存允许控制信号输入线,高电平有效;CS:片选信号输入线(选通数据锁存器),低电平有效;WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ILE、CS、WR1的
9、逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;XFER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;WR2:DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。由WR1、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。IOUT1:电流输出端1,其值随DAC寄存器的内容线性变化;IOUT2:电流输出端2,其值与IOUT1值之和为一常数;Rfb:反馈信号输入线,改变Rfb端外接电阻值可调整转换满量
10、程精度;Vcc:电源输入端,Vcc的范围为+5V+15V;VREF:基准电压输入线,VREF的范围为-10V+10V;AGND:模拟信号地DGND:数字信号地DAC0832的工作方式:根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,DAC0832有三种工作方式:直通方式、单缓冲方式和双缓冲方式。2.3键盘输入电路键盘在单片机应用系统中能实现向单片机输入数据、传送命令等功能,是人工干预单片机的主要手段。在键闭合测试,检查是否有键闭合去抖动。当测试到有键闭合后,需进行去抖动处理。由于按键闭合时的机械弹性作用,按键闭合时不会马上稳定接通,按键断开时也不会马上断开,由此在按键闭合与断开
11、的瞬间,会出现电压抖动。键盘抖动的时间一般为510ms,抖动现象会引起CPU对一次键操作进行多次处理,从而可能产生错误,因而必须设法消除抖动的不良后果。通过去抖动处理,可以得到按键闭合与断开的稳定状态。去抖动的方法有硬件与软件两种:硬件方法是加去抖动电路,如可通过RS触发器实现硬件去抖动;软件方法是在第一次检测到键盘按下后,执行一段10ms的延迟子程序后再确认该键是否确实按下,躲过抖动,待信号稳定之后,再进行键扫描。通常多采用软件方法。按照键盘与单片机的连接方式可分为独立式键盘与矩阵式键盘。独立式键盘相互独立,每个按键占用一根I/O口线,每根I/O口在线的按键工作状态不会影响其它按键的工作状态
12、。这种按键软件程序简单,但占用I/O口线较多(一根口线只能接一个键),适用于键盘应用数量较少的系统中,由于本系统设置的按键较少,因此采用的是独立式键盘。2.4电压放大电路DAC0832的输出电压比较小。因此,要将该电压信号在示波器中显示出来,需要有一个放大器将此电信号放大到所需范围之内。由于放大电路的增益是可调的,故运用运算放大电路能将电压信号放大到所要求的范围。第三章 系统软件设计3.1 软件设计概述系统软件由主程序和产生波形的子程序组成,软件设计主要是产生各种波形的子程序的编程,通过编程可得到各种波形。周期的改变可采用插入延时子程序的方法来实现。软件原理流程图如下。开始初始化延时子程序波形
13、产生程序键盘处理子程序结束图3.1 软件原理流程框图3.2主程序流程系统软件由主程序和产生波形的子程序组成,软件设计重点是设计各种波形的子程序的程序,通过编程可得到各种波形。波形周期的改变可采用插入延时子程序的方法来实现。主程序开始后通过读取按钮状态,判别是哪种波形需求,然后调用相应的子程序,输出相应的波形。利用8位D/A转换器DAC0832,可以将8位数字量转换成模拟量输出。数字量输入的范围为0255,对应的模拟量输出的范围在VREF-到VREF+之间。根据这一特性,可以利用单片机的并行口输出的数字量,产生常用的波形。3.3 波形的选择利用8位D/A转换器DAC0808,可以将8位数字量转换
14、成模拟量输出。数字量输入的范围为0255,对应的模拟量输出的范围在VREF-到VREF+之间。根据这一特性,可以利用单片机的并行口输出的数字量,产生常用的波形。单片机是通过用户键盘输入,选择希望输出的信号波形。本系统中,对用户输入的功能键对应的波形如下规定:1:得到的输出波形为正弦波。2:得到的输出波形为方波。3:得到的输出波形为三角波。 利用单片机控制实现波形输出的程序流程图如图所示YYY开始Key1按下Key1按下输出三角波输出方波输出正弦波Key2按下NNN图3.3 按键波形选择程序流程图3.3.1 三角波流程三角波产生是通过P0口将00H送入寄存器A中,DAC0832输出A中的内容,通过A中数值的加1递升,同时延时,当A中的内容为0FF时,A中的内容减1递减,从而循环产生三角波