基于at89s51的低频信号发生器_毕业设计(编辑修改稿)内容摘要:

规定值,并将程序计数器设置为“ 0000H”。 复位信号结束后, CPU 从程序存储器“ 0000H”处开始执行程序。 89S51 为高电平复位,一般有 3 种复位方法。 ⅰ 上电复位。 接通电源时 ⅱ 手动复位。 设置一个复位按钮,当操作者按下按钮时产生一个复位信号。 ⅲ 自动复位。 设计一个复位电路,当系统满足某一条件时自动产生一个复位信号。 图 34 为最简单的上电复位和手动复位方法。 图 34 89S51 的复位电路 整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号 组合,并保持 ALE 管脚处于低电平 10ms 来完成。 在芯片擦操作中,代码阵列全被写“ 1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 89S51 10 此外, AT89S51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。 在闲置模式下, CPU 停止工作。 但 RAM,定时器,计数器,串口和中断系统仍在工作。 在掉电模式下,保存 RAM 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 各部分电路原理 DAC0832 芯片原理 ①管脚功能介绍(如图 35 所示) 图 35 DAC0832 管脚图 (1) D7~ D0: 8 位的数据输入端, D7 为最高位。 (2)IOUT1:模拟电流输出端 1。 (3) IOUT2:模拟电流输出端 2,当 DAC 寄存器中数据 全为 1 时,输出电流最大,当 DAC 寄存器中数据 全为 0时,输出电流为 0, IOUT2与 IOUT1的和为一个常数,即 IOUT1+ IOUT2=常数。 (4) Rfe:反馈电阻引出端, DAC0832 内部已经有反馈电阻,所以 Rfe 端可以直接接到外部运算放大器的输出端,这样相当于将一个反馈电阻接在运算放大器的输出端和输入端之间。 (5) Vref:参考电压输入端,此端可接一个正电压,也可接一个负电压,它决定 0至 255 的数字量转化出来的模拟量电压值的幅度, VREF范围为 (+10~ 10)V。 VREF端与 D/A 内部 T 形电阻网络相连。 (6) Vcc:芯片供电电压,范围为 (+5~ 15)V。 (7) GND( 3 脚):模拟量地,即模拟电路接地端。 (8) GND( 10 脚):数字量地。 当 WR2 和 XFER 同时有效时, 8位 DAC 寄存器端为高电平“ 1”,此时 DAC 寄存器的输出端 Q 跟随输入端D 也就是输入寄存器 Q 端的电平变化;反之,当端为低电平“ 0”时,第一 级 8 位输入寄存器 Q 端的状态则锁存到第二级 8 位 DAC 寄存器中,以便第三级 8 位 DAC转换器进行 D/A转换。 一般情况下为了简化接口电路,可以把和直接接地,使第二级 8位 DAC 寄存器的输入端到输出端直通,只有第一级 8 位输入寄存器置成可选通、可锁存的单缓冲输入方式。 特殊情况下可采用双缓冲输入方式,即把两个寄存器都分别接成受控方式 制作低频信号发生器有许多方案:主要有单缓冲方式,双缓冲方式和直通方式。 单缓冲方式具有适用于只有一路模拟信号输出或几路模拟信号非同步输出的情形的优点,但是电路线 11 路连接比较简单。 而双缓冲方式 适用于在需要同时输出几路模拟信号的场合,每一路模拟量输出需一片DAC0832 芯片,构成多个 DAC0832 同步输出电路,程序简单化,但是电路线路连接比较复杂。 根据以上分析,我们的课题选择了单缓冲方式使用方便,程序简单,易操作。 ②工作原理 DAC0832 主要由 8 位输入寄存器、 8 位 DAC 寄存器、 8位 D/A 转换器以及输入控制电路四部分组成。 8 位输入寄存器用于存放主机送来的数字量,使输入数字量得到缓冲和锁存,由加以控制; 8 位 DAC 寄存器用于存放待转换的数字量,由加以控制; 8 位 D/A 转换器输出与数字量成正比的模拟电 流;由与门、非与门组成的输入控制电路来控制 2 个寄存器的选通或锁存状态。 DAC0832 与反相比例放大器相连,实现电流到电压的转换,因此输出模拟信号的极性与参考电压的极性相反,数字量与模拟量的转换关系为 Vout1=Vref(数字码 /256) 若 D/A 转换器输出为双极性,如图 36 所示。 I o u t1I o u t2V f bD A C 0 8 3 2U1567B1098CR 2 = RR 1 = 2 RR 3 = 2 RRV o u t2V r e f = (数字码 1 2 8 ) / 1 2 8+ 5 VV o u t 1I1I2 图 36 D/A 转换器双极性输出电路 图 36 中,运算放大器 A2的作用是把运算放大器 A1的单向输出电压转换成双向输出电压。 其原理是将A2的输入端Σ通过电阻 R1与参考电压 VREF相连, VREF经 R1向 A2提 供一个偏流 I1,其电流方向与 I2相反,因此运算放大器 A2的输入电流为 I I2之代数和。 则 D/A 转换器的总输出电压为: VOUT2= [(R3/R2) VOUT1+(R3/R1)] VREF 设 R1=R3=2R R2=R,则 VOUT2= (2VOUT1+VREF) DAC0832 主要是用于波形的数据的传送,是本题目电路中的主要芯片。 12 图 37 LM324 原理图 管脚图 LM324 时四运放集成电路 ,它采用 14 脚双列直 插塑料封袋,外形上图所示。 它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。 每一组运算放大器可用图中所示的符号来表示,它有 5 个引出脚,其中“ +”、“ ”为两个信号输入端,“ V+”、“ V”为正、负电源端,“ OUT”为输出端。 两个信号输入端中,“ ”为反相输入端,表示运放输出端 OUT 的信号与该输入端的为相反;“ +”为同相输入端,表示运放输出端 OUT 的信号与输入端的相位相同。 LM324 的引脚排列见图 7。 由于 LM324 四运放电路具有电源电压范围宽,静态功耗小,可但电源使用,价格低廉等优点 ,因此被广泛应用在各种电路中。 13 软件设计上,根据功能分了几个模块编程。 模块主要有:主程序模块、方波模块、三角波模块、锯齿波模块、正弦波模块、延时子程序模块等。 显示波形模块是利用 DAC0832 的 8 位 特点,把波形的数据以 8 位数据的形势送进 CPU 中,只要一按键就能显示波形。 主程序流程图 图 41 主程序流程图 本软件设计过程中主要实现利用按键来控制不同波形的输出,当按键 KEY1 按下 1 次时,函数发生器就输出方波;当按键 KEY1 按下 2 次时,函数发生器就输出三角波;当按键 KEY1 按下 3 次时,函数发生器就输出锯齿波;当按键 KEY1 按下 4 次时,函数发生器就输出正弦波。 通过按键可以以任意循环方式输出不同 波形,数码管上显示的数字分别对应相应的波形。 按键 KEY2 按下时复位。 方波程序流程图 开始 KEY1 按下 1 次 输出方波 KEY1 按下 3 次 KEY1 按下 2 次 KEY1 按下 4 次 N N N N N Y Y Y Y 输出三角波 输出锯齿波 输出正弦波 14 图 42 方波程序流程图 方波产生首先将 DAC0832 口地址至为 4000H,当 A 中的内容为 0 时,输出对应模拟量,然后延时,当 A 中的内容为 0FFH 时,同样输出对应模拟量,再延时,从而得到方波。 三角波程序流程图 图 43 三角波程序流程图 三角波产生首先将 DAC0832 口地址至为 4000H,通过 A中数值的加一递升,当 A 中的内容为 0 时,与 0FFH开始置 DAC 0832 口地址 4000 H( A ) ? 0832 输出A + 1 ? AA = 0 ?A 1 ? A输入一个数字量 FFH ? A( A ) ? 0832 输出输入一个数字量 00 H ? AA = 0 ?YNNY开始置 DAC 0832 口地址 4 000 H输出对应模拟量00 H ? A延时FF H ? A输出对应模拟量延时 15 相比,相等时 A 中的内容减一递减,从而循环产生三角波。 锯齿波程序流程图 开始0H→A(A)→0832输出(A)=F0H。 A+1→A置DAC0832口地址40HNY 图 44 锯齿波程序流程图 锯齿波产生首先将 DAC0832 口地址至为 4000H,然后将 00H 送入寄存器 A 中, DAC0832输出 A中的内容,当 A 中的内容等于 F0H 返回 开始,当 A 中的内容不为 0FH时, A 中的内容累加,从而输出波形。 正弦波程序流程图 开 始置 D A C 0 8 3 2 口 地 址 4 0 0 0 H查 表 格 取 数 送 0 8 3 2R 1 + 1 → R 1取 表 格 初 值 R 1 ← 0 0 H 图 12 正弦波程序流程图 16 产生各种波形电压输出范围及频率如下 : 本作品可以产生方波、锯齿波、三角波、正弦波等,同时用 LED 显示灯指示对应的波形 ,同时,用户可以调节时 间常数 RC 实现对频率的调节。 波形准确并且平滑。 本系统设计简单、性能优良,具有一定的实用性。 通过调试,波形无明显失真,且基本符合本设计的基本要求。 基本要求如下:信号频率范围 1Hz~ 1KHz 正弦波峰峰值 1V 幅值可调 锯齿波峰峰值 幅值可调 三角波峰峰值 幅值可调 方波峰峰值 幅值可调 频率控制方式手动 通过改变时间常数 RC实现。 示波器测试的波形 测试结果如图所示 : 方波 : 三角波: 17 锯齿波: 正弦波 : 图 51 各波形图 以上就是该设计所得出的波形图,可以看出,波形准确并且平滑。 由于各方面的原因,能测试出的具体数据就不列出了。 毕业设计的完成和论文的完成要感谢很多人。 首先要感谢学校给我提提供了做这个系统的机会,感谢学校的各位领导和老师一直以来 对我的教导和帮助。 感谢刘世熙老师,给我进行了很多的辅导,不仅在技术上给了我很大帮助,也在系统需求和设计方面给予了我很大帮助。 老师的谆谆教导,使我受益匪浅。 刘 老师多次询问研究进程,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。 刘 老师一丝不苟的作风,严谨求实的态度,踏踏实实的精神,不仅授我以文,而且教我做人,虽历时三载,却给以终生受益无穷之道。 我 对 刘 老师的感激之情是无法用言语表达的。 感谢学校其他老师和同学给予的帮助和支持。 经过近半年的锻炼和学习 ,我学到了许多书本上没有的 18 知识 ,从方案的论证、 课题的选择、电路原理,到电路上元器件的焊接、电路的调试,程序的编写,调试下载,一步步,我收获很大。 在设计中,我力求硬件电路简单,充分发挥软件灵活方面的特点,满足系统设计要求。 这中间,我遇到了许多困难,在老师的帮助下,一个个也都战胜了。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。