电工系-信号发生器(编辑修改稿)内容摘要:

供电端口,分别接 +5V电源的正负端。 P0~P3 为可 5 编程通用 I/O 脚,其功能用途由软件定。 , 本设计中单片机 引脚 连接如 25 图所示: 图 25 单片机 引脚 连接图 在本设计中, P3 端口( 32~39 脚)被定义为 开关按键 功能控制端口,分别与相应的开关按键 相连接, 控制波形转换以及幅度和频率的调整。 P1 端口为数据输出端,输出 255 个数以产生不同的波形, P0 口接波形指示电路,不同的 led 灯表示单片机输出不同种波形。 DA 转换模块 本设计中 DA 转换采用 DAC0832 模块, DAC0832 是一种电流输出型 D/A 转换器,可与微处理器直接进行控制连接,是美国国民半导体公司研制的一种 8 位 D/A 转换芯片。 此外,还有 DAC0830 和 DAC0831。 由于器件采用 吸纳进的 CMOS 工艺,因此功耗低、输出漏电流误差较小,性价比高,因此广泛应用于目前很多小型的 D/A 转换电路设计中。 其引脚图如图 26 所示: 图 26 DAC0832 引脚图 6 其中待转换的 8 位数字量由芯片的 8 位数据输入线 D0~ D7 输入,经 DAC0832 转换后,通过 2 个电流输出端 IOUT1 和 IOUT2 输出, IOUT1 是逻辑电平为 1的各位输出电流之和, IOUT2 是逻辑电平为 0的各位输出电流之和。 另外, ILE、 CS 、 1WR 、2WR 和 XFER是控制转换的控制信号。 在本设计中, DAC0832 与单片机连接方式详见下图: 图 27 DAC0832 与单片机连图 其中, DAC0832 的引脚详细连接如下所述: ( 1) DAC0832 的 8 位的数据输入端 DI7~ DI0接单片机的 ~ 口输入端数据 ,将 255 个不同的数 据转换成对应的模拟量。 ( 2) IOUT1和 IOUT2为 DAC0832 的电流输出端,分别接放大器的 +、 输入端,通过放大器转换为电压信号。 ( 3) Vcc 为芯片供电电压,接 +5V电压。 ( 4) RFB:反馈电阻引出端, DAC0832 内部已经有反馈电阻,所以 RFB 端可以直接接到外部运算放大器的输出端,这样相当于将一个反馈电阻接在运算放大器的输出端和输入端之间。 ( 5) VREF:参考电压输入端,此端接一个正 5V电压,它决定 0 至 255 的数字量转化出来的模拟量电压值的幅度 最大为 5V,幅度最小变化量为。 VREF端与 D/A内部 T 形电阻网 络相连。 7 ( 6) WR CS 和 XFER 直接接地,使第二级 8 位 DAC 寄存器的输入端到输出端直通,只有第一级 8 位输入寄存器置成可选通、可锁存的单缓冲输入方式。 ( 7) ILE 接 +5V 高电平,输入寄存器的状态随数据输入线状态变化, LE 的负跳变将输入数据线上的信息存入输入寄存器。 MCU 复位电路 单片机复位电路是指 单片机的初始化操作。 单片机启运运行时 , 都需要先复位,其作用是使 CPU和系统中其他部件处于一个确定的初始状态 , 并从这个状态开始工作。 因而,复位是一个很重要的操作方式。 复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。 为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分 合过程中引起的抖动而影响复位。 单片机的复位是由外部的复位电路来实现的。 片内复位电路是复位引脚 RST 通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的 S5P2,由复位电路采样一次。 复位电路通常采用上电自动复位和按钮复位两种方式。 本设计复位电路如下图 28 所示, 图 28 RC 复位电路 单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器 PC= 0000H,这表明程序从 0000H 地址单元开始执行。 晶振电路 晶振是晶体振荡器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率是串联谐振,较高的频率是并联谐振。 STC89C52 单片机内部有一个用于构成振荡器的高增益反相放大器。 引脚 XTAL1 8 和 XTAL2 分别是此放大器的输入端和输出端。 这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自 激振荡器。 外接晶体谐振器以及电容 C1 和 C2 构成并联谐振电路,接在放大器的反馈回路中。 对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。 因此,此系统电路的晶体振荡器的值为 12MHz,电容应尽可能的选择陶瓷电容,电容值约为30μF。 在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作 . 晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。 晶体振荡电路如下图 29 所示。 图 29 振荡电路 I/V 转换电路 信号发生器一般要 求输出是电压, DAC0832 为电流输出型转换器 ,所以还必须经过一个外接的运算放大器 LM324 转换成电压。 LM324 芯片介绍如下: LM324 是四运放集成电路,它采用 14 脚双列直插塑料封装,外形如图所示。 它的内部包含四组形式完全相同的运算放大器,除电源共用外 ,四组运放相互独立。 每一组运算放大器可用下图 36 中图 1 所示的符号来表示,它有 5 个引出脚,其中 “+”、 “”为两个信号输入端, “V+”、 “V”为正、负电源端, “Vo”为输出端。 两个信号输入端中,Vi ( )为反相输入端,表示运放输出端 Vo 的信号与该输入端的相位相反; Vi+( +)为同相输入端,表示运放输出端 Vo 的信号与该输入端的相位相同。 LM324 的引脚排列见下图 36 的图 2。 由于 LM324 四运放电路具有电源电压范围宽,静态功耗小,可单电源使用,价格低廉等优点,因此被广泛应用在各种电路。 LM324 对应引脚如图 210所示 : 9 图 210 LM324 引脚图 图 211 所示为两级运算放大器 LM324 组成的模拟电压输出电路。 从第一个 运放输出为单极性模拟电压,从第二个运放输出为双极性模拟电压。 图 211 波形转换电路 10 3 软件程序设计 软件设计思路 本设计 中的应用软件是根据功能要求而设计的,能可靠地实现系统的各种功能。 本软件设计 具有下列特点: (1) 根据软件功能要求,将系统软件分成若干个独立的部分。 设计出软件的总体结构,结构清晰、流程合理。 (2) 树立结构化程序设计风格,各功能程序模块化、子程序化。 既便于调试、链接,又便于移植、修改。 (3) 以简明、直观法对任务进行描述,在编写应用软件之前,绘制出 程序流程图。 (4) 合理分配系统资源,包括 ROM、 RAM、定时数器、中断资源等。 (5) 在程序的有关位置处写上功能注释,提高程序的可读性。 (6) 加强软件抗干扰设计,提高系统应用可靠性。 Keil 的介绍: Keil 是德国开发的一个 51 单片机开发软件平台,最开始只是一个支持 C 语言和汇编语言的编译器软件。 后来随着开发人员的不断努力以及版本的不断升级,使它已经成为了一个重要的单片机开发平台,不过 KEIL 的界面并不是非常复杂,操作也不是非常困难,很多工程师的开发的优秀程序都是在 KEIL 的平台上编写出来的。 可以 说它是一个比较重要的软件,熟悉他的人很多很多,操作有不懂的地方只要找相关的书看看,到相关的单片机技术论坛问问,很快就可以掌握它的基本使用了。 Keil 的 181。 Vision2 可以进行纯粹的软件仿真 (仿真软件程序,不接硬件电路 );也可以利用硬件仿真器,搭接上单片机硬件系统,在仿真器中载入项目程序后进行实时仿真;还可以使用 181。 Vision2 的内嵌模块 Keil Monitor51,在不需要额外的硬件仿真器的条件下,搭接单片机硬件系统对项目程序进行实时仿真。 本系统的程序设计要注意处理好几个硬件功能在程序执行上的次序 ,具体处理可放到子程序中。 子程序主要包含两大方面,其一为波形产生子程序,其二为案件处理程。 主程序流程图如图 31 所示: 11 开 始程 序 初 始 化S 3 键 按下。 键 值 处 理Y波 形 切 换S 1 ,S 2 键按 下。 N键 值 处 理调 幅S 4 ,S 5 键按 下N键 值 处 理调 频返 回 图 31 主程序流程图 主程序流程如下所述: ( 1) 程序初始化,执行按键扫描程序,判断 S3 键是否按下,是则做波形切换处理,否则进入下一步。 ( 2) 扫描 S1, S2 键是否按下,是则做调幅处理,否则进入下一步; ( 3) 扫描 S4, S5 键是否按下,是则做调频处理,否则返回程序,重新执行按键扫描程序。 按键处理子程序相对比较简单,只需要先扫描是否有按键动作,然后,再根据按键对应的功能进行程序操作。 对于。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。