毕业设计基于52单片机的波形发生器的设计.doc

上传人:laozhun 文档编号:4149565 上传时间:2023-04-07 格式:DOC 页数:69 大小:10.11MB
返回 下载 相关 举报
毕业设计基于52单片机的波形发生器的设计.doc_第1页
第1页 / 共69页
毕业设计基于52单片机的波形发生器的设计.doc_第2页
第2页 / 共69页
毕业设计基于52单片机的波形发生器的设计.doc_第3页
第3页 / 共69页
毕业设计基于52单片机的波形发生器的设计.doc_第4页
第4页 / 共69页
毕业设计基于52单片机的波形发生器的设计.doc_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《毕业设计基于52单片机的波形发生器的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计基于52单片机的波形发生器的设计.doc(69页珍藏版)》请在三一办公上搜索。

1、XXXXX学院本科毕业设计(论文) 题 目 基于单片机的波形 发生器的设计 学生姓名 XXXXX 专业班级 电子科学与技术1班 学 号 XXXXX 院 (系) 电气工程学院 指导教师(职称) XX(教授) XX(硕研(讲师) 完成时间 2012年 5 月 15 日 摘 要本文介绍了一种基于单片机的波形发生器的设计,整个系统通过单片机STC89C52控制DAC0832实现将8位数字量转化成正弦波、方波、三角波、锯齿波和脉冲波五种波形的模拟量的输出。该波形发生器主要由两部分组成:系统硬件设计和系统软件设计,在系统硬件设计中,以STC89C52单片机为核心,通过I/O接口设计,扩展了D/A转换模块、

2、波形选择按键、并行输入串行输出模块74LS165和LCD1602频率、幅度显示模块。并且采用单片机仿真软件PROTEUS7.5,设计并制作波形发生器的印制电路板(PCB)。系统软件设计是在WAVE6000的集成开发环境下采用汇编语言完成的,包括主程序、四种波形产生子程序、按键功能子程序和显示子程序等模块。本系统可以实现波形频率、幅度实时可调,功能灵活,系统的开发成本在百元内,具有测量精度高,误差小、功耗低,数据传输速度较快,可靠性高等特点,有一定的开发价值。实验表明,设计系统的测试结果与实际波形的频率和幅度一致。关键词 波形发生器/STC89C52/LCD1602/DAC0832THE DES

3、IGN OF WAVEFORM GENERATOR BASED ON SINGLE-CHIP MICROCONTROLLER ABSTRACTThis article describes the the design of the waveform generator based on single-chip, the entire system through the microcontroller STC89C52 controls the DAC0832 that can finish convertting eight digital into the five waveform an

4、alog output of sine wave, square wave, triangle wave, saw tooth wave and pulse wave. The waveform generator consists of two parts: system hardware design and system software design, in the system hardware design, the microcontroller STC89C52 is the core of the design, through I/O interface design to

5、 extend the DA converter module, waveform selector buttons, 74LS165 module the parallel input string line output and the LCD1602 module of frequency, magnitude of the display. And through the SCM simulation software PROTEUS7.5 to design and produce of the printed circuit board (PCB) of the waveform

6、generator. System software design is done with assembly language in the integrated development environment WAVE6000, including the main Program, four waveform generator subroutine, key functions and display subroutines modules. This system can realize that frequency and amplitude of waveform is real

7、-timeadjustable and flexible. The system development costs is in the hundred with a high accuracy, the error is small, low power consumption, faster data transfer speeds, high reliability, there is a certain development value. The testedfrequency and amplitudeofthesystemisconsistentwith the actualwa

8、veform.KEY WORDS waveform generator,stc89C52,lcd1602,dac0832目 录摘 要 IABSTRACTII1 绪 论11.1 选题背景及意义11.1.1 本课题的研究现状11.1.2 选题目的及意义21.2.1 设计的基本要求32 波形发生器系统方案设计与论证42.1总体设计方案的比较42.2子系统模块方案设计42.2.1控制模块方案设计52.2.2频率调整模块方案设计52.2.3幅度调整模块方案设计62.2.4键盘模块方案设计62.2.5显示模块方案设计62.2.6 D/A转换模块方案设计72.2.7放大模块82.3系统总体框图92.4 波形

9、产生相关理论112.5 单片机软件开发系统113 硬件实现及模块电路设计123.1单片机最小系统的设计123.2 波形产生及滤波放大模块设计133.3 频率调整模块133.4 幅度调整模块143.5 LCD1602显示模块153.6 RS232串行通信电路及电源供电电路153.6.1 RS232串行通信电路 203.6.2 电源供电电路164 系统软件设计174.1系统软件编程语言方案设计174.2系统整体软件设计思想184.3各个子程序模块流程图184.3.1主程序流程图184.3.2频率调整子程序194.3.3显示子程序流程图204.3.4各波形产生子程序215 系统软硬件调试与数据处理2

10、65.1软件仿真及软件程序调试265.1.1 软件仿真265.1.2 程序调试265.2硬件PCB制作、安装、测试与调试275.2.1 PCB设计、制作、安装275.2.2 电路板调试与检测安全275.2.3 供电安全285.3 PCB电路板的电气规则检查与调试及电路功能测试295.3.1 PCB电路板的电气规则检查与调试295.3.2电路功能测试295.4 测试方法295.5 测试数据分析及处理385.6 系统功能实现情况39结论40致谢41参考文献42附录A 系统软件部分源程序43附录B 系统原理图- 56 -附录C 系统PCB图57附录D 元器件清单58附录E 实物正反面621 绪 论1

11、.1 选题背景及意义波形发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。各种波形曲线均可以用三角函数方程式来表示。能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路被称为函数波形发生器。在通信、广播、电视系统,在工业、农业、生物医学等领域内,函数波形发生器在实验和设备检测中具有十分广泛的用途。1.1.1 本课题的研究现状 波形发生器既可以构成独立的信号源,也可以是高性能网络分析仪、频谱仪及其它自动测试设备的组成部分。波形发生器的关键技术是多种高性能仪器的支撑技术,因为它能够提供高质量的精密信号源及扫频源,可使相应系统的检测过程大大简化,降低检测费用并极大地提高检

12、测精度。美国安捷伦生产的33250A型函数/任意波形发生器可以产生稳定、精确和低失真的任意波形,其输出频率范围为1Hz80MHz,而输出幅度为10mVpp10Vpp;该公司生产的8648D射频波形发生器的频率覆盖范围更可高达9kHz4GHz。1国产SG1060数字合成波形发生器能双通道同时输出高分辨率、高精度、高可靠性的各种波形,频率覆盖范围为1Hz60MHz;国产S1000型数字合成扫频波形发生器通过采用新技术、新器件实现高精度、宽频带的扫频源,同时应用DDS和锁相技术,使频率范围从1MHz1024MHz能精确地分辨到100Hz,它既是一台高精度的扫频源,同时也是一台高精度的标准波形发生器。

13、还有很多其它类型的波形发生器,他们各有各的优点,但是波形发生器总的趋势将向着宽频率覆盖、高频率精度、多功能、多用途、自动化和智能化方向发展 2 。 目前,市场上的波形发生器多种多样,一般按频带分为以下几种:超高频:频率范围1MHz以上,可达几十兆赫兹。 高频:几百KHZ到几MHZ。 低频:频率范围为几十HZ到几百KHZ。超低频:频率范围为零点几赫兹到几百赫兹。 超高频波形发生器,产生波形一般用LC振荡电路。 高频、低频和超低频波形发生器,大多使用文氏桥振荡电路,即RC振荡电路,通过改变电容和电阻值,改变频率。用以上原理设计的波形发生器,其输出波形一般只有两种,即正弦波和脉冲波,其零点不可调,而

14、且价格也比较贵,一般在几百元左右。在实际应用中,超低频波和高频波一般是不用的,一般用中频,即几十HZ到几十KHZ。用单片机89S52,加上一片DAC0832,就可以做成一个简单的波形发生器,其频率受单片机运行的程序的控制。我们可以把产生各种波形的程序,写在ROM中,装入本机,按用户的选择,运行不同的程序,产生不同的波形。再在DAC0808输出端加上一些电压变换电路,就完成了一个频率、幅值、零点均可调的多功能波形发生器的设计。这样的机器体积小,价格便宜,耗电少,频率适中,便于携带。1.1.2 选题目的及意义波形发生器是一种经常使用的设备,由纯粹物理器件构成的传统的设计方法存在许多弊端,如:体积较

15、大、重量较沉、移动不够方便、信号失真较大、波形种类过于单一、波形形状调节过于死板,无法满足用户对精度、便携性、稳定性等的要求,研究设计出一种具有频率稳定、准确、波形质量好、输出频率范围宽、便携性好等特点的波形发生器具有较好的市场前景,以满足军事和民用领域对信号源的要求。本次设计的主要目标是学习和运用单片机的C语言和汇编语言,通过现有专业知识,实现利用单片机STC89C52和8位D/A转换芯片DAC0832共同实现正弦波,方波,三角波,锯齿波,脉冲波这五种常见波形的发生,并且可以接收外接拨码键盘开关量的输入而在一定范围内改变波形的频率和幅度。在无标准函数发生仪器时,本设计可以作为简单的波形发生器

16、使用。本次设计准备在成本交低廉的前提下完成,主要是用单片机STC89C52、DAC0832,性能指数都不是很高,所以对此信号源的基本要求是能发生几种常见的波形,正弦波,方波,三角波,锯齿波,并且能够在定的范围内改变频率。通过该课题的设计,掌握以STC89C52为核心的单片机系统的软硬件开发过程和基本信号的产生原理、测量及误差分析方法,同时掌握波形发生器系统的软硬件设计流程;掌握并行D/A转换器DAC0832的原理及其外围电路的设计方法;掌握利用单片机产生常用波形的方法,进一步熟悉单片机人机接口的设计方法;培养我们综合运用所学的基本知识、基本理论和基本技能的能力,学习解决一般工程技术和有关专业问

17、题的能力。1.2 设计基本要求本设计采用89C52及其外围扩展系统,软件方面主要是应用汇编语言设计程序。系统以89C52单片机为核心,配置相应的外设及接口电路,该系统的软件可运行于wave6000的集成开发环境下,硬件电路原理图设计完成后,通过PROTEUS7.5对电路进行仿真和软件调试。同时,本系统中任何一部分电路模块均可移植于实用开发系统的设计中,例如温度控制系统、电子时钟万年历等实用的电路系统中,电路系统设计具有很强的实用性。(1) 功能要求1) 波形发生器可实现周期性时间函数波形,如正弦波、方波、三角波、锯齿波和脉冲波;2) 波形发生器的频率,幅值,波形可调;3) 显示当前波形的频率、

18、幅值;4) 对系统进行测试和结果分析;5) 撰写论文。(2) 技术指标1) 正弦波的频率范围:下限频率为1Hz,上限频率为1000Hz。2) 输出正弦波中不能含有尖峰干扰。3) 输出正弦波峰峰值最大为5 V,最小值为1V直流偏移为2V。2 波形发生器系统方案设计与论证2.1总体设计方案的比较 波形发生器的设计方案可用多种方案来完成。在设计前对各种方案进行了比较:方案一:用差分放大电路实现三角波到正弦波以及集成运放组成的电路实现波形发生器。波形变换的原理是利用差分放大器的传输特性曲线的非线性,传输特性曲线越对称,线性区域越窄越好;三角波的幅度应正好使晶体接近饱和区域或者截至区域。 方案二:采用分

19、立元件构成非稳态的多谐振振荡器,根据具体需要加入积分电路等构成波形发生器。但这种波形发生器输出频率范围窄,而且电路参数设定较繁琐,输出的波形易受外界环境影响,不稳定,对电路硬件要求很高,不易实现。 方案三:利用专用直接数字合成DDS芯片实现函数波形发生器。这种波形发生器能产生任意波形并达到很高频率,但成本较高。 方案四:利用单片机STC89C52和8位D/A转换芯片DAC0832共同实现正弦波,方波,三角波,锯齿波这四种常见波形的发生,并且可以接收外接拨码键盘开关量的输入而在一定范围实现频率和幅度的调节 3 。 可行性分析:上面四种方案中,方案一中需要人为地搭建波形变换的电路。方案二的电路参数

20、设定较繁琐,输出的波形易受外界环境影响,不稳定。方案三成本较高。方案四利用单片机构成的应用系统有较大的可靠性。系统扩展、配置灵活。容易构成各种规模的应用系统,且应用系统有较高的软、硬件利用系数。单片机具有可编程性,硬件的功能描述可完全在软件上实现,而且设计时间短,成本低,可靠性高。综合以上四种方案,从性能和制作成本考虑,本设计采用方案四,即采用单片机通过拨码键盘开关量的输入控制D/A转换器产生可调频率、幅度和占空比的波形信号。2.2子系统模块方案设计该波形发生器有以下几部分组成:(1)单片机控制模块,(2)频率调整模块,(3)幅度调整模块,(4)显示模块,(5)D/A转换模块,(6)放大模块,

21、(7)RS232串行通信电路及电源供电电路模块七部分组成。2.2.1 控制模块方案设计 方案一:用单片STC89C52作为系统的主控核心。单片机具有体积小,使用灵活的,易于人机对话和良好的数据处理,有较强的指令寻址和运算功能等优点。且单片机功耗低,价格低廉的优点。 方案二:用FPGA等可编程器件作为控制模块。FPGA可以实现各种复杂的逻辑功能,密度高,速度快,稳定性好等许多有点。FPGA在掉电后会丢失数据上电后须进行一次配置,因此FPGA在应用中需要配置电路和一定的程序。并且FPGA作为数字逻辑器件,竞争、冒险是数字逻辑组合电路中较为突出的问题,因此在使用时必须注意毛刺的产生、消除及抗干扰性。

22、 在此系统中,采用单片机作为控制器比采用FPGA实现更简便。方案三:C89C52F005单片机是完全集成的混合信号系统级芯片,具有与89C52兼容的微控制器内核,与MCS-51指令集完全兼容。除了具有标准8052的数字外设部件,片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件,而且执行速度快。但其价格较贵。从电路结构和成本角度及综合性价比的考虑,确定选择方案一。2.2.2 频率调整模块方案设计方案一:采用AD0808将模拟电压量转换为8位数字量,然后将这个8位数字量送给单片机,这种方式占用系统资源较多,运行的效率太低,编写工作量大而复杂。 方案二:为了提高单片机的资源利用

23、率和运行的效率,按键部分通过8位拨码开关来实现8位数字量通过74ls165的并行输入串行输出给单片机的方案,这样设计的目的优点是节省单片机的I/O口资源,电路结构简单易行。我们采用74ls165实现频率的改变,使频率能够实时随着拨码按键开关量的输入而改变,电路结构简单,实时性较强。4综合以上二种方案,从电路结构、实时性的角度考虑,选择方案二。2.2.3 幅度调整模块方案设计方案一:采用将DAC0832的RFB引脚接一个100k的滑动变阻器来改变DAC0832的基准电压Vref,由DAC0832的输出电压Vo=(Vref/28)*N(N为单片机送给DAC0832的8位数字量)知道, 改变基准电压

24、Vref就可以改变DAC0832的输出电压,从而达到波形幅度的改变。方案二:通过在LM324的电压输出端加一个滑动变阻器的方法来实现输出波形电压的改变,从而改变实时地改变波形的幅度。此方案在实现的过程中,考虑到波形的纹波电压,在改变输出电压的过程中,实际的电压与预期的电压会有一个纹波的差别。综合以上二种方案,从误差和操作的的简单程度考虑,选择方案一。2.2.4 键盘模块方案设计方案一:采用独立按键,按键的数目少,但是它拥有结构简单,方便操作,执行效率高等优势。方案二:采用矩阵键盘,它以较少得I/O口实现了按键的功能,但是其操作比较复杂。经综合考虑,由于我们需求的按键比较少,但是对执行的效率的要

25、求比较高,所以采用独立按键。2.2.5 显示模块方案设计方案一:用传统的LED七段数码管位选的方式进行波形频率和幅度的显示。这种方式占用单片机I/O资源较多,没有驱动要加CD4511等外加电路,并且效率低,程序编写量大而复杂。虽然静态驱动编程简单,显示亮度高,但是占用I/O端口多,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。使用数码管显示编程较易,但要显示内容多,而且数码管不能显示字母。方案二:采用LCD1602液晶显示,1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个57或者511等点阵字符位组成,1602采用并口传输,速

26、度比12864快。每个点阵字符位都可以显示一个字符。1602内部集成有显示芯片,可以识别英文字母、阿拉伯数字和日语。此液晶显示具有微功耗、体积小、显示内容丰富、超薄轻巧等优点,常用在袖珍式仪表和低功耗应用系统中。5方案三:LCD1286是图形点阵,是显示图形和汉字,当然也是可以显示字母和阿拉伯数字了程序的编写上1602复杂的多,由于本次设计只需显示波形的频率和幅度,不需要显示波形图,从电路的简单程度和成本的角度,综合考虑不选择。综合以上三种方案,从电路的简单程度和成本的角度我们选择方案二。2.2.6 D/A转换模块方案设计单片机输出的是数字信号,必须通过D/A转换后才能模拟信号。方案一:采用D

27、/A转换器AD7543。AD7543是一种串行的D/A转换器,与单片机之间的连线少,布线方便,而且又是12位的D/A转换器,精度高。但串行数据传输速度慢,当频率较高时,必须减少每周期输出的点数,这将会导致阶梯现象更加明显,因此,此方案不宜使用。 方案二:采用DAC0832。这是8位的并行D/A转换器,转换速度快。 综合以上二种方案,本系统选择了方案二。 DAC0832芯片介绍 美国国家半导体公司生产的DAC0832是一种具有8 位分辨率、双通道输出的D/A转换芯片。由于它体积小,兼容性,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。 (1) DAC0832具有以下特点 1)

28、8位分辨率;2) 双通道A/D转换;3) 输入输出电平与TTL/CMOS相兼容;4) 5V电源供电时输入电压在05V之间;5) 工作频率为250KHZ,转换时间为32S;6) 一般功耗仅为15mW;7) 8P、14PDIP(双列直插)、P LCC 多种封装;8) 商用级芯片温宽为0C to +70C,工业级芯片温宽为40C to +85C。(2) 芯片接口说明 在电路原理图设计时,DAC0832的D0-D7 8条数据线与单片机的P0口相连接,DAC0832的、脚与P2.7相连接、与单片机的相连接,IOUT1与LM324的2脚相连接,3脚数字地、10脚模拟地分别与电源地相连接。ILE脚与5V电源

29、相连接, (3) 单片机对DAC0832 的控制原理当DAC0832未工作时其输入端应为高电平,此时芯片禁用。当要进行A/D转换时,须先将使能端置于低电平并且保持低电平直到转换完全结束。当DAC0832工作时其输入端应为低电平,直接将单片机P0口的8位数字量转换为模拟电压量的经IOUT1引脚输出,将示波器的正极探针与IOUT1引脚端相连接,就可以看到波形的产生。2.2.7 放大模块方案一:采用传统的单电源应用场合的标准运算放大器,有些时候必须采用外部偏置元件才能达到放大的目的和要求。方案二:LM324系列器件带有真差动输入的四运算放大器。LM324系列由四个独立的,高增益,内部频率补偿运算放大

30、器。应用领域包括传感器放大器,直流增益模块和所有传统的运算放大器现在可以更容易地在单电源系统中实现的电路。例如,可直接操作的LM324系列,这是用来在数字系统中,轻松地将提供所需的接口电路,而无需额外的15V电源标准的5V电源电压。综合以上两种方案,我们选择方案二,即放大模块采用LM324来实现。LM324芯片介绍:LM324系列器件带有真差动输入的四运算放大器。该四放大器可以工作在低到3.0V或者高到32V的电源下,静态电流为MC1741的静态电流的五分之一,LM324的引脚排列见图2.1。图2.1 LM324的引脚排列图LM324芯片接口说明: 1,2,3脚是一组;5,6,7脚是一组;8,

31、9,10脚是一组;12,13,14脚是一组;剩下的两个脚是电源;1,7,8,14是各组放大器的输出脚;其它的就是输入脚。2.3系统总体框图本系统是以单片机STC89C52、频率调整模块、幅度调整模块、8位D/A转换芯片DAC0832以及LCD1602显示模块、LM324放大、RS232串行通信及USB供电等模块共同实现正弦波,方波,三角波,锯齿波,脉冲波这五种频率、幅度可调的常见波形的功能。系统原理框图如图2.2。STC89C52LCD1602频率幅度显示模块D/A转换芯片DAC0832LM324波形放大及波形输出模块幅度调整模块电 源 供 电 模 块频率调整模块图2.2 系统原理框图由图2.

32、3 DAC0832转换部分电路图可知,通过代入以下数据对波形输出与频率、幅值调节部分进行具体的理论分析计算。 图2.3 DAC0832转换部分电路图利用STC89C52单片机、DAC0832、8位拨码开关设计一个能产生正弦波、方波、三角波、锯齿波和脉冲波的频率、幅值、波形可调的波形发生器。其中8位拨码开关是用来产生8位二进制数作为延时常数,DAC0832是用来将8位数字量转化成模拟量输出。数字量输入的范围为0-255之间,对应的模拟量输出的范围在Vref-到Vref+之间。根据这样我们可以利用单片机的并行口输出的数字量,产生常用的波形。1)利用单片机产生方波、正弦波、三角波和锯齿波等信号波形,

33、信号的频率和幅度可变。2)将一个周期的信号分离成256个点(按X轴等分),每两点之间的时间间隔为T,用单片机的定时器产生,其表示式为: T=T/256。如果单片机的晶振为12MHz,采用定时器方式0,则定时器的初值为: X=213T/Tmec (2.3.1) 定时时间常数为: TL =(8192T)/MOD256 (2.3.2)TH=(8192T)/256 (2.3.3)MOD256表示除256取余数3)正弦波的模拟信号是D/A转换器的模拟量输出,其计算公式为: Y=(A/2sint)+A/2 (其中A=VREF) (2.3.4) t=NT (N=1256) (2.3.5)那么对应着存放在计算

34、机里的这一点的数据为: (2.3.6) 4)一个周期被分离成256个点,对应的四种波形的256个数据存放在以TAB1-TAB4为起始地址的存储器中。由(2.3.4)式可知,当DAC0832在 0255 之间变化时,输出电压可在0V5V+之间 变化,即输出信号的峰峰值可由滑动变阻器RV2控制。2.4 波形产生相关理论 DAC0832是8位的D/A转换器件,其工作电压是05V,当输入00H数字量的时候,输出为0V电压;当输入07FH数字量的时候,输出为2.5V电压;当输入0FFH数字量的时候,输出为5V电压。单片机的I/O输出均为+5 V的TTL电平,因此产生的正弦波(以正弦波为例)幅值为+2.5

35、 V。将一个周期内的正弦波形等分为256份,对应256个数字量,利用查数据表的方式来实现波形的产生。第1点的角度为0,对应的正弦值为2.5sin0;第2点的角度为360/256,对应的正弦值为2.5sin 360/256 ),如此计算下去,将这些单极性方式下的数字量转换为正弦值模拟量输出。而每次送到DAC0832的八位数字量是根据查正弦波形数据表格而得到6。2.5 单片机软件集成开发环境 WAVE6000编译软件是南京伟福公司开发设计的单片机开发软件,不需要购买仿真器,使用软件模拟器就可以了,使用很方便的。也支持Keil C,但最好不要在WAVE内使用C,如果想用C编写,还是用Keil C方便

36、。 WAVE6000编译软件,采用中文界面。用户源程序大小不受限制,有丰富的窗口显示方式,能够多方位、动态地展示程序的执行过程。其项目管理功能强大,可使单片机程序化大为小,化繁为简,便于管理。另外,其书签、断点管理功能以及外设管理功能等为51单片机的仿真带来极大的便利。 3 硬件实现及模块电路设计3.1 单片机最小系统的设计STC89C52是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单可靠。用STC89C52单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,由于集成度的限制,最小应用系统只能用作一些小型的控制单元,STC89C52单片机最小系统如图3.1所

37、示。其应用特点如下7:(1) 可以给用户提供大量I/O口线。(2) 内部存储器容量有限。(3) 应用系统开发具有特殊性。图3.1 STC89C52单片机最小系统对图3.1说明如下:(1)单片机晶振电路:单片机外围的晶振电路是通过单片机的第18(XTAL1)引脚,19(XTAL2)引脚接入,XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。对于本设计的电容C用30pF,晶振选用11.0592MHz。晶振电路解法如图3.1所示,一端接在XTAL1引脚上,另一端接在XTAL2引脚上。 (2)单片机的复位引脚 RST:复位输入。晶振工作时,RST脚将持续2个

38、机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出2个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。为了防止程序执行过程中失步或运行紊乱,此处我们采用了上电复位电路8。 3.2 波形产生及滤波放大模块设计由单片机采用编程方法产生三种波形、通过DA转换模块DAC0832在进过滤波放大之后输出。其电路图3.2如下:图3.2 DAC0832及滤波放大电路电路性能指标分析:用于调压的DAC0832的参考电压是12V,所以,峰峰值可以调节到的最大值为12V,由于运放的电源均为12V,故均未达到饱和。 通过1k电位

39、器与两个1k的电阻进行直流偏移的调节。当电位器的滑动触头分别位于最右端与最左端时,输出电压分别为-5v和+5v,电位器的电压与输出的电压通过一个加法器实现直流偏移的调节。由于DAC0832存在的非线性,输出信号的幅值存在一定的误差。 由上述计算可知,该电路产生波形的峰峰值和直流偏移调节的范围达到并超过了题目要求的范围。 3.3 频率调整模块按键部分我们通过8位拨码开关来实现8位数字量通过74ls165的并行输入串行输出给单片机的方案,这样设计的目的优点是节省单片机的I/O口资源,电路结构简单易行。我们采用74ls165实现频率的改变,使频率能够实时随着拨码按键开关量的输入而改变,电路结构简单,

40、实时性较强,其电路图如图3.3。图3.3频率调整模块电路图3.4 幅度调整模块采用将DAC0832的RFB引脚接一个100k的滑动变阻器来改变DAC0832的基准电压Vref,由DAC0832的输出电压Vo=(Vref/28)*N(N为单片机送给DAC0832的8位数字量)知道,改变基准电压Vref就可以改变DAC0832的输出电压,从而达到波形幅度的改变。其电路图如图3.4。图3.4幅度调整模块电路图3.5 LCD1602显示模块LCD1602 1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个57或者511等点阵字符位组成,1602采用并口传

41、输,速度比12864快。每个点阵字符位都可以显示一个字符。1602内部集成有显示芯片,可以识别英文字母、阿拉伯数字和日语。此液晶显示具有微功耗、体积小、显示内容丰富、超薄轻巧等优点,常用在袖珍式仪表和低功耗应用系统中。其电路图如图3.5。图3.5 LCD1602显示模块电路图3.6 RS232串行通信电路及电源供电电路图3.6 RS232串行通信电路及电源供电电路电路图3.6.1 RS232串行通信电路由于单片机的输入输出是TTL电平,而PC机配置的都是RS-232标准串行接口,为9针“D”型连接器(插座),如图3.7所示。由于两者的电平不匹配,必须对单片机输出的TTL电平转换为RS-232电

42、平,即由12V转换为5V。单片机与PC机的接口方案如图3.8所示。 图3.7“D”型9针插头引脚定义 图3.8 单片机与PC机的串行接口方案3.6.2 电源供电电路 电源由12V直流稳压电源经过变压、全波整流、电容滤波、三段集成稳压器7805稳压后给单片机供电。12V电压直接接到放大器LM324的4脚,确保波形放大电路的稳定工作。这部分电路比较简单,采用三端稳压管7805的输出来实现的单片机的供电要求,由于不是本次设计的核心部分,故在此不作详述。 4 系统软件设计 4.1 系统软件编程语言方案设计 单片机系列的编程语言常用的有两种,一种是汇编语言,一种是C语言。C语言既具有高级语言的特点,又具

43、有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。具体应用到单片机以及嵌入式系统开发,但是它仍具有如下缺点:(1)C语言的缺点主要是表现在数据的封装性上,这一点使得C在数据的安全性上做的有很大缺陷,这也是C和C+的一大区别。(2) C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。(3)指针就是C语言的一大特色,但是C的指针操作也给它带来了很多不安全的因素。C+在这方面做了很好的改进,在保留了指针操作的同时又增强了安全性。Java取消

44、了指针操作,提高了安全性。汇编语言,是一种功能很强的程序设计语言,汇编语言直接同计算机的底层软件甚至硬件进行交互,它具有如下一些优点:(1)能够直接访问与硬件相关的存储器或I/O端口;(2)能够不受编译器的限制,对生成的二进制代码进行完全的控制;(3)能够根据特定的应用对代码做最佳的优化,提高运行速度;(4)能够最大限度地发挥硬件的功能。 汇编语言的机器代码生成效率很高,能够根据特定的应用对代码做最佳的优化,提高运行速度。综合以上汇编语言的优点,波形发生器系统的软件部分由汇编语言设计编程实现。 4.2 系统整体软件设计思想系统的软件设计是在WAVE6000的集成开发环境下,采用汇编语言完成了应用系统软件编程,包括主程序、产生四种常用信号的程序、按键功能子程序和显示子程序等子程序模块。模块化的编程方法使得程序具有可读性和易于维护的特点。4.3 各个子程序模块流程图系统软件是由若干子程序构成,包括主程序、键盘输入、频率调整子程序、显示子程序、延时子程序、各波形产生子程序等。4.3.1 主程序流程图 主程序设计思路:首先给单片机上电,对LCD1602和中断进行初始化设置,然后进行进行按键扫描,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号