为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于单片机的智能信号发生器,超完整

2011-05-28 36页 pdf 566KB 35阅读

用户头像

is_833899

暂无简介

举报
基于单片机的智能信号发生器,超完整 XXXX 大 学 毕 业 设 计( 论 文 ) 题 目 基于单片机的智能信号发生器设计 作 者 学 院 专 业 学 号 指导教师 二〇XX 年 X 月 X 日 摘 要 本系统是基于 AT89S52 单片机的数字式低频信号发生器。采用 AT89S52 单片机作 为控制核心,外围采用数字/模拟转换电路(DAC0832)、运放电路(NE4558)、按键和 LED 显示...
基于单片机的智能信号发生器,超完整
XXXX 大 学 毕 业 设 计( 论 文 ) 题 目 基于单片机的智能信号发生器 作 者 学 院 专 业 学 号 指导教师 二〇XX 年 X 月 X 日 摘 要 本系统是基于 AT89S52 单片机的数字式低频信号发生器。采用 AT89S52 单片机作 为控制核心,外围采用数字/模拟转换电路(DAC0832)、运放电路(NE4558)、按键和 LED 显示灯电路等。通过按键控制可产生方波、锯齿波、三角波、正弦波等,同时用 LED显示灯指示对应的波形。其设计简单、性能优良,可用于多种需要低频信号源的场 所,具有一定的实用性。 关键词:单片机;信号发生器;D/A转换 ABSTRACT The system is a digital signal generator based on single chip computer. At89s52 is used as a control microcontroller core. The system is composed by digital/analog conversion(DAC0832), imply circuit(NE4558),button and LED lights .It can generate the square, triangle and sine wave, with LED display. The system can be used for a signal source in the low-frequency signal source. It is very practical. Key words : The single chip computer;The signal generator;D/ A conversion XXXX大学本科生毕业设计(论文) i 目 录 绪论...................................................................................................................................... - 1 - 第一章 系统设计 .......................................................................................................... - 2 - 1.1 系统的比较 .................................................................................................. - 2 - 1.2 控制芯片的选择 .................................................................................................. - 2 - 第二章 系统硬件设计 ................................................................................................ - 3 - 2.1 基本原理 .............................................................................................................. - 3 - 2.2 单片机介绍及资源分配 ...................................................................................... - 3 - 2.2.1 单片机的介绍 ........................................................................................... - 3 - 2.2.2 资源分配 ................................................................................................... - 7 - 2.3 各部分电路原理 .................................................................................................. - 8 - 2.3.1 DAC0832 芯片原理 ................................................................................. - 8 - 2.3.2 NE4558 工作原理 ................................................................................... - 10 - 2.3.3 键盘电路原理 .......................................................................................... - 11 - 2.3.4 LED显示电路原理 ................................................................................ - 13 - 第三章 系统软件设计 .............................................................................................. - 14 - 3.1主程序流程图 ....................................................................................................... - 14 - 3.2子程序流程图 ....................................................................................................... - 15 - 第四章 测试结果 ....................................................................................................... - 21 - 第五章 结论 ................................................................................................................. - 23 - 参考文献 .......................................................................................................................... - 24 - 致 谢 ............................................................................................................................... - 25 - 附录 A 元件清单 .......................................................................................................... - 26 - 附录 B 电路原理图 ..................................................................................................... - 27 - 附录 C PCB图 ............................................................................................................... - 28 - 附录 D 程序清单 .......................................................................................................... - 29 - XXXX大学本科生毕业设计(论文) - 1 - 绪论 波形发生器亦称函数发生器,作为实验用信号源,是现今各种电子电路实验设计应 用中必不可少的仪器设备之一。目前,市场上常见的波形发生器多为纯硬件的搭接而成, 且波形种类有限,多为锯齿、正弦、方波、三角等波形。 信号发生器作为一种常见的应用电子仪器设备,传统的可以完全由硬件电路搭接而 成,如采用 555振荡电路发生正弦波、三角波和方波的电路便是可取的路径之一,不用 依靠单片机。但是这种电路存在波形质量差,控制难,可调范围小,电路复杂和体积大 等缺点。在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟机械振动等 领域常常要用到低频信号源。而由硬件电路构成的低频信号其性能难以令人满意,而且 由于低频信号源所需的 RC 很大;大电阻,大电容在制作上有困难,参数的精度亦难以 保证;体积大,漏电,损耗显著更是其致命的弱点。一旦工作需求功能有增加,则电路 复杂程度会大大增加。 当今是科学技术及仪器设备高度智能化飞速发展的信息社会,电子技术的进步,给 人们带来了根本性的转变。现代电子领域中,单片机的应用正在不断的走向深入,这必 将导致传统控制与检测技术的日益革新。单片机构成的仪器具有高可靠性、高性能价格 比,在智能仪系统和办公自动化等诸多领域得以极为广泛的应用,并走入家庭,从洗 衣机、微波炉到音响汽车,处处可见其应用。因此,单片机技术开发和应用水平已逐步 成为一个国家工业发展水平的标志之一。 一块单片机芯片就是一台计算机。由于单片机的这种特殊的结构形式,在某些应用 领域中,它承担了大中型计算机和通用微型计算机无法完成的一些工作。使其具有很多 显著的优点和特点,因此在各个领域中都得到了迅猛的发展。单片机的特点归纳起来有 以下几个方面。 具有优异的性能价格比 单片机尽可能地把应用所需的存储器,各种功能的 I/O 接口集成在一块芯片内,因而 其性能很高,而价格却相对较低廉,即性能价格比很高。 集成度高、体积小、可靠性高 单片机把各种功能部件集成在一块芯片上,因而集成度高,均为大规模或超大规模 集成电路。又内部采用总线结构,减少了芯片之间的连线,这大大提高了单片机的可靠 性与抗干扰能力。同时,其体积小,对于强磁场环境易于采取屏蔽措施,适合于在恶劣 环境下工作。 控制功能强 单片机体积虽小,但“五脏俱全”,它非常适用于专门的控制用途。为了满足工业 控制要求,一般单片机的指令系统中有极丰富的转移指令,I/O 口的逻辑操作指令以及 位操作指令。其逻辑控制功能及运行速度均高于同一档次的微机。 XXXX大学本科生毕业设计(论文) - 1 - 低电压、低功耗 单片机大量用于携带式产品和家用消费类产品,低电压和低功耗尤为重要。目前, 许多单片机已可在 2.2V 电压下运行,有的已能在 1.2V或 0.9V下工作,功耗降至μA级, 一粒钮扣电池就可长期使用。 利用单片机采用程序设计方法来产生低频信号,其下限频率很低。具有线路相对简 单,结构紧凑,价格低廉,频率稳定度高,抗干扰能力强,用途广泛等优点,并且能够 对波形进行细微调整,改良波形,使其满足系统的要求。只要对电路稍加修改,调整程 序,即可完成功能升级。 这里介绍一种采用 AT89S52单片机和一片 DAC0832数模转换器做成的数字式低频 信号发生器,它的特点是价格低、性能高,在低频范围稳定性好、操作方便、体积小、 耗电少等。 信号发生器与其它相比还具有如下优点:较分立元件信号发生器而言,具有频率高, 工作稳定,容易调试等特性;较专用 DDS 芯片的信号发生器而言,具有结构简单,成 本低等特性。 XXXX大学本科生毕业设计(论文) - 2 - 第一章 系统设计 1.1 系统方案的比较 方案一:采用函数信号发生器 ICL8038 集成模拟芯片,(如图 2-1)它是一种可以同 时产生方波、三角波、正弦波的专用集成电路。但是这种模块产生的波形都不是纯净的 波形,会寄生一些高次谐波分量,采用其他的措施虽可滤除一些,但不能完全滤除掉。 方案二:采用分立元件实现非稳态的多谐振振荡器,然后根据需要加入积分电路等 构成正弦、矩形、三角等波形发生器。这种信号发生器输出频率范围窄,而且电路参数 设定较繁琐,其频率大小的测量往往需要通过硬件电路的切换来实现,操作不方便。 方案三:采用单片机和 DAC0832 数模转换器生成波形,由于是软件滤波,所以不 会有寄生的高次谐波分量,生成的波形比较纯净。它的特点是价格低、性能高,在低频 范围内稳定性好、操作方便、体积小、耗电少。 经比较,方案三既可满足毕业设计的基本要求又能充分发挥其优势,电路简单,易 控制,性价比较高,所以采用该方案。 1.2 控制芯片的选择 方案一:AT89S52 单片机是一种高性能 8位单片微型计算机。它把构成计算机的中 央处理器 CPU、存储器、寄存器、I/O 接口制作在一块集成电路芯片中,从而构成较为 完整的计算机。 方案二:C8051F005 单片机是完全集成的混合信号系统级芯片,具有与 AT80S52 兼容的微控制器的内核,与 MCS-51 指令集完全兼容。除了具有 AT80S52 的数字 外设部件之外,片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及 功能部件。 方案选择:方案二中 C8051F005 芯片系统内部结构复杂,不易控制,芯片成本高, 对于本系统而言利用率低,AT89S52 芯片比较常用,简单易控制,成本低,性能稳定故 采用方案一。 XXXX大学本科生毕业设计(论文) - 3 - 第二章 系统硬件设计 2.1 基本原理 系统框图如图 2.1所示 图 2.1低频信号发生器系统框图 低频信号发生器系统主要由 CPU、D/A 转换电路、基准电压电路、电流/电压转换 电路、按键和波形指示电路、电源等电路组成。 其工作原理为当分别按下四个按键中的任一个按键就会分别出现方波、锯齿波、三 角波、正弦波,并且有四个发光二极管分别作为不同的波形指示灯。 2.2 单片机介绍及资源分配 2.2.1 单片机的介绍 (1)AT89S52 的引脚图如图 2.2所示 波形指示 按键 单片机 数模转换 电流、电压转换 输出 电源 XXXX大学本科生毕业设计(论文) - 4 - EA/VP 31 X1 19 X2 18 RESET 9 RD 17 WR 16 INT0 12 INT1 13 T0 14 T1 15 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE/P 30 TXD 11 RXD 10 U1 AT89S52 VCC RST 图 2.2 AT89S52 引脚图 (2)管脚说明 低频信号发生器采用 AT89S52 单片机作为控制核心,其内部组成 包括:一个 8 位的微处理器 CPU 及片内振荡器和时钟产生电路,但石英晶体和微调电 容需要外接;片内数据存储器 RAM低 128字节,存放读/写数据;高 128 字节被特殊功 能寄存器占用;片内程序存储器 4KB ROM;四个 8位并行 I/O(输入/输出)接口 P3 -P0, 每个口可以用作输入,也可以用作输出;两个定时/计数器,每个定时/计数器都可以设 置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或 定时的结果实现计算机控制;五个中断源的中断控制系统;一个全双工 UART(通用异 步接收发送器)的串行 I/O口。 VCC:供电电压。 GND:接地。 RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位 字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率 周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或 用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE脉冲。 如想禁止 ALE的输出可在 SFR8EH地址上置 0。此时, ALE只有在执行 MOVX,MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE 禁止,置位无效。 XXXX大学本科生毕业设计(论文) - 5 - /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周 期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不 管是否有内部程序存储器。注意加密方式 1时,/EA将内部锁定为 RESET;当/EA端保 持高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V编程 电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 89S52 单片机外部有 32个端口可供用户使用,其功能如下: 表 2.1 89S52 并行 I/O 接口 端口 引 脚 位 置 第一功能 第二功能 符号 功能 符号 功能 P0 39-32 P0.0-P0.7 通用 I/0口 AD0-AD7 地址数据总线 P1 1-8 P1.0-P1.7 通用 I/0口 P2 21-28 P2.0-P2.7 通用 I/0口 A8-A15 地址总线(高位) P3 10 P3.0 通用 I/0口 RXD 串行通信发送口 11 P3.1 TXD 串行通信接收口 12 P3.2 INT0 外部中断 0 13 P3.3 INT1 外部中断 1 14 P3.4 T0 计数器 0输入端口 15 P3.5 T1 计数器 1输入端口 16 P3.6 WR 外部存储器写功能 17 P3.7 RD 外部存储器读功能 P0口:P0口为一个 8位漏级开路双向 I/O 口,每脚可吸收 8TTL门电流。当 P1口 的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以 被定义为数据/地址的第八位。在 FIASH 编程时,P0 口作为原码输入口,当 FIASH 进 行校验时,P0输出原码,此时 P0外部必须被拉高。 P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL门电流。P1口管脚写入 1后,被内部上拉为高,可用作输入,P1口被外部下拉为 低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时,P1口作 为第八位地址接收。 P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4 个 TTL门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此 作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口 当用于外部程序存储器或 16位地址外部数据存储器进行存取时,P2口输出地址的高八 位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写 时,P2口输出其特殊功能寄存器的内容。P2口在 FLASH 编程和校验时接收高八位地址 XXXX大学本科生毕业设计(论文) - 6 - 信号和控制信号。 P3口:P3口管脚是 8个带内部上拉电阻的双向 I/O口,可接收输出 4个 TTL门电 流。当 P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部 下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为 AT89C51 的一些特殊功能口,如下所示: 口管脚 备选功能 P3.0 RXD(串行输入通道) P3.1 TXD(串行输出通道) P3.2 /INT0(外中断 0) P3.3 /INT1(外中断 1) P3.4 T0(定时器 0 外部输入) P3.5 T1(定时器 1 外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) (3)AT89S52的晶振及其连接方法 CPU 工作时都必须有一个时钟脉冲。有两种 方式可以向 89S52 提供时钟脉冲:一是外部时钟方式,即使用外部电路向 89S52 提供时 钟脉冲,见图 2.3(a);二是内部时钟方式,即使用晶振由 89S52 内部电路产生时钟脉冲。 一般常用第二种方法,其电路见图 2.3(b)。 图 2.3 89S52 的时钟脉冲 J 一般为石英晶体,其频率由系统需要和器件决定,在频率稳定度要求不高时也可 以使用陶瓷滤波器。一般来说,使用石英晶体时,C1=C2=30pF。使用陶瓷滤波器时, C1=C2=47pF。 (4)AT89S52 的复位 复位是单片机的初始化操作,其主要的作用是把 PC 初始 化为 0000H,使单片机从 0000H单元开始执行程序。除了进入系统的正常初始化之外, 当由于程序运行出错或操作失误使系统处于死锁状态时,为摆脱困境,也需要按复位键 以重新启动。除使 PC 归零外,复位操作还对其他一些专用寄存器有影响,它们的复位 89S52 XTAL2 XTAL1 89S52 XTAL2 XTAL1 悬空 外部时钟 信号 C1 C2 J (a)外部时钟方式 (b)内部时钟方式 XXXX大学本科生毕业设计(论文) - 7 - 状态如表 2.2所示。 表 2.2 复位后的内部寄存器状态 寄存器 复位状态 寄存器 复位状态 PC 0000H TMOD 00H ACC 00H TCON 00H B 00H TH0 00H PSW 00H TL0 00H SP 07H TH1 00H DPTR 0000H TL1 00H P0-P3 0FFH SCON 00H IP (xxx00000) SBUF (xxxxxxxx) IE (0xx00000) PCON (0xxx0000) 另外,复位操作还对单片机的个别引脚有影响,例如会把 ALE 和/PSEN 变成无效 状态,即使 ALE=0,/PSEN=1.RST 变成低电平后,退出复位状态,CPU 从初始状态开 始工作。 89S52 复位操作有 3种方式:上电复位、上电按钮复位和系统复位。上电复位电路 如图 2.4 所示。对于 CMOS 型单片机因 RST 引脚的内部有一个拉低电阻,故电阻 R 可 不接。单片机在上电瞬间,RC 电路充电,RST 引脚端出现正脉冲,只要 RST 端保持两 个机器周期以上的高电平,就能使单片机有效地复位。当晶体振荡频率为 12MHz 时, RC 的典型值为 C=10uF,R=8.2K 欧姆。简单复位电路中,干扰信号易串入复位端,可 能会引起内部某些寄存器错误复位,这时可在 RST 引脚上接一去耦电容。 通常因为系统运行等的需要,常常需要人工按钮复位,复位电路如图 2.5 所示,其 中 R2>>R1,只需将一个常开按钮开关并联于上电复位电路,按下开关一定时间就能使 RST 引脚端为高电平,从而使单片机复位。 图 2.4 上电复位电路 图 2.5 上电按钮复位电路 2.2.2 资源分配 晶振采用 12MHZ。P1 口的 P1.0-P1.3 分别与四个按键连接,分别控制锯齿波、三角 波、正弦波和方波,P1.4-P1.7 与四个发光二极管相连,按键一对应发光二极管一,依次 类推,发光二极管四对应按键四,实现输出一个波形对应亮一个灯。 RST 89S52 RST 89S52 +5V C R +5V R1 R2 C XXXX大学本科生毕业设计(论文) - 8 - P0口与 DAC0832 的 D0-D7数据输入端相连。 P2口用来控制 DAC0832 的输入寄存器选择信号/CS 和数据传送信号/XFER。 2.3 各部分电路原理 2.3.1 DAC0832芯片原理 管脚功能介绍(如图 2.6所示) V cc 2 0 Iout1 11 lsbDI0 7 Iout2 12 DI1 6 DI2 5 Rfb 9 DI3 4 DI4 16 Vref 8 DI5 15 DI6 14 msbDI7 13 ILE 19 WR2 18 CS 1 WR1 2 Xfer 17 U2DAC0832 图 2.6 DAC0832管脚图 DI7~DI0:8位的数据输入端,DI7为最高位。 ILE:数据锁存允许控制信号输入线,高电平有效。 /CS:选片信号输入线(选通数据锁存器),低电平有效。 /WR1:数据锁存器写选选通输入线,负脉冲有效,由 ILE、/CS、/WR1 的逻辑组 合产生/LE1,当/LE1 为高电平时,数据锁存器状态随输入数据线变化,/LE1 的负跳变 时将输入数据锁存。 /XFER:数据传输控制信号输入线,低电平有效,负脉冲有效。 /WR2:DAC 寄存器选通输入线,负脉冲有效,由/WR2、/XFER 的逻辑组合产生/LE2, 当/LE2为高电平时,DAC 寄存器的输出随寄存器的输入而变化,/LE2的负跳变时将数 据锁存器的内容打入 DAC 寄存器并开始 D/A转换。 IOUT1:模拟电流输出端 1,当 DAC寄存器中数据全为 1时,输出电流最大,当 DAC 寄存器中数据全为 0时,输出电流为 0。 IOUT2:模拟电流输出端 2, IOUT2与 IOUT1 的和为一个常数,即 IOUT1+IOUT2 =常数。 RFB:反馈电阻引出端,DAC0832 内部已经有反馈电阻,所以 RFB端可以直接接 到外部运算放大器的输出端,这样相当于将一个反馈电阻接在运算放大器的输出端和输 入端之间。 XXXX大学本科生毕业设计(论文) - 9 - VREF:参考电压输入端,此端可接一个正电压,也可接一个负电压,它决定 0 至 255 的数字量转化出来的模拟量电压值的幅度,VREF 范围为(+10~-10)V。VREF 端与 D/A内部 T形电阻网络相连。 Vcc:芯片供电电压,范围为(+5~+15)V。 AGND:模拟量地,即模拟电路接地端。 DGND:数字量地。 当WR2 和 XFER 同时有效时,8位 DAC 寄存器端为高电平“1”,此时 DAC 寄存器 的输出端 Q跟随输入端 D也就是输入寄存器 Q端的电平变化;反之,当端为低电平“0” 时,第一级 8位输入寄存器 Q端的状态则锁存到第二级 8位 DAC 寄存器中,以便第三 级 8位 DAC 转换器进行 D/A转换。 一般情况下为了简化接口电路,可以把WR2和 XFER直接接地,使第二级 8位 DAC 寄存器的输入端到输出端直通,只有第一级 8位输入寄存器置成可选通、可锁存的单缓 冲输入方式。 特殊情况下可采用双缓冲输入方式,即把两个寄存器都分别接成受控方 式。 制作低频信号发生器有许多方案:主要有单缓冲方式,双缓冲方式和直通方式。 单缓冲方式具有适用于只有一路模拟信号输出或几路模拟信号非同步输出的情形 的优点,但是电路线路连接比较简单。而双缓冲方式适用于在需要同时输出几路模拟信 号的场合,每一路模拟量输出需一片 DAC0832 芯片,构成多个 DAC0832 同步输出电路, 程序简单化,但是电路线路连接比较复杂。根据以上,我选择了单缓冲方式使用方 便,程序简单,易操作。 这里我采用 DAC0832 与单片机 89S52 的典型的单缓冲方式接口电路。ILE 接高电 平,/WR1 和/WR2 相连后接 89S52 的/WR,/CS 和/XFER 相连后接 89S52 的地址高位, 这样就同时片选了 DAC0832 的数据锁存器和 DAC 寄存器,89S52 对 DAC0832 执行一 次写操作就把一个数据写入数据锁存器的同时也直接写入到了 DAC 寄存器,模拟量输 出随之变化。 DAC0832 的输出是电流,使用运算放大器可以将其电流输出线性地转换成电压输 出。根据运算放大器和 DAC0832 的连接方法,运算放大器的输出可以分为单极性和双 极性两种。这里我采用双极性方式(如图 2.7所示)。 XXXX大学本科生毕业设计(论文) - 10 - V c c 2 0 Iout1 11 lsbDI0 7 Iout2 12 DI1 6 DI2 5 Rfb 9 DI3 4 DI4 16 Vref 8 DI5 15 DI6 14 msbDI7 13 ILE 19 WR2 18 CS 1 WR1 2 Xfer 17 U2DAC0832 3 2 1 8 4 U3A NE4558 5 6 7 U3B NE4558 VCC R7 7.5K R5 15K R6 15K VCC 图 2.7 DAC0832双极性电压输出电路 2.3.2 NE4558 工作原理 3 2 1 8 4 U 3 A N E 4 5 5 8 图 2.8 NE4558 引脚图 图 2.9 NE4558 运放引脚图 4558 是一片双运放,带内部补偿电路。极好的通道分离特性允许在单运放应用中 使用双运放器件,从而提供了最高的封装密度。他的内部包含两组形式完全相同的运算 放大器,除电源共用外,两组运放相互独立。每一组运算放大器可用图 2.9所示的符号 来表示,它有 5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源 端,“OUT”为输出端。两个信号输入端中,“-”为反相输入端,表示运放输出端 OUT的 信号与该输入端的为相反;“+”为同相输入端,表示运放输出端 OUT的信号与输入端的 相位相同。 AOUT:放大信号输出(1)。 AIN-:反相信号输入(1)。 AIN+:同相信号输入(1)。 GND:接地。 BIN+:同相信号输入(2)。 BIN-:反相信号输入(2)。 XXXX大学本科生毕业设计(论文) - 11 - BOUT2:放大信号输出(2)。 Vcc:电源。 4558特性有很多,2MHz 单位增益带宽保证,NE4558 的电源电压为 ±18v,具备 短路保护功能,无需频率补偿,无闩锁效应,宽广的共模和差动电压范围,低功耗。因 此被广泛运用在各种电路中。 2.3.3 键盘电路原理 在单片机应用系统中为了控制系统的工作状态,以及向系统输入数据,应用系统应 设有按键或键盘,实现简单的人机会话。键盘是一组按键的组合,键通常是一种常开型 按钮开关,平时键的两个出点处于断开状态,按下键时他们才闭合。从键盘的结构来分 类,键盘可以分为独立式和矩阵式两类,每一类按其识别方法又都可以分为编码和未编 码键盘两种。键盘上闭合键的识别由专门的硬件译码器实现并产生编号或键值的称为编 码键盘,由软件识别的称未编码键盘。在由单片机组成的测控系统及智能化仪器中,用 得较多的是未编码键盘,我这里也使用未编码键盘。 未编码键盘又分为独立式键盘跟矩阵式键盘。 (1)独立式未编码键盘结构的工作原理及接口 在单片机应用系统中常常需要简 单的几个键完成数据、命令的输入,此时可采用独立式键盘的结构。其接口如图 2.10 所示。此接口电路的工作原理很简单,无键按下时,各输入线为高电平;有键按下时, 相应的输入线为低电平,CPU查询此输入口的状态就可知是哪个键闭合。采用一键一线 的方法,当按键的数目增加时,将增加输入口的数量,为了减少占用输入线数,可采用 矩阵式结构的键盘。 图 2.10 独立式未编码键盘 (2)矩阵式未编码键盘结构的工作原理 如图 2.11所示是 4*4的键盘接口,它是 矩阵式的结构。图中键盘的行线(X0~X3)与列线(Y0~Y3)的交叉处通过一个按键来 联通,行线通过电阻接+5V,当键盘上没有键闭合时所有的行线和列线都断开,则行线 +5V XXXX大学本科生毕业设计(论文) - 12 - 都呈高电平。当键盘上某一个键闭合时,则该键所对应的行线和列线被短路。例如:6 号键被按下闭合时,行线 X1和列线 Y2被短路,此时 X1的电平由 Y2 的电位所决定。 如果把行线接到单片机的输入口,列线接到单片机的输出口,则在单片机的控制下,先 使列线 Y0为低电平,其余三根列线 Y1、Y2、Y3都为高电平,读行线状态。如果 X0、 X1、X2、X3、都为高电平,则 Y0 这一列上没有键合。如果读出的行线状态不全为高 电平,则为低电平的行线和 Y0 相交的键处于闭合状态。如果 Y0 这一列上没有键合, 接着使列线 Y1 为低电平,其余列线为高电平,用同样方法检查 Y1 这一列上有无键闭 合。依此类推,最后使列线 Y3 为低电平,其余的列线为高电平,检查 Y3 这一列上是 否有键闭合。这种逐行逐列地检查键盘状态的过程称为对键盘的一次扫描。CPU对键盘 扫描可以采取程序控制的随机方式,CPU空闲时扫描键盘;也可以采取定时控制方式, 每隔一定时间,CPU 对键盘扫描一次,CPU 可随时响应键盘输入请求;还可以采用中 断方式,当键盘上有键闭合时,向 CPU 请求中断,CPU 响应键盘输入中断,对键盘扫 描,以识别哪一个键处于闭合状态,并对键输入信息作出相应处理。CPU 对键盘上闭合 键的键号确定,可以根据行线和列线的状态计算求得,也可以根据行线和列线状态查表 求得。 图 2.11 4*4矩阵式未编码键盘结构图 根据我设计的电路特点,只需要用到 4个按钮来选择波形,实现的功能也比较简单, 所以我采用独立式未编码键盘结构。键盘原理图如图 2.12所示。 X3 X2 X1 X0 Y0 Y1 Y2 Y3 12 8 4 0 13 9 5 1 14 10 6 2 15 11 7 3 +5V XXXX大学本科生毕业设计(论文) - 13 - S1 SW-PB S2 SW-PB S3 SW-PB S4 SW-PB R4 1K R3 1K R2 1K R1 1K VCC 图 2.12 键盘原理图 2.3.4 LED 显示电路原理 在这里使用的是发光二极管,发光二极管通常用砷化镓、磷化镓等所制成的。当这 种管子通以电流时将发出光来,这是由于电子与空穴直接复合而放出的能量的结果。当 PN 结处加以一个适当的正电压时,此管即导通,也就会发光。这样我们就能知道我们 所需要了解的信息,在此设计中发光二极管通过软件的控制显示波形种类。LED电路图 如图 2.13所示。 D1 LED D2 LED D3 LED D4 LED R10 1K R11 1K R12 1K R13 1K VCC 图 2.13 LED 电路图 4个 LED的负极分别接 P1.4~P1.7,当 P1口高 4位任意一个为低电平时,其对应的 LED就会导通,从而发光,通过程序的控制可以设计波形类型的显示。 XXXX大学本科生毕业设计(论文) - 14 - 第三章 系统软件设计 软件设计上,根据功能分了几个模块编程。模块主要有:主程序模块、锯齿波模块、 三角波模块、正弦波模块、方波模块、延时子程序模块等。 显示波形模块是利用 DAC0832 的 8 位特点,把波形的数据以 8 位数据的形势送进 CPU中,只要一按键就能显示波形。 3.1主程序流程图 如图 3.1所示 图 3.1主程序流程图 本软件设计过程中主要实现利用按键来控制不同波形的输出,当按键 1按下时,函 数发生器就输出锯齿波;当按键 2按下时,函数发生器就输出三角波;当按键 3按下时, 函数发生器就输出正弦波;当按键 4按下时,函数发生器就输出方波。通过按键可以以 任意循环方式输出不同波形。 开始 Key1 按下了吗? 输出锯齿波 输出三角波 输出正弦波 输出方波 Key2 按下了吗? Key3 按下了吗? Key4 按下了吗? Y Y Y Y N N N N XXXX大学本科生毕业设计(论文) - 15 - 3.2子程序流程图 锯齿波流程图如图 3.2所示。 图 3.2 锯齿波流程图 锯齿波产生将 00H 送入寄存器 A中,DAC0832 输出 A中的内容,当 A中的内容等 于 FFH返回开始,当 A 中的内容不为 FFH 时,A中的内容累加,从而输出波形。 锯齿波产生子程序如下: SANTOO: MOV A ,#00H MOV DPTR,#7FFFH LLOOP: MOVX @DPTR,A INC A ; CJNE A,FFH,LLOOP RET A=00H A 送到 0832输出 A=A+1 开始 A=FFH? Y N XXXX大学本科生毕业设计(论文) - 16 - 三角波流程图如图 3.3所示 图 3.3 三角波流程图 三角波产生通过 A 中数值的加一递升,当 A中的内容加到为 0时, A中的内容减 一递减,从而循环产生三角波。 三角波产生子程序如下: TRIAN :MOV A ,#00H MOV DPTR,#7FFFH UP: MOVX @DPTR,A INC A JNZ UP DOWN: DEC A MOVX @DPTR,A JNZ DOWN RET 正弦波程序流程图如图 3.4所示 开始 A=00H A 送到 0832输出 A=A+1 A=00H? A=A-1 A 送到 0832输出 A=00H? N Y Y N XXXX大学本科生毕业设计(论文) - 17 - 图 3.4 正弦波程序流程图 正弦波波形设计通过查表指令得出。其产生子程序如下: SINE: MOV DPTR1,#sinTab MOV DPTR,#7FFFH LOOP: CLR A MOVC A,@A+DPTR1 CJNE A,#129,LOOP1 RET LOOP1: MOVX @DPTR,A INC DPTR1 AJMP LOOP sinTab:DB 128,132,137,141,146,150,154,159,163,167 DB 171,176,180,184,188,191,195,199,203,206 DB 210,213,216,219,222,225,228,231,233,236 DB 238,240,242,244,246,247,249,250,251,252 DB 253,254,254,255,255,255,255,255,254,254 DB 253,252,251,250,249,247,246,244,242,240 DB 238,236,233,231,228,225,222,219,216,213 DB 210,206,203,198,195,192,188,184,180,176 DB 172,167,163,159,155,150,146,141,137,133 DB 128,124,119,115,111,106,102,97,93,89,85 DB 81,77,73,69,65,61,57,54,50,47,43,40,37 DB 34,31,28,25,23,20,18,16,14,12,10,9,7 DB 6,5,4,3,2,2,1,1,1,1,1,2,2,3,4,5,6 开始 A=00H A=129? DPTR1=DPTR1+1 A=正弦函数表数据 A 送到 0832输出 Y N XXXX大学本科生毕业设计(论文) - 18 - DB 7,9,10,12,14,16,18,20,23,25,28,30,33,36 DB 40,43,46,50,53,57,60,64,68,72,76,80,84 DB 88,93,97,101,106,110,114,119,123,128,129 方波程序流程图如图 3.5所示 XXXX大学本科生毕业设计(论文) - 19 - 图 3.5 方波程序流程图 方波产生是当 A 中的内容为 0 时,输出对应模拟量,然后延时,当 A 中的内容为 0FFH时,同样输出对应模拟量,再延时,从而得到方波。 方波产生子程序如下: SQUN:MOV DPTR,#7FFFH MOV A ,#0FFH MOVX @DPTR,A
/
本文档为【基于单片机的智能信号发生器,超完整】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索