基于数模转换的波形发生器设计报告讲解

上传人:我** 文档编号:114324497 上传时间:2019-11-10 格式:DOC 页数:17 大小:482.94KB
返回 下载 相关 举报
基于数模转换的波形发生器设计报告讲解_第1页
第1页 / 共17页
基于数模转换的波形发生器设计报告讲解_第2页
第2页 / 共17页
基于数模转换的波形发生器设计报告讲解_第3页
第3页 / 共17页
基于数模转换的波形发生器设计报告讲解_第4页
第4页 / 共17页
基于数模转换的波形发生器设计报告讲解_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《基于数模转换的波形发生器设计报告讲解》由会员分享,可在线阅读,更多相关《基于数模转换的波形发生器设计报告讲解(17页珍藏版)》请在金锄头文库上搜索。

1、武汉理工大学计算机控制技术课程设计说明书学 号: 课 程 设 计题 目基于数模转换的波形发生器学 院自动化专 业自动化班 级姓 名 指导教师石云2015年5月28日课程设计任务书学生姓名: 专业班级: 指导教师: 石云 工作单位: 自动化学院 题 目: 基于数模转换的波形发生器初始条件:设计一个能产生锯齿波,正弦波的波形发生器。分别设两个开关对应输出波形的产生,波形要在模拟示波器上显示出来。要求完成的主要任务: 1 输出模拟信号幅值为05VDC;2 输出模拟信号频率为50HZ;3 采用DAC芯片完成数模转换; 4 完成软件流程及各程序模块设计并用仿真演示;5 完成符合要求的设计说明书时间安排:

2、2012年4月28日2012年5月29日目录摘要11设计任务及要求的分析:22 方案确定22.1方案选择22.2单片机选型23系统实现的原理说明34硬件设计说明44.1单片机系统原理分析44.2数字/模拟转换电路(DAC0832)45软件设计说明55.1总体流程分析与设计55.2产生锯齿波流程分析55.3产生正弦波流程分析65.4 波形幅值与频率66调试记录及结果分析76.1总体硬件仿真设计76.2调试与仿真结果7小结与心得体会9参考文献10附件11摘要本系统是基于AT89C51单片机的数字式低频信号发生器。采用AT89C51单片机为主控电路,外围采用数字/模拟转换电路(DAC0832),运放

3、电路UA741,开关和锁存器74LS373等。通过开关控制可产生锯齿波和正弦波。其设计简单,性能优好,可用于多种需要低频信号的场所,具有一定的实用性。各种各样的信号是通信领域的重要组成部分,其中锯齿波,正弦波等是较为常见的信号。在科学研究及教学实验中常常需要这几种信号的发生装置。为了实验,研究方便,研制一种灵活适用,功能齐全,适用方便的信号源是十分必要的。本文介绍的是利用AT89C51单片机和数模转换器件DAC0832产生所需要不同信号的低频信号源,其信号幅度和频率都是可以按照要求控制的。文中简要介绍了DAC0832数模转换器的结构原理和使用方法,AT89C51的基础理论,以及与设计电路有关的

4、各种芯片。文中着重介绍了如何利用单片机控制D/A转换器产生上述信号的硬件电路和软件编程。信号频率幅度也可按要求可调。关键词:AT89S51 DAC0832 锯齿波 正弦波212武汉理工大学计算机控制技术课程设计说明书基于数模转换的波形发生器1设计任务及要求的分析:设计一个波形发生器要求:1. 分别设两个开关对应输出锯齿波和正弦波,波形要在模拟示波器上显示出来。2. 输出模拟信号幅值为05VDC;3. 输出模拟信号频率为50HZ;4. 采用DAC芯片完成数模转换;5. 完成软件流程及各程序模块设计并用仿真演示;2 方案确定2.1方案选择要实现多种波形,如果用基本点电路来实现的话,会比较复杂,元件

5、多,导致成本高,所以就用单片机编程实现,电路简单,可以实现多种波形,可以方便的改变频率等,还可以扩展更多的东西。2.2单片机选型单片机以其体积小、功能齐全、价格低廉、可靠性高等优点,在各个领域都获得了广泛的应用,鉴于使用方便,成本考虑,选用熟悉、便宜而常用的MCS-51系列较为合适。本次设计采用其中低功耗型AT89C51单片机。3系统实现的原理说明本次课程设计系统以单片机AT89C51为核心进行设计,单片机与开关、DAC0832、锁存器相连接,人为操作开关,在程序控制下,单片机用单片机输出数字信号,给DAC0832模块,转换成模拟信号,从而示波器显示出相应波形。系统的总体原理框图如图1-1所示

6、:图1-1系统以单片机AT89C51为核心的控制系统:P1口进行开关按键的设置,具体为:P1.0接K0,低电平有效,则输出锯齿波;P1.1接K1,低电平有效,则输出正弦波;P0口P0.0P0.7分别接锁存器74LS373的D0D7,74LS373起到地址锁存的作用。电路图如图1-2所示:图1-24硬件设计说明4.1单片机系统原理分析AT89C51单片机提供一下标准功能:4K字节Flash闪速存储器,123B内部RAM,32个I/O口线,两个16位定时/计数器,5个中断向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0HZ的静态逻辑操作,并支付两种软件可选

7、的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。芯片如图1-3所示:图1-34.2数字/模拟转换电路(DAC0832)DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。如图1-4所示:图1-4 5软件设计说明软件设计遵循模块化设计,分别产生锯齿波模块,产生正弦波模块,延

8、时模块。使程序可阅读性大大提高,易于阅读和修改。5.1总体流程分析与设计进入程序后先进行初始化,判断开关是否按下,按下K0开关,则示波器显示锯齿波;按下K1开关,则示波器显示正弦波;若没有按下开关,则示波器不显示波形。主程序流程图1-7所示:图1-75.2产生锯齿波流程分析用i自加1计算,每自加一次,将i的值赋给DAC0832,送给模数转换芯片DAC0832,i从0到255计数,记到255置零,再自增,由此产生锯齿波。流程图如图1-8所示。图1-85.3产生正弦波流程分析用i自加1计算,每自加一次,将tablei的值赋给DAC0832,送给模数转换芯片DAC0832,i从0到64计数,记到64

9、置零,再自增,由此产生正弦波。流程图如图1-9所示。图1-95.4 波形幅值与频率 波形幅值,由模数转换芯片DAC0832控制,DAC0832将输入的数字量转换成差动的电流输出(Iout1和Iout2),为了使其能变成电压输出,所以又经过运算放大器,将形成单极性电压输出0+5V(VREF为-5V),或0+10V(VREF为10V)。若要形成负电压,则VREF接正的基准电压。本设计为0+5V,则VREF接-5V。 频率的确定,由编程延时来确定,本设计要求波形的频率为50Hz,即周期为20ms,控制循环一次波形的产生为20ms,即可确定控制频率。6调试记录及结果分析6.1总体硬件仿真设计 软件设计

10、使用keil开发软件进行编写,硬件设计使用protues进行仿真。6.2调试与仿真结果 调试仿真中,若没有按下开关,则不显示波形;若按下K0则显示锯齿波;若按下K1则显示正弦波。 按下开关K0,显示锯齿波。如图1-10所示:图1-10 由1-10中的示波器可以看出,波形的频率基本为50Hz幅值为0+5V。按下开关K1,显示正弦波如图1-11所示:图1-11 由1-11中的示波器可以看出,波形的频率基本为50Hz幅值为0+5V。小结与心得体会经过一学期对单片机原理与计算机控制技术的学习,以及这一个月来对课程设计的学习与研究,终于完成了基于数模转换的波形发生器的课程设计,总体上达到了设计要求。虽然

11、在预期时间内完成了课程设计,但是过程中也发现了些许问题。对于单片机设计,其硬件电路是比较简单的,主要是解决程序设计的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。因此在整个设计过程中大部分时间是用在程序上面的。很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对单片机的结构很熟悉。因此可以说单片机的设计是软件和硬件的结合,二者是密不可分的。在完成课设的过程中,我还学会了如何高效率的查阅资料,而且在这过程中发现,在我们书上所使用的知识在实际应用中其实并不是身份理想,都需要自己去调整,这要求我们更加注重实践。最后还要

12、感谢老师这学期对我们的指导,谢谢!参考文献计算机控制技术 机械工业出版社单片机原理及应用 高等教育出版社基于Proteus的单片机可视化软硬件仿真 林志琦附件源程序代码:#include#include#include#define DAC0832 XBYTE0x8800 /定义端口地址#define uint unsigned int #define uchar unsigned char uchar code table=0x7f,0x8c,0x98,0xa5,0xb0,0xbc,0xc7,0xd1, 0xda,0xe2,0xea,0xf0,0xf6,0xfa,0xfd,0xfe, 0xf

13、f,0xfe,0xfd,0xfa,0xf6,0xf0,0xea,0xe2, 0xda,0xd1,0xc7,0xbc,0xb0,0xa5,0x98,0x8c, 0x80,0x73,0x67,0x5a,0x4f,0x43,0x38,0x2e, 0x25,0x1d,0x15,0x0f,0x09,0x05,0x02,0x01, 0x00,0x01,0x02,0x05,0x09,0x0f,0x15,0x1d, 0x25,0x2e,0x38,0x43,0x4f,0x5a,0x67,0x73;/定义正弦函数取样点 /*延时函数*/void delay(uint i) while(i-);/*锯齿波函数*/void juchi() uchar i;for(i=0;i255;i+) DAC0832=i; delay(7);/*正弦函数*/void sin()uint i;for(i=0;i64;i+) DAC0832=tablei; delay(30); /*

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号