目录摘要.........................................................................I1波形发生器简介...............................................................11.1波形发生器的概述.......................................................11.2研制波形发生器的目的及意义.............................................22PROTEUS的简介.................................................................32.1PROTEUS界面.............................................................32.2基本操作...............................................................42.3原理图的绘制...........................................................43单片机AT89C51概述...........................................................54总体设计.....................................................................84.1单片机电路.............................................................84.2D/A电路及接口.........................................................94.3系统软件设计..........................................................105系统模拟调试...............................................................175.1仿真结果..............................................................175.2结果分析..............................................................20心得体会......................................................................21参考文献......................................................................22I摘要本文实现了多功能波形发生器的设计。系统采用AT89C51单片机控制,DAC0832完成模数转换,键盘控制波形的频率、幅度。发生器产生三角波、方波、正弦波等波形,波形的频率可通过键盘控制,波形清晰、频率调整十分方便、稳定性好,产生合成波形只需修改源程序,不需改装电路。单片机的输出数字信号通过DAC0832转换成模拟信号,接入示波器就可以清晰的显示出系统产生的波形。该系统由仿真软件产生波形,具有线路简单、结构紧凑、价格低廉、性能优越等特点。关键词:波形发生器,AT89S52单片机,D/A转武汉理工大学《专业能力拓展训练》课程设计说明书11波形发生器简介1.1波形发生器的概述信号源有很多种,包括正弦波信号源、函数发生器、脉冲发生器、扫描发生器、任意波形发生器、合成信号源等。一般来讲任意波形发生器是一种特殊的信号源,综合具有其它信号源生成能力,因而适合各种仿真实验的需要。在基础实验中设计一种电路,需要验证其性能、可靠性与稳定性,就需要给它施加理想的波形以辨别真伪。如可使用信号源的DC补偿功能对固态电路控制DC偏压电平,可对一个怀疑有故障的数字电路,利用信号源的方波输出作为数字电路的时钟,同时使用方波加DC补偿产生有效的逻辑电平模式输出,观察该电路的运行状况,而证实故障缺陷的地方,总之,利用任意波形发生器这方面的基础功能能仿真基础实验室所必须的信号[1]。在实际的电子环境所设计的电路在运行中,由于各种干扰和响应的存在,实际电路往往存在各种信号缺陷和瞬变信号,例如过脉冲、尖峰、阻尼瞬变等(见图1.1,图1.2),这些情况的发生,如在设计之初没有考虑进去,有的将会产生灾难性的后果。例如图1.1中a处过剑峰脉冲,如果给一个抗过冲能力差的电路,将可能会导致整个设备“烧坏”。图1.1尖峰干扰脉冲图1.2阻尼瞬变由于任意波形发生器特殊的功能,为了增强任意波形生成能力,它往往依赖计算机通讯输出波形数据。在计算机传输中,通过波形编辑软件生成波形,有利于扩充仪器的能力,更进一步仿真模拟实验。同时由于编辑一个任意波形有时需要花费很长的时间和精力,并且每次编辑的波形可能有所差异,一般会在任意波武汉理工大学《专业能力拓展训练》课程设计说明书2形发生器内配置一定数量的非易失性存储器。可以把所需要的波形从计算机接口下载到任意波形发生器的存储器中。综上所述,不论是在生产还是在科研与教学上,任意波形发生器是电子工程师信号仿真实验的最佳工具。随着我国经济和科技的发展,对相应的测试仪器和测试手段也提出了更高的要求,而任意波形发生器己成为测试仪器中至关主要的一类,因此开发任意波形发生器具有重大意义。1.2研制波形发生器的目的及意义任意波形发生器是信号源的一种,它是具有信号源所具有的特点,更因它高的性能优势而倍受人们青睐。信号源主要给被测电路提供所需要的己知信号(各种波形),然后用其它仪表测量感兴趣的参数。可见信号源在各种实验应用和试验测试处理中,它不是测量仪器,而是根据使用者的要求,作为激励源,仿真各种测试信号,提供给被测电路,以满足测量或各种实际需要。目前我国己经开始研制任意波形发生器,并取得了可喜的成果。但总的来说,我国任意波形发生器还没有形成真正的产业。就目前国内的成熟产品来看,多为一些PC仪器插口,独立的仪器和VX工系统的模块很少,并且我国目前在任意波形发生器的种类和性能都与国外同类产品存在较大的差距,因此加紧对这类产品的研制显得迫在眉睫。见于这种情况下,本文实现了多功能波形发生器的设计。系统采用AT89C51单片机,DAC0832完成模数转换,键盘控制波形的频率、幅度。系统产生三角波、方波、正弦波等波形,波形的频率可通过键盘控制,波形清晰、频率调整十分方便、稳定性好,产生较复杂的波形只需修改源程序,不需改装电路。将单片机的输出数字信号通过DAC0832转换成模拟信号,接入示波器就可以清晰的显示出系统产生的波形。本系统具有线路简单、结构紧凑、价格低廉、性能优越等特点。武汉理工大学《专业能力拓展训练》课程设计说明书32Proteus的简介2.1Proteus界面进入ProteusISIS双击桌面上的ISIS6Professional图标或者单击屏幕左下方的“开始”→“程序”→“Proteus6Professional”→“ISIS6Professional”。ProteusISIS的工作界面是一种标准的Windows界面,如图2.1所示。包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。图2.1Proteus工作界面武汉理工大学《专业能力拓展训练》课程设计说明书42.2基本操作图形编辑的基本操作包括:1对象放置2.选中对象3.删除对象4.拖动对象5.拖动对象标签6.调整对象大小7.调整对象的朝向8.拷贝所有选中的对象9.移动所有选中的对象10.删除所有选中的对象2.3原理图的绘制原理图绘制可按照如下步骤进行1.画导线2.画总线3.画总线分支线4.放置总线将各总线分支连接起来5.跳线6.放置线路节点武汉理工大学《专业能力拓展训练》课程设计说明书53单片机AT89C51概述开发环境连接了AT89C51。本文讨论了这种测试环境的设计和原理,它的和各种硬件、软件环境部件的交互性,以及如何使用AT89C51。AT89C51单片机的功能参数·8031CPU与MCS-51兼容·4K字节可编程FLASH存储器·全静态工作:0Hz-24KHz·三级程序存储器保密锁定·128*8位内部RAM·32条可编程I/O线·两个16位定时器/计数器·6个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路单片机引脚图说明如图3.1。图3.1AT89C51引脚图武汉理工大学《专业能力拓展训练》课程设计说明书6Vcc:电源电压;GND:地;P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻;P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。Flash编程和程序校验期间,P1接受低8位地址;P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位四肢的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据;P3口:P3是一个带有内部上拉电阻的8位双向I/O口,P3的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL);RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位;ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是,每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG);武汉理工大学《专业能力拓展训练》课程设计说明书7PSEN:程序存储允许输出是外部程序存储器的读选通型号,当89C51由外部存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现;EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12v的编程允许电源Vpp,当然这必须是该器件使用12v编程电压VppXTAL1:振荡器反相放大器及内部时钟发生器的输入端;XTAL2:振荡器反相放大器的输出端。89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的