已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕毕 业业 学位 学位 论论 文文 2011 届本科 届本科 题题 目 目 系 部 院 系 部 院 专专 业 业 作作者者姓姓名名 指指导导教教师师 完完成成日日期期 河西学院本科生毕业论文 设计 诚信声明 本人郑重声明 所呈交的本科毕业论文 是本人在指导老师的指 导下 独立进行研究工作所取得的成果 成果不存在知识产权争议 除文中已经注明引用的内容外 本论文不含任何其他个人或集体已经 发表或撰写过的作品成果 对本文的研究做出重要贡献的个人和集体 均已在文中以明确方式标明 本人完全意识到本声明的法律结果由本 人承担 本科毕业论文 设计 作者签名 二 一一年五月二十 六日 I 目目 录录 摘摘 要要 1 ABSTRACT 1 正正 文文 2 1 绪绪 论论 2 1 1 信号发生器现状 2 1 2 单片机在低频信号发生器中的应用 2 2 系统设计系统设计 3 2 1 系统方案的比较 3 2 1 1 选题论证 3 2 1 2 方案选择 4 2 2 芯片选择模块 4 3 硬件电路的设计硬件电路的设计 5 3 1 系统框图 5 3 2 资源分配 5 3 3 最小单片机系统设计 6 3 4 各部分电路原理 10 3 4 1 DAC0832 芯片原理 10 3 4 2LM324 工作原理 13 3 5 电路原理 14 4 软件设计软件设计 14 4 1 主程序流程图 15 4 2 方波程序流程图 16 4 3 锯齿波程序流程图 17 4 4 正弦波程序流程图 17 5 仿真结果仿真结果 18 6 测试结论测试结论 20 7 结束语结束语 22 参参 考考 文文 献献 23 附附 录录 24 致致 谢谢 32 文献综述文献综述 33 河西学院本科生毕业论文 设计 题目审批表河西学院本科生毕业论文 设计 题目审批表 36 河西学院本科生毕业论文 设计 任务书河西学院本科生毕业论文 设计 任务书 37 河西学院本科毕业论文 设计 开题报告河西学院本科毕业论文 设计 开题报告 39 II 河西学院物电系指导教师指导毕业论文情况登记表河西学院物电系指导教师指导毕业论文情况登记表 41 河西学院毕业论文 设计 指导教师评审表河西学院毕业论文 设计 指导教师评审表 42 河西学院本科生毕业论文 设计 答辩记录表河西学院本科生毕业论文 设计 答辩记录表 43 1 基于 AT89S51 低频信号发生器的设计与实现 摘 要 本信号发生器的设计采用 AT89S51 单片机作为控制核心 外围采用数字 模拟转 换电路 DAC0832 运放电路 LM324 按键和 LED 显示灯电路 由 AT89S51 单 片机和一片 DAC0832 数模转换器组成数字式低频信号发生器 由于采用了 LM324 运 算放大器 使其电路更加具有较高的稳定性能 性能比高 此电路清晰 出现故障容 易查找 操作简单 方便 本设计能够产生方波 锯齿波 正弦波 并且所产生的波 形在一定的幅频范围内可调 波形准确并且平滑 本系统设计简单 性能优良 具有一 定的实用性 关键词 关键词 AT89S51 低频信号 发生器 运放器 ABSTRACT This signal generator is designed using AT89S51 as control core and periphery using digital analog converter circuit DAC0832 operational amplifier circuits LM324 button and LED indicator light circuit AT89S51 and a DAC0832 digital to analog converter component of low frequency signal generator consisting digital As a result of the LM324 operational amplifier to the circuit more stable high performance high performance ratio This circuit is clear easy to find failure error simple and convenient This design can produce square wave saw tooth wave sine wave and produces waveform in a certain amplitude and frequency range is adjustable waveform also accurate and smooth The system is designed to be simple excellent performance with a certain degree of practicality Key words AT89S51 The low frequency signals Generator Op amp device 2 正 文 1 绪 论 1 1 信号发生器现状 信号发生器作为一种常见的应用电子仪器设备 传统的可以完全由硬件电路搭接而成 如采用 555 振荡电路发生正弦波 三角波和方波的电路便是可取的路径之一 不用依靠单 片机 但是这种电路存在波形质量差 控制难 可调范围小 电路复杂和体积大等缺点 在科学研究和生产实践中 如工业过程控制 生物医学 地震模拟机械振动等领域常常要 用到低频信号源 而由硬件电路构成的低频信号其性能难以令人满意 而且由于低频信号 源所需的 RC 很大 大电阻 大电容在制作上有困难 参数的精度亦难以保证 体积大 漏电 损耗显著更是其致命的弱点 一旦工作需求功能有增加 则电路复杂程度会大大增 加 1 2 单片机在低频信号发生器中的应用 当今是科学技术及仪器设备高度智能化飞速发展的信息社会 电子技术的进步 给人 们带来了根本性的转变 现代电子领域中 单片机的应用正在不断的走向深入 这必将导 致传统控制与检测技术的日益革新 单片机构成的仪器具有高可靠性 高性能价格比 在 智能仪表系统和办公自动化等诸多领域得以极为广泛的应用 并走入家庭 从洗衣机 微 波炉到音响汽车 处处可见其应用 因此 单片机技术开发和应用水平已逐步成为一个国 家工业发展水平的标志之一 一块单片机芯片就是一台计算机 由于单片机这种特殊的结构形式 在某些应用领域 中 它承担了大中型计算机和通用微型计算机无法完成的一些工作 使其具有很多显著的 优点和特点 因此在各个领域中都得到了迅猛的发展 单片机的特点归纳起来有以下几个 方面 1 具有优异的性能价格比 单片机尽可能地把应用所需的存储器 各种功能的 I O 接口集成在一块芯片内 因而其 性能很高 而价格却相对较低廉 即性能价格比很高 3 2 控制功能强 单片机体积虽小 但 五脏俱全 它非常适用于专门的控制用途 为了满足工业控制 要求 一般单片机的指令系统中有极丰富的转移指令 I O 口的逻辑操作指令以及位操作 指令 其逻辑控制功能及运行速度均高于同一档次的微机 3 集成度高 体积小 可靠性高 单片机把各种功能部件集成在一块芯片上 因而集成度高 均为大规模或超大规模集 成电路 又内部采用总线结构 减少了芯片之间的连线 这大大提高了单片机的可靠性与 抗干扰能力 同时 其体积小 对于强磁场环境易于采取屏蔽措施 适合于在恶劣环境下 工作 4 低电压 低功耗 单片机大量用于携带式产品和家用消费类产品 低电压和低功耗尤为重要 目前 许 多单片机已可在 2 2V 电压下运行 有的已能在 1 2V 或 0 9V 下工作 功耗降至 A 级 一粒 钮扣电池就可长期使用 利用单片机采用程序设计方法来产生低频信号 其下限频率很低 具有线路相对简单 结构紧凑 价格低廉 频率稳定度高 抗干扰能力强 用途广泛等优点 并且能够对波形 进行细微调整 改良波形 使其满足系统的要求 只要对电路稍加修改 调整程序 即可 完成功能升级 本文采用 AT89S51 单片机和一片 DAC0832 数模转换器做成的数字式低频信号发生器 它的特点是价格低 性能高 在低频范围稳定性好 操作方便 体积小 耗电少等 信号发生器与其它相比还具有如下优点 较分立元件信号发生器而言 具有频率高 工作稳定 容易调试等特性 较专用 DDS 芯片的信号发生器而言 具有结构简单 成 本低等特性 2 系统设计 2 1 系统方案的比较 2 1 1 选题论证 制作低频信号发生器可以用一片 DAC0832 来实现 它可以分为单极性和双极性 而 本项目选择了单片双极性 之所以选单片双极性是因为其精度高 滤波好 抗干扰效果好 4 2 1 2 方案选择 方案一 AT89S51 芯片中每一路模拟输出与 DAC0832 芯片相连 构成多个 DAC0832 同步输出电路 输出波形稳定 精度高 但是第二级 DAC0832 输出 发生错误 并且电路连接复杂 方案二 AT89S51 芯片中只有一路模拟输出或几路模拟信号非同步输出 这种情况 下 CPU 对 DAC0832 执行一次写操作 则把一个数据直接写入 DAC 寄存器 DAC0832 的 输出模拟信号随之对应变化 输出波形稳定 精度高 滤波好 抗干扰效果好 连接简单 性价比高 因此我们设计中采用方案二 2 2 芯片选择模块 方案一 AT89S51 单片机是一种高性能 8 位单片微型计算机 它把构成计算机的中央 处理器 CPU 存储器 寄存器 I O 接口制作在一块集成电路芯片中 从而构成较为完整 的计算机 同时 为什么选 AT89S51 而不选用 AT89C51 那是因为 AT89S51 相对于 AT89C51 更强大 AT89S51 增加的新功能包括 性能有了较大提升 价格基本不变 甚至比 89C51 更低 ISP 在线编程功能 这个功能的优势在于改写单片机存储器内的程序不需要把芯片从 工作环境中剥离 是一个强大易用的功能 最高工作频率为 33MHz 大家都知道 89C51 的极限工作频率是 24M 就是说 89S51 具有更高的工作频率 从而具有了更快的计算速度 具有双工串行通道 内部集成看门狗计时器 不再需要像 89C51 那样外接看门狗计时器单元电路 双数据指示器 电源关闭标识 全新的加密算法 这使得对于 89S51 的解密变为不可能 程序的保密性大大加强 这 样就可以有效的保护知识产权不被侵犯 兼容性方面 向下完全兼容 51 全部子系列产品 比如 8051 89C51 等等早期 MCS 51 兼容产品 也就是说所有教科书 网络教程上的程序 不论教科书上采用的单片机是 8051 89C51 还是 MCS 51 在 89S51 上一样可以照常运行 这就是所谓的向下兼容 方案二 C8051F005 单片机是完全集成的混合信号系统级芯片 具有与 AT89S51 兼容 5 的微控制器的内核 与 MCS 51 指令集完全兼容 除了具有标准 AT89S51 的数字外设部件 之外 片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件 方案选择 方案二中 C8051F005 芯片系统内部结构复杂 不易控制 芯片成本高 对 于本系统而言利用率低 AT89S51 芯片简单易控制 成本低 性能稳定 因此采用方案一 3 硬件电路的设计 3 1 系统框图 波形指示 键 盘AT89S51A D 转换电流 电压转换输 出 电 源基准电压 图图 3 1 低频信号发生器系统框图低频信号发生器系统框图 低频信号发生器系统主要由 CPU D A 转换电路 基准电压电路 电流 电压转换电路 按键和波形指示电路 电源等电路组成 3 2 资源分配 软 硬件设计是设计中不可缺少的 为了满足功能和指标的要求 资源分配如下 1 晶振采用 12MHZ 2 内存分配 P2 口与 DAC0832 的 DI0 DI7 数据输入端相连 P2 口用来控制 DAC0832 的输入寄存器选择信号 CS 输入寄存器写选通信号 WR1 及 DAC 寄存器写选通信号 WR2 和数据传送信号 XFER 6 3 3 最小单片机系统设计 1 AT89S51 功能特性概述 AT89S51 是一个低功耗 高性能 CMOS 8 位单片机 片内含 4k Bytes ISP In system programmable 的可反复擦写 1000 次的 Flash 只读程序存储器 器件采用 ATMEL 公司的高密度 非易失性存储技术制造 兼容标准MCS 51 指令系统及 80C51 引脚结构 芯片内集成了通用 8 位中央处理器和 ISP Flash 存储单元 功能强 大的微型计算机的 AT89S51 可为许多嵌入式控制应用系统提供高性价比的解决方案 AT89S51 具有如下特点 40 个引脚 4k Bytes Flash 片内程序存储器 128 bytes 的随机存取数据存储器 RAM 32 个外部双向输入 输出 I O 口 5 个中断优先 级 2 层中断嵌套中断 2 个 16 位可编程定时计数器 2 个全双工串行通信口 看门狗 WDT 电路 片内时钟振荡器 此外 AT89S51 设计和配置了振荡频率可为 0Hz 即零频率的静态逻辑操作 并 可通过软件设置省电模式 空闲模式下 CPU 暂停工作 而 RAM 定时计数器 串行 口 外中断系统可继续工作 掉电模式冻结振荡器而保存RAM 的数据 停止芯片其 它功能直至外中断激活或硬件复位 同时该芯片还具有PDIP TQFP 和 PLCC 等三种 封装形式 以适应不同产品的需求 2 AT89S51 的引脚图和实物图如下图 图图 3 2 AT89S51 的引脚图和实物图的引脚图和实物图 主要特性 4K 字节可编程 FLASH 存储器 寿命 1000 写 擦循环 全静态工作 0Hz 24KHz 三级程序存储器保密锁定 128 8 位内部 RAM 7 32 条可编程 I O 线 两个 16 位定时器 计数器 6 个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 管脚说明 VCC 供电电压 GND 接地 P0 口 P0 口为一个 8 位漏级开路的双向 I O 口 可接收输出 8 个 TTL 门电流 当 P1 口的管脚第一次写 1 时 被定义为高阻输入 P0 能够用于外部程序数据存储器 它可 以被定义为数据 地址的第八位 在 FIASH 编程时 P0 口作为原码输入口 当 FIASH 进 行校验时 P0 输出原码 此时 P0 外部必须被拉高 P1 口 P1 口是一个内部提供上拉电阻的 8 位准双向 I O 口 P1 口缓冲器能接收输 出 4 个 TTL 门电流 P1 口管脚写入 1 后 被内部上拉为高 可用作输入 P1 口被外部下 拉为低电平时 将输出电流 这是由于内部上拉的缘故 在 FLASH 编程和校验时 P1 口 作为第八位地址接收 P2 口 P2 口为一个内部上拉电阻的 8 位准双向 I O 口 P2 口缓冲器可接收 输出 4 个 TTL 门电流 当 P2 口被写 1 时 其管脚被内部上拉电阻拉高 且作为输入 并因此 作为输入时 P2 口的管脚被外部拉低 将输出电流 这是由于内部上拉的缘故 P2 口当 用于外部程序存储器或 16 位地址外部数据存储器进行存取时 P2 口输出地址的高八位 在给出地址 1 时 它利用内部上拉优势 当对外部八位地址数据存储器进行读写时 P2 口输出其特殊功能寄存器的内容 P2 口在 FLASH 编程和校验时接收高八位地址信号和控 制信号 P3 口 P3 口管脚是 8 个带内部上拉电阻的准双向 I O 口 可接收输出 4 个 TTL 门 电流 当 P3 口写入 1 后 它们被内部上拉为高电平 并用作输入 作为输入 由于外部 下拉为低电平 P3 口将输出电流 ILL 这是由于上拉的缘故 P3 除了作为普通 I O 口 8 还有第二功能如下表 表表 3 1 端口引脚图端口引脚图 P3 口同时为闪烁编程和编程校验接收一些控制信号 I O 口作为输入口时有两种工作方式 即所谓的读端口与读引脚 读端口时实际上 并不从外部读入数据 而是把端口锁存器的内容读入到内部总线 经过某种运算或变换 后再写回到端口锁存器 只有读端口时才真正地把外部的数据读入到内部总线 89C51的 P0 P1 P2 P3口作为输入时都是准双向口 除了P1口外 P0 P2 P3口都 还有其他的功能 RST 复位输入 当振荡器工作时 要保持RST 脚两个机器周期的高电平时间 ALE PROG 当访问外部存储器时 地址锁存允许的输出电平用于锁存地址的 低位字节 在 FLASH 编程期间 此引脚用于输入编程脉冲 在平时 ALE 端以不变 的频率和周期输出正脉冲信号 此频率为振荡器频率的1 6 因此它可用作对外部输 出的脉冲或用于定时 然而要注意的是 每当用作外部数据存储器时 将跳过一个 ALE 脉冲 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0 此时 ALE 只有在执行 MOVX MOVC 指令是 ALE 才起作用 另外 该引脚被略微拉高 如果微处理器在外 部执行状态 ALE 禁止 置位无效 PSEN 外部程序存储器的选通信号 低电平有效 在从片外程序存储器取指期 间 在每个机器周期中 当 PSEN 有效时 程序存储器的内容被送上P0 口 数据总线 PSEN 可以驱动 8 个 TTL 负载 EA VPP 当 EA 保持低电平时 则在此期间外部程序存储器 0000H 端口引脚第二功能 P3 0 RXD 串行输入口 P3 1 TXD 串行输出口 P3 2 INT0 外中断 0 的请求 P3 3 INT1 外中断 1 的请求 P3 4 T0 定时 计数器 0 外部计数脉冲输入 P3 5 T1 定时 计数器外部计数脉冲输入 P3 6 WR 外部数据存储器写选通 P3 7 RD 外部数据存储器读选通 9 FFFFH 不管是否有内部程序存储器 注意加密方式1 时 EA 将内部锁定为 RESET 当 EA 端保持高电平时 此间内部程序存储器 在FLASH 编程期间 此引 脚也用于施加 12V 编程电源 VPP XTAL1 反向振荡放大器的输入及内部时钟工作电路的输入 XTAL2 来自反向振荡器的输出 3 AT89S51 的晶振及其连接方法 CPU 工作时都必须有一个时钟脉冲 有两种方式可以向 89S51 提供时钟脉冲 一是外 部时钟方式 即使用外部电路向 89S51 提供始终脉冲 见图 3 3 a 二是内部时钟方式 即使用晶振由 89S51 内部电路产生时钟脉冲 一般常用第二种方法 其电路见图 3 3 b 图图 3 3 89S51 的时钟脉冲的时钟脉冲 图 3 3 b 中 J 一般为石英晶体 其频率由系统需要和器件决定 在频率稳定度要求 不高时也可以使用陶瓷滤波器 C1 C2 使用石英晶体时 C1 C2 30 10 pF 使用陶瓷滤波器时 C1 C2 40 10 pF 4 AT89S51 的复位 使 CPU 开始工作的方法就是给 CPU 一个复位信号 CPU 收到复位信号后将内部特殊 功能寄存器设置为规定值 并将程序计数器设置为 0000H 复位信号结束后 CPU 从程 序存储器 0000H 处开始执行程序 89S51 为高电平复位 一般有 3 种复位方法 上电复位 通过外部复位电路的电容充电来实现的 手动复位 设置一个复位按钮 当操作者按下按钮时产生一个复位信号 自动复位 设计一个复位电路 当系统满足某一条件时自动产生一个复位信号 图 3 4 为最简单的上电复位和手动复位方法 10 图图 3 4 89S51 的复位电路的复位电路 5 芯片擦除 整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合 并保持 ALE 管 脚处于低电平 10ms 来完成 在芯片擦操作中 代码阵列全被写 1 且在任何非空存储字节 被重复编程以前 该操作必须被执行 此外 AT89S51 设有稳态逻辑 可以在低到零频率的条件下静态逻辑 支持两种软件 可选的掉电模式 在闲置模式下 CPU 停止工作 但 RAM 定时器 计数器 串口和中 断系统仍在工作 在掉电模式下 保存 RAM 的内容并且冻结振荡器 禁止所用其他芯片 功能 直到下一个硬件复位为止 3 4 各部分电路原理 3 4 1 DAC0832 芯片原理 1 管脚功能介绍如图 3 5 所示 89S51 11 图图 3 5 DAC0832 管脚图管脚图 DI7 DI0 8 位的数据输入端 DI7 为最高位 IOUT1 DAC 电流输出端 1 IOUT2 DAC 电流输出端 2 当 DAC 寄存器中数据全为 1 时 输出电流最大 当 DAC 寄存器中数据全为 0 时 输出电流最小 IOUT2与 IOUT1的和为一个常数 即 IOUT1 IOUT2 常数 反馈电阻 固化在芯片中 作为运算放大器分路反馈电阻为 DAC 提供电压 bf R 输出 参考电压输入 此端可接一个正电压 也可接一个负电压 它决定 0 至 255 ref V 的数字量转化出来的模拟量电压值的幅度 范围为 10 10 V 端与 D A 内部 T ref V ref V 形电阻网络相连 VCC 数字电路电源 范围为 5 15 V AGND 3 脚 模拟量地 即模拟电路接地端 DGND 10 脚 数字量地 当 WR2 和 XFER 同时有效时 8 位 DAC 寄存器端为高电平 1 此时 DAC 寄存器的 输出端 Q 跟随输入端 D 也就是输入寄存器 Q 端的电平变化 反之 当端为低电平 0 时 第一级 8 位输入寄存器 Q 端的状态则锁存到第二级 8 位 DAC 寄存器中 以便第三级 8 位 12 DAC 转换器进行 D A 转换 一般情况下为了简化接口电路 可以把输入端和输出端直接接地 使第二级 8 位 DAC 寄存器的输入端到输出端直通 只有第一级 8 位输入寄存器置成可选通 可锁存的单缓冲 输入方式 特殊情况下可采用双缓冲输入方式 即把两个寄存器都分别接成受控方式 制作低频信号发生器有许多方案 主要有单缓冲方式 双缓冲方式和直通方式 单缓冲方式具有适用于只有一路模拟信号输出或几路模拟信号非同步输出的情形的优 点 而且电路线路连接比较简单 而双缓冲方式适用于在需要同时输出几路模拟信号的场 合 每一路模拟量输出需一片 DAC0832 芯片 构成多个 DAC0832 同步输出电路 程序简 单化 但是电路线路连接比较复杂 根据以上分析 我们的课题选择了单缓冲方式使用方 便 程序简单 易操作 2 工作原理 DAC0832 主要由 8 位输入寄存器 8 位 DAC 寄存器 8 位 D A 转换器以及输入控制 电路四部分组成 8 位输入寄存器用于存放主机送来的数字量 使输入数字量得到缓冲和 锁存 8 位 DAC 寄存器用于存放待转换的数字量 8 位 D A 转换器输出与数字量成正比的 模拟电流 由与门 与非门组成的输入控制电路来控制 2 个寄存器的选通或锁存状态 DAC0832 与反相比例放大器相连 实现电流到电压的转换 因此输出模拟信号的极性 与参考电压的极性相反 数字量与模拟量的转换关系为 Vout1 Vref 数字码 256 若 D A 转换器输出为双极性 如图 3 6 所示 Iout1 Iout2 Vfb DAC0832 U1 5 6 7 B 10 9 8 C R2 R R1 2R R3 2R R Vout2 A2 Vref 5V A1A1 Vout1 I1 I2 图图 3 6 D A 转换器双极性输出电路转换器双极性输出电路 13 图 3 6 中 运算放大器 A2的作用是把运算放大器 A1的单向输出电压转换成双向输出 电压 其原理是将 A2的输入端 通过电阻 R1与参考电压 VREF相连 VREF经 R1向 A2提供 一个偏流 I1 其电流方向与 I2相反 因此运算放大器 A2的输入电流为 I1 I2之代数和 则 D A 转换器的总输出电压为 VOUT2 R3 R2 VOUT1 R3 R1 VREF 3 4 1 设 R1 R3 2R R2 R 则 VOUT2 2VOUT1 VREF 3 4 2 DAC0832 主要是用于波形的数据的传送 是本题目电路中的主要芯片 3 4 2LM324 工作原理 图图 3 7 LM324 原理图原理图 管脚图管脚图 LM324 是四运放集成电路 它采用 14 脚双列直插塑料封袋 外形上图所示 它的内 部包含四组形式完全相同的运算放大器 除电源共用外 四组运放相互独立 每一组运算 放大器可用图中所示的符号来表示 它有 5 个引出脚 其中 为两个信号输入端 V V 为正 负电源端 为输出端 两个信号输入端中 为反相输入端 表示运 0 V 放输出端的信号与该输入端的为相反 为同相输入端 表示运放输出端的信号与 0 V 0 V 输入端的相位相同 LM324 的引脚排列见图 3 7 由于 LM324 四运放电路具有电源电压范围宽 静态功耗小 可作电源使用 价格低 廉等优点 因此被广泛应用在各种电路中 14 3 5 电路原理 图图 3 8 电路原理图电路原理图 当分别每按下按键一次就会分别出现方波 锯齿波 正弦波 并且有数码管会指示是 那种波形的序号 另外 发光二极管发光说明系统处于工作状态 4 软件设计 软件设计上 根据功能分了几个模块编程 模块主要有 主程序模块 方波模块 锯 齿波模块 正弦波模块 延时子程序模块等 显示波形模块是利用 DAC0832 的 8 位特点 把波形的数据以 8 位数据的形势送进 CPU 中 只要一按键就能显示波形 15 4 1 主程序流程图主程序流程图 K1 按 1 次 输出方波 K1 按 2 次 输出锯齿波 K1 按 3 次 输出正弦波 开 始 Y Y Y N N N 图图 4 1 主程序流程图主程序流程图 本软件设计过程中主要实现利用按键来控制不同波形的输出 当按键 KEY1 按下 1 次 时 信号发生器就输出方波 当按键 KEY1 按下 2 次时 信号发生器就输出锯齿波 当按 键 KEY1 按下 3 次时 信号发生器就输出正弦波 通过按键可以以任意循环方式输出不同 波形 数码管上显示的数字分别对应相应的波形 按键 KEY2 按下时复位 16 4 2 方波程序流程图 开 始 置 DAC0832 口地址 4000H 00H A 输出对应模拟量 延时 0FFH A 输出对应模拟量 延时 图图 4 2 方波程序流程图方波程序流程图 方波产生首先将 DAC0832 口地址至为 4000H 当 A 中的内容为 0 时 输出对应模拟 量 然后延时 当 A 中的内容为 0FFH 时 同样输出对应模拟量 再延时 从而得到方波 17 4 3 锯齿波程序流程图 开始 00H A A 0832输出 A F0H A 1 A 置DAC0832口地址4000H N Y 图图 4 3 锯齿波程序流程图锯齿波程序流程图 锯齿波产生首先将 DAC0832 口地址至为 4000H 然后将 00H 送入寄存器 A 中 DAC0832 输出 A 中的内容 当 A 中的内容等于 F0H 返回开始 当 A 中的内容不为 0FH 时 A 中的内容累加 从而输出波形 4 4 正弦波程序流程图 开始 置 0832口地址 000H 查表格取数送0832 1 取表格初值R1 00H 图图 4 4 正弦波程序流程图正弦波程序流程图 18 5 仿真结果 1 系统工作状态电路图如下图 图图 5 1 按键状态图形按键状态图形 2 方波波形如下图 图图 5 2 方波仿真波形方波仿真波形 19 3 锯齿波波形如下图 图图 5 3 锯齿波仿真波形锯齿波仿真波形 4 正弦波波形如下图 图图 5 4 正弦波仿真波形正弦波仿真波形 20 6 测试结论 1 产生各种波形电压输出范围及频率如下 产生各种波形电压输出范围及频率如下 方 波 VP P min 2 8VT 10 8msF 92 59Hz VP P max 3 4V 锯齿波 VP P min 2 2V T 4 6msF 217 36Hz VP P max 4 6V 正弦波 VP P min 2 8VT 9 2msF 108 69Hz VP P max 3 4V 通过按键控制可产生方波 锯齿波 正弦波 同时用数码管显示数字 0 代表系统处于 工作状态 数字 1 代表方波 数字 2 代表锯齿波 数字 3 代表正弦波对应 所产生的波形 幅度范围为 2 2 5V 频率范围为 92 59 217 36Hz 波形准确并且平滑 在此范围幅频都 可微调 本系统设计简单 性能优良 具有一定的实用性 2 示波器测试的波形示波器测试的波形 测试结果如图所示 方 波 21 锯齿波 正弦波 22 7 结束语结束语 本设计通过制作信号发生器 将几个模块很好的融合起来 对使用单片机设计低频信 号发生器进行了分析 并介绍了基于单片机低频信号发生器系统硬件组成 并在单片机软 件应用系统中 用 C 语言进行编程 对信号进行控 将程序通过仿真调试后 实现对信号 进行控制 通过 A D 转换器 利用按键来控制不同波形的输出 通过按键可以以任意循环 方式输出不同波形 数码管上显示的数字分别对应相应的波形 最后实现低频信号发生器 产生波形的功能 设计实现了方波 锯齿波 正弦波产生 并且波形清晰 平滑 同时其 幅度 频率可在一定的范围可调 达到了设计的要求 从课题的选择 方案的论证 电路 原理 到电路上元器件的焊接 电路的调试 程序的编写 调试 一步步 最终实现设计 要求 23 参 考 文 献 1 穆 兰 单片微型机计算机原理及接口技术 M 北京机械工业出版社 2 杨叶珍 单片机与单片机入门 一 J 电子制作 2005 3 王自力 S 波段频率合成源的研制 J 安徽大学学报 自然科学版 2004 4 李朝青 单片机原理及接口技术 M 北京航空航天大学出版社 2006 5 康华光 邹寿彬 电子技术基础 数字部分 M 高等教育出版社 2000 6 黄威 白凤山 智能测试系统中频率相位发生器的设计 J 内蒙古大学学报 自然科学版 2004 7 张俊谟 单片机原理与应用 M 北京航空航天大学出版社 2006 8 石云 滕曰 张瑞丽 任意波形发生器设计中 TMS320VC5509A 的应用与探讨 J 科技信息 科学教 研 2008 9 楼然苗 李光飞 单片机课程设计指导 M 北京航空航天大学出版社 2007 10 谭浩强 C 程序设计 M 清华大学出版社 2005 11 潘新明 王燕芳 微型计算机控制技术 M 电子工业出版社 2006 24 附 录 1 源程序 include include nop 的头文件 include 共阴数码管的表 unsigned char code table 0 x3f 0 x06 0 x5b 0 x4f 1 2 3 unsigned char code stable 80 81 83 84 86 87 89 90 92 93 95 96 97 99 100 102 103 104 106 107 108 110 111 112 113 115 116 117 118 119 120 121 123 124 125 126 126 127 128 129 130 131 132 132 133 134 134 135 135 136 137 137 137 138 138 139 139 139 139 140 140 140 140 140 140 140 140 140 140 140 139 139 139 138 138 138 137 137 136 136 135 135 134 133 133 132 131 131 130 129 128 127 126 125 124 123 122 121 120 119 118 117 115 114 113 112 111 109 108 107 105 104 103 101 100 98 97 96 94 93 91 90 88 87 85 84 83 81 80 78 77 75 74 72 71 69 68 66 65 64 62 61 59 58 57 55 54 53 51 50 49 47 46 45 44 43 42 40 39 38 37 36 35 34 33 32 31 31 30 29 28 28 27 26 26 25 24 24 23 23 22 22 22 21 21 21 21 20 20 20 20 20 20 20 20 20 20 21 21 21 21 22 22 22 23 23 24 24 25 25 26 27 27 28 29 30 31 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 49 50 51 52 54 55 56 58 59 61 62 63 65 66 68 69 71 72 73 75 76 78 79 unsigned char time1 延时函数参数 变量说明 25 unsigned char time2 unsigned char time3 unsigned char count 函数说明 void initial void 初始化函数 void initial time0 void 定时器 0 初始化 void anjian void 按键函数 void delay unsigned char time1 time2 time3 延时函数 void disp unsigned char count 静态显示子函数 void fangbo void 方波函数 void juchibo void 锯齿波函数 void zhengxianbo void 正弦波函数 void main void initial while 1 anjian 函数名称 void anjian void 函数说明 按键函数 函数功能 注意 void anjian void if P3 7 0 delay 1 50 248 if P3 7 0 count 1 disp count fangbo while P3 7 0 count 0 disp count anjian 26 函数名称 void fangbo void 函数说明 方波函数 函数功能 注意 void fangbo void while 1 是个死循环看执行一次多长时间 128 求算频率 一个周期大约 3ms 多 这个频率为 300hz 左右 while 1 unsigned char fangbo 1 fangbo 1 if fangbo 1 128 if fangbo 1 128 P2 0 xff if P3 7 0 delay 1 50 248 if P3 7 0 count 2 disp count juchibo while P3 7 0 函数名称 void juchibo void 函数说明 锯齿波函数 函数功能 注意 void juchibo void while 1 unsigned char juchibo 2 if juchibo 2 180 juchibo 2 0 x00 if P3 7 0 delay 1 50 248 if P3 7 0 27 count 3 disp count zhengxianbo while P3 7 0 函数名称 void zhengxianbo void 函数说明 正弦波函数 函数功能 注意 void zhengxianbo void while 1 unsigned char zhengxianbo 3 P2 stable zhengxianbo 3 zhengxianbo 3 if zhengxianbo 3 255 zhengxianbo 3 0 if P3 7 0 delay 1 50 248 if P3 7 0 count 0 disp count anjian while P3 7 0 函数名称 void initial void 函数说明 初始化函数 函数功能 注意 void initial void P0 0 xff P1 0 xff P2 0 xff 28 P3 0 xff 函数名称 delay unsigned char time1 time2 time3 函数说明 延时函数 函数功能 入口参数 unsigned char time1 time2 time3 出口参数 注意 延时时间的计算 time1 time2 time3 8us us time1 time2 time3 可以不进行变量说明 void delay unsigned char time1 time2 time3 unsigned char i j k for i time1 i 0 i for j time2 j 0 j for k time3 k 0 k 函数名称 disp unsigned char count 函数说明 静态显示子函数 函数功能 入口参数 unsigned char count 出口参数 注意 void disp unsigned char count P0 table count delay 1 5 248 函数名称 void initial time void 函数说明 定时器初始化 函数功能 注 意 void initial time0 void 29 unsigued char th tl TMOD 0 x01 设置为定时器 0 方式 1 th 65536 50000 256 给定时器 0 赋初值 tl 65536 50000 256 TH0 th TL0 tl TR0 1 开启定时器 0 ET0 1 开启定时器 0 溢出中断 EA 1 开启中断总开关 函数名称 void T0 void interrupt 1 using 0 void 函数说明 定时 t0 的中断函数 函数功能 注 意 void t0 void interrupt 1 using 1 TR0 0 TH0 th TL0 tl TR0 1 30 2 PCB 电路图 3 硬件板电路图所示如下 31 4 单片机函数信号发生器元器件清单 序号元件名称型号与规格单位数量 1电阻R4 1K只1 2电阻R1 R2 RP1 10K只3 3电阻RV1 RV2 10K只2 4电阻R5 330只1 5电源插座白色只1 6电解电容C11 10UF只1 7磁片电容C3 30P只1 8磁片电容C4 30P只1 9磁片电容C1 C2 C5 C6 C7 C8 104只6 10二极管D1 LED只1 11二极管D2 IN4148只1 12数码管数码管只1 13集成电路LM324块2 14晶振12M只1 15集成电路DAC0832块1 16单片机AT89C51只1 17开关K1 K2只2 18线路板PCB块1 32 致 谢 毕业设计的完成和论文的完成要感谢很多人 首先要感谢学校给我提供了做这个系统的机会 感谢学校的各位领导和老师一直以来 对我的教导和帮助 其次感谢黄老师 给我进行了很多的辅导 不仅在技术上给了我很大帮助 也在系统 需求和设计方面给予了我很大帮助 黄老师的谆谆教导 使我受益匪浅 黄老师多次询问 研究进程 并为我指点迷津 帮助我开拓研究思路 精心点拨 热忱鼓励 老师一丝不苟 的作风 严谨求实的态度 踏踏实实的精神 不仅授我以文 而且教我做人 给以终生受 益无穷之道 我对老师的感激之情是无法用言语表达的 还要感谢我的同学 是你们在我平时设计和论文中与我一起探讨问题 并指出我设计 上的误区 使我能及时的发现问题把设计顺利的进行下去 没有你们的帮助我不可能这样 顺利地结稿 在此表示深深的谢意 33 文献综述 1 信号发生器的发展 信号发生器即波形发生器 信号发生器是能够产生大量的标准信号和用户定义信号 并保证高精度 高稳定性 可重复性和易操作性的电子仪器 函数波形发生器具有连续的 相位变换 和频率稳定性等优点 不仅可以模拟各种复杂信号 还可对频率 幅值 相移 波形进行动态 及时的控制 并能够与其它仪器进行通讯 组成自动测试系统 因此被广 泛用于自动控制系统 震动激励 通讯和仪器仪表领域 在 70 年代前 信号发生器主要有两类 正弦波和脉冲波 而函数发生器介于两类之 间 能够提供正弦波 余弦波 方波 三角波 上弦波等几种常用标准波形 产生其它波 形时 需要采用较复杂的电路和机电结合的方法 这个时期的波形发生器多采用模拟电子 技术 而且模拟器件构成的电路存在着尺寸大 价格贵 功耗大等缺点 并且要产生较为 复杂的信号波形 则电路结构非常复杂 同时 主要表现为两个突出问题 一是通过电位 器的调节来实现输出频率的调节 因此很难将频率调到某一固定值 二是脉冲的占空比不 可调节 在 70 年代后 微处理器的出现 可以利用处理器 A D 和 D A 硬件和软件使波形 发生器的功能扩大 产生更加复杂的波形 这时期的波形发生器多以软件为主 实质是采 用微处理器对 DAC 的程序控制 就可以得到各种简单的波形 90 年代末 出现几种真正高性能 高价格的函数发生器 但是 HP 公司推出了型号为 HP770S 的信号模拟装置系统 它由 HP8770A 任意波形数字化和 HP1776A 波形发生软件 组成 HP8770A 实际上也只能产生 8 种波形 而且价格昂贵 不久以后 Analogic 公司推 出了型号为 Data 2020 的多波形合成器 Lecroy 公司生产的型号为 9100 的任意波形发生 器等 到了二十一世纪 随着集成电路技术的高速发展 出现了多种工作频率可过 GHz 的 DDS 芯片 同时也推动了函数波形发生器的发展 2003 年 Agligent 的产品 33220A 能 够产生 17 种波形 最高频率可达到 20M 2005 年的产品 N6030A 能够产生高达 500MHz 的频率 采样的频率可达 1 25GHz 由上面的产品可以看出 函数波形发生器 发展很快近几年来 国际上波形发生器技术发展主要体现在以下几个方面 1 过去由于频率很低应用的范围比较狭小 输出波形频率的提高 使得波形发生 器能应用于越来越广的领域 波形发生器软件的开发正使波形数据的输入变得更加方便和 34 容易 波形发生器通常允许用一系列的点 直线和固定的函数段把波形数据存入存储器 同时可以利用一种强有力的数学方程输入方式 复杂的波形可以由几个比较简单的公式复 合成 v f t 形式的波形方程的数学表达式产生 从而促进了函数波形发生器向任意波形发 生器的发展 各种计算机语言的飞速发展也对任意波形发生器软件技术起到了推动作用 目前可以利用可视化编程语言 如 Visual Basic Visual C 等等 编写任意波形发生器的软面 板 这样允许从计算机显示屏上输入任意波形 来实现波形的输入 2 与 VXI 资源结合 目前 波形发生器由独立的台式仪器和适用于个人计算机的 插卡以及新近开发的 VXI 模块 由于 VXI 总线的逐渐成熟和对测量仪器的高要求 在很 多领域需要使用 VXI 系统测量产生复杂的波形 VXI 的系统资源提供了明显的优越性 但 由于开发 V
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 会展策划师工作计划与活动执行流程
- 玩转电商直播高级工作法与策略
- 中国香文化讲师高级常见面试问题及应对技巧
- 市场推广费用报销与预算执行监控计划
- 如何成为一名的生产跟单员培训手册与自我发展指南
- 网络公关传播策略研究报告
- 提升小型汽车检验效率优化方案
- 县级体育馆飞盘运动专业人才队伍建设规划
- 年度安全生产与应急演练计划
- 幼儿园龙年开工通知书
- 高校思政说课课件
- 2025年教师考试时事政治考点热点题库含完整答案
- 球馆合伙协议合同模板
- 2024年陕西咸阳杨陵区招聘社区专职工作人员考试真题
- 2025中国光伏组件回收技术发展现状与循环经济战略报告
- 雨课堂在线学堂《军事历史-第二次世界大战史》单元考核测试答案
- 家庭宽带服务质量保障流程规范(2024版)
- 2025年法院书记员招聘考试笔试试题附答案
- 江西洪城水业环保有限公司面向社会公开招聘工勤岗工作人员【28人】考试笔试备考试题及答案解析
- 无锡五四班考试题及答案
- 医院重要事项请示报告制度及流程
评论
0/150
提交评论