您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 基于单片机的函数信号发生器的设计资料
基于单片机的函数信号发生器的设计摘要本文以AT89C51单片机为核心设计了一个低频函数信号发生器。信号发生器采用了数字波形合成技术,通过硬件电路和软件程序相结合,输出自定义波形,如正弦波、方波、三角波、锯齿波,波形的频率和幅度在一定范围内可任意改变。波形和频率的改变可以通过软件来控制,幅度的改变可以通过硬件实现。本文介绍了波形的生成原理、硬件电路和软件部分的设计原理。本系统可以产生最高频798.6HZ的波形。该信号发生器具有体积小、价格低、性能稳定、功能齐全等优点。关键词:AT89C51;单片机;DAC;数字波形合成;低频信号发生器目录第一章绪论………………………………………………………………………11.1研究内容……………………………………………………………………11.2课题的来源与技术背景……………………………………………………11.3研究信号发生器的目的及意义……………………………………………11.4单片机概述…………………………………………………………………21.5信号发生器的分类…………………………………………………………2第二章方案的设计与选择…………………………………………………………22.1方案的比较…………………………………………………………………22.2设计原理……………………………………………………………………32.3设计思想………………………………………………………………………42.4设计功能……………………………………………………………………4第三章硬件设计……………………………………………………………………53.1硬件原理框图………………………………………………………………53.2主控电路……………………………………………………………………53.3数/模转换电路………………………………………………………………73.4波形产生模块设计……………………………………………………………73.5键盘显示模块的设计………………………………………………………83.6时钟电路………………………………………………………………………93.7运算放大电路和低通滤波电路………………………………………………93.8显示电路……………………………………………………………………103.9程序流程图…………………………………………………………………10第四章安装调试及测量数据分析…………………………………………………114.1调试过程……………………………………………………………………114.2出现的问题与解决的方法…………………………………………………114.3实验波形图…………………………………………………………………12第五章小结……………………………………………………………………13参考文献……………………………………………………………………………13附录…………………………………………………………………………………141第一章绪论1.1研究内容本文是做基于单片机的信号发生器的设计,将采用编程的方法来实现三角波、锯齿波、矩形波、正弦波的发生。根据设计的要求,对各种波形的频率和幅度进行程序的编写,并将所写程序装入单片机的程序存储器中。在程序运行中,当接收到来自外界的命令时,需要输出某种波形时可以调用相应的中断服务子程序和波形发生程序,经电路的数/模转换器和运算放大器处理后,将波形从信号发生器的输出端口输出。1.2课题的来源与技术背景无论是在生产上还是在科研与教学上,信号发生器都是电子工程师仿真实验的最佳工具。随着我国经济和科技的发展,对相应的测试仪器和测试手段也提出了更高的要求,信号发生器己成为测试仪器中至关重要的一类,因此开发信号发生器具有重大的意义。传统的信号发生器采用专用芯片,不仅成本高,而且控制方式不灵活。本设计充分利用单片机能灵活的控制、丰富的外设处理能力,并采用DDS技术,实现频率、幅值可调的函数波形的输出,同时可以根据需要方便地实现各种比较复杂的调频、调相和调幅功能,其具有良好的实用性。根据其频率发生方法又可分为谐振法和合成法两种。一般的传统发生器都是采用的谐振法,即用具有频率选择性的回路来产生正弦振荡,从而来获得所需频率,也可以根据频率合成技术来获得所需频率。利用频率合成技术制成的合成波形发生器,通常被称为频率合成器或频率综合器。频率综合器是指利用频率合成技术合成的频率源,它常常是没有调制的,也没有足够宽的和足够准确的输出电平调节,其工作范围往往也不宽,最小频率间隔也比较大,一般用作专用设备使用,或做某一个系统中的一个组成部分。1.3研究信号发生器的目的及意义波形发生器是信号源的一种,主要给被测电路提供所需要的己知信号(各种波形),然后用其它仪表测量感兴趣的参数。可见信号源在各种实验应用和试验测试处理中,它的应用非常广泛。它不是测量仪器,而是根据使用者的要求,作为激励源,仿真各种测试信号,提供给被测电路,以满足测量或各种实际需要。2随着信息技术的蓬勃发展,台式仪器在走了一段下坡路之后,又重新繁荣起来。不过现在新的台式仪器的形态,和几年前的己有很大的不同。这些新一代台式仪器具有多种特性,可以执行多种功能。而且外形尺寸与价格,都比过去的类似产品减少了一半。1.4单片机概述随着大规模集成电路技术的发展,中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、(I/O)接口、定时器/计数器和串行通信接口,以及其他一些计算机外围电路等均可集成在一块芯片上构成单片微型计算机,简称为单片机。单片机具有体积小、成本低、性能稳定、使用寿命长等特点。其最明显的优势就是可以嵌入到各种仪器、设备中,这是其他计算机和网络都无法做到的。1.5信号发生器的分类信号发生器应用广泛,种类繁多,性能各异,分类也有很多。按照频率范围分类可以分为:超低频信号发生器、低频信号发生器、视频信号发生器、高频波形发生器、甚高频波形发生器和超高频信号发生器。按照输出波形分类可以分为:正弦信号发生器和非正弦信号发生器,非正弦信号发生器又包括:脉冲信号发生器,函数信号发生器、扫频信号发生器、数字序列波形发生器、图形信号发生器、噪声信号发生器等。按照信号发生器性能指标可以分为一般信号发生器和标准信号发生器。前者指对输出信号的频率、幅度的准确度和稳定度以及波形失真等要求不高的一类信号发生器。后者是指其输出信号的频率、幅度、调制系数等在一定范围内连续可调,并且读数准确、稳定、屏蔽良好的中、高档信号发生器。第二章方案的设计与选择2.1方案的比较方案一:采用单片函数发生器(如8038),8038可同时产生正弦波、方波等,而且方法简单易行,用D/A转换器的输出来改变调制电压,也可以实现数控调整频率,但产生信号的频率稳定度不高。方案二:采用锁相式频率合成器,利用锁相环,将压控振荡器(VCO)的输出频率锁定在所需频率上,该方案性能良好,但难以达到输出频率覆盖系数的3要求,且电路复杂。方案三:采用单片机编程的方法来实现。该方法可以通过编程的方法来控制信号波形的频率和幅度,而且在硬件电路不变的情况下,通过改变程序来实现频率的变换。此外,由于通过编程方法产生的是数字信号,所以信号的精度可以做的很高。鉴于方案一的信号频率不够稳定和方案二的电路复杂,频率覆盖系数难以达标等缺点,所以决定采用方案三的设计方法。它不仅采用了软件和硬件的结合,即用软件控制硬件的方法来实现,从而使得信号频率的稳定性和精度的准确性得以保证,而且它使用的几种元器件都是常用的元器件,容易得到,且价格便宜,以使所需硬件的成本不会太高。2.2设计原理数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。89C51单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通讯接口等,只要将89C51配置键盘及其接口、显示器及其接口、数/模转换及其波形输出、指示灯及其接口等四部分,即可构成所需的波形发生器,其信号发生器构成原理框图如图(2-1)所示。2.图(2-1)89C51是整个波形发生器的核心部分,通过程序的编写和执行,产生各种各样的信号,并从键盘接收数据,进行各种功能的转换和信号幅度的调节。当数字信号经过接口电路到达转换电路时,将其转换成模拟信号,也就是所需要的输出波形。波形ROM表示将信号一个周期等间距地分离成64个点,储存在单片机得ROM内。具体ROM表示通过MATLAB生成的,例如正弦表,MATLAB生成的程序如下:x=0:2*pi/64:2*pi;y=round(sin(x)*127)+12889C51单片机接口电路D/A转换器滤波放大输出42.3设计思想(1)利用单片机产生方波、正弦波、三角波和锯齿波等信号波形,信号的频率和幅度可变。(2)将一个周期的信号分离成256个点(按X轴等分),每两点之间的时间间隔为T,用单片机的定时器产生,其表示式为:T=T/256。如果单片机的晶振为12MHz,采用定时器方式0,则定时器的初值为:X=213—T/Tmec(2.1)定时时间常数为:TL=(8192—T)/MOD256(2.2)TH=(8192T)/256(2.3)MOD32表示除32取余数(3)正弦波的模拟信号是D/A转换器的模拟量输出,其计算公式为:Y=(A/2sint)+A/2(其中A=VREF)(2.4)t=NT(N=1~256)(2.5)那么对应着存放在计算机里的这一点的数据为:(2.6)(4)一个周期被分离成256个点,对应的四种波形的256个数据存放在以TAB1--TAB4为起始地址的存储器中。2.4设计功能(1)本方案利用8155扩展8个独立式按键,6个LED显示器。其中“S0”号键代表方波输出,“S1”号键代表正弦波输出,“S2”号键代表三角波输出,“S3”号键代表锯齿波输出。(2)“S4”号键为10Hz的频率信号,“S5”号键为100Hz的频率信号,“S6”号键为500Hz的频率信号,“S7”号键为1KHz的频率信号,6个LED显示器输出信号的频率值,选用共阳极LED。(3)利用两片DAC0832实现幅度可调的信号源,(其中一片用来调节幅度,另外一片用来实现信号源的输出)。(4)频率范围:10~1000Hz。(5)输出波形幅度为0~5V。(sin1)255(255)/2tDiYA5第三章硬件设计3.1硬件原理框图硬件原理方框图如图(3-1)所示。图(3-1)3.2主控电路设计中主要采用AT89C51型单片机,它具有如下优点:(1)拥有完善的外部扩展总线,通过这些总线可方便地扩展外围单元、外围接口等。(2)该单片机内部拥有4K字节的FLASHROM程序存储器空间和256字节的RAM数据存储空间,完全可以满足程序的要求。由于该芯片可电可擦写[1],故可重复使用。如果更改程序内容,可将芯片拿下重新烧写。(3)该单片机与工业标准的MCS-51型机的指令集和输出引脚兼容。AT89C51单处机内部设置两个16位可编程的定时器/计数器T0和T1,它们具有计数器方式和定时器方式两种工作方式及4种工作模式。在波形发生器中,将其作定时器使用,用它来精确地确定波形的两个采样点输出之间的延迟时间。模式1采用的是16位计数器,当T0或T1被允许计数后,从初值开始加计数,最高位产生溢出时向CPU请求中断。中断系统是使处理器具有对外界异步事件的处理能力而设置的。当中央处理器CPU正在处理某件事的时候外界发生了紧急事件,要求CPU暂停当前的工作,转而去处理这个紧急事件。在波形发生器中,只用到片内定时器/计数器溢出时产生的中断请求,即是在AT89C51输出一个波形采样点信号后,接着启动定时器,在定时器未产生中断之前,AT89C51等待,直到定时器计时结束,产生中断请求,[1]电可擦写[1]:在设备上擦除芯片上已有的信息,芯片可以重新编程,即芯片的一种写入方法。单片机键盘电路显示电路复位电路数/模转换电路放大电路波形输
本文标题:基于单片机的函数信号发生器的设计资料
链接地址:https://www.777doc.com/doc-3552870 .html