基于51单片机的多功能信号发生器

上传人:cn****1 文档编号:460461002 上传时间:2023-09-03 格式:DOC 页数:17 大小:590.52KB
返回 下载 相关 举报
基于51单片机的多功能信号发生器_第1页
第1页 / 共17页
基于51单片机的多功能信号发生器_第2页
第2页 / 共17页
基于51单片机的多功能信号发生器_第3页
第3页 / 共17页
基于51单片机的多功能信号发生器_第4页
第4页 / 共17页
基于51单片机的多功能信号发生器_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《基于51单片机的多功能信号发生器》由会员分享,可在线阅读,更多相关《基于51单片机的多功能信号发生器(17页珍藏版)》请在金锄头文库上搜索。

1、 河南理工大学微机原理与单片机接口技术课程设计报告多功能信号发生器设计 2013年 1月 10 日摘要本次设计是一个多功能信号发生器,可以产生、方波、锯齿波和三角波。函数信号发生器的设计方法有多种,利用单片机设计的函数信号发生器具有编程灵活,功能更以扩充等实际的优点。设计原理图如下图所示,其中单片机通过软件对键盘输入的频率数值进行处理,处理结果送与D/A转换部分实现数/模转换,输出的电流再经过电流/电压转换环节,进而形成模拟电压波形,最后经过过载保护电路输出。同时在数码管内显示该频率数值。波形的切换可以通过按键直接实现。在编程语言上,我们选择自身比较熟悉的C语言,这样在后期波形的调试及与硬件衔

2、接方面更容易发挥出自身优势。根据设计的要求,对各种波形的频率和幅度进行程序的编写,并将所写程序装入单片机的程序存储器中。在程序运行中,当接收到来自外界的命令,需要输出某种波形时再调用相应的中断服务子程序和波形发生程序,经电路的数/模转换器和运算放大器处理后,从信号发生器的输出端口输出。经过设计及后期长时间的调试,设计的所有功能均已实现:(1)具有产生方波、锯齿波、三角波三种周期性波形的功能。(2)输出波形的频率范围为100Hz1kHz;频率步进间隔100Hz。(3)输出波形幅度范围05V,可按步进0.1V(峰-峰值)调整。(4)具有显示输出波形的类型、周期和幅度的功能。关键词:单片机,函数发生

3、器,共阴极数码管 目录第一章 绪论31.1选题背景及其意义31.2单片机概述31.3信号发生器的分类31.4 研究内容4第二章 方案的设计与选择42.1 方案的比较42.2 设计原理42.3 设计思想42.4 设计功能5第三章 硬件设计53.1 硬件原理框图53.2 主控电路63.3 数/模转换电路63.4 按键接口电路73.5 时钟电路7第四章ADC0832内部结构及配置74.1D/A转换器DAC08327第五章 实验结果95.1实验输出波形9第六章设计总结9参考文献9附录101元件清单102源程序11 第一章 绪论 1.1选题背景及其意义信号发生器又称信号源或振荡器,在生产实践和科技领域中

4、有着广泛的应用。各种波形曲线均可以用三角函数方程式来表示。能够产生多种波形,如方波、锯齿波、三角波、正弦波的电路被称为函数信号发生器。在通信、广播、电视系统,在工业、农业、生物医学领域内,函数信号发生器在实验室和设备检测中具有十分广泛的用途。1.2单片机概述 随着大规模集成电路技术的发展,中央处理器(CPU)、随机存取存储(RAM)、只读存储器(ROM)、(I/O)接口、定时器/计数器和串行通信接口,以及其他一些计算机外围电路等均可集成在一块芯片上构成单片微型计算机,简称为单片机。单片机具有体积小、成本低,性能稳定、使用寿命长等特点。 1.3信号发生器的分类 信号发生器应用广泛,种类繁多,性能

5、各异,分类也不尽一致。按照频率范围分类可以分为:超低频信号发生器、低频信号发生器、视频信号发生器、高频波形发生器、甚高频波形发生器和超高频信号发生器。按照输出波形分类可以分为:正弦信号发生器和非正弦信号发生器,非正弦信号发生器又包括:脉冲信号发生器,函数信号发生器、扫频信号发生器、数字序列波形发生器、图形信号发生器、噪声信号发生器等。按照信号发生器性能指标可以分为一般信号发生器和标准信号发生器。前者指对输出信号的频率、幅度的准确度和稳定度以及波形失真等要求不高的一类信号发生器。后者是指其输出信号的频率、幅度、调制系数等在一定范围内连续可调,并且读数准确、稳定、屏蔽良好的中、高档信号发生器。 1

6、.4 研究内容 本文是做基于单片机的信号发生器的设计,将采用编程的方法来实现三角波、锯齿波、矩形波、正弦波的发生。根据设计的要求,对各种波形的频率和幅度进行程序的编写,并将所写程序装入单片机的程序存储器中。在程序运行中,当接收到来自外界的命令,需要输出某种波形时再调用相应的中断服务子程序和波形发生程序,经电路的数/模转换器和运算放大器处理后,从信号发生器的输出端口输出。 第二章 方案的设计与选择 2.1 方案的比较 方案一:采用单片函数发生器(如8038),8038可同时产生正弦波、方波等,而且方法简单易行,用D/A转换器的输出来改变调制电压,也可以实现数控调整频率,但产生信号的频率稳定度不高

7、。 方案二:采用锁相式频率合成器,利用锁相环,将压控振荡器的输出频率锁定在所需频率上,该方案性能良好,但难以达到输出频率覆盖系数的要求,且电路复杂。 方案三:采用单片机编程的方法来实现。该方法可以通过编程的方法来控制信号波形的频率和幅度,而且在硬件电路不变的情况下,通过改变程序来实现频率的变换。此外,由于通过编程方法产生的是数字信号,所以信号的精度可以做的很高。 鉴于方案一的信号频率不够稳定和方案二的电路复杂,频率覆盖系数难以达标等缺点,所以决定采用方案三的设计方法。它不仅采用软硬件结合,软件控制硬件的方法来实现,使得信号频率的稳定性和精度的准确性得以保证,而且它使用的几种元器件都是常用的元器

8、件,容易得到,且价格便宜,使得硬件的开销达到最省。 2.2 设计原理 数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。89C51单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通讯接口等,只要将89C51再配置键盘及其接口、显示器及其接口、数模转换及波形输出、指示灯及其接口等四部分,即可构成所需的波形发生器。 89C51是整个波形发生器的核心部分,通过程序的编写和执行,产生各种各样的信号,并从键盘接收数据,进行各种功能的

9、转换和信号幅度的调节。当数字信号经过接口电路到达转换电路,将其转换成模拟信号也就是所需要的输出波形。2.3 设计思想 该设计设计一个低频信号发生器,我们采用的是AT89C51单片机用软件实现信号的输出。该单片机是一个微型计算机,包括中央处理器CPU,RAM,ROM、I/O接口电路、定时计数器、串行通讯等,是波形设计的核心。总体原理为:利用AT89C51单片机构造低频信号发生器,可产生正弦波,方波,三角波,锯齿波四种波形,通过C语言对单片机的编程即可产生相应的波形信号,并可以通过键盘进行各种功能的转换和信号频率的控制,当输出的数字信号通过数模转换成模拟信号也就得到所需要的信号波形,通过运算放大器

10、的放大输出波形,同时让显示器显示输出的波形信息。本方案其主要模块包括复位电路、时钟信号、键盘控制、D/A转化及LED显示。其各个模块的工作原理如下:(1)复位电路是为单片机复位使用,使单片机接口初始化;89C51等CMOS51系列单片机的复位引脚RET是施密特触发输入脚,内部有一个上拉低电阻,当振荡器起振以后,在RST引脚上输出2个机械周期以上的高电平,器件变进入复位状态开始,此时ALE、PSEN、P0、P1、P2、P4输出高电平,RST上输入返回低电平以后,变退出复位状态开始工作。该方案采用的是人工开关复位,在系统运行时,按一下开关,就在RST断出现一段高电平,使器件复位。(2)时钟信号是产

11、生单片机工作的时钟信号,控制着计算机的工作节奏,可以通过提高时钟频率来提高CPU的速度。89C51内部有一个可控的反相放大器,引脚XTAL1、XTAL2为反相放大器输入端和输出端,在XTAL1、XTAL2上外接12MHZ晶振和30pF电容便组成振荡器。时钟信号常用于CPU定时和计数。程读取闭合的键号,实现相应的信号输出。其步骤主要是a、判断是否有键按下;b、去抖动,延时20ms左右;c、识别被按下的键号;d、处理,实现功能。(4)D/A转换也称为数模转换,是把数字量变换成模拟量的线性电路。单片机产生的数字信号通过DAC0832转化成模拟信号,输出相应的电流值,通过集成运算放大器可以取出模拟量得

12、电压值,最后利用示波器获得输出的模拟信号的波形;衡量数模转换的性能指标有分辨率、转换时间、精度、线性度等。LED显示器用由若干个发光二极管按一定的规律排列而成,是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为光用于是显示相关输出波形的信息,包括信号的类型和频率。 2.4 设计功能 (1)具有产生方波、锯齿波、三角波三种周期性波形的功能。(2)输出波形的频率范围为100Hz1kHz;频率步进间隔100Hz。(3)输出波形幅度范围05V,可按步进0.1V(峰-峰值)调整。(4)具有显示输出波形的类型、周期和幅度的功能。 第三章 硬件设计 3.1 硬件原理框图 硬件原理方框图如图

13、3.1所示。 图3.1 硬件原理框图 3.2 主控电路 AT89C51单处机内部设置两个16位可编程的定时器/计数器T0和T1,它们具有计数器方式和定时器方式两种工作方式及4种工作模式。在波形发生器中,将其作定时器使用,用它来精确地确定波形的两个采样点输出之间的延迟时间。模式1采用的是16位计数器,当T0或T1被允许计数后,从初值开始加计数,最高位产生溢出时向CPU请求中断。 中断系统是使处理器具有对外界异步事件的处理能力而设置的。当中央处理器CPU正在处理某件事的时候外界发生了紧急事件,要求CPU暂停当前的工作,转而去处理这个紧急事件。在波形发生器中,只用到片内定时器计数器溢出时产生的中断请

14、求,即是在AT89C51输出一个波形采样点信号后,接着启动定时器,在定时器未产生中断之前,AT89C51等待,直到定时器计时结束,产生中断请求,AT89C51响应中断,接着输出下一个采样点信号,如此循环产生所需要的信号波形6。 如图3.2所示,AT89C51从P0口接收来自键盘的信号,并通过P2口输出一些控制信号,将其输入到8155的信号控制端,用于控制其信号的输入、输出。如果有键按下,则在读控制端会产生一个读信号,使单片机读入信号。如果有信号输出,则在写控制端产生一个写信号,并将所要输出的信号通过8155的PB口输出,并在数码管上显示出来3.3 数/模转换电路 由于单片机产生的是数字信号,要

15、想得到所需要的波形,就要把数字信号转换成模拟信号,所以该文选用价格低廉、接口简单、转换控制容易并具有8位分辨率的数模转换器DAC0832。DAC0832主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器以及输入控制电路四部分组成。但实际上,DAC0832输出的电量也不是真正能连续可调,而是以其绝对分辨率为单位增减,是准模拟量的输出。DAC0832是电流型输出,在应用时外接运放使之成为电压型输出。 由图3.3可知,DAC0832的片选地址为7FFFH,当P25有效时,若P0口向其送的数据为00H, 则U1 的输出电压为0V;若P0口向其送的数据为0FFH时, 则U1的输出电压为-5V. 故当U1 输出电压为0V时,由公式 得:Vout = - 5V.当输出电压为- 5V时,可得:Vout = +5V,所以输出波形的电压变化范围为- 5V+ 5V. 故可推得,当P0所送数据为80H时,Vo

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

当前位置:首页 > 资格认证/考试 > 自考

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