基于DAC0832单片机的波形信号发生器的设计.doc

上传人:文库蛋蛋多 文档编号:4148126 上传时间:2023-04-07 格式:DOC 页数:38 大小:196KB
返回 下载 相关 举报
基于DAC0832单片机的波形信号发生器的设计.doc_第1页
第1页 / 共38页
基于DAC0832单片机的波形信号发生器的设计.doc_第2页
第2页 / 共38页
基于DAC0832单片机的波形信号发生器的设计.doc_第3页
第3页 / 共38页
基于DAC0832单片机的波形信号发生器的设计.doc_第4页
第4页 / 共38页
基于DAC0832单片机的波形信号发生器的设计.doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

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

1、摘 要信号发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。目前使用的信号发生器大部分是函数信号发生器,且特殊波形发生器的价格昂贵。本设计使用AT89C51单片机和DAC0832,可产生三角波、方波、正弦波,波形的频率可用程序控制改变。在单片机上加外围器件距阵式键盘,通过键盘控制波形频率的增减以及波形的选择,并用了LCD显示频率大小。在单片机的输出端口接DAC0832进行D/A转换,再通过运放进行波形调整,最后输出波形接在示波器上显示。本设计具有线路简单、结构紧凑、价格低廉、性能优越等优点。关键词:信号发生器;单片机;DAC0832Abstract Signal-g

2、enerator is a kind of signal source in common use, broadly applied at the electronics electric circuit, auto control system and teaching experiment etc. Currently used mostly signal generator is function generator, a special waveform generator is very expensive . This design is usage of the AT89s51

3、single-chip microcomputer and DAC0832, which can generate triangle wave, square wave, sine wave, the period of wave can be controlled by procedure, at outer circle spare part of the microcomputer, plus independence type keyboard , which can control waves frequency increase or decrease and the choice

4、 of wave-form, at the same time LED display frequency size. The output of the microcompute connect DAC0832 to carry on a DA conversion,again pass operation amplifier to put an end exportation wave-form. This design has advantage of simple circuit, tightly packed structure, cheap price, superior func

5、tion etc.Keywords: signal generator; MCU; DAC083目 录摘 要IAbstractII绪 论11.1 课题的研究背景和意义11.2 国内外研究现状21.3 设计要求3第2章 方案选择52.1 方案选择52.2 主控模块的选择52.3 本章小结5第3章 硬件电路的设计63.1 系统的总体设计方案63.2 单元电路的设计73.2.1 采样模块及原理73.2.2 按键电路83.2.3 显示电路113.2.4 D/A电路123.2.5 流压转换电路123.2.6 单片机与DAC0832的连接133.3 本章小结14第4章 软件设计154.1 软件的总体设计1

6、54.2 频率改变与波形输出流程图164.3 频率程序设计174.4 键盘扫描程序与处理程序184.5 1602显示程序184.6 本章小结18第5章 系统调试19结 论20致 谢21附录1 译文23附录2 英文参考资料25附录3 原理图28附录4 源程序29绪 论1.1 课题的研究背景和意义信号发生器作为一种通用的信号源发生器仪器,早在20年代电子设备刚出现时它就产生了。随着通讯和雷达技术的发展40年代出现了主要用于测试各种接收机的标准信号发生器,使信号发生器从定性分析的产生信号仪器发展成定量分析的产生信号仪器。同时还出现了可用来测量脉冲电路或用作脉冲调制器的脉冲信号发生器。自60年代以来信

7、号发生器有了迅速的发展,这个时期的波形发生器大多采用模拟电子技术,由分立元件或模拟集成电路构成,其电路结构复杂,且仅能产生正弦波、方波、锯齿波和三角波等几种简单波形。自从 70 年代微处理器的出现以后,利用各种微处理器、模数转换器和数模转多以软件为主,实质是采用微处理器对DAC的程序控制,就可以得到各种简单的波形。极大促进了数字化技术在电子测量仪器中的应用,使原有的模拟信号处理逐步被数字信号处理所代替,从而扩充了仪器信号的控制力,提高了信号的准确度、精度和变换速度。单片机在我国的应用历史不久,但发展很快.1980年应用软件只有100项.到1985年猛增至15000项.目前我国的单片机应用主要在

8、工业自动化与仪器仪表控制。与控制有关的的仪器表因广泛采用单片机,对单片机的应用产生重大的影响:1简化了仪表面盘,用数字键盘代替了面板开关和旋钮,外表美关。 2增强了仪表的功能和灵活性。3使仪表能对简单的测量数据进行处理以及实现校正和自动诊断。4可用软件代替硬件,实现虚拟检测,这使单片机向智能化。随着单片机技术的迅猛发展,信号发生器也伴随着它得到迅猛的发展。可以说,单片机技术的发展,为信号发生器提供了广大的空间。单片机的性价比高,具有体积小,耗电省,携带方便,使用环境要求,以及灵活, 通用性好等特点。尽管单片机还存在速度不高,内存容量小,寻址方式不多等特点, 但随着,不断的技术改进和本身特点,因

9、而得到迅速发展。通过该设计课题的研究和制作使我对信号发生系统要有一个全面的了解、对信号的发生原理要理解掌握,以及低频信号发生器工作流程:波形的设定,D/A转换,单片机(51单片机,显示电路,键盘控制),显示和各模块的连接通信等各个部分的熟练联接与调试,全面的了解常规芯片的使用方法、掌握了简单信号发生器应用系统软硬件的设计方法,进一步锻炼了我在信号处理方面的实际工作能力。1.2 国内外研究现状胥绍禹在多波形信号发生器一文中设计的电路采用了两块 CMOS 数字集成电路74C04(内含六个反相器)和74C14(内含六个带施密特电路的反相器)。由反相器IC1 的a、b、c 三个并联、电阻W1R1、电容

10、C1、C2、C3 构成振荡器产生三角波,振荡频率计算公式为f11.7RC。可由开关控制频率。此三角波经施密特触发器IC2a整形为方波,再经IC2bf 并联输出(多个门电路并联以提高驱动能力),其电平兼容TTL。 IC1d、IC1ef 构成两级线性放大器,用于将三角波整形为模拟正弦波。当波形选择开关K3 将电阻R2和二极管D1 或D2 接入电路时,输出的方波被整流为正电压或负电压加到三角波发生器的输入端,构成压控振荡器(VCO),从而获得极性不同的锯齿波或脉冲波,脉冲宽度取决于电阻R2 和积分电容的大小。杨潇,刘刚,翟玉文在多功能PWM信号发生器设计中设计的多功能PWM信号发生器以MSP430F

11、169单片机为核心,由时钟和复位、频率及波形设定、LCM 显示器、PWM 信号发生电路组成MSP430F169单片机数模转换模块输出端DAC1输出直流电压可控制PWM占空比;DAC0输出交变电压可产生SPWM信号,且基波频率和波形受单片机控制。MSP430F169单片机小系统电路由MSP430FI69、复位电路、低速时钟电路(32 768 Hz)、高速时钟电路(8MHz)等元件构成MSP430F169片内有6O K程序存储区、2K的数据存储区和多种外围模块,并具有12位数模转换模块DAC12选用内部25 V参考电压源,输入DAC12的数字量从0xO到0xFFF变化时,对应的输出电压量也就从0到

12、2.5 V变化他的设计中使用DAC1通道控制PWM占空比,DAC0通道产生交变基波。李辉,朱林生基于FPGA的三相函数发生器设计设计的信号发生器是基于DDS原理,频率控制字M和相位控制字P分别控制DDS输出波形的频率和相位。相位累加器是整个波形产生的核心,它有一个累加器和一个N位相位寄存器组成。每来一个时钟脉冲,相位寄存器以步长M增加。相位寄存器的输出与相位控制字相加,其结果作为波形查找表的地址。波形查找表由ROM构成,内部存有一个完整周期的波形的数字幅度信息,每个查找的地址对应波形中0360范围的一个相位点。查找表输入的地址信息映射达成波形幅度信号, 同时输出到数模转换器的输入段,DAC输出

13、的模拟信号经过程控滤波器,得到一个频谱纯净的波形。徐仁贵,管运生,李学东在实用的多功能信号发生器用单片机制作信号发生器,除了单片机以外, 包括有查表地址发生器、ROM、DAC 以及放大倒相等环节。该结构的特点是应用可编程计数器设计了一个“ 查表地址发生器” , 其目的是使信号发生器只是在设定信号参数时瞬间占用微处理器, 其余时间微处理器都可以用来处理其它事务。在ROM中储存着所要产生信号(某种曲线)的离散值。为了保证信号质量, 应该使一个周期内所取离散值的点数足够多(特别是在信号频率很低时)。假设这一周期性函数为F(X), 在一个周期内所取点数为N , 则存放在该数据表中的数据依次为:F(0)

14、,F(2/N),F(2*2/N)F(N-1)*2/N)。如果信号由对称的正负半波组成(如正弦波),则可以只储存正半波的离散值。如果需要产生多种波形的信号, 则不同信号的离散值可以分区(例如以256个单元为一个区)存放。查表地址发生器由时钟、分频器和N位二进制计数器(N8)组成。它用来产生访问ROM中某一数据表的周期性地址信号。该信号为等于或大于8位的二进制数。相邻两个查表地址信号的时间间隔决定了所产生信号的周期, 这一时间间隔由分频器的分频系数决定。1.3 设计要求本设计的任务是通过AT89C52单片机制作波形信号发生器该设计课题的研究和制作使我对信号发生系统要有一个全面的了解、对信号的发生原

15、理要理解掌握,以及低频信号发生器工作流程:波形的设定,D/A转换,单片机(52单片机,显示电路,键盘控制),显示和各模块的连接通信等各个部分的熟练联接与调试,全面的了解常规芯片的使用方法、掌握了简单信号发生器应用系统软硬件的设计方法。主要实现任务是利用单片机程序,产生数字式的正弦波、方波、三角波频率可调的信号。具体要求如下: 1、能产生正弦波、矩形波、三角波等波形; 2、最大频率不低于 500Hz; 3、幅度可调,峰峰值在0-5V之间变化; 4、可以对频率、幅值、相移、波形进行动态、及时的控制; 5、扩展:可完成简单的如加、减等代数运算。第2章 方案选择2.1 方案选择 方案一:用分立元件组成

16、的函数信号发生器通常是单函数信号发生器,且频率不高,工作不是很稳定,而且不易调试,虽然结构简单,但是输出的信号频率线性度差,频率稳定度低,频率分辨低,频率变换时间比较长,相位的噪声大以及人机界面不友好等缺点。方案二:利用专用直接数字合成DDS芯片的函数信号发生器,能产生任意波形,但是成本较高,从成本上考虑,从成本上考虑,不适合选择这么昂贵的芯片。方案三:利用单片机AT89C51和常用的数模转换芯片DAC038结合,通过按键输入单片机控制不同波形的输出,其体积小,成本低,功率小,因此我选择方案三。2.2 主控模块的选择方案一:用单片 AT89c51 作为系统的主控核心。单片机具有体积小,使用 灵

17、活的,易于人机对话和良好的数据处理,有较强的指令寻址和运算功能等优点。 且单片机功耗低,价格低廉的优点。 方案二:用 FPGA 等可编程器件作为控制模块。FPGA 可以实现各种复杂的逻 辑功能,密度高,速度快,稳定性好等许多有点。FPGA 在掉电后会丢失数据上 电后须进行一次配置,因此 FPGA 在应用中需要配置电路和一定的程序。并且 FPGA 作为数字逻辑器件,竞争、冒险是数字逻辑器件较为突出的问题,因此在使用时必须注意毛刺的产生、消除及抗干扰性。 在次系统中,采用单片机作为控制比采用 FPGA 实现更简便。基于综合性价比,确定选择方案一。2.3 本章小结 本章主要是考虑电路成本和复杂程度来

18、选择方案,通过各种方案的比较选择了成本低和电路简单的方案。第3章 硬件电路的设计3.1 系统的总体设计方案本次设计所研究的就是对所需要的某种波形输出对应的数字信号,在通过D/A转换器和单片机部分的转换输出一组连续变化的05V的电压脉冲值。在通过显示部分显示其频率,和波形。在设计时分块来做,按照波形设定,D/A转换,51单片机连接,键盘控制和显示五个模块的设计。最后通过联调仿真,做出电路板成品。从而简化人机交互的问题,具体设计模块如图3-1所示:显示波形设定信号输出放大电路D/A转换单片机频率设定图3-1 总体设计框图模块介绍:1.波形设定:对任意波形的手动设定。2.D/A转换:主要选用DAC0

19、832来把数字信号转换为模拟信号。3.单片机部分:最小系统。4.键盘:用按键来控制输出波形的种类和频率。5.显示部分:采用LCD显示波形的类型以及频率。系统要求是便携式低功耗的,所以在硬件电路建立前首先粗略计算一下整个系统所需的功耗。考虑单片机部分(有最小系统,D/A转换,键盘接口,扩展部分显示等部分)的功耗大小,机器体积小,价格便宜,耗电少,频率适中,便于携带。软件部分则通过KEIL软件,用C51程序语言来实现信号发生器的主要功能,并通过ISP下载程序。3.2 单元电路的设计3.2.1 采样模块及原理DAC0832是CMOS工艺制造的8位D/A转换器,属于8位电流输出型D/A转换器,转换时间

20、为1us,片内带输入数字锁存器。DAC0832与单片机接成数据直接写入方式,当单片机把一个数据写入DAC寄存器时,DAC0832的输出模拟电压信号随之对应变化。利用D/A转换器可以产生各种波形,如方波、三角波、正弦波、锯齿波等以及它们组合产生的复合波形和不规则波形。1.DAC0832主要性能:输入的数字量为8位;采用CMOS工艺,所有引脚的逻辑电平与TTL兼容;数据输入可以采用双缓冲、单缓冲和直通方式;转换时间:1us;精度:1LSB;分辨率:8位;单一电源:515V,功耗20mw;参考电压:-10+10V;DAC0832内部结构资料:芯片内有两级输入寄存器,使DAC0832具备双缓冲、单缓冲

21、和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。D/A转换结果采用电流形式输出。要是需要相应的模拟信号,可通过一个高输入阻抗的线性运算放大器实现这个供功能。运放的反馈电阻可通过RFB端引用片内固有电阻,还可以外接。 该片逻辑输入满足TTL电压电平范围,可直接与TTL电路或微机电路相接,待转换的8位数字量由芯片的8位数据输入线D0D7输入,经DAC0832转换后,通过2个电流输出端IOUT1和IOUT2输出,IOUT1是逻辑电平为1的各位输出电流之和,IOUT2是逻辑电平为0的各位输出电流之和。另外,ILE、CS、WR1、WR2和XFER是控制转换的控制信号。

22、DAC0832由8位输入寄存器、8位DAC寄存器和8位D/A转换电路组成。输入寄存器和DAC寄存器作为双缓冲,因为在CPU数据线直接接到DAC0832的输入端时,数据在输入端保持的时间仅仅是在CPU执行输出指令的瞬间内,输入寄存器可用于保存此瞬间出现的数据。有时,微机控制系统要求同时输出多个模拟量参数,此时对应于每一种参数需要一片DAC0832,每片DAC0832的转换时间相同,就可采用DAC寄存器对CPU分时输入到输入寄存器的各参数在同一时刻开始锁存,进而同时产生各模拟信号。控制信号ILE、CS、WR1用来控制输入寄存器。当ILE为高电平,CS为低电平,ER1为负脉冲时,在LE产生正脉冲;其

23、中LE为高电平时,输入寄存器的状态随数据输入线状态变化,LE的负跳变将输入数据线上的信息存入输入寄存器。控制信号WR2和XFER用来控制8位A/D转换器。当XFER为低电平,WR2输入负脉冲时,则在LE产生正脉冲;其中LE为高电平时,DAC寄存器的输入与输出的状态一致,LE负跳变,输入寄存器内容存入DAC寄存器。 DAC0832的数据输出方式在微机应用系统中,通常使用的是电压信号,而DAC0832输出的是电流信号,这就需要由运算放大器组成的电路实现转换。其中有输出电压各自极性固定的单位性输出和在随动系统中输出电压有正负极性的双极性输出两种输出方式。微处理器与DAC0832之间可以不加锁存器,而

24、是利用DAC0832内部锁存器,将CPU通过数据总线直接向DAC0832输出的停留时间很短的数据保存,直至转换结束。3.2.2 按键电路1. 按键电路的选择在单片机应用系统中为了控制系统的工作状态,以及向系统输入数据,应用系统应设有按键或键盘,实现简单的人机会话。键盘是一组按键的组合,键通常是一种常开型按钮开关,平时键的两个出点处于断开状态,按下键时他们才闭合。从键盘的结构来分类,键盘可以分为独立式和矩阵式两类,每一类按其识别方法又都可以分为编码和未编码键盘两种。键盘上闭合键的识别由专门的硬件译码器实现并产生编号或键值的称为编码键盘,由软件识别的称未编码键盘。在由单片机组成的测控系统及智能化仪

25、器中,用得较多的是未编码键盘,本次设计我也使用未编码键盘。未编码键盘又分为独立式键盘跟矩阵式键盘。(1)独立式未编码键盘结构的工作原理及接口:在单片机应用系统中常常需要简单的几个键完成数据、命令的输入,此时可采用独立式键盘的结构。此接口电路的工作原理很简单,无键按下时,各输入线为高电平;有键按下时,相应的输入线为低电平,CPU 查询此输入口的状态就可知是哪个键闭合。采用一键一线的方法,当按键的数目增加时,将增加输入口的数量,为了减少占用输入线数,可采用矩阵式结构的键盘。(2)矩阵式未编码键盘结构的工作原理:如图3-2所示是 4*4 的键盘接口,它是矩阵式的结构。图中键盘的行线(X0X3)与列线

26、(Y0Y3)的交叉处通过一个按键来联通,行线通过电阻接+5V,当键盘上没有键闭合时所有的行线和列线都断开,则行线都呈高电平。当键盘上某一个键闭合时,则该键所对应的行线和列线被短路。例如:6号键被按下闭合时,行线 X1 和列线 Y2 被短路,此时 X1 的电平由 Y2 的电位所决定。如果把行线接到单片机的输入口,列线接到单片机的输出口,则在单片机的控制下,先使列线 Y0 为低电平,其余三根列线 Y1、Y2、Y3 都为高电平,读行线状态。如果 X0、X1、X2、X3、都为高电平,则Y0这一列上没有键合。如果读出的行线状态不全为高电平,则为低电平的行线和 Y0 相交的键处于闭合状态。如果 Y0 这一

27、列上没有键合,接着使列线 Y1 为低电平,其余列线为高电平,用同样方法检查 Y1 这一列上有无键闭合。依此类推,最后使列线 Y3 为低电平,其余的列线为高电平,检查 Y3 这一列上是否有键闭合。这种逐行逐列地检查键盘状态的过程称为对键盘的一次扫描。CPU 对键盘扫描可以采取程序控制的随机方式,CPU 空闲时扫描键盘;也可以采取定时控制方式,每隔一定时间,CPU对键盘扫描一次,CPU可随时响应键盘输入请求;还可以采用中断方式,当键盘上有键闭合时,向 CPU 请求中断,CPU 响应键盘输入中断,对键盘扫描,以识别哪一个键处于闭合状态,并对键输入信息作出相应处理。CPU 对键盘上闭合键的键号确定,可

28、以根据行线和列线的状态计算求得,也可以根据行线和列线状态查表求得。图3-2 矩阵位编码键盘2. 按键的确认及防抖处理按键的确认:键盘实际上是一组按键开关的集合,其中每一个按键就是一个开关量输入装置。键的闭合与否,取决于机械弹性开关的通、断状态。反应在电压上就是呈现出高电平或低电平,若高电平表示断开,那么低电平键闭合。所以,通过电平状态(高或低)的检测,便可确定相应按键是否已被按下。重键与连击的处理:实际按键操作中,若无意中同时或先后按下两个以上的键,系统确定哪个键操作是有效的,完全取决设计者的意图。如视按下时间最长者为有效键,或认为最先按下的键为当前的按键,也可以将最后释放的键看成是输入键。不

29、过单片机控制系统的资源有限,交互能力不强,通常总是采用单键按下有效,多键同时按下无效的原则。 有时,由于操作人员按键动作不够熟练,会使一次按键产生多次击键的效果,及重键的情形。为消除重键的影响,编制程序时可以将键的释放作为按键的结束。等键释放电平后再转去执行相应的功能程序,以防止一次击键多次执行的错误发生。按键防抖动技术:键盘作为向系统提供操作人员的干预命令的接口,以其特定的按键代表着各种确定操作命令。所以准确无误地辨认每个键的动作及其所处的状态,是系统能否正常工作的关键。多数键盘的按键均采用机械弹性开关。一个电信号通过机械触点的断开、闭合过程,完成高、低电平的切换。由于机械触点的弹性作用,一

30、个按键开关闭合及断开的瞬间必然伴随有一连串的抖动。消除按键盘抖动通常有两种方法:硬件消抖和软件消抖。通过硬件电路消除按键过程中抖动的影响是一种广为采用的措施。这种做法,工作可靠,且节省机时。 硬件消抖是通过在按键输出电路上加一定的硬件线路来消除抖动,一般采用RS触发器或单稳态电路。软件消抖则是利用延时来跳过抖动过程。本次设计采用独立位编码键盘加一个四输入与门的形式,如图3-3所示。图3-3 键盘连接3.2.3 显示电路通过液晶1602显示输出的波形、频率,其电路图如下:图3-4 显示电路连接如上图所示,1602的八位数据端接单片机的P1口,其三个使能端RS、RW、E分别接单片机的P3.2P3.

31、2。通过软件控制液晶屏可以显示波形的种类以及波形的频率。3.2.4 D/A电路功能:将波形样值的编码转换成模拟值,完成双极性的波形输出。 由一片0832和两块LM324运放组成。DAC0832是一个具有两个输入数据寄存器的8位DAC。目前生产的DAC芯片分为两类,一类芯片内部设置有数据寄存器,不需要外加电路就可以直接与微型计算机接口。另一类芯片内部没有数据寄存器,输出信号随数据输入线的状态变化而变化,因此不能直接与微型计算机接口,必须通过并行接口与微型计算机接口。DAC0832是具有20条引线的双列直插式CMOS器件,它内部具有两级数据寄存器,完成8位电流D/A转换,故不需要外加电路。0832

32、是电流输出型,示波器上显示波形,通常需要电压信号,电流信号到电压信号的转换可以由运算放大器LM324实现,用两片LM324可以实现双极性输出。 单片机向0832发送数字编码,产生不同的输出。先利用采样定理对各波形进行抽样,然后把各采样值进行编码,的到的数字量存入各个波形表,执行程序时通过查表方法依次取出,经过D/A转换后输出就可以得到波形。本次设计有256个点(正弦波)构成波形的一个周期,则0832输出256个样值点后,样值点形成运动轨迹,即一个周期。重复输出256个点,成为第二个周期。利用单片机的晶振控制输出周期的速度,也就是控制了输出的波形的频率。这样就控制了输出的波形及其频率。3.2.5

33、 流压转换电路DAC0832为电流输出型转换器,一般要求输出是电压,所以还必须经过一个外接的运算放大器转换成电压。如图3-4所示为一种用两级运算放大器组成的模拟电压输出电路。从第一个运放输出为单极性模拟电压,从第二个运放输出为双极性模拟电压。放大电路元件采用LM324 ,LM324是四运放集成电路,它采用14脚双列直插塑料封装,外形如图所示。它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。每一组运算放大器可用图所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。两个信号输入端中,Vi-(-)为反相输

34、入端,表示运放输出端Vo的信号与该输入端的相位相反;Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。LM324的引脚排列见图3-5。由于LM324四运放电路具有电源电压范围宽,静态功耗小,可单电源使用,价格低廉等优点,因此被广泛应用在各种电路中。图3-5 流压转换及放大电路3.2.6 单片机与DAC0832的连接DAC0832同CPU的接口如图3-6所示.DAC0832作为微处理器的一个端口,用地址92H的选通作为CS和WR1的控制信号,微处理器的写信号直接来控制XFER和WR2。 图3-6单片机与DAC0832的连接3.3 本章小结本章主要对硬件部分作以详细的介绍,并

35、充分的介绍了单片机的外围电路的各个部分。让大家充分了解各部分的功能和结构,为以后搭接电路做好充分准备。硬件部分的搭接,也是对我们大学期间的学习和动手能力的一个考核。此电路的硬件搭接也较为简单,主要是单片机和DAC0832的连接。第4章 软件设计4.1 软件的总体设计应用系统中的应用软件是根据系统功能要求而设计的,能可靠地实现系统的各种功能。一个优秀的应用系统的应具有下列特点:(1)根据软件功能要求,将系统软件分成若干个独立的部分。设计出软件的总体结构,使其结构清晰、流程合理。(2)要树立结构化程序设计风格,各功能程序模块化、子程序化。既便于调试、链接,又便于移植、修改。(3)建立正确的数学模型

36、。即根据功能要求,描述各个输入和输出变量之间的数学关系,它是关系到系统好坏的重要因素。(4)为提高软件设计的总体效率,以简明、直观法对任务进行描述,在编写应用软件之前,应绘制出程序流程图。(5)要合理分配系统资源,包括ROM、RAM、定时数器、中断资源等。(6)注意在程序的有关位置处写上功能注释,提高程序的可读性。(7)加强软件抗干扰设计,它是提高系统应用可靠性的有利措施。本系统的软件包括以下几个程序模块:(1)初始化程序;(2)显示程序;(3)键盘扫描程序与处理程序;(4)定时器0服务程序;(5)正弦波发生程序及其服务程序;(6)三角波发生程序;(7)方波发生程序;4.2 频率改变与波形输出

37、流程图频率改变结束满足要求?调用延时程序增加(降低)频率P3.5(P3.6)=0等待开始图4-1为频率改变流程图,图4-2为波形输出流程图NYNY 图4-1频率改变流程图本图主要介绍了AT89c51单片机,利用单片机的P3.5定时器端口进行频率的改变,在图中我们可以看出,在给单片机上电的时,单片机等待P3.5口工作,如果P3.5不运行则继续等待,要正常运行就要进行定时功能,在运行过程中如果满足要求则可以进行频率的改变,如果不能满足要求则要重新运行直到满足要求为止。初始化读取方波表读取正弦波表Waveform=0等待NP3.2=0YP3.4按一次,变量Waveform=1变量等于2YY变量等于1

38、NN读取三角波表波形输出图4-2波形输出流程图从流程图中我们可以看出,波形的输出也是利用AT89C51单片机的P3.2口(外部中断)来完成波形输出的,假设高电平为1,低电平为0,当出现高电平时,定时器的运行同时受到定时器和外部中断端口的控制,当二者同为1时,T0(T1)启动,当TR0(TR1)=0时,T0(T1)停止计数,这样可利用外部中断端检测脉冲信号的上升、下降沿、通过启停定时器,达到测量脉冲波形的变化,输出方波,正弦波,三角波。4.3 频率程序设计本设计采用定时器来控制波形频率,通过输出的两点间的延时来实现调频的功能。当晶振频率为24M时,单片机的机器周期就是0.5微妙。假设需要10HZ

39、的正弦波,由于正弦波的取点个数为256个,所以每个点所要的时间为1/10/256秒,选用定时/计数器T0的方式1实现,设计数器初值为X:X=65536-(1/10/256*106/0.5)但是,由于实际程序执行过程中,不光要取256个点,还要执行一些与取点相关的程序,所以需要的初值往往要小于X。4.4 键盘扫描程序与处理程序本次设计,键盘部分由3个键和一个4输入与门组成,3个键可以分别控制波形的选择和频率的升降。P3.2为中断入口地址,当P3.2=0时,说明有键按下,然后取P3口的值和0Xf0相与,取出P3口的高4位,最后使用swatch(),当P3&0xf0=0xe0时,说明波形选择键按下,

40、当P3&0xf0=0xd0时,说明频率升键按下,当P3&0xf0=0xb0时,说明频率衰减键按下。4.5 1602显示程序如图3-4所示16x02即32个字符(16列2行)。1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线。液晶显示原理:液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。4.6 本章小结软件部分是一个难点,软件也是一个电路的灵魂。主要是频

41、率改变流程和波形输出流程的程序设计,这一部分主要是考核大家在大学期间C语言和汇编语言的掌握程度。在此期间我查阅了各种资料和求助了老师和同学的帮助,才能完成软件程序的设计。第5章 系统调试调试工作可分硬件调试和软件调试两个部分,调试方法如下:首先,硬件调试主要是先制作硬件电路板,然后用万用表等工具对电路检查,最后应用程序进行功能调试。硬件调试比较费时,需要细心和耐心,也需要熟练掌握电路原理。然后,用仿真软件进行软件调试,比如单片机C51编辑软件KEIL,该软件提供一个集成开发环境uVision,它包括C编辑器、宏编辑器、连接器、库管理和一个功能强大的仿真调试器。通过编译、运行,可以检查程序错误。

42、但应用此方法,仍需要十分了解所使用元器件的工作方式和管脚连接方式。在确定编程思路以后将各部分的程序及各子程序编好,使用 keil 进行编译,根据提示的错误对程序进行修改。除了语法差错和逻辑差错外,当确认程序没问题时,通过直接加载到 protues 软件电路中进行仿真。结 论基于单片机的智能信号发生器设计,该课题的设计目的是充分运用大学期间所学的专业知识,考察现在正在使用的信号发生器的基本功能,完成一个基本的实际系统的设计全过程。关键是这个实际系统设计的过程,在整个过程中我可以充分发挥单片机知识。特别是这个信号发生器的设计中涉及到一个典型的控制过程。通过单片机控制一个模数转换器 DAC0832

43、产生所需要的电流,然后使用运算放大器 LM324可以将其电流输出线性地转换成电压输出,通过程序的控制,可以产生一系列有规律的波形。这样一个信号发生装置在控制领域有相当广泛的应用范围。此设计方案硬件较为简单,主要是由单片机跟 DAC0832 2个芯片构成,连线也较简便。键盘电路用的独立未编码结构,三个键分别控制波形及频率。软件程序方面较为复杂一点,此方案主要是靠程序的控制,主要由3个波形产生的子程序和1602液晶显示程序,加上有承上启下作用的主程序构成,程序思路还是比较清晰。其中正弦波和三角波的程序较为繁琐,因为是通过查表指令产生的,所以要列出个含有较多字符的表格。当然还是存在不足的地方,比如不

44、能实现任意频率与幅度的可调,显示电路跟键盘电路有待进一步改进。致 谢 持续紧张和忙碌了几个月的毕业设计终于做完了,在此我特别感谢带我的指导老师-宋建华老师,在这次毕业设计中对我的的耐心指导和帮助。如果没有宋老师的帮助我是不可能完成这次毕业设计的,还有各位同学和我的室友,在此期间对我的帮助和鼓励,使我在设计的时候信心十足。感谢学校给我们这次毕业设计的机会和其它的帮助。还有一同讨论、帮助我设计的同学表示感谢。在毕设期间由于基础问题和外在的许多压力,使我多次想放弃这次毕业设计,是我的老师和家人给了我很多的自信和帮助,使得我有信心继续下去。我在这里谢谢帮助过和劝导过我的人,我的人生因为有你们而更加美丽

45、辉煌。参考文献1 胥绍禹多波形信号发生器J电子报,2006(18),18212 杨潇,刘刚,翟玉文多功能PWM信号发生器设计J吉林化工学院学报,2010(02),50523 邢喆,朱绣鑫多功能信号发生器J电子测量技术,2004(06),18194 陈再清多频率信号发生器J电子技术,1995(04),37385 李辉,朱林生基于FPGA的三相函数发生器设计J电子科技,2010(07),87916 郭强基于FPGA的信号发生器的设计J机械与电子,2010(11),1121137 黄惟公单片机原理及应用M西安电子科技大学出版社,20078 邱关源电路M高等教育出版社,19999 鲍祖尚基于MAX03

46、8的信号发生器设计J中南林业科技大学学报,2010(07),18118410 姜颖韬正弦波信号发生器的DSP设计J科技经济市场,2010(06),101211 刘长君基于函数发生芯片MAX038的函数发生器设计J电子世界,2010(06),484912 徐仁贵,管运生,李学东实用的多功能信号发生器J电测与仪表,2000(07),404213 康书英,赵书涛一种简易的任意波形信号发生器J电力情报,1996(04),252714 Tierney, J Rader, C.M., and Gold, BA Digital Frequency Synthesizer,IEEEJTransactions on Audio and Electroacoustics , 2000(08),11211515 Sullvan G J. Rate-distortion optimization for video compression.J IEEE Sig

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号