1、摘 要数字信号发生器是在电子设计,自动控制系统和仪表测量校正调试中应用很多的一种信号发生装置和信号源。本文采用 AT89C51 单片机构成的数字信号发生器,通过波形变换,可以产生方波,三角波,锯齿波等多种波形,波形的周期可通过程序来改变,并可以根据需要选择单极性输出或者双极性输出。具有线路简单,性能优越,结构紧凑等特点。关键词:AT89C51; 数字信号发生器; 波形变换ABSTRACTDigital signal generator in the electronic design、Automatic control system and instrumentation correction
2、 in debugging application a lot of signal generator and signal source。This paper uses the AT89C51chip microprocessor digital signal generator,Through waveform conversion, can produce square wave, triangle wave, sawtooth wave and other wave,Waveform cycle can be programmed to change。And can be based
3、on the need to select the output unipolar or bipolar output,With simple lines, superior performance, compact structure.Key words:AT89C51; Digital signal generator; Wave transformation目 录绪论 11 单片机的概述及信号发生器 21.1 单片机的概述 21.2 信号发生器的分类 21.3 研究内容 21.4 PROTUES 软件的介绍 22 实验设计原理及芯片简介 42.1 实验设计原理 4 2.2 AT89C51
4、 的简介 42.3 DAC0832 芯片的简介 62.4 DAC0832 的工作方式 83 实验硬件实现及单元电路的设计 103.1 硬件设计流程框图 103.2 信号发生器的外围结构 103.3 单片机最小系统设计 113.4 波形产生模块设计 114 实验仿真结果及调试 17 结 论 20参考文献 21致 谢 22宿州学院 2012 届本科生毕业设计 绪论1绪论电子测量及其他部门对各类信号发生器的广泛需求及电子技术的迅速发展,促使信号发生器种类增多,性能提高。尤其随着 70 年代微处理器的出现,更促使信号发生器向着自动化、智能化方向发展。现在,许多信号发生器带有微处理器,因而具备了自校、自
5、检、自动故障诊断和自动波形形成和修正等功能,可以和控制计算机及其他测量仪器一起方便的构成自动测试系统。当前信号发生器总的趋势是想着款频率覆盖、低功耗、高频率精度、多功能、自动化和智能化方向发展。信号发生器广泛应用于电子工程,通信工程,自动控制,遥测控制,测量仪器,仪表和计算机等技术领域。波形信号发生器又称为函数信号发生器,作为试验用信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。目前,市场上常见的波形信号发生器多为纯硬件搭接而成,且波形种类有限,多为锯齿、正弦、方波、三角等波形。信号发生器作为一种常见的应用电子仪器设备,传统的可以完全由硬件电路搭接而成,如采用 555 振荡电路
6、发生正弦波。三角波和方波的电路便是可取的路径之一,不用依靠单片机。但是这种电路存在波形质量差,控制难,可调范围小,电路复杂和体积大的缺点,在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟机械振动等领域常常要用到低频信号源。而由硬件电路构成的低频信号其性能难以令人满意,而且由于低频信号源所需的 RC 很大,大电阻,大电容在制作上有些困难,参数的精度亦难以保证;体积大,漏电,损耗显著更是其致命的弱点。一旦工作需求功能有增加,则电路复杂程度会大大增加。本文采用 AT89C51 单片机构成的波形发生器,可产生三角波,方波,锯齿波和正弦波等多种波形,波形周期可用程序改变,并可根据需要选择单极性
7、输出或者双极性输出,具有线路简单,结构紧凑,性能优越等特点。宿州学院 2012 届本科生毕业设计 单片机的概述及信号发生器21 单片机的概述及信号发生器1.1 单片机的概述随着大规模集成电路技术的发展,中央处理(CPU) 、随机存取存储器(RAM) 、只读存储器、 (I/O)接口、定时器/计数器和串行通信接口,以及其他一些计算机外围电路等均可集成在一块芯片上构成单片微型计算机,简称为单片机。单片机具有体积小,成本低,性能稳定、使用寿命长等特点。其中最明显的优势就是可以嵌入到各种仪器、设备中,这是其他计算机和网络都无法做到的。1.2 信号发生器的分类信号发生器应用广泛,种类繁多,性能各异,分类也
8、不尽一致。按照频率范围分类可以为:超低频信号发生器,低频信号发生器、视频信号发生器、高频波形发生器、甚高频波形发生器和超高频信号发生器。按照输出波形分类可以分为:正弦信号发生器和非正弦信号发生器,非正弦信号发生器又包括:脉冲信号发生器,函数信号发生器、扫频信号发生器、数字序列波形发生器、图形信号发生器、噪声信号发生器等。按照信号发生器性能指标可以分为一般信号发生器和标准信号发生器。前者对输出信号的频率、幅度的准确度和稳定度以及波形失真等要求不高的一类信号发生器。后者是指其输出信号的频率、幅度、调制系数等在一定范围内连续可调,并且读数准确、稳定、屏蔽良好的中、高档信号发生器。1.3 研究内容本文
9、是做基于 51 单片机的信号发生器的设计,将采用编程的方法来实现三角波、锯齿波、方波、正弦波的发生。根据设计的要求,对各种波形的频率和幅度进行程序的编写,并将所写程序装入单片机的程序存储器中。在程序运行中,当接收到来自外界的命令,需要输出某种波形时再调用相应的中断服务子程序和波形发生程序,经电路的数/模转换器和运算放大处理后,从信号发生器的输出端口输出。1.4 Protues 软件的介绍Protues 是目前最好的模拟单片机外围器件的工具,它可以仿真 51 系列、宿州学院 2012 届本科生毕业设计 单片机的概述及信号发生器3AVR、PIC 等常用的 MCU 及其外围电路(如 LCD、RAM、
10、ROM、键盘、马达、LED、AD/DA ,部分 SPI 器件,部分 IIC 器件) 。本文章基于 ProtuesPR06.7SP3和 KEIL uVision3 软件。当然软件仿真精度有限,而且不可能所有的器件都找得到相应的仿真模型,用开发板和仿真器当然是最好的选择,可是对于单片机爱好者,或者简单的开发应该是比较好的选择。Protues 与其他的单片机仿真软件不同的是,它不仅能仿真单片机 CPU的工作情况,也能反正仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过
11、程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用脱节的矛盾和现象。宿州学院 2012 届本科生毕业设计 实验设计原理及芯片简介42 实验设计原理及芯片简介2.1 实验设计原理数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。AT89C51 单片机本身就是一个完整的微型计算机,具有组成微型计算机的各种部分部件:中央处理器 CPU,随机存取存储器 RAM、I/O 接口电路、定时器/计数器以及串行通讯接口等,只要将 89C51 再配置键盘及其接口、显示器及其接口、数模转换及波形输出、指示灯及其接口等四部分。即可构成所需的波
12、形信号发生器,其信号发生器构成原理框图如图 2.1 所示图 2.1 信号发生器原理框图89C51 是整个波形信号发生器的核心部分,通过程序的编写和执行,产生各种各样的信号,并从键盘接收数据,进行各种功能的转换和信号幅度的调节。当数字信号经过接口电路到达转换电路,将其转换成模拟信号也就是所需要的输出波形。2.2 AT89C51 的简介图 2.2 AT89C51 芯片外形结构及引脚分布图AT89C51 是一种带 4K 字节闪存可编程可擦除只读存储器(EPEROM-Flash Programmable and Erasable Read Only Memory)的低电压、高性能 CMOS 8 位微处
13、理器,俗称单片机 5。AT89C2051 是一种带 2K 字节内闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦出 1000 次。该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的宿州学院 2012 届本科生毕业设计 实验设计原理及芯片简介5AT89C51 是一种高效微控制器,AT89C51 是它的一种精简版本。AT89C51 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如下图所示:管脚说明:VCC: 供低电压。GND
14、: 接地。P0 口: P0 口为一个 8 位漏极开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P0口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在 FLASH 编程时,P0 口作为原码输入口,当FLASH 进行校验时, P0 输出原码,此时 P0 外部必须被拉高。P1 口: P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。 P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校
15、验时,P1 口作为第八位地址接收。P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4 个TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编程和校验时接受高八位地址信号和控制信号。P3 口: P3 口管脚是 8 个带内部上拉电阻的
16、双向 I/O 口,可接收输出 4 个 TTL 门电流。当 P3 口写入“1” 后,他们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流,这是由于上拉的缘故。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 口同时为闪烁编
17、程和编程校验接收一些控制信号。RST: 复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。ALE/PROG: 当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 AFR8EH 地址上置 0.此时 ALE 只有在执行 MOVX,MOVC 指令时 ALE 才起作用。另外,该引脚被略微拉高。如果
18、微处理器在外部执行状态 ALE 禁止,置位无效。宿州学院 2012 届本科生毕业设计 实验设计原理及芯片简介5/PSEN: 外部程序存储器的选通信号。在由外部程序存储器取指器件,每个机器宿州学院 2012 届本科生毕业设计 实验设计原理及芯片简介6周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。/EA/VPP: 当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH ) ,不管是否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为 RESET;当/EA 端保持高电平时,此间内部程序存储器。在 FLASH 编程期间,次引脚也用
19、于施加 12V 编程电源(VPP) 。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。2.3 DAC0832 芯片的简介图 2.3 DAC0832 芯片外形结构及引脚分布图DAC0832 是 8 分辨率的 D/A 转换集成芯片。与微处理器完全兼容。这个 DA 芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。 D/A 转换器由 8 位输入锁存器、8 位 DAC 寄存器、8 位 D/A 转换电路及转换控制电路构成。DAC0832 的主要特性参数如下:分辨率为 8 位;电流稳定时间 1us;可单缓冲、双缓冲或直接数字输入;
20、只需在满量程下调整其线性度;单一电源供电(+5V+15V);低功耗,20mW。DAC0832 结构:D0D7:8 位数据输入线,TTL 电平,有效时间应大于 90ns(否则锁存器的数据会出错);ILE:数据锁存允许控制信号输入线,高电平有效;CS:片选信号输入线(选通数据锁存器),低电平有效;WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于 500ns)有效。由宿州学院 2012 届本科生毕业设计 实验设计原理及芯片简介7ILE、CS、 WR1 的逻辑组合产生 LE1,当 LE1 为高电平时,数据锁存器状态随输入数据线变换,LE1 的负跳变时将输入数据锁存;XFER:数据传输控制信号输入线,
21、低电平有效,负脉冲(脉宽应大于 500ns)有效;WR2:DAC 寄存器选通输入线,负脉冲(脉宽应大于 500ns)有效。由WR2、XFER 的逻辑组合产生 LE2,当 LE2 为高电平时,DAC 寄存器的输出随寄存器的输入而变化,LE2 的负跳变时将数据锁存器的内容打入 DAC 寄存器并开始 D/A 转换。IOUT1:电流输出端 1,其值随 DAC 寄存器的内容线性变化;IOUT2:电流输出端 2,其值与 IOUT1 值之和为一常数;Rfb:反馈信号输入线,改变 Rfb 端外接电阻值可调整转换满量程精度;Vcc:电源输入端,Vcc 的范围为+5V+15V;VREF:基准电压输入线,VREF
22、的范围为-10V+10V;AGND:模拟信号地DGND:数字信号地DAC0832 的工作方式:根据对 DAC0832 的数据锁存器和 DAC 寄存器的不同的控制方式,DAC0832 有三种工作方式:直通方式、单缓冲方式和双缓冲方式。DAC0832 引脚功能电路应用原理图 DAC0832 是采样频率为八位的 D/A 转换芯片,集成电路内有两级输入寄存器,使 DAC0832 芯片具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路 D/A 异步输入、同步转换等)。所以这个芯片的应用很广泛,关于 DAC0832 应用的一些重要资料见下图: D/A 转换结果采用电流形式输出。若需要
23、相应的模拟电压信号,可通过一个高输入阻抗的线性运算放大器实现。运放的反馈电阻可通过 RFB 端引用片内固有电阻,也可外接。DAC0832 逻辑输入满足 TTL 电平,可直接与 TTL 电路或微机电路连接。DAC0832 引脚功能说明:DI0DI7:数据输入线,TLL 电平。ILE:数据锁存允许控制信号输入线,高电平有效。CS:片选信号输入线,低电平有效。WR1:为输入寄存器的写选通信号。XFER:数据传送控制信号输入线,低电平有效。WR2:为 DAC 寄存器写选通输入线。Iout1:电流输出线。当输入全为 1 时 Iout1 最大。Iout2: 电流输出线。其值与 Iout1 之和为一常数。Rfb:反馈信号输入线,芯片内部有反馈电阻.