《基于单片机的函数发生器.doc》由会员分享,可在线阅读,更多相关《基于单片机的函数发生器.doc(34页珍藏版)》请在金锄头文库上搜索。
1、目 录第1章 方案论证与比较 1.1、方案一、采用单片函数发生器 1.2、方案二、采用锁相式频率合成器 1.3、方案三、采用单片机控制动态生成程序 第2章 系统设计方案 2.1、信号源系统框图 第3章 硬件系统设计 3.1、动态编程 3.2、正弦波各点计算 第4章 软件系统设计 4.1、信号源系统原理图 4.2、软件功能 4.3、系统软件流程图 4.3.1、ZLG7289BP流程图 4.3.2、信号源系统总流程图 第5章 调 试 5.1、硬件调试 5.2、软件调试 5.3、软硬联调 第6章 芯片介绍 6、LG7289BP串行接口LED数码管和键盘管理器件 6.1、ZLG7289BP特点 6.2
2、、 引脚说明 6.3、 控制指令 6.3.1、纯指令 6.3.2、 带有数据的指令 6.3.3、 SPI串行接口 第7章 系统结论 第8章 系统测试 8.1、测试仪器 第9章 参考文献 第10章 信号源源程序清单 第11章 毕业设计总结 实用信号源的设计与研制摘 要本系统由单片机控制模块、键盘、LED显示、D/A转换器、放大电路等组成。采用了查表的方法来实现正弦波和脉冲波。该系统频率范围宽、步进小、非线性失真小、幅度和频率的精度高。关键词:单片机模块,ZLG7289BP,动态编程技术AbstractThis system is controlled module , keyboard , LE
3、D showing , D/A converter , enlarging the circuit ,etc. to make up by the one-chip computer. Realize the wave form of sinusoidal wave and square wave by checking the form. This system frequency range is wide, the precision of walking into small , non-linear and distorted and small , range and freque
4、ncy is high. Keyword: One-chip computer module , ZLG7289BP, dynamic programming technology前 言中国电子测量仪器,随着世界高科技发展的潮流,走进了高科发展的道路,为我国国民经济、科学教育、特别是国防军事的发展作出了巨大贡献。我国电子测量仪器在若干重大垂头丧气领域取得了突破性进展,为我国电子测量仪器走向世界水平奠定了良好的基础。作为基础测量仪器的信号发生器随着用户的需求而不断发展。信号源实质上就是一个扫频示波器或合成信号源,并具有基本的调制功能。现在是数字化时代,研发或其他人员对测量仪器是最基本的工具,测量
5、仪技术指标上也不断提高。如精度高、工作频带宽、误差小等。能够满足不同层次用户的测试要求。近几年,数字化仪器在迅速发展,我国也在不断研究推出各种新型数字化仪器。 基本要求()正弦波信号源: 信号频率:20HZ20KHZ步进调整,步长为5HZ。 频率稳定度:优于104。 非线性失真系数:3%。()脉冲波信号源: 信号频率:20HZ20KHZ步进调整,步长为5HZ。 上升时间和下降时间:1US。 平顶斜降:5%。 脉冲占空比:2%98%步进可调,步长为2%。()上述两个信号源公共要求:频率可预置。负载为600时,输出幅度为3V。 完成5位频率的数字显示一、 方案论证与比较1.1、方案一、采用单片函数
6、发生器8038,可同时产生正弦波、脉冲波,方法简单易行,用D/A转换器的输出来改变调制电压,也可以实现数控调整频率,但步长难以满足要求,且频率稳定度不太高。1.2、方案二、采用锁相式频率合成器,利用锁相环,将压控振荡器(VCO)的输出频率锁定在所需频率上,该方案性能良好,但难以达到输出频率覆盖系数的要求,且电路复杂,不适于产生低频信号。1.3、方案三、采用单片机控制动态生成程序。该方法引入动态编程技术,使用AT89S51便可产生20KHZ的波形,单片机可以达到指标要求。同时采用查表的方法来实现比较简单。在硬件电路相比简单、成本比较低、软件易于控制。1.4、结论: 经比较,上述三种方案,采用方案
7、三不仅可以达到设计的要求,而且使整个系统控制简单,故采用方案三。二、系统设计方案本系统由单片机控制模块、D/A转换器、ZLG7289BP控制模块以及放大电路等组成。采用了查表的方法来实现。正弦波将一个周期按360等分成若干点,计算出各点的正弦函数值并转化成相应的D/A转换器输入数值,然后按一定的比例取各点,得到一个精确的正弦函数。由于一个周期正弦波的点数是固定来改变定时器的定时时间就可以改变相邻两点的时间间隔,从而改变正弦波的频率。脉冲波只要交替地将最大值和最小值输出给D/A转换器进行转换即可,利用定时器的延时从而改变它的频率和占空比等。2.1、信号源系统框图D/A0832AT89S51放大电
8、路 输出显示ZLG7289BP键盘三、硬件系统设计3.1、动态编程为了提高数据的传输速率,波形生成程序中应没有计算、判转等指令,而只有送正弦波数据的指令。这样就可输出一个精确的正弦波数据,要产生20KHZ的正弦波就不困难了。但这样波形生成程序随所需信号频率而异,不能能预先固化于程序存储器ROM中,因此采用了动态编程技术,由由单片机根据输出频率的需要,现场生成这一动态变化的程序。具体方法为:将数据存储器RAM映射到程序存储器空间,动态编程时用写入RAM写入波形生成程序的指令代码,然后跳转到该程序段,反复执行这段程序完成产生波形的功能。波形输出电路主要由8位D/A0832转换器和两个单运算放大器组
9、成波形的输出部分,它采用了双极输出方式,这样给D/A0832输入不同的数码,不难分析其输出电压范围为VrefVref如下图:输入数字量与输出电压的关系输 入 码模拟输出电压MSB LSB11111111+(127/128)Vref10000000+(1/128)Vref10000000001111111-(1/128)Vref00000001-(127/128)Vref00000000-(128/128)Vref3.2、正弦波各点计算正弦波相移的分辨率与步距有关,如果一个正弦周期内分为256个步距,则相移分辨率为360/256=1.4相移量的数字偏移量DI按下列计算: DI=256*/360
10、R6= R7=2 R5,输出电压VOUT与基准电压Vref及第一级运放输出电压VA的关系是:VOUT=-(2VA+Vref)四、软件系统设计4.1、信号源系统原理图4.2、软件功能 12个按键分别定义为数字键09和功能键正弦波和脉冲波。 为使系统能够稳定可靠的工作,对系统软件进行了软件抗干扰处理。软件冗余、设置软件陷井等软件抗干扰方法。4.3、系统软件流程图4.3.1 ZLG7289BP流程图设置P3为准双向口复位ZLG7289BP后ZLG7289BP送入显示初值N有键按下是否?Y读出键值ZLG7289BP写入该键功能输出到数码管显示 4.3.2、信号源系统总流程图开 始系统初始化查表输出正弦波N等待按键按下Y键盘扫描查特征键号Y散 转预置频率处理预置幅值处理