基于AT89S51的低频信号发生器毕业设计

上传人:1888****888 文档编号:38729417 上传时间:2021-11-08 格式:DOC 页数:34 大小:3.28MB
收藏 版权申诉 举报 下载
基于AT89S51的低频信号发生器毕业设计_第1页
第1页 / 共34页
基于AT89S51的低频信号发生器毕业设计_第2页
第2页 / 共34页
基于AT89S51的低频信号发生器毕业设计_第3页
第3页 / 共34页
资源描述:

《基于AT89S51的低频信号发生器毕业设计》由会员分享,可在线阅读,更多相关《基于AT89S51的低频信号发生器毕业设计(34页珍藏版)》请在装配图网上搜索。

1、龙岩学院龙岩学院毕业论文(设计)毕业论文(设计)题目: 基于 AT89S51 的低频信号发生器的设计 专业: 电子信息工程 1基于 AT89S51的低频信号发生器的设计【摘摘要要】:】:众所周知,数字技术和计算机技术己渗透到了工业、农业、商业、教育、医疗、军事、娱乐等每一个领域及生活中的每一个角落,其应用之深之广令人咋舌!尽管 PC 机的应用己相当普遍,但是,在工业领域、在日益追求小而精、轻而薄的自动化控制器、自动化仪表、家电产品等方面,PC 机仍有所不适宜。在这种情况下,单片机以它优越的控制功能、轻巧的体积,高可靠性和高性价比在智能化仪表系统、工控领域等日益显示出强大的生命力,使传统的电子技

2、术产生了一场巨变,成为计算机发展史上一个新的里程碑。 智能仪器的出现,极大地扩充了传统仪器的应用范围。智能仪器凭借其体积小、功能强、功耗低等优势,迅速地在家用电器、科研单位和工业企业中得到了广泛的应用。 该函数发生器采用 AT89S51 单片机作为控制核心,外围采用模拟/数字转换电路(DAC0832) 、运放电路(LM324) 、按键和 LED 显示灯电路等。电路采用 AT89S51单片机和一片 DAC0832数模转换器组成数字式低频信号发生器。函数信号发生器,它具有价格低、性能高和在低频范围内稳定性好、操作方便、体积小、耗电少等特点。由于采用了 LM324运算放大器,使其电路更加具有较高的稳

3、定性能,性能比高。此电路清晰,出现故障容易查找错误,操作简单、方便。通过按键控制可产生方波、锯齿波、三角波、正弦波等,同时用 LED 显示灯指示对应的波形。所产生的波形在一定频率范围可调,波形准确并且平滑。本系统设计简单、性能优良,具有一定的实用性。本设计主要应用 AT89S51 作为控制核心。硬件电路简单,软件功能完善,控制系统可靠,性价比较高等特点,具有一定的使用和参考价值。 【关键词关键词】:AT89s51:AT89s51;低频信号;发生器;运放器;低频信号;发生器;运放器 【Abstract】【Abstract】:As we all know, digital technology a

4、nd computer technology has penetrated into the industry, agriculture, commerce, education, medical, military, entertainment, and every area of life in every corner of the application of wide deep staggering! Despite the application of PC - has been quite common, but in the industrial field, in pursu

5、it of a small but growing, thin and light automatic controller, automation instruments, 2household electrical appliances and so on, PC still not suitable for machine. In this case, the single-chip control of its superior functionality, the size of compact, high reliability and cost-effective instrum

6、ent in the intelligent system, the growing industrial areas show great vitality to the traditional electronic technology resulted in a change to become the computer history of the development of a new milestone. The emergence of intelligent machines, which greatly expanded the scope of application o

7、f traditional instruments. Intelligent instrument, with its small size, powerful, low-power advantages of home appliances quickly, research institutes and industrial enterprises has been widely used. The function generator used as a control core single chip AT89S51, external analog / digital convert

8、er circuit (DAC0832), operational amplifier circuit (LM324), button and LED indicator lights and other circuits. AT89S51 circuit and a single-chip digital DAC0832 Digital to Analog component of low-frequency signal generator. Function signal generator, it has a low price, high-performance and low-fr

9、equency range of good stability, convenient operation, small size, low power consumption and so on. As a result of the LM324 operational amplifier to the circuit more stable high performance, high performance. This circuit clear, easy to find failure error, simple and convenient.Keys can be generate

10、d through control of square wave, sawtooth wave, triangle wave, sine wave and so on, at the same time with LED lights show the corresponding waveform instructions. Waveform generated frequency range of 92.592593Hz 217.3913Hz, accurate and smooth waveform. The system is designed to be simple, excelle

11、nt performance, with a certain degree of practicality.The main application of this design as a control core AT89S51. A simple hardware circuit, software functions, the control system reliable and cost-effective features such as high, with a certain degree of use and reference value.【Antistop】:【Antis

12、top】:AT89S51;low frequency signal;Producer;Player Win目目 录录1.绪论(4)1.1 信号发生器现状 (4)1.2 单片机在低频信号发生器中的应用(4)32.系统设计(5)2.1 系统方案的比较(5)2.2 芯片选择模块(5)2.3 系统设计要求(5)3. 硬件电路的设计(6)3.1 系统框图(6) 3.2 资源分配(6)3.3 最小单片机系统设计(6)3.4 各部分电路原理(10)4.软件设计(13)4.1 主程序流程图(13)4.2 方波程序流程图(14)4.3 三角波程序流程图(14)4.4 锯齿波程序流程图(15)4.5 正弦波程序流

13、程图(15)5.测试结论(16)6.致谢词(18)7.结束语(19)8.参考文献(20)9.附录(21)附录 1 电路原理图(21)附录 2 PCB 图 (22)附录3 源程序(23) 1.绪绪 论论41.1 信号发生器现状信号发生器作为一种常见的应用电子仪器设备,传统的可以完全由硬件电路搭接而成,如采用 555振荡电路发生正弦波、三角波和方波的电路便是可取的路径之一,不用依靠单片机。但是这种电路存在波形质量差,控制难,可调范围小,电路复杂和体积大等缺点。在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟机械振动等领域常常要用到低频信号源。而由硬件电路构成的低频信号其性能难以令人满意,

14、而且由于低频信号源所需的 RC 很大;大电阻,大电容在制作上有困难,参数的精度亦难以保证;体积大,漏电,损耗显著更是其致命的弱点。一旦工作需求功能有增加,则电路复杂程度会大大增加。1.2 单片机在低频信号发生器中的应用当今是科学技术及仪器设备高度智能化飞速发展的信息社会,电子技术的进步,给人们带来了根本性的转变。现代电子领域中,单片机的应用正在不断的走向深入,这必将导致传统控制与检测技术的日益革新。单片机构成的仪器具有高可靠性、高性能价格比,在智能仪表系统和办公自动化等诸多领域得以极为广泛的应用,并走入家庭,从洗衣机、微波炉到音响汽车,处处可见其应用。因此,单片机技术开发和应用水平已逐步成为一

15、个国家工业发展水平的标志之一。一块单片机芯片就是一台计算机。由于单片机的这种特殊的结构形式,在某些应用领域中,它承担了大中型计算机和通用微型计算机无法完成的一些工作。使其具有很多显著的优点和特点,因此在各个领域中都得到了迅猛的发展。单片机的特点归纳起来有以下几个方面。1.2.1 具有优异的性能价格比单片机尽可能地把应用所需的存储器,各种功能的 I/O 接口集成在一块芯片内,因而其性能很高,而价格却相对较低廉,即性能价格比很高。1.2.2 控制功能强 单片机体积虽小,但“五脏俱全” ,它非常适用于专门的控制用途。为了满足工业控制要求,一般单片机的指令系统中有极丰富的转移指令,I/O 口的逻辑操作

16、指令以及位操作指令。其逻辑控制功能及运行速度均高于同一档次的微机。1.2.3 集成度高、体积小、可靠性高单片机把各种功能部件集成在一块芯片上,因而集成度高,均为大规模或超大规模集成电路。又内部采用总线结构,减少了芯片之间的连线,这大大提高了单片机的可靠性与抗干扰能力。同时,其体积小,对于强磁场环境易于采取屏蔽措施,适合于在恶劣环境下工作。1.2.4 低电压、低功耗单片机大量用于携带式产品和家用消费类产品,低电压和低功耗尤为重要。目前,许多单片机已可在 2.2V 电压下运行,有的已能在 1.2V 或 0.9V 下工作,功耗降至 A 级,一粒钮扣电池就可长期使用。利用单片机采用程序设计方法来产生低

17、频信号,其下限频率很低。具有线路相对简单,结构紧凑,价格低廉,频率稳定度高,抗干扰能力强,用途广泛等优点,并且能够对波形进行细微调整,改良波形,使其满足系统的要求。只要对电路稍加修改,调整程序,即可完成功能升级。这里介绍一种采用 AT89S51 单片机和一片 DAC0832 数模转换器做成的数字式低频信号发生器,它的特点是价格低、性能高,在低频范围稳定性好、操作方便、体积小、耗电少等。信号发生器与其它相比还具有如下优点:较分立元件信号发生器而言,具有频率高,工作稳定,容易调试等特性;较专用 DDS 芯片的信号发生器而言,具有结构简单,成本低等特性。 2. .系统设计系统设计 52.1 系统方案

18、的比较系统方案的比较2.1.1 选题论证制作低频信号发生器可以用一片 DAC0832 来实现,它可以分为单极性和双极性。而本项目选择了单片双极性。之所以选单片双极性是因为其精度高,滤波好,抗干扰效果好。2.1.2 方案选择方案一: AT89S51 芯片中每一路模拟输出与 DAC0832 芯片相连,构成多个 DAC0832 同步输出电路,输出波形稳定,精度高,但是第二级 DAC0832 输出,发生错误并且电路连接复杂。方案二: AT89S51 芯片中只有一路模拟输出或几路模拟信号非同步输出,这种情况下对DAC0832 执行一次写操作,则把一个数据直接写入寄存器,DAC0832 的输出模拟信号随之

19、对应变化。输出波形稳定,精度高,滤波好,抗干扰效果好,连接简单,性价比高。因此我们设计中采用方案二。2.2 芯片选择模块方案一:AT89S51 单片机是一种高性能 8 位单片微型计算机。它把构成计算机的中央处理器 CPU、存储器、寄存器、I/O 接口制作在一块集成电路芯片中,从而构成较为完整的计算机。同时,为什么选AT89S51 而不选用 AT89C51,那是因为 AT89S51 相对于 AT89C51 更强大,S51 增加的新功能包括: 性能有了较大提升,价格基本不变,甚至比 89C51 更低! ISP 在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。是

20、一个强大易用的功能。 最高工作频率为 33MHz,大家都知道 89C51 的极限工作频率是 24M,就是说 S51 具有更高工作频率,从而具有了更快的计算速度。 具有双工 UART 串行通道。 内部集成看门狗计时器,不再需要像 89C51 那样外接看门狗计时器单元电路。 双数据指示器。 电源关闭标识。 方案二:C8051F005 单片机是完全集成的混合信号系统级芯片,具有与 AT89S51 兼容的微控制器的内核,与 MCS-51 指令集完全兼容。除了具有标准 AT89S51 的数字外设部件之外,片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件。方案选择:方案二中 C805

21、1F005 芯片系统内部结构复杂,不易控制,芯片成本高,对于本系统而言利用率低,AT89S51 芯片简单易控制,成本低,性能稳定,因此采用方案一。2.3 系统设计要求基本要求:信号频率范围1Hz1KHz正弦波峰峰值1V 幅值可调锯齿波峰峰值1.5V 幅值可调三角波峰峰值1.5V 幅值可调方波峰峰值1.5V 幅值可调频率控制方式手动 通过改变时间常数RC实现扩展要求:通过改变控制电压实现频率的压控,压控电压范围 03V 3. .硬件电路的设计硬件电路的设计3.1 系统框图如图系统框图如图 3-13-1 所示所示: :6 图 3-1 低频信号发生器系统框图低频信号发生器系统主要由 CPU、D/A

22、转换电路、基准电压电路、电流/电压转换电路、按键和波形指示电路、电源等电路组成。其工作原理为当分别每按下按键一次就会分别出现方波、锯齿波、三角波、正弦波,并且有数码管会指示是那种波形序号,另外,发光二极管发光说明系统处于工作状态。3.2 资源分配资源分配软、硬件设计是设计中不可缺少的,为了满足功能和指标的要求,资源分配如下1晶振采用 12MHZ;2内存分配P2 口与 DAC0832 的 DI0-DI7 数据输入端相连。P2 口用来控制 DAC0832 的输入寄存器选择信号 CS、输入寄存器写选通信号 WR1 及 DAC 寄存器写选通信号 WR2 和数据传送信号 XFER。3.3 最小单片机系统

23、最小单片机系统设计设计AT89S5 功能特性概述 AT89S51 是一个低功耗,高性能 CMOS 8 位单片机,片内含 4k Bytes ISP(In-system programmable)的可反复擦写 1000 次的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术制造,兼容标准MCS-51 指令系统及 80C51 引脚结构,芯片内集成了通用8 位中央处理器和 ISP Flash 存储单元,功能强大的微型计算机的AT89S51 可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S51 具有如下特点: 40 个引脚,4k Bytes Flash 片内程

24、序存储器, 128 bytes 的随机存取数据存储器( RAM) ,32 个外部双向输入 /输出(I/O)口,5 个中断优先级 2 层中断嵌套中断,2 个 16 位可编程定时计数器 ,2 个全双工串行通信口,看门狗( WDT)电路,片内时钟振荡器。此外,AT89S51 设计和配置了振荡频率可为 0Hz 并可通过软件设置省电模式。空闲模式下,CPU 暂停工作,而 RAM 定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM 的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP 和PLCC 等三种封装形式,以适应不同产品的需求。AT89S51 具

25、有如下特点: 40 个引脚,4k Bytes Flash 片内程序存储器, 128 bytes 的随机存取数据存储器( RAM) ,32 个外部双向输入 /输出(I/O)口,5 个中断优先级 2 层中断嵌套中断,2 个 16 位可编程定时计数器 ,2 个全双工串行通信口,看门狗( WDT)电路,片内时钟振荡器。 此外,AT89S51 设计和配置了振荡频率可为 0Hz 并可通过软件设置省电模式。空闲模式下, CPU 暂停工作,而 RAM 定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM 的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP

26、和 PLCC 等三种封装形式,以适应不同产品的需求。 键盘 AT89S51 波形指示 电源A/D 转换基准电压电流/电压转换输出73.3.1 AT89S51 的引脚图 实物图如图 3-2 所示 图 3-2 AT89S51 的引脚图 实物图3.3.2 主要特性: 8031 CPU 与 MCS-51 兼容4K 字节可编程 FLASH 存储器(寿命:1000 写/擦循环)全静态工作: 0Hz-24KHz三级程序存储器保密锁定128*8 位内部 RAM32 条可编程 I/O 线两个 16 位定时器/计数器6 个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路3.3.3 管脚说明:VCC:

27、供电电压。GND:接地。P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。 P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在 FIASH 编程时,P0 口作为原码输入口,当 FIASH 进行校验时, P0 输出原码,此时 P0 外部必须被拉高。P1 口:P1 口是一个内部提供上拉电阻的8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入, P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLAS

28、H 编程和校验时, P1 口作为第八位地址接收。P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16位地址外部数据存储器进行存取时, P2 口输出地址的高八位。在给出地址 “1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。 P2 口在FLASH 编程和校验时接收高八位地址信号和控制信号。P3 口:P3

29、 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。当 P38口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流( ILL)这是由于上拉的缘故 。 表 3-1 端口引脚图 I/O 口作为输入口时有两种工作方式即所谓的读端口与读引脚读端口时实际上并不从外部读入数据而是把端口锁存器的内容读入到内部总线经过某种运算或变换后再写回到端口锁存器只有读端口时才真正地把外部的数据读入到内部总线上面图中的两个三角形表示的就是输入缓冲器CPU 将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作这是由硬件自动完成的不需要

30、我们操心1然后再实行读引脚操作否则就可能读入出错为什么看上面的图如果不对端口置1 端口锁存器原来的状态有可能为 0Q 端为 0Q为 1 加到场效应管栅极的信号为 1 该场效应管就导通对地呈现低阻抗 ,此时即使引脚上输入的信号为 1 也会因端口的低阻抗而使信号变低使得外加的1 信号读入后不一定是 1 若先执行置 1 操作则可以使场效应管截止引脚信号直接加到三态缓冲器中实现正确的读入由于在输入操作时还必须附加一个准备动作所以这类I/O 口被称为准双向口 89C51 的 P0/P1/P2/P3 口作为输入时都是准双向口接下来让我们再看另一个问题从图中可以看出这四个端口还有一个差别除了P1 口外 P0

31、P2P3 口都还有其他的功能RST:复位输入。当振荡器复位器件时,要保持RST 脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执行 MOVX,MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在

32、外部执行状态 ALE 禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。/EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH) ,不管是否有内部程序存储器。注意加密方式1 时,/EA 将内部锁定为 RESET;当/EA 端保持高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加12V 编程电源( VPP) 。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.3.4

33、AT89S51 的晶振及其连接方法CPU 工作时都必须有一个时钟脉冲。有两种方式可以向 89S51 提供时钟脉冲:一是外部时钟方式,即使用外部电路向 89S51 提供始终脉冲,见图 3-(a);二是内部时钟方式,即使用晶振由 89S51 内部电路9产生时钟脉冲。一般常用第二种方法,其电路见图 3-(b)。 图 3-3 89S51 的时钟脉冲图 3-3 中:J 一般为石英晶体,其频率由系统需要和器件决定,在频率稳定度要求不高时也可以使用陶瓷滤波器。C1、C2:使用石英晶体时,C1=C2=30(10)pF使用陶瓷滤波器时,C1=C2=40(10)pF3.3.5 AT89S51 的复位使 CPU 开

34、始工作的方法就是给 CPU 一个复位信号,CPU 收到复位信号后将内部特殊功能寄存器设置为规定值,并将程序计数器设置为“0000H” 。复位信号结束后,CPU 从程序存储器“0000H”处开始执行程序。89S51 为高电平复位,一般有 3 种复位方法。 上电复位。接通电源时 手动复位。设置一个复位按钮,当操作者按下按钮时产生一个复位信号。 自动复位。设计一个复位电路,当系统满足某一条件时自动产生一个复位信号。图 3-4 为最简单的上电复位和手动复位方法。 图 3-4 89S51 的复位电路3.3.6芯片擦除整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持 ALE 管脚

35、处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89S51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。89S5110在闲置模式下,CPU 停止工作。但 RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存 RAM 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。3.4 各部分电路原理3.4.1 DAC0832 芯片原理管脚功能介绍(如图 3-5 所示)图 3-5 DAC0832 管脚图(1) D7D0:8 位的数据输入端,D7 为最高位。(2)IO

36、UT1:模拟电流输出端 1。(3) IOUT2:模拟电流输出端 2,当 DAC 寄存器中数据全为 1 时,输出电流最大,当 DAC 寄存器中数据全为0 时,输出电流为 0, IOUT2与 IOUT1的和为一个常数,即 IOUT1IOUT2常数。(4) Rfe:反馈电阻引出端,DAC0832 内部已经有反馈电阻,所以 Rfe 端可以直接接到外部运算放大器的输出端,这样相当于将一个反馈电阻接在运算放大器的输出端和输入端之间。(5) Vref:参考电压输入端,此端可接一个正电压,也可接一个负电压,它决定 0 至 255 的数字量转化出来的模拟量电压值的幅度,VREF范围为(+10-10)V。VREF

37、端与 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 寄存器的输入

38、端到输出端直通,只有第一级 8 位输入寄存器置成可选通、可锁存的单缓冲输入方式。 特殊情况下可采用双缓冲输入方式,即把两个寄存器都分别接成受控方式制作低频信号发生器有许多方案:主要有单缓冲方式,双缓冲方式和直通方式。单缓冲方式具有适用于只有一路模拟信号输出或几路模拟信号非同步输出的情形的优点,但是电路线路连接比较简单。而双缓冲方式适用于在需要同时输出几路模拟信号的场合,每一路模拟量输出需一11片 DAC0832 芯片,构成多个 DAC0832 同步输出电路,程序简单化,但是电路线路连接比较复杂。根据以上分析,我们的课题选择了单缓冲方式使用方便,程序简单,易操作。工作原理DAC0832 主要由

39、8 位输入寄存器、8 位 DAC 寄存器、8 位 D/A 转换器以及输入控制电路四部分组成。8 位输入寄存器用于存放主机送来的数字量,使输入数字量得到缓冲和锁存,由加以控制;8 位 DAC 寄存器用于存放待转换的数字量,由加以控制;8 位 D/A 转换器输出与数字量成正比的模拟电流;由与门、非与门组成的输入控制电路来控制 2 个寄存器的选通或锁存状态。 DAC0832 与反相比例放大器相连,实现电流到电压的转换,因此输出模拟信号的极性与参考电压的极性相反,数字量与模拟量的转换关系为 Vout1=-Vref(数字码/256)若 D/A 转换器输出为双极性,如图 3-6 所示。Iout1Iout2

40、VfbDA C0832U1567B1098CR2=RR1=2RR3=2RRVout2Vref=(字字 字-128)/128+5VVout1I1I2图 3-6 D/A 转换器双极性输出电路图 3-6 中,运算放大器 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,

41、则 VOUT2= -(2VOUT1+VREF)DAC0832 主要是用于波形的数据的传送,是本题目电路中的主要芯片。3.4.2LM324工作原理工作原理 12 图 3-7 LM324 原理图 管脚图LM324 时四运放集成电路 ,它采用 14 脚双列直插塑料封袋,外形上图所示。它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。每一组运算放大器可用图中所示的符号来表示,它有 5 个引出脚,其中“+” 、 “-”为两个信号输入端, “V+” 、 “V-”为正、负电源端, “OUT”为输出端。两个信号输入端中, “-”为反相输入端,表示运放输出端 OUT 的信号与该输入端的为

42、相反;“+”为同相输入端,表示运放输出端 OUT 的信号与输入端的相位相同。LM324 的引脚排列见图 7。由于 LM324 四运放电路具有电源电压范围宽,静态功耗小,可但电源使用,价格低廉等优点,因此被广泛应用在各种电路中。 4. .软件设计软件设计软件设计上,根据功能分了几个模块编程。模块主要有:主程序模块、方波模块、三角波模块、锯齿波模块、正弦波模块、延时子程序模块等。显示波形模块是利用 DAC0832 的 8 位特点,把波形的数据以 8 位数据的形势送进 CPU 中,只要一按键就能显示波形。134.1 主程序流程图 图 4-1 主程序流程图 本软件设计过程中主要实现利用按键来控制不同波

43、形的输出,当按键 KEY1 按下 1 次时,函数发生器就输出方波;当按键 KEY1 按下 2 次时,函数发生器就输出三角波;当按键 KEY1 按下 3 次时,函数发生器就输出锯齿波;当按键 KEY1 按下 4 次时,函数发生器就输出正弦波。通过按键可以以任意循环方式输出不同波形,数码管上显示的数字分别对应相应的波形。按键 KEY2 按下时复位。4.2 方波程序流程图开始置0832口地址000H输出对应模拟量00H? A延时H? A输出对应模拟量延时 开始KEY1 按下 1 次 输出方波KEY1 按下 3 次KEY1 按下 2 次KEY1 按下 4 次 N N N N NYYYY 输出三角波 输

44、出锯齿波 输出正弦波14图 4-2 方波程序流程图方波产生首先将 DAC0832 口地址至为 4000H,当 A 中的内容为 0 时,输出对应模拟量,然后延时,当 A 中的内容为 0FFH 时,同样输出对应模拟量,再延时,从而得到方波。4.3 三角波程序流程图 图 4-3 三角波程序流程图三角波产生首先将 DAC0832 口地址至为 4000H,通过 A 中数值的加一递升,当 A 中的内容为 0 时,与0FFH 相比,相等时 A 中的内容减一递减,从而循环产生三角波。开始置DAC0832口地址4000H(A)? 0832输出A+1? AA=0?A-1? A输入一个数字量FFH? A(A)? 0

45、832输出输入一个数字量00H? AA=0?YNNY154.4 锯齿波程序流程图 开始#00HA(A)0832输出(A)=F0H?A+1A置DAC0832口地址4000HNY 图 4-4 锯齿波程序流程图锯齿波产生首先将 DAC0832 口地址至为 4000H,然后将 00H 送入寄存器 A 中,DAC0832 输出 A 中的内容,当 A 中的内容等于 F0H 返回开始,当 A 中的内容不为 0FH 时,A 中的内容累加,从而输出波形。4.5 正弦波程序流程图 开始置0832口地址000H查表格取数送0832+1取表格初值R100H 图 12 正弦波程序流程图 5.测试结论测试结论165.1

46、产生各种波形电压输出范围及频率如下: 本作品可以产生方波、锯齿波、三角波、正弦波等,同时用 LED 显示灯指示对应的波形,同时,用户可以调节时间常数 RC 实现对频率的调节。 波形准确并且平滑。本系统设计简单、性能优良,具有一定的实用性。通过调试,波形无明显失真,且基本符合本设计的基本要求。基本要求如下:信号频率范围 1Hz1KHz正弦波峰峰值1V 幅值可调锯齿波峰峰值1.5V 幅值可调三角波峰峰值1.5V 幅值可调方波峰峰值1.5V 幅值可调频率控制方式手动 通过改变时间常数RC实现。5.2 示波器测试的波形测试结果如图所示:方波: 三角波: 锯齿波:17 正弦波: 图图 5-15-1 各波

47、形图各波形图 以上就是该设计所得出的波形图,可以看出,波形准确并且平滑。由于各方面的原因,能测试出的具体数据就不列出了。 6 6. .致谢致谢词词毕业设计的完成和论文的完成要感谢很多人。首先要感谢学校给我提提供了做这个系统的机会,感谢学校的各位领导和老师一直以来对我的教导和帮助。感谢刘世熙老师,给我进行了很多的辅导,不仅在技术上给了我很大帮助,也在系统需求和设计方面给予了我很大帮助。老师的谆谆教导,使我受益匪浅。刘老师多次询问研究进程,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。刘老师一丝不苟的作风,严谨求实的态度,踏踏实实的精神,不仅授我以文,而且教我做人,虽历时三载,却给以终生

48、受益无穷之道。我对刘老师的感激之情是无法用言语表达的。 感谢学校其他老师和同学给予的帮助和支持。经过近半年的锻炼和学习,我学到了许多书本上没有的知识,从方案的论证、课题的选择、电路原理,到电路上元器件的焊接、电路的调试,程序的编写,调试下载,一步步,我收获很大。在设计中,我力求硬件电路简单,充分发挥软件灵活方面的特点,满足系18统设计要求。这中间,我遇到了许多困难,在老师的帮助下,一个个也都战胜了。 7. .结束语结束语经过近半年的锻炼和学习,我学到了许多书本上没有的知识,从方案的论证、课题的选择、电路原理,到电路上元器件的焊接、电路的调试,程序的编写,调试下载,一步步,我受益匪浅。这项设计简

49、单,实用,想比其他低频信号发生器稳定而且价格低廉。但是其中不免有考虑不完善的地方。比如频率的可调范围不怎么理想,能输出的波形不怎么多。但是虽说如此,我还是成长许多的,我认识到毕业设计是本科学习阶段一次非常难得的理论与实际相结合的机会,更体会到了自己独立设计的难度,当然更多的是锻炼了我解决实际问题的能力,和提高查阅文献资料、软件应用等其他能力水平,而且通过对设计的整体的掌控,对局部的取舍,以及对细节的斟酌处理,经验得到了丰富。这是我希望看到的也正是我进行此次毕业设计的目的所在。虽然此次毕业设计不是很繁琐,但是对于系统的设计、系统的实现、系统的安全等问题的处理都是需要以扎实的专业知识为基础的,所以

50、由设计开始就是一个不断学习、不断改进和不断求教的过程。在这段过程中我下载了许多有关文献同时也到图书馆翻阅了许多相关资料,对于设计进度也是先安排学习后进行设计的,当然在设计过程中也是不断学习的,这些所学到的知识是很珍贵的。19在设计中一些技术上的问题让我很头痛,例如该采用哪种模块,如何让系统尽量变的简单,因为我们大家都知道,系统越简单越稳定,这就让我想到尽量选择最优方案,虽说这次设计有点简单,但是我相信它会让我在未来的工作学习中表现出更高的应变能力,更强的沟通力和理解力。今后我会更加努力的学习,完成更多更先进的设计。 8. .参参 考考 文文 献献1穆 兰.单片微型机计算机原理及接口技术M.北京

51、机械工业出版社.2杨叶珍. 单片机与单片机入门(一)J. 电子制作 , 2005,(10) 3蒋智勇,等.单片微型计算机原理及应用M.沈阳辽宁科学技术出版社.4王自力. S 波段频率合成源的研制J. 安徽大学学报(自然科学版) , 2004,(03) 5李朝青.单片机原理及接口技术. 北京:北京航空航天大学出版社.2006.6王自力. S 波段频率合成源的研制J. 安徽大学学报(自然科学版) , 2004,(03) 7康华光,邹寿彬.电子技术基础(数字部分).北京:高等教育出版社 2000.8张华, 丁宣浩, 章元洪. L 波段跳频频率合成器J. 广西师范学院学报(自然科学版) , 2003,

52、(01)209黄威, 白凤山. 智能测试系统中频率相位发生器的设计J. 内蒙古大学学报(自然科学版) , 2004,(05) 10张华, 丁宣浩, 章元洪. L 波段跳频频率合成器J. 广西师范学院学报(自然科学版) , 2003,(01) 11何水艳. 浅析数字下变频中的 NCOJ. 高等函授学报(自然科学版) , 2004,(01) 12 石云, 滕曰, 张瑞丽. 任意波形发生器设计中 TMS320VC5509A 的应用与探讨J. 科技信息(科学教研) , 2008,(18) 13 陈朝阳. 信号发生器设计与应用的考虑J. 国外电子测量技术 , 1994,(02) 14 黎国栋. 信号发生

53、器专业基础知识问答J. 上海计量测试 , 2004,(05) 15 张毅刚,等.MCS-51 单片机应用设计M.哈尔滨工业大学出版社.4 9.9.附录附录附录附录 1 1电路图电路图21 图 9-1 电路原理图附录附录 2 2PCBPCB 图图 22 图 9-2 PCB 图附录 3源程序23/*/程序名称:波形发生器/设计时间:2008.3.8/设计人:李霖/*/#include /#include /nop 的头文件/#include /共阴数码管的表/unsigned char code table=0 x00,0 x12,0 x4f,0 x5b,0 x72; / 1 2 3 4 /*un

54、signed char code stable=0 x80,0 x83,0 x86,0 x89,0 x8d,0 x90,0 x93,0 x96,0 x99,0 x9c,0 x9f,0 xa2,0 xa5,0 xa8,0 xab,0 xae,0 xb1,0 xb4,0 xb7,0 xba,0 xbc,0 xbf,0 xc2,0 xc5,0 xc7,0 xca,0 xcc,0 xcf,0 xd1,0 xd4,0 xd6,0 xd8,0 xda,0 xdd,0 xdf,0 xe1,0 xe3,0 xe5,0 xe7,0 xe9,0 xea,0 xec,0 xee,0 xef,0 xf1,0 xf2,

55、0 xf4,0 xf5,0 xf6,0 xf7,0 xf8,0 xf9,0 xfa,0 xfb,0 xfc,0 xfd,0 xfd,0 xfe,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xfe,0 xfd,0 xfd,0 xfc,0 xfb,0 xfa,0 xf9,0 xf8,0 xf7,0 xf6,0 xf5,0 xf4,0 xf2,0 xf1,0 xef,0 xee,0 xec,0 xea,0 xe9,0 xe7,0 xe5,0 xe3,0 xe1,0 xde,0 xdd,0 xda,

56、0 xd8,0 xd6,0 xd4,0 xd1,0 xcf,0 xcc,0 xca,0 xc7,0 xc5,0 xc2,0 xbf,0 xbc,0 xba,0 xb7,0 xb4,0 xb1,0 xae,0 xab,0 xa8,0 xa5,0 xa2,0 x9f,0 x9c,0 x99,0 x96,0 x93,0 x90,0 x8d,0 x89,0 x86,0 x83,0 x80,0 x80,0 x7c,0 x79,0 x76,0 x72,0 x6f,0 x6c,0 x69,0 x66,0 x63,0 x60,0 x5d,0 x5a,0 x57,0 x55,0 x51,0 x4e,0 x4c,

57、0 x48,0 x45,0 x43,0 x40,0 x3d,0 x3a,0 x38,0 x35,0 x33,0 x30,0 x2e,0 x2b,0 x29,0 x27,0 x25,0 x22,0 x20,0 x1e,0 x1c,0 x1a,0 x18,0 x16,0 x15,0 x13,0 x11,0 x10,0 x0e,0 x0d,0 x0b,0 x0a,0 x09,0 x08,0 x07,0 x06,0 x05,0 x04,0 x03,0 x02,0 x02,0 x01,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,240 x00,0 x00,0 x00,0 x0

58、0,0 x00,0 x00,0 x01,0 x02,0 x02,0 x03,0 x04,0 x05,0 x06,0 x07,0 x08,0 x09,0 x0a,0 x0b,0 x0d,0 x0e,0 x10,0 x11,0 x13,0 x15,0 x16,0 x18,0 x1a,0 x1c,0 x1e,0 x20,0 x22,0 x25,0 x27,0 x29,0 x2b,0 x2e,0 x30,0 x33,0 x35,0 x38,0 x3a,0 x3d,0 x40,0 x43,0 x45,0 x48,0 x4c,0 x4e, 0 x51,0 x55,0 x57,0 x5a,0 x5d,0 x

59、60,0 x63,0 x66,0 x69,0 x6c,0 x6f,0 x72,0 x76,0 x79,0 x7c,0 x80 ;unsigned char code stable=128,131,134,137,140,143,146,149,152,155,159,162,165,168,171,173,176,179,182,185,188,190,193,196,198,201,204,206,209,211,213,216,219,220,222,224,226,228,230,232,234,235,237,239,240,242,243,244,245,247,248,249,25

60、0,250,253,252,253,253,254,254,254,255,255,255,255,255,255,255,254,254,254,253,252,252,251,250,249,248,247,246,245,244,243,241,240,238,237,235,233,231,230,228,226,224,222,219,217,215,213,210,208,205,203,200,198,195,192,190,187,184,181,178,176,173,170,167,164,161,158,155,152,148,145,142,139,136,132,13

61、0,127,123,120,117,114,111,108,105,102, 99, 96, 93, 90, 87, 84, 81,78 ,75 ,72 ,69 , 66, 64, 61, 58, 56,53 , 50,48 , 46,43 , 41, 39,37 , 34, 32, 30, 28, 26, 24, 23,21 ,19 ,18 ,16 , 14, 13, 12, 10, 9, 8 , 7 , 6 , 5, 4 , 3, 3, 2, 1, 1, 1, 1, 1, 0 , 0, 0 , 0, 0 , 0 , 1, 1, 2, 2, 3, 3 , 4 , 5 , 6 , 7 , 8,

62、 9, 10, 12, 13, 14, 16, 17, 19, 21,2522, 24, 26, 28, 30, 32, 34, 36, 38, 41, 43, 45, 48, 50, 53, 55, 58, 61, 63, 66, 69, 72, 75, 77,80 , 83, 86, 89, 92, 95, 98, 101,104,107,111,114,117,120,123,126;*/unsigned char code stable=80, 81, 83, 84, 86, 87, 89, 90, 92, 93, 95, 96, 97, 99, 100, 102, 103, 104,

63、 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,

64、 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

65、, 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

66、, 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;26unsigned char time1; /延时函数参数/ /变量说明/ 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 sanjiaobo(void);/三角波函数/void juchibo(v

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!