新手可做的可调频的简易信号发生器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子综合设计报告
目录
1.概述................................. 错误!未定义书签。
2.系统设计 (2)
2.1 方案设计与比较 (2)
2.2 设计原理 (3)
3.硬件设计 (5)
3.1主要器件介绍 (5)
3.1.1主控电路 (5)
3.1.2数/模转换电路 (7)
3.2 单元电路 (8)
3.2.1晶振电路 (8)
3.2.2复位电路 (9)
3.2.3按键接口电路 (10)
3.2.4放大电路 (11)
3.2.5 端口配置.................... 错误!未定义书签。
3.3 器件清单 (12)
4.软件设计 (13)
4.1 软件功能模块划分 (13)
4.1.1 键盘扫描 (13)
4.1.2 方波实现过程 (15)
4.1.3 三角波实现过程 (16)
4.1.4正弦波实现过程 (17)
4.2 各功能模块间关系描述 (18)
5.系统调试............................. 错误!未定义书签。
5.1 硬件调试 (19)
5.2 软件调试 (21)
5.3 设计效果 (22)
结束语................................. 错误!未定义书签。参考文献.. (24)
2.系统设计
2.1 方案设计与比较
在设计过程中,我们根据需求利用不同的芯片来生成波形,由此设计了以下三个方案:
方案一:采用单片函数发生器(如0832),0832可同时产生正弦波、方波等,而且方法简单易行,用D/A转换器的输出来改变调制电压,也可以实现数控调整频率,但产生信号的频率稳定度不高。
方案二:采用锁相式频率合成器,利用锁相环,将压控振荡器(VCO)的输出频率锁定在所需频率上,该方案性能良好,但难以达到输出频率覆盖系数的要求,且电路复杂。
方案三:采用单片机编程的方法来实现。该方法可以通过编程的方法来控制信号波形的频率和幅度,而且在硬件电路不变的情况下,通过改变程序来实现频率的变换。此外,由于通过编程方法产生的是数字信号,所以信号的精度可以做的很高。
通过比较,鉴于方案一的信号频率不够稳定和方案二的电路复杂,频率覆盖系数难以达标等缺点,所以决定采用方案三的设计方法。它不仅采用软硬件结合,软件控制硬件的方法来实现,使得信号频率的稳定性和精度的准确性得以保证,并且可以随时按照实际的需求来改变信号的波形与频率,使信号发生器能适用于大多数的情况,而且它使用的几种元器件都是常用的元
器件,容易得到,且价格便宜,使得硬件的开销达到最省。信号发生器流程图如图2-1所示.
图2-1 信号发生器流程图
2.2 设计原理
设计一个基于单片机的函数信号发生器,该函数信号发生器可以输出四种波形,有正弦波,锯齿波,三角波,方波。在此基础上进一步通过复位按钮的调节来实现对波形频率的调节和波形的选择。
数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。89S51单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通讯接口等,只要将89S51再配置键盘及其接口、显示器及其接口、数模转换及波形输出、指示灯及其接口等四部分,即可构成所需的波形发生器,其信号发生器构成原理框图如图2-2所示。
AT89S51是整个波形发生器的核心部分,通过程序的编写和执行,产生各种各样的信号,并从键盘接收数据,进行各种功能的转换和信号幅度的调节。当数字信号经过接口电路到达DAC0832单片机进行D/A模拟转换,然后通过运算放大器将波形
进行滤波和放大然后将其转换成模拟信号也就是所需要的输出波形。
按波形频率计算输出波形两点之间的时间间隔,修改T2的TH0。具体编程算法是:先去频率的倒数得到周期,再将周期内的波形点数,得到两个点间的时间间隔。输出参数WAVE_FREQ(波形频率) 。在得到波点间隔时间。
波点间隔时间Tinterval =
(1000000/WAVE_FREQ)/WAVE_POINT
一个周期被分离成若干个点,对应的四种波形的若干个数据存放在以TAB1--TAB4为起始地址的存储器中。
3.硬件设计
如图3-1:要事先本系统,需主控电路、数/模转换电路、单元电路划分:晶振电路、复位电路、按键接口电路、放大电路。
3.1主要器件介绍
主控电路
AT89S51单处机内部设置两个16位可编程的定时器/计数器T0和T1,它们具有计数器方式和定时器方式两种工作方式及4种工作模式。在波形发生器中,将其作定时器使用,用它来精确地确定波形的两个采样点输出之间的延迟时间。模式1采用的是16位计数器,
当T0或T1被允许计数后,从初值开始加计数,最高位产生溢出时向CPU请求中断。
中断系统是使处理器具有对外界异步事件的处理能力而设置的。当中央处理器CPU正在处理某件事的时候外界发生了紧急事件,要求CPU暂停当前的工作,转而去处理这个紧急事件。在波形发生器中,只用到片内定时器/计数器溢出时产生的中断请求,即是在AT89S51输出一个波形采样点信号后,接着启动定时器,在定时器未产生中断之前,AT89S51等待,直到定时器计时结束,产生中断请求,AT89S51响应中断,接着输出下一个采样点信号,如此循环产生所需要的信号波形。
如图3-2所示,AT89S51从P0口接收来自键盘的信号,并通过P2口输出一些控制信号,将其输入到8155的信号控制端,用于控制其信号的输入、输出。如果有键按下,则在读控制端会产生一个读信号,使单片机读入信号。如果有信号输出,则在写控制端产生一个写信号,并将所要输出的信号通过8155的PB口输出,并在数码管上显示出来。