基于单片机的正弦波信号发生器的设计.doc_第1页
基于单片机的正弦波信号发生器的设计.doc_第2页
基于单片机的正弦波信号发生器的设计.doc_第3页
基于单片机的正弦波信号发生器的设计.doc_第4页
基于单片机的正弦波信号发生器的设计.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

南京交通职业技术学院毕 业 设 计论文题目: 基于单片机的正弦波信号发生器的设计 系 部: 电 子 信 息 工 程 系 专业名称: 电 子 信 息 工 程 技 术 班 级: 08431 学号: 33 姓 名: 顾 伟 国 指导教师: 郑 莹 完成时间: 2011 年 5 月 12 日基于单片机的正弦波信号发生器的设计摘要:信号发生器的应用越来越广,对信号发生器的频率稳定度、频谱纯度、频率范围和输出信号的频率微调分辨率提出越来越高的要求,普通的频率源已经不能满足现代电子技术的高标准要求。因而本设计采用了AT89C51单片机为控制核心,通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产生1HZ180HZ的正弦波波形。通过键盘来控制波形频率变化,并通过液晶屏1602显示其波形以及频率和幅度值的大小。关键字:信号发生器;AT89C51;D/A转换器DAC0832 Based on SCM sine wave signal generator designAbstract: Signal generator used more and more widely, to signal generator frequency stability, the spectrum purity, frequency range and output signal frequency fine-tune resolution higher and higher demands are proposed, the average frequency source cannot have satisfied the high standard requirement of modern electronic technology. So this design USES A AT89C51 as control core, through the D/A converter DAC0832 converts digital signals into analog signals, filter and amplification, finally shown by oscilloscope 1HZ - 180HZ, can produce the sine wave. Through the keyboard to control the waveform frequency variation, and through the LCD display of the waveform and 1602 frequency and amplitude values of size. Key word: Signal generator; AT89C51; D/A converter DAC0832目录1、概述42、系统设计42.1设计构思42.2方案设计与论证42.2.1 信号发生电路方案论证42.2.2 单片机的选择论证52.2.3、显示方案论证52.2.4、 键盘方案论证53、 总体系统设计53.1、硬件实现及单元电路设计63.1.1 单片机最小系统的设计63.1.2、波形产生模块的设计73.1.3、显示模块的设计73.2、系统软件的设计流程83.2.1、keil uvision3开发环境简介93.2.2、proteus7.5软件简介103.2.3、keil uvision3与proteus7.5联机调试简介104.输出波形的检查与频率的调试104.1 测试仪器及测试说明104.2 测试结果115、结束语12参考文献13致谢14附录15161、概述 波形发生器作为电子技术领域中最基本的电子仪器,广泛应用于航空航天测控、通信系统、电子对抗、电子测量、科研等各个领域中。随着电子信息技术的发展,对其性能的要求也越来越高,如要求频率稳定性高、转换速度快,具有调幅、调频、调相等功能。传统的LC、RC振荡电路就不可以满足上述的要求了,而基于单片机的信号发生器就可以有效的解决上述问题了。单片机的最小系统结构简单而且又是通过程序控制信号的发生,这样就可以通过编程来产生正弦波、方波、三角波等波形。基于单片机的信号发生器的设计,不仅解决了波形类型的选择、频率和幅度的调节等,而且还通过lcd显示屏能够将信号发生器产生波形的频率准确的显示出来。2、系统设计 经过研究考虑,确定方案:以AT89C51单片机为控制核心,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,通过键盘来控制波形的选择和频率的变化,最终输出显示其各自的类型以及数值。2.1设计构思1)利用单片机采用软件设计方法产生正弦波2)键盘选择波形类型3)波形频率可调4)显示波形及其频率 2.2方案设计与论证 2.2.1、信号发生电路方案论证DAC0832是8位全MOS中速D/A 转换器,采用R2RT 形电阻解码网络,转换结果为一对差动电流输出,转换时间大约为1us。使用单电源+5V+15V 供电。参考电压为-10V+10V。在此我们直接选择+5V 作为参考电压。DAC0832 有三种工作方式:直通方式,单缓冲方式,双缓冲方式。2.2.2、单片机的选择论证AT89C51单片机是一种高性能8位单片微型计算机。它把构成计算机的中央处理器CPU、存储器、寄存器、I/O接口制作在一块集成电路芯片中,从而构成较为完整的计算机、而且其价格便宜。2.2.3、显示方案论证方案一:采用LED数码管。LED数码管由8个发光二极管组成,每只数码管轮流显示各自的字符。由于人眼具有视觉暂留特性,当每只数码管显示的时间间隔小于1/16S时人眼感觉不到闪动,看到的是每只数码管常亮。使用数码管显示编程较易,但要显示内容过多,而且数码管不能显示字母。方案二:采用LCD液晶显示器1602. 其功率小,效果明显,显示编程容易控制,可以显示字母。以上两种方案综合考虑,选择方案二。 2.2.4、 键盘方案论证 采用简单的拨动开关。拨动开关简单方便,操作简单,但存在抖动的现象,对芯片会产生一定的影响。3、 总体系统设计 该系统采用单片机作为数据处理及控制核心,由单片机完成人机界面、系统控制、信号的采集分析以及信号的处理和变换,采用按键输入,利用液晶显示电路输出数字显示的方案,将设计任务分解为按键电路、液晶显示电路等模块。图(1)为系统的总体框图:主控芯片AT89C51开关显示D/A0832放大输出图1:系统总体框图3.1、硬件实现及单元电路设计 3.1.1、单片机最小系统的设计AT89C51是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单可靠。用AT89C51单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,如图(2)AT89C51单片机最小系统所示。由于集成度的限制,最小应用系统只能用作一些小型的控制单元。 图2:AT89C51单片机最小系统3.1.2、波形产生模块的设计 由单片机为控制中心用编程方法产生波形,通过D/A转换器DAC0832再经过滤波放大后输出。其电路图如下图3:波形产生电路如上图所示,单片机的P0口连接DAC0832的八位数据输入端,DAC0832的输出端接放大器,经过放大后输出所要的波形。3.1.3、显示模块的设计 通过液晶1602显示输出的波形、频率,其电路图如下:图4:液晶显示如上图所示,1602的八位数据端接单片机的P1口,其三个使能端RS、RW、E分别接单片机的P3.2P3.4。通过软件控制液晶屏可以显示波形的种类以及波形的频率。3.1.4、键盘模块的设计 本系统采用两个拨动开关来调节由单片机产生的正弦波的频率,其连接电路如下:图5:拨动开关图中UP开关,每闭合一次,正弦波的频率将增加1HZ。与之功能相似的DOWN开关则是使产生的正弦波的频率降低1HZ。3.2、系统软件的设计流程 本系统采用AT89C51单片机,用编程的方法来产生正弦波,并通过编程来调节正弦波波形的输出频率。软件设计的流程图如下:初始化定时器、液晶显示器和预置处理开始正弦波控制程序幅度调节结束频率调节液晶显示屏万用表图6:软件设计流程图3.2.1、keil uvision3开发环境简介KeilSoftware公司推出的uVision3是一款可用于多种8051MCU的集成开发环境(IDE),该IDE同时也是PK51及其它开发套件的一个重要组件。除增加了源代码、功能导航器、模板编辑以及改进的搜索功能外,uVision3还提供了一个配置向导功能,加速了启动代码和配置文件的生成。此外其内置的仿真器可模拟目标MCU,包括指令集、片上外围设备及外部信号等。uVision3提供逻辑分析器,可监控基于MCUI/O引脚和外设状态变化下的程序变量。uVision3提供对多种最新的8051类微处理器的支持,包括AnalogDevices的ADuC83x和ADuC84x,以及Infineon的XC866等。3.2.2、proteus7.5软件简介Proteus 与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU 的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。3.2.3、keil uvision3与proteus7.5联机调试简介KeilC 与Proteus 联机调试准备工作在一台电脑上联机两个软件为例。首先进行Keil uVision3 软件和Proteus Version 7.1 软件,分别进行安装。a.到官方网站下载一个vdmadi.exe,安装路径选择Keil uVision3的安装目录(E:Program FilesKeil)。安装完成。b.Proteus 里DEBUG-( 选择)use remote debug monitor。进入KEIL 的project 菜单option for target 工程名。在DEBUG 选项中右栏上部的选择Use 并在下拉菜选中Proteus VSM Simulator。在进入seting,如果同一台机IP 名为,如不是同一台机则填另一台的IP 地址。端口号一定为8000 。注意:可以在一台机器上运行keil,另一台中运行proteus 进行远程仿真。c.KEIL 的编译程序和Proteus 的文件一定要放在同一个文件夹中。d.单击仿真运行开始按钮,KeilC 与Proteus 连接仿真调试4.输出波形的检查与频率的调试 4.1 测试仪器及测试说明 测试仪器:示波器、数字万用表 测试说明:正弦波的输出,通过UP开关及DOWN开关来实现正弦波波形频率的改变,调节滑动变阻器RV1来实现幅度的调控。 测试过程;打开keil uvision3 和 proteus 软件后,导入写好的程序以及模拟仿真电路后,通过两个软件的联调,进行正弦波的模拟仿真测试。程序经过初始化,液晶屏上只显示“wave:”和“f:“,然后便显示出波形类型以及频率的大小。正弦波的频率可调范围在1180HZ之间。正弦波波形仿真图如下:4.2 测试结果 各项指标均能达到要求1)、能很好的产生正弦波2)、波形的频率可以调节,频率范围在1180HZ之间3)、显示部分基本实现4)、UP及DOWN开关基本能实现其功能5、结束语通过这次毕业设计,使我深刻地认识到学好专业知识的重要性,也理解了理论联系实际的现实意义。本次的设计是对大学三年所学知识的一次系统的检验,进一步加深了我们对专业知识的理解和提高我们的动手能力。虽然本次的毕业设计基本上可以达到要求,但其中也存在着很多的问题,例如液晶屏显示频率,频率增大时,液晶屏显示的频率却变小,这主要是程序的编写有点问题,改正之后应该能够解决这样的问题。此次的毕业设计作品还有很多不完善的地方,我相信在以后的工作和学习中能够彻底的解决这样不完善。参考文献【1】 周国运主编. 单片机原理及应用(C语言版) (21世纪高等院校规划教材) 中国水利水电出版社,2009【2】 张毅刚、 彭喜元主编.单片机原理及接口技术.人民邮电出版社,2008【3】 孙俊喜主编.LCD驱动电路、驱动程序设计及典型应用.人民邮电出版社,2009【4】 殷瑞祥主编.电路与模拟电子技术.高等教育出版社,2003 致谢 在此论文撰写过程中,要特别感谢我的老师郑老师的指导与督促,同时感谢她的谅解与包容。没有郑老师的帮助也就没有今天的这篇论文。求学历程是艰苦的,但又是快乐的。感谢我的班主任郑老师,谢谢她在这三年中为我们全班所做的一切,她不求回报,无私奉献的精神很让我感动,再次向她表示由衷的感谢。在这三年的学期中结识的各位生活和学习上的挚友让我得到了人生最大的一笔财富。在此,也对他们表示衷心感谢。谢谢我的父母,没有他们辛勤的付出也就没有我的今天,在这一刻,将最崇高的敬意献给你们!本文参考了大量的文献资料,在此,向各学术界的前辈们致敬!附录 1、附图 总体原理设计图2、源程序#include#include#define uchar unsigned char #define uint unsigned int sbit lcdrw=P33;sbit lcdrs=P32;sbit lcde=P34;sbit cs=P35;sbit wr=P36;uchar a,n;#define dac1 XBYTE0xdfff/ X 轴0832一级琐存地址unsigned char code type256=0x80,0x83,0x86,0x89,0x8c,0x8f,0x92,0x95,0x98,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb0,0xb3,0xb6,0xb9,0xbc,0xbf,0xc1,0xc4,0xc7,0xc9,0xcc,0xce,0xd1,0xd3,0xd5,0xd8,0xda,0xdc,0xde,0xe0,0xe2,0xe4,0xe6,0xe8,0xea,0xec,0xed,0xef,0xf0,0xf2,0xf3,0xf4,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfc,0xfd,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfd,0xfc,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf3,0xf2,0xf0,0xef,0xed,0xec,0xea,0xe8,0xe6,0xe4,0xe3,0xe1,0xde,0xdc,0xda,0xd8,0xd6,0xd3,0xd1,0xce,0xcc,0xc9,0xc7,0xc4,0xc1,0xbf,0xbc,0xb9,0xb6,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x92,0x8f,0x8c,0x89,0x86,0x83,0x80,0x7d,0x79,0x76,0x73,0x70,0x6d,0x6a,0x67,0x64,0x61,0x5e,0x5b,0x58,0x55,0x52,0x4f,0x4c,0x49,0x46,0x43,0x41,0x3e,0x3b,0x39,0x36,0x33,0x31,0x2e,0x2c,0x2a,0x27,0x25,0x23,0x21,0x1f,0x1d,0x1b,0x19,0x17,0x15,0x14,0x12,0x10,0xf,0xd,0xc,0xb,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x3,0x2,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x2,0x3,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xa,0xc,0xd,0xe,0x10,0x12,0x13,0x15,0x17,0x18,0x1a,0x1c,0x1e,0x20,0x23,0x25,0x27,0x29,0x2c,0x2e,0x30,0x33,0x35,0x38,0x3b,0x3d,0x40,0x43,0x46,0x48,0x4b,0x4e,0x51,0x54,0x57,0x5a,0x5d,0x60,0x63,0x66,0x69,0x6c,0x6f,0x73,0x76,0x79,0x7c;unsigned char i,j;unsigned int counter,step;sbit key_up = P20;sbit key_dw = P21;/定时器0初始化void delay(uint z)/延时子程序 uchar a,b; for(a=z;a0;a-) for(b=110;b0;b-);void delay1(uint y) uint i; for(i=y;i0;i-);void write_com(uchar com) /1602写指令 lcdrs=0;P1=com;delay(5);lcde=1;delay(5);lcde=0;void write_data(uchar date) /1602数据 lcdrs=1;P1=date;delay(5);lcde=1;delay(5);lcde=0; void init() /初始化 lcdrw=0; lcde=0; wr=0; cs=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); write_com(0x80+0x00); write_data(0x77); /写wave: write_data(0x61); write_data(0x76); write_data(0x65); write_data(0x3a); write_com

温馨提示

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

评论

0/150

提交评论