毕业设计(论文)-基于单片机的信号产生电路的设计 (2).doc_第1页
毕业设计(论文)-基于单片机的信号产生电路的设计 (2).doc_第2页
毕业设计(论文)-基于单片机的信号产生电路的设计 (2).doc_第3页
毕业设计(论文)-基于单片机的信号产生电路的设计 (2).doc_第4页
毕业设计(论文)-基于单片机的信号产生电路的设计 (2).doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于单片机的信号产生电路的设计基于单片机的信号产生电路的设计 摘要摘要 本系统是基于 at89s52 单片机的数字式低频信号发生器。采 用 at89s52 单片机作为控制核心,外围采用数字/模拟转换电路 (dac0832) 、稳压电路(mc1403) 、运放电路(lm324) 、按键和 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), regulator circuit(mc1403), imply circuit (lm324) ,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. keyword the single chip computer; the signal generator; d/ a conversion 目 录 1.绪论 1 1.1 信号发生器现状 .1 1.2 单片机在低频信号发生器中的应用 .1 2.系统设计 3 2.1 系统方案的比较 .3 2.2 控制芯片的选择 .3 3.硬件电路的设计 4 3.1 基本原理: .4 3.2 单片机的介绍及资源分配: .4 3.3 各部分电路原理.9 4.软件设计 .13 4.1 主程序流程图 14 4.2 子程序流程图14 5.测试结论 .18 5.1 软件仿真结果 18 5.2 硬件测试结果19 6.参考文献 .22 附录 1 元件清单 .23 附录 2 电路原理图 .24 附录 3 程序清单 .26 附录 4 proteus 仿真系统简介 .30 1.绪论 1.11.1 信号发生器现状信号发生器现状 波形发生器亦称函数发生器,作为实验用信号源,是现今各种 电子电路实验设计应用中必不可少的仪器设备之一。目前,市场上 常见的波形发生器多为纯硬件的搭接而成,且波形种类有限,多为 锯齿、正弦、方波、三角等波形。 信号发生器作为一种常见的应用电子仪器设备,传统的可以完 全由硬件电路搭接而成,如采用 555 振荡电路发生正弦波、三角波 和方波的电路便是可取的路径之一,不用依靠单片机。但是这种电 路存在波形质量差,控制难,可调范围小,电路复杂和体积大等缺 点。在科学研究和生产实践中,如工业过程控制,生物医学,地震 模拟机械振动等领域常常要用到低频信号源。而由硬件电路构成的 低频信号其性能难以令人满意,而且由于低频信号源所需的 rc 很大; 大电阻,大电容在制作上有困难,参数的精度亦难以保证;体积大, 漏电,损耗显著更是其致命的弱点。一旦工作需求功能有增加,则 电路复杂程度会大大增加。 1.21.2 单片机在低频信号发生器中的应用单片机在低频信号发生器中的应用 当今是科学技术及仪器设备高度智能化飞速发展的信息社会, 电子技术的进步,给人们带来了根本性的转变。现代电子领域中, 单片机的应用正在不断的走向深入,这必将导致传统控制与检测技 术的日益革新。单片机构成的仪器具有高可靠性、高性能价格比, 在智能仪表系统和办公自动化等诸多领域得以极为广泛的应用,并 走入家庭,从洗衣机、微波炉到音响汽车,处处可见其应用。因此, 单片机技术开发和应用水平已逐步成为一个国家工业发展水平的标 志之一。 一块单片机芯片就是一台计算机。由于单片机的这种特殊的结 构形式,在某些应用领域中,它承担了大中型计算机和通用微型计 算机无法完成的一些工作。使其具有很多显著的优点和特点,因此 在各个领域中都得到了迅猛的发展。单片机的特点归纳起来有以下 几个方面。 (1)具有优异的性能价格比 单片机尽可能地把应用所需的存储器,各种功能的 i/o 接口集 成在一块芯片内,因而其性能很高,而价格却相对较低廉,即性能价格 比很高。 (2)集成度高、体积小、可靠性高 单片机把各种功能部件集成在一块芯片上,因而集成度高,均 为大规模或超大规模集成电路。又内部采用总线结构,减少了芯片 之间的连线,这大大提高了单片机的可靠性与抗干扰能力。同时, 其体积小,对于强磁场环境易于采取屏蔽措施,适合于在恶劣环境 下工作。 (3)控制功能强 单片机体积虽小,但“五脏俱全” ,它非常适用于专门的控制用 途。为了满足工业控制要求,一般单片机的指令系统中有极丰富的 转移指令,i/o 口的逻辑操作指令以及位操作指令。其逻辑控制功 能及运行速度均高于同一档次的微机。 (4)低电压、低功耗 单片机大量用于携带式产品和家用消费类产品,低电压和低功 耗尤为重要。目前,许多单片机已可在 2.2v 电压下运行,有的已能 在 1.2v 或 0.9v 下工作,功耗降至 a 级,一粒钮扣电池就可长期使 用。 利用单片机采用程序设计方法来产生低频信号,其下限频率很 低。具有线路相对简单,结构紧凑,价格低廉,频率稳定度高,抗 干扰能力强,用途广泛等优点,并且能够对波形进行细微调整,改 良波形,使其满足系统的要求。只要对电路稍加修改,调整程序, 即可完成功能升级。 这里介绍一种采用 at89s52 单片机和一片 dac0832 数模转换器 做成的数字式低频信号发生器,它的特点是价格低、性能高,在低 频范围稳定性好、操作方便、体积小、耗电少等。 信号发生器与其它相比还具有如下优点:较分立元件信号发 生器而言,具有频率高,工作稳定,容易调试等特性;较专用 dds 芯片的信号发生器而言,具有结构简单,成本低等特性。 2.系统设计 2.12.1 系统方案的比较系统方案的比较 方案一:采用函数信号发生器 icl8038 集成模拟芯片,(如图 2-1)它是一种可以同时产生方波、三角波、正弦波的专用集成电路。 但是这种模块产生的波形都不是纯净的波形,会寄生一些高次谐波 分量,采用其他的措施虽可滤除一些,但不能完全滤除掉。 方案二:采用分立元件实现非稳态的多谐振振荡器,然后根据 需要加入积分电路等构成正弦、矩形、三角等波形发生器。这种信 号发生器输出频率范围窄,而且电路参数设定较繁琐,其频率大小 的测量往往需要通过硬件电路的切换来实现,操作不方便。 方案三:采用单片机和 dac0832 数模转换器生成波形,由于是软 件滤波,所以不会有寄生的高次谐波分量,生成的波形比较纯净。 它的特点是价格低、性能高,在低频范围内稳定性好、操作方便、 体积小、耗电少。 经比较,方案三既可满足毕业设计的基本要求又能充分发挥其优 势,电路简单,易控制,性价比较高,所以采用该方案。 图 2-1 方案一方框图 d/a 键 盘单片机 icl8038 运算电路 显 示 d/a 输出 2.22.2 控制芯片的选择控制芯片的选择 方案一:at89s52 单片机是一种高性能 8 位单片微型计算机。 它把构成计算机的中央处理器 cpu、存储器、寄存器、i/o 接口制作 在一块集成电路芯片中,从而构成较为完整的计算机。 方案二:c8051f005 单片机是完全集成的混合信号系统级芯片, 具有与 at80s52 兼容的微控制器的内核,与 mcs-51 指令集完全兼容。 除了具有标准 at80s52 的数字外设部件之外,片内还集成了数据采 集和控制系统中常用的模拟部件和其他数字外设及功能部件。 方案选择:方案二中 c8051f005 芯片系统内部结构复杂,不易 控制,芯片成本高,对于本系统而言利用率低,at89s52 芯片比较 常用,简单易控制,成本低,性能稳定故采用方案一。 3.硬件电路的设计 3.13.1 基本原理:基本原理: 系统框图如图 3-1 所示。 图 3-1 低频信号发生器系统框图 低频信号发生器系统主要由 cpu、d/a 转换电路、基准电压电路、 电流/电压转换电路、按键和波形指示电路、电源等电路组成。 其工作原理为当分别按下四个按键中的任一个按键就会分别出 现方波、锯齿波、三角波、正弦波,并且有四个发光二极管分别作 为不同的波形指示灯。 3.23.2 单片机的介绍及资源分配:单片机的介绍及资源分配: 3.2.1 单片机的介绍 (1)最小单片机系统 at89s52 的引脚图如图 3-2 所示 图3-2 at89s52引脚图 管脚说明 低频信号发生器采用 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 禁止,置位无效。 /psen:外部程序存储器的选通信号。在由外部程序存储器取指 期间,每个机器周期两次/psen 有效。但在访问外部数据存储器时, 这两次有效的/psen 信号将不出现。 /ea/vpp:当/ea 保持低电平时,则在此期间外部程序存储器 (0000h-ffffh) ,不管是否有内部程序存储器。注意加密方式 1 时, /ea 将内部锁定为 reset;当/ea 端保持高电平时,此间内部程序存 储器。在 flash 编程期间,此引脚也用于施加 12v 编程电源(vpp) 。 xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。 xtal2:来自反向振荡器的输出。 89s52 单片机外部有 32 个端口可供用户使用,其功能如下: 表 3-1 89s52 并行 i/o 接口 第一功能第二功能端口引脚 位置 符号 功能符号功能 p039-32p0.0-p0.7 通用 i/0 口 ad0-ad7 地址数据总线 p11-8p1.0-p1.7 通用 i/0 口 p221-28p2.0-p2.7 通用 i/0 口 a8-a15 地址总线(高位) 10p3.0rxd 串行通信发送口 11p3.1txd 串行通信接收口 12p3.2int0 外部中断 0 13p3.3int1 外部中断 1 14p3.4t0 计数器 0 输入端口 15p3.5t1 计数器 1 输入端口 16p3.6wr 外部存储器写功能 p3 17p3.7 通用 i/0 口 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 编程和校验时接收高八位地址信号和控制 信号。 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(外部数据存储器读选通) p3 口同时为闪烁编程和编程校验接收一些控制信号。 at89s52 的晶振及其连接方法 cpu 工作时都必须有一个时钟脉冲。有两种方式可以向 89s52 提供时钟脉冲:一是外部时钟方式,即使用外部电路向 89s52 提供 始终脉冲,见图 3-3-(a);二是内部时钟方式,即使用晶振由 89s52 内部电路产生时钟脉冲。一般常用第二种方法,其电路见图 3-3-(b)。 图 3-3 89s52 的时钟脉冲 图 33 中:j 一般为石英晶体,其频率由系统需要和器件决定, 在频率稳定度要求不高时也可以使用陶瓷滤波器。 c1、c2:使用石英晶体时,c1=c2=30(10)pf 使用陶瓷滤波器时,c1=c2=40(10)pf at89s52 的复位 使 cpu 开始工作的方法就是给 cpu 一个复位信号,cpu 收到复 位信号后将内部特殊功能寄存器设置为规定值,并将程序计数器设 置为“0000h” 。复位信号结束后,cpu 从程序存储器“0000h”处开 始执行程序。89s52 为高电平复位,一般有 3 种复位方法。 上电复位。接通电源时 手动复位。设置一个复位按钮,当操作者按下按钮时产生一 个复位信号。 自动复位。设计一个复位电路,当系统满足某一条件时自动 产生一个复位信号。 图 3-4 为最简单的上电复位和手动复位方法。 图 3-4 89s52 的复位电路 关于 cpu 的复位电路应当注意,在调试单片机程序时有两种工 作方式。一是仿真器方式,主要用于调试程序。此时程序的执行由 仿真器控制,复位电路不起作用,系统时钟也经常设置为仿真器产 生,此时用户的晶振也不起作用。二是用户方式,即脱离仿真器的 实际工作方式,用户的时钟振荡电路和复位电路都必须正常工作。 因此,如果系统复位电路或晶振电路有故障,就会出现仿真器方式 工作正常,而用户方式不工作的现象,这是许多初学者常遇到的问 题。 芯片擦除 整个 perom 阵列和三个锁定位的电擦除可通过正确的控制信号 组合,并保持 ale 管脚处于低电平 10ms 来完成。在芯片擦操作中, 代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操 89s52 作必须被执行。 此外,at89s52 设有稳态逻辑,可以在低到零频率的条件下静 态逻辑,支持两种软件可选的掉电模式。在闲置模式下,cpu 停止 工作。但 ram,定时器,计数器,串口和中断系统仍在工作。在掉 电模式下,保存 ram 的内容并且冻结振荡器,禁止所用其他芯片功 能,直到下一个硬件复位为止。 3.2.2 资源分配 软、硬件设计是设计中不可缺少的,为了满足功能和指标的要 求,资源分配如下 1.晶振采用 12mhz; 2.内存分配 p1 口的 p1.0-p1.3 分别与四个按键连接,分别控制锯齿波、三 角波、正弦波和方波,p1.4-p1.7 与四个发光二极管相连,按键一对 应发光二极管一,依次类推,发光二极管四对应按键四,实现输出 一个波形对应亮一个灯。 p0 口与 dac0832 的 di0-di7 数据输入端相连。 p2 口用来控制 dac0832 的输入寄存器选择信号 cs、输入寄存器 写选通信号 wr1 及 dac 寄存器写选通信号 wr2 和数据传送信号 xfer。 3.33.3 各部分电路原理各部分电路原理 (a)dac0832 芯片原理 管脚功能介绍(如图 3-5 所示) 图 3-5 dac0832 管脚图 (1) di7di0:8 位的数据输入端,di7为最高位。 (2) iout1:模拟电流输出端 1,当 dac 寄存器中数据全为 1 时,输出 电流最大,当 dac 寄存器中数据全为 0 时,输出电流为 0。 (3) iout2:模拟电流输出端 2, iout2与 iout1的和为一个常数,即 iout1iout2常数。 (4) rfb:反馈电阻引出端,dac0832 内部已经有反馈电阻,所以 rfb 端可以直接接到外部运算放大器的输出端,这样相当于将一个反馈 电阻接在运算放大器的输出端和输入端之间。 (5) vref:参考电压输入端,此端可接一个正电压,也可接一个负电 压,它决定 0 至 255 的数字量转化出来的模拟量电压值的幅度,vref 范围为(+10-10)v。vref端与 d/a 内部 t 形电阻网络相连。 (6) vcc:芯片供电电压,范围为(+5 15)v。 (7) agnd:模拟量地,即模拟电路接地端。 (8) 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 主要由 8 位输入寄存器、8 位 dac 寄存器、8 位 d/a 转换器以及输入控制电路四部分组成。8 位输入寄存器用于存放主 机送来的数字量,使输入数字量得到缓冲和锁存,由加以控制;8 位 dac 寄存器用于存放待转换的数字量,由加以控制;8 位 d/a 转 换器输出与数字量成正比的模拟电流;由与门、非与门组成的输入 控制电路来控制 2 个寄存器的选通或锁存状态。 dac0832 与反相比例放大器相连,实现电流到电压的转换,因 此输出模拟信号的极性与参考电压的极性相反,数字量与模拟量的 转换关系为 vout1=-vref(数字码/256) 若 d/a 转换器输出为双极性,如图 3-6 所示。 iout1 iout2 vfb da c0832 u1 5 6 7 b 10 9 8 c r2=r r1=2r r3=2r r vout2 vref=(字字 字-128)/128 +5v vout1 i1 i2 图 3-6 d/a 转换器双极性输出电路 图 7 中,运算放大器 a2的作用是把运算放大器 a1的单向输出电 压转换成双向输出电压。其原理是将 a2的输入端 通过电阻 r1与 参考电压 vref相连,vref经 r1向 a2提供一个偏流 i1,其电流方向与 i2相反,因此运算放大器 a2的输入电流为 i1、i2之代数和。则 d/a 转换器的总输出电压为: vout2= -(r3/r2) vout1+(r3/r1) vref 设 r1=r3=2r r2=r,则 vout2= -(2vout1+vref) dac0832 主要是用于波形的数据的传送,是本题目电路中的主 要芯片。 dac0832 电路原理图(如图 3-7 所示) 图 3-7 0832 电路原理图 (b) lm324 工作原理 (管脚功能如图 3-8 所示) 图 3-8 lm324 管脚图 lm324 时四运放集成电路 ,它采用 14 脚双烈直插塑料封袋, 外形如图 1 所示。他的内部包含四组形式完全相同的运算放大器, 除电源共用外,四组运放相互独立。每一组运算放大器可用图中所 示的符号来表示,它有 5 个引出脚,其中“+” 、 “-”为两个信号输 入端, “v+” 、 “v-”为正、负电源端, “out”为输出端。两个信号输 入端中, “-”为反相输入端,表示运放输出端 out 的信号与该输入 端的为相反;“+”为同相输入端,表示运放输出端 out 的信号与输 入端的相位相同。lm324 的引脚排列见图 9。 由于 lm324 四运放电路具有电源电压范围宽,静态功耗小,可 但电源使用,价格低廉等优点,因此被广泛应用在各种电路中。 在此项目中用了 lm324 的三组运放,分别置于第一级输出,第 一、二级之间,第二级输出。 (c)mc1403 工作原理 (管脚功能如图 3-9 所示) 图 3-9 mc1403 管脚图 mc1403 是低压基准芯片。一般用作 8 到 12bit 的 d/a 芯片的基 准电压等一些需要基本精准的基准电压的场合。 输出电压:2.5v+/-25mv 输入电压范围:4.5vto40v 输出电流:10ma 因为输出是固定的,所以电路很简单。就是 vin 接电源输入, gnd 接地,vout 加一个 0.1uf 到 1uf 的电容就可以了。vout 一般用 于 8 到 12bit 的 d/a 芯片的基准电压。 在此项目里 mc1403 起到了稳压的作用,它基准了 dac0832 的 8 脚需要的 2.5v。使其 dac0832 能够正常工作。 4.软件设计 单片机技术比较成熟,开发过程可利用的资源和工具丰富,最 大的优点是价格便宜,成本低。调试软件采用 keil51.keiluvison 是众多单片机应用开发软件中优秀软件之一,界面友好,易写易操 作。在调试程序中,软件仿真 protues 功能也很强,软件调通,再 通过编程器下载到 at89s52 中,然后插到系统中即可独立完成所有 的控制。 软件设计上,根据功能分了几个模块编程。模块主要有:主程 序模块、锯齿波模块、三角波模块、正弦波模块、方波模块、延时 子程序模块等。 显示波形模块是利用 dac0832 的 8 位特点,把波形的数据以 8 位数据的形势送进 cpu 中,只要一按键就能显示波形。 4.14.1 主程序流程图主程序流程图 如图 4-1 所示。 图 4-1 主程序流程图 本软件设计过程中主要实现利用按键来控制不同波形的输出, 当按键 1 按下时,函数发生器就输出锯齿波;当按键 2 按下时,函 数发生器就输出三角波;当按键 3 按下时,函数发生器就输出正弦 波;当按键 4 按下时,函数发生器就输出方波。通过按键可以以任 意循环方式输出不同波形。 4.24.2 子程序流程图子程序流程图 1 锯齿波流程图 如图 4-2 所示。 图 4-2 锯齿波流程图 锯齿波产生首先将 dac0832 口地址至为 4000h,然后将 00h 送 入寄存器 a 中,dac0832 输出 a 中的内容,当 a 中的内容等于 f0h 返回开始,当 a 中的内容不为 0fh 时,a 中的内容累加,从而输出 波形。 2 三角波程序流程图 如图 4-3 所示。 4-3 三角波流程图 三角波产生首先将 dac0832 口地址至为 4000h,通过 a 中数值 的加一递升,当 a 中的内容为 0 时,与 0ffh 相比,相等时 a 中的内 容减一递减,从而循环产生三角波。 3 正弦波程序流程图 如图 4-4 所示。 图 4-4 正弦波流程图 正弦波波形设计通过查表指令得出。 4 方波程序流程图 如图 4-5 所示。 图 4-5 方波流程图 方波产生首先将 dac0832 口地址至为 4000h,当 a 中的内容为 0 时,输出对应模拟量,然后延时,当 a 中的内容为 0ffh 时,同样 输出对应模拟量,再延时,从而得到方波。 5 延时子程序流程图 如图 4-6 所示。 图 4-6 延时程序流程图 延时程序如下: dely: mov r7,#10h dly0: mov r6,#0edh nop dly1: djnz r6,dly1 djnz r7,dly0 ret 方波的上限和下限的延时时间为:7ms s=1+(1+1+2237+2)16+1=7648s 5.测试结论 5.15.1 软件仿真结果软件仿真结果 在确定编程思路以后将各部分的程序及各子程序编好,使用 keil 进行编译,根据提示的错误对程序进行修改。除了语法差错和 逻辑差错外,当确认程序没问题时,通过直接加载到 protues 软件 电路中进行仿真。 5.1.1 仿真波形 1 当按键 1 拨下时,波形为锯齿波,同时指示灯 1 发光。仿真 图如图 5-1 所示。 图 5-1 矩尺波仿真图 2 当按键 2 拨下时,波形为三角波,同时指示灯 2 发光。仿 真图如图 5-2 所示。 图 5-2 三角波仿真图 3 当按键 3 拨下时,波形为正弦波,同时指示灯 3 发光。仿真 图如图 5-3 所示。 图 5-3 正弦波仿真图 4 当按键 4 拨下时,波形为方波,同时指示灯 4 发光。仿真图 如图 5-4 所示。 图 5-4 方波仿真图 5.1.2 波形分析 在对系统进行波形仿真时可以在虚拟示波器上观察到锯齿波、 三角波、正弦波和方波的波形。其中锯齿波、三角波以及正弦波 的输出误差较大,方波波形较为理想。这一方面与电路设置的参 数有关,另一方面也与使用的仿真软件有关。对于上述问题的解 决办法是:改变仿真电路的参数或着换用版本较高的仿真软件。 当然一般产生这种情况的原因多由于电路的参数设计不合理所制。 但从仿真波形上可以看出输出波形的频率大致与程序中的设置吻 合。波形的幅度与程序设置的最大值有关,而频率受机器周期的 控制。当仿真时,由于存在一定的系统误差,波形效果不是很好。 5.25.2 硬件测试结果硬件测试结果 5.2.1 硬件测试波形 1 当按键 1 拨下时,波形为锯齿波,同时指示灯 1 发光。波形图 如图 5-5 所示。 图 5-5 锯齿波波形图 2 当按键 2 拨下时,波形为三角波,同时指示灯 2 发光。波形 图如图 5-6 所示。 图 5-6 三角波波形图 3 当按键 3 拨下时,波形为正弦波,同时指示灯 3 发光。波形 图如图 5-7 所示。 图 5-7 正弦波波形图 4 当按键 4 拨下时,波形为方波,同时指示灯 4 发光。波形图 如图 5-8 所示。 图 5-8 方波波形图 5.2.2 产生各种波形输出结果 锯齿波:vp-p=1.2v f=800hz 三角波:vp-p=1.5v f=5.6khz 正弦波:vp-p=3.5v f=1.3khz 方波: vp-p=5.2v f=100hz 通过按键控制可产生方波、锯齿波、三角波、正弦波等,同时 用 led 显示灯指示对应的形。本系统设计简单、性能较好,在经后 只要加以适当的改近就可具有一定的实用性。 5.2.3 波形结果分析 在将电路和实物连接的情况下再将程序下载至单片机中进行实际 电路的测试时,电路输出的四种波形基本上都可以看到,其中锯齿 波、三角波以及正弦波的输出误差较大,方波波形较为理想。但是 基本上是符合设计要求的。锯齿波和三角波输出波形中杂波成分较 大,波形不是较理想,这与实际要求存在一些误差,这些误差的来 源主要是由于电路的具体参数选择不好以及程序的时延所造成的。 当然在实际电路测量时由于实验环境的干扰也会对输出波形有一些 影响,这些影响主要是使输出波形产生寄生的高频杂波,具体表现 就是使输出波形质量变坏,波形边厚。在对电路进行调试时适当改 变数模转换电路及输出放大电路参数电路输出结果相对较好一些。 6.参考文献 1 孙俊逸,盛秋林,张铮等.单片机原理及应用m.北京:清华大学出版社, 2001. 2 蔡美琴.mcs-51 系列单片机系统及其应用m.北京:高等教育出版社, 2000. 3 孙育才,孙华芳,王荣兴.单片机原理及应用m.北京:电子工业出版社, 2003. 4 李鸿.单片机原理及应用m.湖南:湖南大学出版社,2004. 5 丁元杰.单片微机原理及应用.第二版m.北京:机械工业出版社,2001. 6 潘新民 王燕芳 编著.微型计算机控制技术. 北京:高等教育出版社,2004. 7 马忠梅.单片机的 c 语言应用程序设计m.北京:北京北航出版社,2003. 8 范立南. 单片微机接口与控制技术m. 沈阳:辽宁大学出版社,1996.69- 77. 9 张友德. 单片微型机原理、应用与实践m. 上海:复旦大学出版社, 1992.73-81. 10 李华. mcs-51 系列单片机实用接口技术m. 北京:北京航空航天大学出 版社,1993.23-31. 11 何希庆,高伟. mcs-51 单片机原理、实验、实例m. 山东:山东大学出 版社,1989.124-136. 12 张毅刚,彭喜元,姜守达. 新编 mcs-51 单片机应用设计m. 哈尔滨:哈 尔滨工业大学出版社, 2003.153-168. 13 胡汉才. 单片机原理及接口技术m. 北京:清华大学出版社, 1996,6678. 14 陆子明,徐长根. 单片机设计与应用基础教程.北京:国防工业出版社, 2005.1 15 刘守义.单片机应用技术.西安:西安电子科技大学出版社,2002. 8 16 李朝青单片机原理及接口技术北京:北京航空航天大学出版社,1994 17 王新贤.通用集成电路速查手册.济南:山东科学技术出版社,2002.9 附录 1 元件清单 标号标注 dac0832u1 lm324u2 mc1403u3 1kr1 1kr2 1kr3 1kr4 1kr5 1kr6 1kr7 1kr8 10kr9 20kr10 20kr11 1kri 电位器 10k rw 0.47ufc1 0.2ufc2 0.1ufci1 0.1ufci2 0.1ufci3 22ufci4 10ufci5 10ufci6 ledl1 ledl2 ledl3 ledl4 ledl5 at89s52u0 附录 2 电路原理图 附录 3 程序清单 key1 bit p1.0 key2 bit p1.1 key3 bit p1.2 key4 bit p1.3 ;按键 key1:锯齿波 按键 key2:三角波 按键 key3: 正弦波 ;按键 key4: 方波; org 0000h ljmp main org 0030h main:mov sp,#50h mov dptr,#7fffh mov p2,#00h mov a,#00h movx dptr,a scan_key1:mov a,p1 anl a,#0fh cjne a,#0eh,scan_key2 ljmp b1 scan_key2:mov a,p1 anl a,#0fh cjne a,#0dh,scan_key3 ljmp b2 scan_key3:mov a,p1 anl a,#0fh cjne a,#0bh,scan_key4 ljmp b3 scan_key4:mov a,p1 anl a,#0fh cjne a,#07h,scan_key1 ljmp b4 ;利用 dac0832 产生锯齿波; b1:clr p1.4 setb p1.5 setb p1.6 setb p1.7 lp: mov a,#00h mov dptr,#4000h movx dptr,a lp1: inc a mov p2,a cjne a,#0ffh,lp1 ljmp scan_key1 ;利用 dac0832 产生三角波; b2: clr p1.5 setb p1.4 setb p1.6 setb p1.7 up: mov a,#00h up1: inc a mov p2,a nop nop cjne a,#0f0h,up1 down:dec a mov p2,a nop nop cjne a,#00h,down ljmp scan_key2 ;利用 dac0832 产生正弦波; b3: mov r1,#00h ;取表格初值 ;在表格里取数送到指定地址/ loop1:clr p1.6 setb p1.4 setb p1.5 setb p1.7 mov a,r1 mov dptr,#settab movc a,a+dptr mov dptr,#4000h movx dptr,a mov p2,a inc r1;表格加一 cjne r1,#0ffh,loop1 settab: ;正弦表格/ db 80h,83h,86h,89h,8dh,90h,93h,96h db 99h,9ch,9fh,0a2h,0a5h,0a8h,0abh,0aeh db 0b1h,0b4h,0b7h,0bah,0bch,0bfh,0c2h,0c5h db 0c7h,0cah,0cch,0cfh,0d1h, 0d4h,0d6h,0d8h db 0dah,0ddh,0dfh,0e1h,0e3h, 0e5h,0e7h,0e9h db 0eah,0ech,0eeh,0efh,0f1h, 0f2h,0f4h,0f5h db 0f6h,0f7h,0f8h,0f9h,0fah, 0fbh,0fch,0fdh db 0fdh,0feh,0ffh,0ffh,0ffh, 0ffh,0ffh,0ffh db 0ffh,0ffh,0ffh,0ffh,0ffh, 0ffh,0feh,0fdh db 0fdh,0fch,0fbh,0fah,0f9h, 0f8h,0f7h,0f6h db 0f5h,0f4h,0f2h,0f1h,0efh, 0eeh,0ech,0eah db 0e9h,0e7h,0e5h,0e3h,0e1h, 0deh,0ddh,0dah db 0d8h,0d6h,0d4h,0d1h,0cfh, 0cch,0cah,0c7h db 0c5h,0c2h,0bfh,0bch,0bah, 0b7h,0b4h,0b1h db 0aeh,0abh,0a8h,0a5h,0a2h, 9fh, 9ch, 99h db 96h, 93h, 90h, 8dh, 89h, 86h, 83h, 80h db 80h, 7ch, 79h, 78h, 72h, 6fh, 6ch, 69h db 66h, 63h, 60h, 5dh, 5ah, 57h, 55h, 51h db 4eh, 4ch, 48h, 45h, 43h, 40h, 3dh, 3ah db 38h, 35h, 33h, 30h, 2eh, 2bh, 29h, 27h db 25h, 22h, 20h, 1eh, 1ch, 1ah, 18h, 16h db 15h, 13h, 11h, 10h, 0eh, 0dh, 0bh, 0ah db 09h, 08h, 07h, 06h, 05h, 04h, 03h, 02h db 02h, 01h, 00h, 00h, 00h, 00h, 00h, 00h db 00h, 00h, 00h, 00h, 00h, 00h, 01h, 02h db 02h, 03h, 04h, 05h, 06h, 07h, 08h, 09h db 0ah, 0bh, 0dh, 0eh, 10h, 11h, 13h, 15h db 16h, 18h, 1ah, 1ch, 1eh, 20h, 22h, 25h db 27h, 29h, 2bh, 2eh, 30h, 33h, 35h, 38h db 3ah, 3dh, 40h, 43h, 45h, 48h, 4ch, 4eh db 51h, 55h, 57h, 5ah, 5dh, 60h, 63h, 66h db 69h, 6ch, 6fh, 72h, 76h, 79h, 7ch, 80h ljmp scan_key3 ;利用 dac0832 产生方波; b4: clr p1.7 setb p1.4 setb p1.6 setb p1.5 mov a,#0ffh mov p2,a lcall dely mov a,#00h mov p2,a lcall dely ljmp scan_key4 dely:mov r6,#10h mov r7,#0edh nop dl1:djnz r7,dl1 dl2:djnz r6,dl2 ret end 附录 4 proteus 仿真系统简介 1 proteus 仿真系统概述 proteus 软件是英国 labcenter electronics 公司出版的 eda 工具软件。它不仅具有其它 eda 工具软件的仿真功能,还能仿真单 片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。 虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教 学的教师、致力于单片机开发应用的科技工作者的青睐。 1.1 功能特点 : proteus 软件具有其它 eda 工具软件(例:multisim)的功能。 这些功能是: (1)原理布图 (2)pcb 自动或人工布线 (3)spice 电路仿真 革命性的特点 : (1)互动的电路仿真 用户甚至可以实时采用诸如 led/lcd、键盘、rs232 终端等动 态外设模型来对设 计进行交互仿真。 (2)仿真处理器及其外围电路 可以仿真 51 系列、avr、pic 等常用主流单片机。还可以直 接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到 运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波 器等,proteus 建立了完备的电子设计开发环境。 1.2 功能模块 1)个易用而又功能强大的 isis 原理布图工具; 2)prospice 混合模型 spice 仿真; 3) ares pcb 设计. 1.3 proteus 所提供的资源 1)proteus 可提供的仿真元器件资源:仿真数字和模拟、交流和 直流等数千种元器件,有 30 多个元件库。 2)proteus 可提供的仿真仪表资源 :示波器、逻辑分析仪、虚 拟终端、spi 调试器、i2c 调试器、信号发生器、模式发生器、 交直流电压表、交直流电流表。理论上同一种仪器可以在一个 电路中随意的调用。 3)除了现实存在的仪器外,proteus 还提供了一个图形显示功能, 可以将线路上变化的信号,以图形的方式实时地显示出来,其 作用与示波器相似,但功能更多。这些虚拟仪器仪表具有理想 的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都 尽可能减少了仪器对测量结果的影响。 4)proteus 可提供的调试手段 proteus 提供了比较丰富的测试信号用于电路的测试。这些测 试信号包括模拟信号和数字信号。 1.4 用 proteus 实现软件仿真 1)支持多种主流单片机系统的仿真: 支持当前的主流单片机,如 51 系列、avr 系列、pic12 系列、 pic16 系列、pic18 系列、z80 系列、hc11 系列、68000 系列等。 2)提供软件调试功能: 3)提供丰富的外围接口器件及其仿真 ram,rom,键盘,马达,led,lcd,ad/da,部分 spi 器件, 部分 iic 器件。这样很接近实际。在训练学生时,可以选择不 同的方案,这样更利于培养学生。 4)提供丰富的虚拟仪器: 利用虚拟仪器在仿真过程中可以测量外围电路的特性,培养 学生实际硬件的调试能力。 5) 具有强大的原理图绘制功能: 2 proteus 单独仿真 在 protues 绘制好原理图后,调入已编译好的目标代码文件: *.hex,可以在 proteus 的原理图中看到模拟的实物运行状态和 过程。 proteus 在“单片机原理与应用技术”中的作用 1)proteus 是单片机课堂教学的先进助手。 proteus 不仅可将许多单片机实例功能形象化,也可将许多单 片机实例运行过程形象化。前者可在相当程度上得到实物演示实验 的效果,后者则是实物演示实验难以达到的效果。 2)proteus 是单片机实验教学的虚拟平台。 它的元器件、连接线路等却和传统的单片机实验硬件高度对应。 这在相当程度上替代了传统的单片机实验教学的功能,例:元器件 选择、电路连接、电路检测、电路修改、软件调试、运行结果等。 3)proteus 是单片机课程设计、毕业设计的创作园地。 课程设计、毕业设计是学生走向就业的重要实践环节。由于 proteus 提供了实验室无法相比的大量的元器件库,提供了修改电 路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪 器、仪表,因而也提供了培养学生实践精神、创造精神的平台 4)proteus 是单片机开发应用的工程开发环境。 随着科技的发展, “计算机仿真技术”已成为许多设计部门重要 的前期设计手段。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论