2020年 12月 28日 星期一
您的位置: 威廉希尔主页 > 单片机技术 >

基于单片机的信号发生器设计

来源:未知     作者:威廉希尔     发布时间:2020-12-28 14:07         

  摘要信号发生器是一种常用的信号源,广泛地应用于电子电、自动控制系统和教学实 验等领域。各种各样的信号又是通信领域的重要组成部分,其弦波、三角波和方波 等是较为常见的信号。在科学研究及教学实验中常常需要这几种信号的发生装置。为了 实验、研究方便,研制一种灵活适用、功能齐全、使用方便的信号源是十分必要的。 本文设计了一个基于AT89S52 单片机的信号发生器。该信号发生器以AT89S52 单片 机为核心,采用程序设计方法产生正弦波、三角波、矩形波,锯齿波和梯形五种波形, 再通过D/A 转换器DAC0832 将数字信号转换成模拟信号,经运算放大,最终由示波器显 示出来,能产生1Hz—3kHz 的波形。通过键盘来控制五种波形的类型选择、频率变化, 并通过液晶屏 LCD1602 显示其各自的类型以及数值,系统大致包括波形产生部分、数/ 模转换部分、运算放大部分以及液晶显示部分四部分,其中尤其对数/模转换部分和波 形产生部分进行详细论述。 关键词:信号发生器; AT89S52 单片机; DAC0832; 运放TL082 河南理工大学毕业设计(论文)说明书 II Abstract signalgenerator commonsource, widely used electroniccircuits, automatic control systems teachingexperiments. importantpart communicationsfield, including sine, squarewave morecommon signal. scientificresearch teachingexperiments often require several signal generating device. experimentalconvenience, flexibleapplication full-featured,easy signalsource verynecessary. single-chipsignal generator based signalgenerator microcontrollerAT89S52 programming method generatesine wave, wave, square wave, sawtooth trapezoidalfive kinds converterDAC0832 digital signals analogsignals operationalamplifier oscilloscopecan generate waveforms 1Hz-3kHz.Five waveform types selectvia frequencychanges, respectivetypes, valuethrough LCD1602display, generatepart converterpart operationalamplifier part LCDpart fourparts, conversionpart waveformgeneration section detail.Keywords: signal generator; AT89S52 microcontroller; DAC0832; op amp TL082 河南理工大学毕业设计(论文)说明书 III 目录 摘要 II目录 1.1课题背景 1.2研究内容及发展状况 1.3论文结构 2.1方案选择 2.2硬件电设计 2.3设计功能 3.1AT89S52 单片机硬件结构 3.1.1AT89S52 特性 3.1.2单片机引脚功能 3.1.3单片机最小系统 103.2 数模转换芯片的选择 123.2.1 数模转换芯片的选择.......................................................................... 12 3.2.2 DAC0832 芯片引脚及功能 133.3 运放模块芯片选择及在电中的应用 143.3.1 运放模块芯片选择及其引脚结构 143.3.2TL082 芯片在电中的应用 143.4 显示模块块选择 174.1 复位电 174.2 键盘电 184.3 时钟电 194.4 数模转换电 194.5 液晶显示电 204.6 运算放大电 22河南理工大学毕业设计(论文)说明书 IV 4.7 供电电 255.1 设计框架 255.2 仿线 各波形产生原理及频率计算.......................................................................... 30 5.4.1 正弦波产生原理 305.4.2 方波产生原理 325.4.3 三角波产生原理 335.4.4 锯齿波产生原理 355.4.5 梯形波产生原理 396.1 焊接准备工作 396.2 焊接电图 396.3 焊接后的测试 406.4 调试后的结果 406.5 实验中遇到的问题及解决办法 42致谢 45设计总结 46参考文献 47河南理工大学毕业设计(论文)说明书 前言1.1 课题背景 不论是在生产还是在科研与教学上,信号发生器都是电子工程师仿真实验的最佳工 具。随着我国经济和科技的发展,对相应的测试仪器和测试手段也提出了更高的要求, 信号发生器己成为测试仪器中至关重要的一类,因此开发信号发生器具有重大意义。传 统的信号发生器采用专用芯片,成本高,控制方式不灵活。本设计充分利用单片机灵活 的控制、丰富的外设处理能力,实现频率可调的函数波形的输出,同时可以根据需要方 便地实现在一定范围内的调频调功能,具有良好的实用性。 信号发生器应用广泛,种类繁多,性能各异,分类也不尽一致。按照频率范围分类 可以分为:超低频信号发生器、低频信号发生器、视频信号发生器、高频波形发生器、 甚高频波形发生器和超高频信号发生器。按照输出波形分类可以分为:正弦信号发生器 和非正弦信号发生器,非正弦信号发生器又包括:脉冲信号发生器、函数信号发生器、 扫频信号发生器、数字序列波形发生器、图形信号发生器、噪声信号发生器等。按照信 号发生器性能指标可以分为一般信号发生器和标准信号发生器。前者指对输出信号的频 率、幅度的准确度和稳定度以及波形失真等要求不高的一类信号发生器。后者是指其输 出信号的频率、幅度、调制系数等在一定范围内连续可调,并且读数准确、稳定、屏蔽 良好的中、高档信号发生器。 1.2 研究内容及发展状况 本文是基于单片机的信号发生器的设计,将采用编程的方法来实现三角波、矩形波、 正弦波、锯齿波和梯形波的发生。根据设计的要求,对各种波形的频率和幅度进行程序 的编写,并将所写程序装入单片机的程序存储器中。在程序运行中,当接收到来自 的命令,需要输出某种波形时再调用相应的中断服务子程序和波形发生程序,经电的 数/模转换器和运算放大器处理后,从信号发生器的输出端口输出。 波形发生器是能够产生大量的标准信号和用户定义信号,并高精度、高稳定性、 可重复性和易操作性的电子仪器。函数波形发生器具有连续的相位变换、和频率稳定性 等优点,不仅可以模拟各种复杂信号,还可对频率、幅值、相移、波形进行动态、及时 的控制,并能够与其它仪器进行通讯,组成自动测试系统,因此被广泛用于自动控制系 统、震动激励、通讯和仪器仪表领域。 河南理工大学毕业设计(论文)说明书 70年代前,信号发生器主要有两类:正弦波和脉冲波,而函数发生器介于两类 之间,能够提供正弦波、余弦波、方波、三角波、上弦波等几种常用标准波形,产生其 它波形时,需要采用较复杂的电和机电结合的方法。这个时期的波形发生器多采用模 拟电子技术,而且模拟器件构成的电存在着尺寸大、价格贵、功耗大等缺点,并且要 产生较为复杂的信号波形,则电结构非常复杂。同时,主要表现为两个突出问题,一 是通过电位器的调节来实现输出频率的调节,因此很难将频率调到某一固定值;二是脉 冲的占空比不可调节。 在70 年代后,微处理器的出现,可以利用处理器、A/D/和 D/A,硬件和软件使波 形发生器的功能扩大,产生更加复杂的波形。这时期的波形发生器多以软件为主,实质 是采用微处理器对 DAC 的程序控制,就可以得到各种简单的波形。 90 年代末,出现几种真正高性能、高价格的函数发生器、但是HP 公司推出了型号 HP770S的信号模拟装置系统,它由 HP8770A 任意波形数字化和 HP1776A 波形发 生软件组成。HP8770A 实际上也只能产生8 种波形,而且价格昂贵。不久以后,Analogic 公司推出了型号为 Data-2020 的多波形合成器,Lecroy 公司生产的型号为 9100 的任意 波形发生器等。 到了二十一世纪,随着集成电技术的高速发展,出现了多种工作频率可过 GHz 的DDS 芯片,同时也推动了函数波形发生器的发展,2003 年,Agilent 的产品 33220A 能够产生 17 种波形,最高频率可达到 20M,2005 年的产品 N6030A 能够产生高达 500MHz 的频率,采样的频率可达1.25GHz。 1.3 论文结构 本次设计讲述了基于单片机的信号发生器的设计原理和实现的方法。以 AT89S52 单片机为核心,结合一定的外围电和软件,实现智能波的产生和输出,并用 LCD1602 液晶显示屏显示了输出波形的类型和频率。从总体上来看设计任务可以分为硬件设计和 软件设计,这两者互相结合,不可分离。硬件设计的绝大部分工作量在最初阶段,到后 期往往还要作一些修改。软件设计任务贯穿始终,到中后期基本上都是软件设计任务。 软硬件结合从整体上实现了信号产生和显示的功能。 下面对本文的结构做一个简单的介绍 第一章 对信号发生器的研究背景、发展现状及论文的结构进行简单的阐述。 第二章 对设计方案进行论证比较,得出此方案的优点,并具体概述了信号发生 器的硬件设计电以及按键和液晶显示屏功能的设计。 河南理工大学毕业设计(论文)说明书 第三章对设计中所用到的硬件进行比较,又对所选的硬件功能进行了简单的概 述,主要包括单片机引脚功能和单片机最小系统,DAC0832 和TL082 简单描述。 第四章 对设计中的各个模块进行了详细的描述,基本上描述清楚了硬件电的设 第五章对系统软件方面的描述,主要包括系统总的设计思及各个波形产生的原 理,另外还加入了在设计中所用到的部分设计程序。 第六章 实物焊接及调试过程中遇到的问题,详细的描述了实物焊接以及在仿真中 遇到的一些问题以及解决办法。 河南理工大学毕业设计(论文)说明书 方案选择与硬件电设计2.1 方案选择 产生信号的方法有很多种,由纯粹物理器件构成的传统的设计方法存在许多弊端, 如:体积较大、重量较沉、移动不方便、信号失真较大、波形形状调节过于死板,无法 满足用户对精度、便携性、稳定性等要求,研究设计出一种具有频率稳定、准确、波形 质量好、输出频率范围宽、便携性好等特点的波形发生器具有较好的市场前景。以满足 工业领域对信号源的要求。 基于Altera 公司的现场可编程门阵列(FPGA)实现数字信号发生器的设计,FPGA 具有密度高,功耗低,体积小,可靠性高等特点,设计时可以不必过多考虑具体硬件连 接。设计中应用 VHDL 硬件描述语言进行描述,使该数字信号发生器可以产生正弦波、 方波、三角波、锯齿波四个的波形,并能对所产生的四种波形的频率和幅度进行调 节。但是外围电比较复杂,成本也较高。 波形发生器设计的纯软件法波形发生器的设计还可以采用纯软件的方法来实现。它 以计算机为基础,软件为核心,没有传统仪器那样具体的物理结构。在计算机上实现仪 器的虚拟面板,通过软件设计实现和改变仪器的功能。例如用图形化编程工具Lab VIEW 来实现任意波形发生器的功能:在Lab VIEW软件的前面板通过拖放控件,设计仪器的 功能面板(如波形显示窗口,波形选择按键,波形存储回放等工作界面),在软件的后面 板直接拖放相应的波形函数并进行参数设置或直接调用编程函数来设计任意波形以实 现波形产生功能。采用纯软件的虚拟仪器设计思可以使设计简单、高效,仅改变软件 程序就可以轻松实现波形功能的改变或升级。从长远角度来看,纯软件法成本较低。软 件法的缺点是波形的响应速度和精度逊色于硬件法。 使用的是AT89S52单片机构成的发生器,在单片机输出端口接DAC0832进行D/A 转换。通过运放进行波形调整,可产生三角波、阶梯波正弦波等多种波形,波形的频率 可用程序控制延时改变。单片机外围器件中增加式按键,通过按键控制波形的选择。 具简单、结构紧凑、价格低廉、性能优越等优点。 鉴于以上各种方案,使用AT89S52 单片机构成的发生器,它不仅采用软硬件结合, 软件控制硬件的方法来实现,使得信号频率的稳定性和精度的准确性得以,而且它 使用的几种元器件都是常用的元器件,容易得到,且价格便宜,使得硬件的开销达到最 2.2硬件电设计 数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换 成模拟信号的方法来获得所需要的波形。AT89S52 单片机本身就是一个完整的微型计算 机,具有组成微型计算机的各部分部件:中央处理器 CPU、随机存取存储器 RAM、只读 存储器ROM、I/O 接口电、定时器/计数器以及串行通讯接口等,只要将AT89S52 再配 置键盘及其接口、显示器及其接口、数模转换及波形输出、灯及其接口等四部分, 即可构成所需的波形发生器。 其信号发生器构成原理框图如图2-1 所示: 图2-1 系统方框图 AT89S52 是整个波形发生器的核心部分,通过程序的编写和执行,产生各种各样的 信号,并从键盘接收数据,进行各种功能的转换和信号幅度的调节。当数字信号经过接 口电到达转换电,将其转换成模拟信号也就是所需要的输出波形。 本方案其主要模块包括复位电、时钟信号、键盘控制、D/A 及液晶显示。其 各个模块的工作原理如下: (1)复位电是为单片机复位使用,使单片机接口初始化。AT89S52 单片机的复 位引脚RET 是施密特触发输入脚,内部有一个上拉低电阻,当振荡器起振以后,在RST 引脚上输出2 个机械周期以上的高电平,器件变进入复位状态开始,此时ALE、PSEN、 P0、P1、P2、P4 输出高电平,RST 上输入返回低电平以后,变退出复位状态开始工作。 该方案采用的是人工开关复位,在系统运行时,按一下开关,就在RST 断出现一段高电 平,使器件复位。 主控芯片 AT89S52 键盘电 数模转换 运算放大 示波器显示 液晶显示 河南理工大学毕业设计(论文)说明书 (2)时钟信号是产生单片机工作的时钟信号,控制着计算机的工作节奏,可以通过提高时钟频率来提高 CPU 的速度。AT89S52 内部有一个可控的反相放大器,引脚 XTAL1、XTAL2 为反相放大器输入端和输出端,在 XTAL1、XTAL2 上外接 12MHZ 30pF电容便组成振荡器。时钟信号常用于CPU 定时和计数。 (3)键盘模块是是用于控制信号输入的类型,当按键按下时,可以通过单片机编 程读取闭合的键号,实现相应的信号输出。其步骤主要是a、判断是否有键按下;b、去 抖动,延时20ms 左右;c、识别被按下的键号;d、处理,实现功能。 转换也称为数模转换,是把数字量变换成模拟量的线性电。单片机产生的数字信号通过 DAC0832 成模拟信号,输出相应的电流值,通过 TL082 集成运 算放大器可以取出模拟量得电压值,最后利用示波器获得输出的模拟信号的波形;衡量 数模转换的性能指标有分辨率、转换时间、精度、线 液晶显示器可以 直接显示出相关输出波形的信息,包括信号的类型和频率。 2.3 设计功能 (1)本方案利用利用3 位(P3.4,P3.5 和P3.6)控制开关信号输入类型,其中当 按下波形选择键使P3.4=0 时,输出正弦波,再次按下输出方波,当再按时输出三角波, 再按两次,则分别出现锯齿波和梯形波。当波形选择后,分别按下另外两个键(P3.5 P3.6),会分别对波形频率进行加减,相应的在示波器上波形频率也会发生变化。(2)本方案利用LCD1602 显示输出信号的类型和频率,如100Hz 正弦波,显示为 wave: sine,换行显示f:100Hz。 (3)利用DAC0832 数模转换芯片实现信号的转换,并通过集成运算放大器将信号 放大,输出信号能够在Proteus 软件中的示波器中显示。 (4)信号频率范围要求:正弦波1—781Hz,方波1—8333Hz,三角波1—781Hz, 锯齿波1—781Hz,梯形波1-195Hz。 (5)输出信号幅度:0~ 系统各模块硬件选择3.1 AT89S52 单片机硬件结构 AT89S52 单片机是一种低功耗高性能的CMOS8 位微控制器,内置8KB 可在线编程闪 存。该器件采用Atmel 公司的高密度非易失性存储技术生产,其指令与工业标准的80C51 指令集兼容。片内程序存储器允许重复在线编程,允许程序存储器在系统内通过SPI 行口改写或用同用的非易失性存储器改写。通过把通用的8位CPU 与可在线下载的Flash 集成在一个芯片上,AT89S52 便成为一个高效的微型计算机。它的应用范围广,可用于 解决复杂的控制问题,且成本较低。其结构框图如图3—1 所示。 AT89S52 具有以下标准功能: 8k 字节Flash,256 字节RAM,32 门狗定时器,2个数据指针,三个16 位定时器/计数器,一个6 向量2 级中断结构,全 双工串行口,片内晶振及时钟电。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口 中断继续工作。掉电方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停 止,直到下一个中断或硬件复位为止。 图3-1 单片机引脚结构 河南理工大学毕业设计(论文)说明书 3.1.1AT89S52 特性 AT89S52 具有以下特性: 兼容MCS51 产品 8K 字节可擦写1000 次的在线V 的工作电源范围 级程序存储器加密256 字节内部RAM 32 条可编程I/O 个16位定时器/计数器 个中断源UART 串行通道 低功耗空闲方式和掉电方式 通过中断终止掉电方式 看门狗定时器 3.1.2 单片机引脚功能 单片机引脚图如下: 图3-2 单片机在仿真中的引脚图 管脚说明: 河南理工大学毕业设计(论文)说明书 P0口:P0 位漏级开双向I/O口,每脚可吸收8 个TTL 门电流。当P0 口的管脚第一次写1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以 被定义为数据/地址的第八位。在FIASH 编程时,P0 口作为原码输入口,当FIASH 进行 校验时,P0 输出原码,此时P0 外部必须被拉高。 P1 口:该口是带有内部上拉电阻的8 位双向I/O 端口,P1 口的输出缓冲器可驱动 (吸收或输出电流方式)4 个TTL 输入。对端口写“1”时,通过内部的上拉电阻把端口 拉到高电位,此时可用作输入口。P1 口作输入口使用时,因为有内部的上拉电阻,那些 被外部信号拉低的引脚会输出一个电流。在对Flash 编程和程序校验时,P1 口接收低8 位地址。 另外,P1.0 与P1.1 可以配置成定时/计数器2 的外部计数输入端(P1.0/T2)与定 时/计数器2 的触发输入端(P1.0/T2EX),如表3-1 所示: 表3-1 P1 口管脚复用功能 P1.0 T2(定时器/计算器2 的外部输入端) P1.1 T2EX(定时器/计算器2 的外部触发端和双向控制) P1.5 MOSI(用于在线 MISO(用于在线编程) 端口引脚 复用功能 P1.7 SCK(用于在线 口为一个内部上拉电阻的8 位双向I/O 口,P2 口缓冲器可接收输出4 TTL门电流,当P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此 作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2 口输出地址的高八 位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读 写时,P2 口输出其特殊功能寄存器的内容。P2 FLASH编程和校验时接收高八位地 址信号和控制信号。 P3 口:该口是带有内部上拉电阻的8 位双向I/O 端口,P3 口的输出缓冲器可驱动 (吸收或输出电流方式)4 个TTL 输入。对端口写“1”时,通过内部的上拉电阻把端口 拉到高电位,此时可用作输入口。P3 口作输入口使用时,因为有内部的上拉电阻,那些 被外部信号拉低的引脚会输出一个电流。 在AT89S52 中,同样P3 口还用于一些复用功能,如表3-2 所列。在对Flash 编程 和程序校验期间,P3 口还接收一些控制信号。 河南理工大学毕业设计(论文)说明书 10 表3-2 P3 端口引脚与复用功能表 端口引脚 复用功能 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(外部数据存储器读选通) 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,当端保持高电平 时,此间内部程序存储器。在FLASH 编程期间,此引脚也用于12V 编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电的输入。 XTAL2:来自反向振荡器的输出。 VCC:供电电压。 GND:接地。 3.1.3 单片机最小系统 AT89S52 是片内有 ROM/EPROM 的单片机,因此,这种芯片构成的最小系统简单 可靠。用AT89S52 单片机构成最小应用系统时,只要将单片机接上时钟电和复位电 河南理工大学毕业设计(论文)说明书 11 即可。单片机最小系统就是由一个单片机,晶振电,复位电,电源电构成的。 图3-3 单片机最小系统 最小系统复位电的极性电容 C1 的大小直接影响单片机的复位时间,一般采用 10-30F,52 单片机最小系统容值越大需要的复位时间越短;晶振 Y1 也可以采用 6MHz 或者 11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,52 单片机最小系统 晶振的大小直接影响单片机的处理速度,频率越大处理速度越快;起振电容 C2、C3 般采用15-33pF,并且电容离晶振越近越好,晶振离单片机越近越好。P0口为开漏输出, 作为输出口时需加上拉电阻,阻值一般为10k。 如图所示AT89S52 单片机最小系统所示。 由于集成度的,最小应用系统只能用作一些小型的控制单元。其应用特点: (1)有可供用户使用的大量I/O (2)内部存储器容量有限。(3)应用系统开发具有特殊性。 河南理工大学毕业设计(论文)说明书 12 DI0 DI7 寄存器DAC 输入寄存器 ILECS WR1 WR2 XFER LE1 LE2 Iout1 Iout2 Vref Rfb AGND DGND VCC 3.2 数模转换芯片的选择 3.2.1 数模转换芯片的选择 在设计中,选择用DAC0832 来将数字信号转换成模拟信号。DAC0832 主要由8 入寄存器、8位DAC 寄存器、8 转换器以及输入控制电四部分组成。8位输入寄 存器用于存放主机送来的数字量,使输入数字量得到缓冲和锁存,由加以控制,8 位DAC 寄存器用于存放待转换的数字量,并加以控制。8 转换器输出与数字量成正比的模拟电流,由与门、与非门组成的输入控制电来控制2 个寄存器的选通或锁存状态。 DAC0832 原理框图如图3-4 所示:

      威廉希尔