




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘 要在电子工程、通信工程、自动控制、遥测控制、测量仪器、仪表和计算机等技术领域,经常需要用到各种各样的信号波形发生器。本文分析了以往的函数发生器的基础上,采用集成电路ICL8038实现信号波形发生器,与其它信号波形发生器相比,其波形质量、幅度和频率稳定性等性能指标,都有了很大的提高。在硬件系统设计中,采用“MCS-51单片机”为控制核心,设计了ICL外围电路, D/A转换电路,加法电路以及显示和键盘接口电路。软件设计中,在Keil软件平台下采用C51编程,设计了测频功能、键盘功能和显示灯程序模块。使得所编写的程序具有可读性强、易于调试、修改和升级方便的特点。对所设计的样机在实验室进行测试, 本样机可以产生方波、三角波、正弦波等三种波形,可以通过按键可以连续调节输出信号的频率,并用数码管显示出频率值,频率输出范围为200Hz280KHz。结果表明,本论文所设计的函数发生器基本能都达到设计要求.关键词:单片机;函数发生器;数模转换器;运放器;IABSTRACTABSTRACTA variety of signal waveform generator often used in electronic engineering, communications engineering, automatic control, remote control, measuring instruments, meters and computer technology. This paper analyzes the past on the basis of function generator using IC ICL8038 waveform generator to achieve, compared with other waveform generator, the waveform quality, magnitude and frequency stability performance, have a great increase. In the hardware system design, with MCS-51 microcontroller, as the control center designed ICL external circuit, D / A converter circuit, a summing circuit and the display and keyboard interface circuit. Software design, software platform used in the Keil C51 programming, design frequency measurement function, the keyboard functions and display lights program modules. Make the written procedures have readable, easy to debug, modify and upgrade convenience features. The design of the prototype in the laboratory for testing, the prototype can produce a square wave, triangle wave, sine wave three kinds of waveforms, can be key to the frequency of continuous adjustment of the output signal and the frequency with digital display the value of the output frequency range 200Hz 280KHz. The results show that the function generator can meet the design requirements.Key words: Microcontroller, Function Generator, DAC, Op-amp DeviceII目录目录第1章 概述11.1课题的研究意义11.2函数发生器的发展现状11.3本课题的主要研究内容2第2章 函数发生器的原理32.1采用传统的直接频率合成器32.2采用锁相环式频率合成器42.3 采用集成电路42.4 本章小结4第3章 函数发生器硬件电路设计63.1 基本原理63.2 主要芯片介绍63.2.1 STC89C5263.2.2 ICL803873.2.3 DAC083283.2.4 LM32493.3 硬件电路设计93.3.1 单片机最小系统硬件设计93.3.2 ICL8038 外围电路设计113.3.3 数模转换电路123.3.4 加法器设计133.3.5 显示电路设计133.3.6 键盘电路设计133.4 函数发生器系统原理图14第4章 函数发生器的软件设计154.1 软件设计概述154.1.1 软件功能概述154.1.2 软件开发环境154.2 主程序设计174.3 子程序设计174.3.1 键盘扫描程序设计174.3.2 测频率程序设计184.3.3 显示程序设计194.3 函数发生器的系统的源程序19第5章 系统调试、测试与结果分析205.1硬件电路的焊接205.2系统调试205.2.1单片机最小系统调试205.2.2 数码管显示调试215.2.2频率计调试225.2.3 D/A调试255.2.4 ICL8038外围电路调试265.3系统测试265.4结果分析,误差来源分析27第6章 结论与展望286.1 总结286.2展望28致谢词29参考文献30附录1 函数发生器系统源程序31附录2函数发生器的系统原理图36II1 概述第1章 概述在电子工程、通信工程、自动控制、遥测控制、测量仪器、仪表和计算机等技术领域,经常需要用到各种各样的信号波形发生器。随着集成电路的迅速发展,用集成电路可很方便地构成各种信号波形发生器。用集成电路实现的信号波形发生器与其它信号波形发生器相比,其波形质量、幅度和频率稳定性等性能指标,都有了很大的提高。1.1课题的研究意义在我们日常生活中,以及一些科学研究中,正弦波和方波、三角波是常用的基本测试信号。函数发生器是指一般能自动产生方波、正弦波及三角波等电压波形的电路或仪器。因此函数发生器是我们在学习,科学研究等方面不可缺少的工具。函数信号发生器是一种高精度且频率可方便调节的信号发生器,它的出现在很大程度上给技术人员在电路实验和设备检测中带来了便利。在通信、广播、电视系统中,同时在工业、农业、生物医学等领域内,如高频感应加热、熔炼、淬火、超声诊断、核磁共振成像等,都需要功率或大或小、频率或高或低的信号发生器。本课题欲解决能同时输出三种波形:方波、三角波、正弦波;频率范围与波形精度也有一定的要求。信号发生器是一种常用的信号源,广泛用于电子电路,自动控制和科研实验中,常用的信号发生器大部分用模拟电路构成的,体积大,可靠性差,准确度低。随着集成制造技术的不断发展,多功能信号发生器已被制作成专用集成电路。该电路使用方便,调试简单,性能稳定,它不仅能产生正弦波,同时还能产生三角波和方波。1.2函数发生器的发展现状波形发生器亦称函数发生器,作为实验用信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。目前,市场上常见的波形发生器多为纯硬件的搭接而成,且波形种类有限,多为锯齿、正弦、方波、三角等波形。信号发生器作为一种常见的应用电子仪器设备,传统的可以完全由硬件电路搭接而成,如采用555振荡电路发生正弦波、三角波和方波的电路便是可取的路径之一,不用依靠单片机。但是这种电路存在波形质量差,控制难,可调范围小,电路复杂和体积大等缺点。在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟机械振动等领域常常要用到低频信号源。而由硬件电路构成的低频信号其性能难以令人满意,而且由于低频信号源所需的RC很大;大电阻,大电容在制作上有困难,参数的精度亦难以保证;体积大,漏电,损耗显著更是其致命的弱点。一旦工作需求功能有增加,则电路复杂程度会大大增加。321.3本课题的主要研究内容本文介绍的一种用ICL8038单片集成函数信号发生器构成的信号发生器,它只需外接很少的几只元件就能实现一个多种波形输出的信号发生器。基于单片机控制的信号发生器的研制方案从设计原理上综合了传统的硬件电路产生函数信号波形和采用直接数字合成技术产生函数信号波形的优点,增加了仪器输出信号的波形种类,输出信号性能也明显改善。具有良好的人机界面,并能实时显示输出波形及其参数,方便操作,增强了操作者和微处理器之间的对话能力。系统具有自检、自诊断功能,能够及时和准确地仪器故障发生的部位和特征,不仅方便了维修,而且保证了输出的可靠性。2 函数发生器的系统方案设计第2章 函数发生器的原理函数发生器设计的核心问题是信号的控制问题,其中包括信号频率、信号种类以及信号强度的控制。2.1采用传统的直接频率合成器直接频率合成器,即DDS,是利用采样定量,通过查表法产生波形。DDS的结构有很多种,其基本的电路原理可用图1来表示。相位累加器D/A转换器低通滤波器波形存储器kfsf0图2-1 DDS原理图相位累加器由N位加法器与N位累加寄存器级联构成。每来一个时钟脉冲fs,加法器将控制字k与累加寄存器输出的累加相位数据相加,把相加后的结果送到累加寄存器的数据输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位加累加。由此可以看出,相位累加器在每一个中输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位,相位累加器的出频率就是DDS输出的信号频率。用相位累加器输出的数据作为波形存储器(ROM)的相位取样地址。这样就可把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出,完成相位到幅值转换。波形存储器的输出送到D/A转换器,D/A转换器将数字量形式的波形幅值转换成所要求合成频率的模拟量形式信号。低通滤波器用于滤除不需要的取样分量,以便输出频谱纯净的正弦波信号。DDS在相对带宽、频率转换时间、高分头放力、相位连续性、正交输出以及集成化等一系列性能指标方面远远超过了传统频率合成技术所能达到的水平,为系统提供了优于模拟信号源的性能。这种方法能实现快速频率变换,具有低相位噪声以及所有方法中最高的工作频率。但由于采用大量的倍频、分频、混频和滤波环节,导致直接频率合成器的结构复杂、体积庞大、成本高,而且容易产生过多的杂散分量,难以达到较高的频谱纯度。 2.2采用锁相环式频率合成器利用锁相环,将压控振荡器(VCO)的输出频率锁定在所需要频率上。VCO即输出频率与输入控制电压有对应关系的振荡电路。其特性用输出角频率0与 输入控制电压uc之间的关系曲线(图1)来表示。图1中,uc为零时的角频率0,0称为自由振荡角频率;曲线在0,0处的斜率K0称为控制灵敏度。使振荡器的工作状态或振荡回路的元件参数受输入控制电压的控制,就可构成一个压控振荡器。在通信或测量仪器中,输入控制电压是欲传输或欲测量的信号(调制信号)。人们通常把压控振荡器称为调频器,用以产生调频信号。在自动频率控制环路和锁相环环路中,输入控制电压是误差信号电压,压控振荡器是环路中的一个受控部件。图2-2 压控震荡器的控制特性这种频率合成器具有很好的窄带跟踪特性,可以很好地选择所需要频率信号,抑制杂散分量,并且避免了量的滤波器,有利于集成化和小型化。但由于锁相环本身是一个惰性环节,锁定时间较长,故频率转换时间较长。而且,由模拟方法合成的正弦波的参数,如幅度、频率 相信都很难控制。 2.3 采用集成电路 采用ICL8038单片压控函数发生器,ICL8038可同时产生正弦波、方波和三角波。改变ICL8038的调制电压,可以实现数控调节,其振荡范围为0.001Hz300KHz, 而且电路稳定, 成本较低。2.4 本章小结结合本课题的要求和综合以上分析,本设计采用采用集成电路ICL8038,利用单片机控制数模转换器DAC0832输出电压的大小来调节频率的大小,通过数码管显示出输出信号的频率。3 函数发生器硬件电路设计第3章 函数发生器硬件电路设计3.1 基本原理本设计的设计框图如图3-1所示图3-1 系统框图单片机扫描按键,根据键值控制控制数字电位器的输出电压,输出电压和基准电压相加后,输入到ICL8038的8脚,从而控制信号的输出频率。把ICL8038输出的方波进行衰减后送单片机P3.4进行频率测量并用数码管显示出来。3.2 主要芯片介绍3.2.1 STC89C52 STC89C52是一种低功耗、高性能CMOS 8位微控制器,具有8K在系统可编程Flash存储器。使用STC公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。STC89C52的引脚图如图3-2所示图3-2 STC89C52引脚图STC89C52具有以下标准功能:8K字节Flash,512字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。因此STC89C52能够满足本设计中对主控芯片的要求。3.2.2 ICL8038ICL8038精密函数发生器是采用肖特基势垒二极管等先进工艺制成的单片集成电路芯片,电源电压范围宽、稳定度高、精度高、易于用等优点,外部只需接入很少的元件即可工作,可同时产生方波、三角波和正弦波,其函数波形的频率受内部或外电压控制,可被应用于压控振荡器和FSK调制器。图3-3为ICL8038的引脚图。图3-3ICL8038管脚图脚1、12(Sine Wave Adjust):正弦波失真度调节;脚2(Sine Wave Out):正弦波输出;脚3(Triangle Out):三角波输出;脚4、5(Duty Cycle Frequency):方波的占空比调节、正弦波和三角波的对称调节;脚6(V):正电源10V18V;脚7(FM Bias):内部频率调节偏置电压输;脚8(FM Sweep):外部扫描频率电压输入;脚9(Square Wave Out):方波输出,为开路结构;脚10(Timing Capacitor):外接振荡电容;脚11(V- or GND):负电原或地;脚13、14(NC):空脚。ICL8038具有在发生温度变化时产生低的频率漂移,最大不超过50ppm;具有正弦波、三角波和方波等多种函数信号输出;正弦波输出具有低于1的失真度;三角波输出具有01高线性度;具有0001Hz1MHz的频率输出范围;工作变化周期宽,298之间任意可调;第10脚(CAP)与第11脚之间的电容C起到很重要的作用,它的大小决定了输出信号频率的大小。当C确定以后,调节ICL8038的第8脚的电压可改变信号源的输出频率。3.2.3 DAC0832DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。图3-4 为DAC0832引脚图。图3-4 DAC0832引脚图DAC0832主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器以及输入控制电路四部分组成。8 位输入寄存器用于存放主机送来的数字量,使输入数字量得到缓冲和锁存,加以控制;8位DAC寄存器用于存放待转换的数字量,由加以控制;8位D/A转换器输出与数字量成正比的模拟电流;由与门、非与门组成的输入控制电路来控制2个寄存器的选通或锁存状态。DAC0832同步输出电路,程序简单化,但是电路线路连接比较复杂。根据以上分析,我们的课题选择了单缓冲方式使用方便,程序简单,易操作。3.2.4 LM324LM324是四运放集成电路 ,它采用DIP14双列直插塑料封,外形如图1所示。他的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。每一组运算放大器可用图中所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“OUT”为输出端。两个信号输入端中,“-”为反相输入端,表示运放输出端OUT的信号与该输入端的为相反;“+”为同相输入端,表示运放输出端OUT的信号与输入端的相位相同。LM324的引脚排列见图3-5。图3-5 LM324管脚图由于LM324四运放电路具有电源电压范围宽,静态功耗小,可单电源使用,价格低廉等优点,因此被广泛应用在各种电路中。3.3 硬件电路设计3.3.1 单片机最小系统硬件设计(1)STC89C52支撑电路 单片机的运行需要一个支撑电路的支持才能工作起来,一般支撑电路包括电源、时钟电路等。图3-5所示为主控芯片STC89C52的支撑电路。图3-6 STC89C52支撑电路引脚OSC1和OSC2分别为芯片内振荡器输入引脚和输出引脚,该电路所需要的元件有:12MHz的石英晶振,30pF的晶体固定电容(与OSC1相连),30pF晶体固定电容(与OSC2相连)。因为晶振电路是非常敏感的模拟电路,是整个硬件电路的核心,它的稳定性将直接影响到整个电路的稳定运行,因此要格外注意该电路的布线方式。一般晶振与单片机引脚应尽量靠近,且将晶振电路的外接器件都用地线围绕起来,如果电路板空间允许,晶振应该采用卧式安装,将外壳焊接在地线上,最大限度地减小对外的电磁干扰。(2)STC89C52最小系统 主控芯片的支撑电路设计好后,接下来需要解决用户程序的写入问题。最小系统的硬件连线如图3-3所示。图3-7 STC89C52最小系统从图 3-6 中可以看出,最小系统主要由以下几部分组成:(1) 晶振电路:该电路主要产生芯片内部各个模块的时钟源;(2) 电源电路:该电路主要给芯片提供稳定的+5V直流电压;(3) 复位电路:该电路为芯片提供高电平,使芯片复位。STC89C52的RST引脚平时被10K的电阻接到GND,为低电平,当按下复位按钮时,该引脚接到+5V,变为高电平,芯片复位。(4)串口电路:该电路主要目的是将标准TTL电平通过电平转换芯片MAX232转换为RS-232电平。3.3.2 ICL8038 外围电路设计ICL8038作为一个函数发生芯片,在本设计中起着非常重要的作用。它的外围电路设计的好坏,直接影响着整个系统性能的好坏。图3-8 ICL8038原理图图3-8为ICl8038的原理图。振荡电容C由外部接入,它是由内部两个恒流源来完成充电放电过程。恒流源2的工作状态是由恒流源1对电容器C连续充电,增加电容电压,从而改变比较器的输入电平,比较器的状态改变,带动触发器翻转来连续控制的。当触发器的状态使恒流源2处于关闭状态,电容电压达到比较器1输入电压规定值的23倍时,比较器1状态改变,使触发器工作状态发生翻转,将模拟开关K由B点接到A点。由于恒流源2的工作电流值为2I,是恒流源1的2倍,电容器处于放电状态,在单位时间内电容器端电压将线性下降,当电容电压下降到比较器2的输入电压规定值的13倍时,比较器2状态改变,使触发器又翻转回到原来的状态,这样周期性的循环,完成振荡过程。假如电容器在充电过程和在放电过程的时间常数相等,而且在电容器充放电时,电容电压就是三角波函数,三角波信号由此获得。由于触发器的工作状态变化时间也是由电容电压的充放电过程决定的,所以,触发器的状态翻转,就能产生方波函数信号。查阅芯片手册,我们得到如下的电路,改10脚和11脚之间的电容值,可以改变输出信号的频率段。图3-9 ICL8038外围电路图3.3.3 数模转换电路DA0832为电流型,而在此设计中,我们需要的为电压值,所以需转换成电压输出,输出电压范围为05V。DAC0832与反相比例放大器相连,实现电流到电压的转换,因此输出模拟信号的极性与参考电压的极性相反,数字量与模拟量的转换关系为Vout1=Vref(数字码/256)。其电路如图3-10所示。图3-10 DAC0832 电路图运算放大器B的作用是把运算放大器A的双向输出电压转换成单向输出电压。其原理是将A2的输入端与参考电压VREF相连,VREF向B提供一个偏流I1,其电流方向与I2相反,因此运算放大器B的输入电流为I1、I2之代数和。则D/A转换器的总输出电压范围为0V5V。3.3.4 加法器设计 DAC0832的输出经过运放后的输出电压的范围为0V5V,而ICL8038的调节频率的电压范围为5V10V,所以D/A输出后的电压还不能调节输出信号的频率。这里我们设计了一个基准电压5V,让基准电压和D/A输出的电压通过一个加法器电路,这样使得输出的电压范围变成5V10V,然后再送到ICL8038,使其能够改变输出信号的频率。下图3-11为加法器电路。图3-11 加法器电路3.3.5 显示电路设计 在此设计中,我们需要显示电路来显示输出信号的频率,显示一般分为液晶显示和数码管显示。虽然液晶具有体积小、重量轻、省电、辐射低、易于携带等优点。但是其价格昂贵。对于本设计来说,使用数码管完全能够满足此设计的要求。在此设计中,我们使用4位8段码共阳极数码管。由于单片机I/O口的输出电流非常小,不能够驱动数码管。所以我们需要增大单片机的输出电流,在此设计中,我们采用74HC573锁存器来增大驱动电流。其设计电路如图3-12所示。图3-12 数码管显示电路3.3.6 键盘电路设计键盘一般分为独立式键盘和矩阵键盘。在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。而在此设计中,我们只用键盘来改变输出信号的频率,按键数量不多,而且STC89C52单片机I/O也比较丰富,能够满足本设计的要求。所以在本设计采用独立式键盘,通过检测单片机I/O的高低电平来判断是否有键按下。其电路如图3-13所示。图3-13 键盘电路3.4 函数发生器系统原理图函数发生器的系统原理图图见附录2。4 函数发生器的软件设计第4章 函数发生器的软件设计在整个设计过程中,函数发生器的硬件和软件两者是紧密相关的,是交互进行的,任何的硬件模块都需要相应的软件来验证其正确性,而反过来软件功能的正确性也要通过相应的硬件模块进行验证。函数发生器的软件设计的总体思想是:通过单片机对按键的检测和反馈回来的波形频率的测量,通过数字电位器输出合适的电压值到ICL8038的8脚,输出相应的频率,并显示出来。 4.1 软件设计概述4.1.1 软件功能概述函数发生器可以实现信号频率的那件调节并能通过数码管显示出来。通过单片机STC89C52对按键的检测和对反馈的方波信号频率的测量,并根据这些信号给数字电位器输出相应的值来控制ICL8038的信号频率。本章将从主控芯片的用户监控程序编写开始,逐步深入到函数发生器的各个功能模块的软件设计。4.1.2 软件开发环境软件设计的一个重要环节是确定编程语言和开发工具。由于用C语言编制的程序易于移植、便于调试、可读性好,而且有丰富的库函数,因此C语言已经成为嵌入式应用软件开发的首选语言。但不同于其他形式的软件编程,嵌入式系统的编程是建立在特定的硬件平台上,势必要求其编程语言具备较强的硬件直接操作能力,无疑,汇编语言具备这样的特质,而且其执行效率高、占用资源少。但是汇编语言开发过程非常复杂,而且可读性较差。因此采用C51编写系统的软件部分。软件设计时,使用的开发工具是由美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统的开发软件Keil C51和宏晶科技公司开发的“STC_ISP_4.79在线编程系统”配合使用,前者主要用于提供C编译器、宏汇编、连接器、库管理和工程项目管理,后者主要用于程序下载。Keil C51提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。Keil C51的开发界面如图4-1所示。4 函数发生器的的软件设计图4-1 C51开发界面STC_ISP_V4.79是宏晶科技公司开发的一款能直接在编程者电脑上使用的ISP在线下载方式,将用户程序下载进STC单片机的软件,其下载界面如图4-2所示。图4-2 STC单片机下载程序界面4.2 主程序设计主程序的用于整个系统的运行,完成系统初始化、键盘扫描、DA转换和显示频率等几个部分组成,其流程图如图4-3所示。图4-3 主程序流程图4.3 子程序设计将系统的程序模块化有利于程序的移植,具有可读性强、易于调试、修改和升级方便的特点。4.3.1 键盘扫描程序设计键盘程序只要是对D/A输出的值的大小进行调节,从而控制输出信号频率的大小。键盘扫描流程图如图4-4所示。图4-4 扫描键盘流程图4.3.2 测频率程序设计 这部分是通过T0定时1ms钟,通过T1来计数外部的脉冲数。其流程图如下图4-4所示图4-4 测量频率流程图4.3.3 显示程序设计显示程序主要是把测量的频率通过数码管显示出来,其流程图如图所示图4-5 显示流程图4.3 函数发生器的系统的源程序函数发生器的系统的源程序见附录15 系统调试、测试与结果分析第5章 系统调试、测试与结果分析5.1硬件电路的焊接经过电子表的硬件和软件的设计后,我们需要对电路进行组装与焊接。本设计是利用面包板和飞线连接,所以有一定的不稳定性。完成的系统实物如下图15所示图5-1 系统实物图5.2系统调试此部分是在实验室完成的,用到12V和+5V电源,万用表,示波器,信号源。因为本系统使用面包板搭建的,容易出现错误,所本系统在调试的过程中出现了很多问题,经过认真的检查,查阅相关资料,这些问题都克服了。5.2.1单片机最小系统调试完成了单片机最小系统的焊接后,我们需要对单片机最小系统进行测试,看单片机能否正常工作。编写一段小程序,让I/O口输出高低电平,利用示波器观察。单片机最小系统测试程序如下。#includereg52.h#define uint unsigned int#define uchar unsigned charsbit clk=P10;void delayms(uchar x)uchar y;for(;x0;x-)for(y=110;y0;y-);void main()While(1)clk=clk;delayms(10);利用示波器观察发现单片机能够正常工作,即单片机最小系统正常。5.2.2 数码管显示调试本设计中利用数码管显示输出信号的频率,显示是否正常直接影响输出信号频率的调节。所以我们需对数码管进行调试。调试程序如下所示。#includereg52.h#define uint unsigned int#define uchar unsigned charuchar code du_code=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;uchar code du_code_point=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10;uchar dis_buf=0x00,0x00,0x00,0x00; uchar bit_code=0x01,0x02,0x04,0x08;sbit clk=P10;void delayms(uchar x)uchar y;for(;x0;x-)for(y=110;y0;y-);void main()While(1)for(i=0;i4;i+)P0=0xff;P1=bit_codei;P0=du_code0;delayms(2);通过观察数码管能够正常显示。5.2.2频率计调试本设计中的频率计,是将ICL8038输出的方波送到单片机P3.5口利用单片机的定时/计数器进行测量的。让T0定时1S,再利用T1进行计数,从而得到输出信号的频率。#includereg52.h#includeintrins.h#define uint unsigned int#define uchar unsigned charsbit SQU=P35;uchar code du_code=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;uchar code du_code_point=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10;uchar dis_buf=0x00,0x00,0x00,0x00; uchar bit_code=0x01,0x02,0x04,0x08;unsigned long fre=0;uchar count=0;uint num=0; void initial()TMOD=0x51;TH1=0x00;TL1=0x00;TH0=0x3c;TL0=0xb0;EA=1;ET0=1TR0=1;void trans()if(fre=100000)dis_buf0=du_codefre/100000; dis_buf1=du_codefre%100000/10000; dis_buf2=du_code_pointfre%10000/1000; dis_buf3=du_codefre%1000/100;if(fre=10000fre=99999)dis_buf0=du_codefre/10000; dis_buf1=du_code_pointfre%10000/1000; dis_buf2=du_codefre%1000/100; dis_buf3=du_codefre%100/10;if(fre=1000fre=9999)dis_buf0=du_code_pointfre/1000; dis_buf1=du_codefre%1000/100; dis_buf2=du_codefre%100/10; dis_buf3=du_codefre%10; if(fre=100fre=999)dis_buf0=0xff; dis_buf1=du_codefre/100; dis_buf2=du_codefre%100/10; dis_buf3=du_codefre%10;if(fre=10fre=99)dis_buf0=0xff; dis_buf1=0xff; dis_buf2=du_codefre/10; dis_buf3=du_codefre%10;if(fre9)dis_buf0=0xff; dis_buf1=0xff; dis_buf2=0xff; dis_buf3=du_codefre; void delayms(uchar x)uchar y;for(;x0;x-)for(y=110;y0;y-);void display()uchar i;for(i=0;i4;i+)P0=0xff;P1=bit_codei;P0=dis_bufi;delayms(2);void main()initial();while(1)if(TF1=1)TF1=0;num+;if(flag=1)TR0=0;TR1=0;flag=0;fre=(num*65536+TH1*256+TL1);num=0;trans();TH1=0x00;TL1=0x00;TH0=0x3c;TL0=0xb0;SQU=1;while(SQU);TR1=1;TR0=1;display(); void timer0() interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;count+;if(count=20)flag=1;count=0;测试时,利用信号源产生方波进行测量,以保证频率测量的准确性。测量频率发现测量的误差比较大,已经完全不能正常显示。经过检查发现,系统所采用的晶振为11.0592MHz,在定时1S时具有一定的误差,所以更换晶振为12M后,发现本设计的频率测量是比较准确,其误差是可以忽略的,通过测试本系统的频率测量的范围为1Hz500KHz。测频率模块正常。5.2.3 D/A调试在本系统中利用DAC0832输出电压的大小来调节信号的输出频率,这就要求DA输出的电压是连续可调的。因为DAC0832为电流型,需利用运放LM324将电流转换成电压。测试程序如下。#includereg52.h#define uint unsigned int#define uchar unsigned charsbit DACS=P36;sbit WR1=P37;void delayms(uchar x)uchar y;for(;x0;x-)for(y=110;y0;y-);void main()uchar temp=0;DACS=0;WR1=0;While(1)P0=temp;temp+;delayms(1);在测试时,运放LM324不能输出连续的电压。检查发现本设计中运放LM324采用单电源供电,而经过一级运放出来的电压为负值,故不能正常输出,所以给运放LM324采用双电源供电。通过示波器观察,DA能够输出锯齿波。5.2.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 预制外墙翻转架施工方案
- 铝合金包边施工方案
- 实验活动7 化学反应速率的影响因素教学设计高中化学人教版2019必修第二册-人教版2019
- 金融行业数据治理与资产化转型研究报告:案例分析及策略建议
- 沼气罐保温施工方案模板
- 合肥管理咨询解决方案
- 2025年智能制造与工业互联网知识测试试题及答案
- 工厂围堰砌筑施工方案
- 家园协同模式中幼儿安全管理与应急机制
- 2025年数字艺术作品版权保护技术升级及市场应用报告
- 团支书培训大会第一讲
- CJ/T 123-2004给水用钢骨架聚乙烯塑料复合管
- 2025年北京海淀区九年级中考二模数学试卷试题(含答案详解)
- ktv营销经理雇佣合同协议
- 2025年全运会知识竞赛试题及答案
- 2025年陕西清水川能源股份有限公司招聘笔试参考题库含答案解析
- 《公路软土地基处治工程技术规范》(DB45T 1972-2019)
- 工余安健环知识培训
- 云南省石林县鹿阜中学七年级地理上册 第一章 第四节 地球的公转教案 (新版)商务星球版
- 《路遥人生》读书分享课件
- 以青春之名励青春之志
评论
0/150
提交评论