基于单片机的信号发生器的设计_第1页
基于单片机的信号发生器的设计_第2页
基于单片机的信号发生器的设计_第3页
基于单片机的信号发生器的设计_第4页
基于单片机的信号发生器的设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、基于单片机的信号发生器的设计作 者 指导教师 摘要 随着电子测量技术与计算机技术的紧密结合,一种新的信号发生器波形发生器应运而生。所谓波形发生器是能够产生大量的标准信号和用户定义信号,并保证高精度、高稳定性、可重复性和易操作性的电子仪器。单片机作为微型计算机的一个重要分支,有着广泛的应用范围。本设计主要以80C51单片机为核心,通过对外围芯片的控制来实现对输出波形的频率调节,然后利用扩展D/A转换器,得到所需的正弦波函数信号发生器。关键词:单片机;波形发生器; D/A转换目 录引言11、研究概况21.1国内外波形发生器的发展状况21.2研制波形发生器的目的及意义41.3本论文研究的任务42、5

2、1单片机简介42.1单片机的发展历史42.2单片机的组成及特点5 2.3 单片机的发展趋势53、硬件部分63.1双通道波形发生器基本原理与组成63.2程序存储器及接口电路73.3键盘接口及程序编写73.4显示器及接口电路83.5输出电路94、软件部分105、结束11致谢11参考文献12引言波形发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验。常用的波形发生器多数采用分立元件组成,不但电路复杂、价格昂贵,而且仅能产生几种常用的信号波形,如正弦波、方波、锯齿波等,还很少有可调节两路输出波形之间相位差的波形发生器,不能满足实际需要。因此,该文介绍采用应用广泛的MCS-51系列的

3、8051单片机为核心部件,来设计与实现双通道波形发生器。该波形发生器能方便地产生所需信号波形,其频率、相位、波形也能满足精度要求。 1、研究概况1.1国内外任意波形发生器的发展状况任意波形发生器是能够产生大量的标准信号和用户定义信号,并保证高精度、高稳定性、可重复性和易操作性的电子仪器。任意波形发生器具有连续的相位变换、和频率稳定性等优点,不仅可以模拟各种复杂信号,还可对频率、幅值、相移、波形进行动态、及时的控制,并能够与其它仪器进行通讯,组成自动测试系统,因此被广泛用于自动控制系统、震动激励、通讯和仪器仪表领域。在70年代前,信号发生器主要有两类:正弦波和脉冲波,而函数发生器介于两类之间,能

4、够提供正弦波、余弦波、方波、三角波、上弦波等几种常用标准波形,产生其它波形时,需要采用较复杂的电路和机电结合的方法。这个时期的波形发生器多采用模拟电子技术,由分立元件或模拟集成电路构成,其电路结构复杂,且仅能产生正弦波方波、锯齿波和三角波等几种简单波形,输出的波形具有良好的相位噪声、较低的寄生分量以及较快的开关速度等,但是模拟电路的漂移较大,使输出的波形的幅度稳定性差,而且模拟器件构成的电路存在着尺寸大、价格贵、功耗大等缺点,并且要产生较为复杂的信号波形则电路结构非常复杂。同时,主要表现为两个突出问题,一是通过电位器的调节来实现输出频率的调节,因而很难将频率调到某一固定值二是脉冲的占空比不可调

5、节。在70年代后,微处理器的出现,可以利用为处理器、A/D/和D/A硬件和软件是波形发生器的功能扩大,产生更加复杂的波形。这时期的波形发生器多以软件为主,实质是采用微处理器对DAC的程序控制就可以得到各种简单的波形。例如,令微处理器的累加器A自身循环增量,每增量一次即向DAC送出一个数,使DAC有一个输出。因为当的内容达到最大值255时,再增量一次,A的内容就变为最小值(零)然后可以继续增加。如此,周而复始,就可以从DAC输出端获得一个正相的阶梯波。用同样的方法还可获得方波、锯齿波、三角波等波形软件控制波形的一个最大缺点就是输出波形的频率低,主要时由CP的工作速度决定的,如果想提高频率可以改进

6、软件程序减少其执行周期或提高CPU的时钟周期,但这些办法时有限度的,根本的办法还是要改进硬件电路。当时的信号处理其时专用于心好处理的微处理器,时钟频率只有12MHz,A/D和D/A一般在8位左右,内部存储容量也很小。因此,能够产生正弦波的有效频宽不会超过1MHz,要获得比较平滑的低失真度的波形,重复频率不会超过10KHz。用数字方法的函数发生器尚处于开发阶段,正式的商品还不多。到了1988年,出现几种真正高性能高价格的函数发生器、但是HP公司推出了型号为HP770S的信号模拟装置系统,它由HP8770A任意波形数字化和HP1776A波形发生软件组成。HP8770A实际上也只能产生8中波形,而且

7、价格昂贵。不久以后Analogic公司推出了型号为Data2020的多波形合成器,Lecroy公司生产的型号为9100的任意波形发生器等。现代电子、计算机和信号处理等技术的发展,极大的促进了数字化技术在电子测量仪器的应用使原有的模拟信号处理逐步被数字信号处理所代替,从而扩充了仪器信号的处理能力,提高了信号测量的准确度、精度和变换速度,克服了模拟信号处理的诸多缺点,数字信号发生器随之逐渐发展起来。目前任意波形发生器的基础就是直接数字合成技术,用存储器做查询表通过数字形式存入的波形,由数/模转换器产生所需要的任意波形。近几年来,国际上任意波形发生器技术发展主要体现在以下几个方面:1.过去由于频率很

8、低应用的范围比较狭小,输出波形频率的提高使得任意波形发生器能应用于越来越广的领域。任意波形发生器软件的开发正使任意波形的输入变得更加方便和容易。任意波形发生器通常允许用一系列的点、直线和固定的函数段把波形数据存入存储器。同时可以利用一种非常强有力的数学方程输入方式,复杂的波形可以由几个比较简单的公式复合成vf(t)形式的波形方程的数学表达式产生。各种计算机语言的飞速发展也推动了任意波形发生器软件技术的发展。目前可以利用可视化编程语言(如Visual Basic,Visual等等)编写任意波形发生器的软面板,这样允许徒手从计算机显示屏上输入任意波形,来实现波形的输入。2.与VXI资源结合。目前,

9、任意波形发生器由独立的台式仪器和适用于个人计算机的插卡以及新近开发的VXI模块。由于VXI总线的逐渐成熟和对测量仪器的高要求,在很多领域需要使用VXI系统测量和产生复杂的波形,VXI的系统资源提供了明显的优越性,但由于开发VXI模块的周期长,而且需要专门的VXI机箱的配套使用,使得任意波形发生器VXI模块仅限于航空、军事及国防等大型领域。在民用方面VXI模块远远不如台式仪器更为方便。3.随着信息技术蓬勃发展,台式仪器在走了一段下坡路之后,有在繁荣起来。不过现在的新的台式仪器的形态,和几年前的已有很大的不同。这些新一代台式仪器具有多种特性,可以执行多种功能。而且外形尺寸与价格,都比过去的类似产品

10、减少了一半。1.2研制任意波形发生器的目的及意义任意波形发生器是信号源的一种,它是具有信号源所具有的特点,更因它高的性能优势而倍受人们青睐。信号源主要给被测电路提供所需要的已知信号(各种波形),然后用其它仪表测量感兴趣的参数。可见信号源在各种实验应用和试验测试处理中,它不是测量仪器,而是根据使用者的要求,作为激励源,仿真各种测试信号,提供给被测电路,以满足测量或各种实际需要。目前我国已经开始研制任意波形发生器,并取得了可喜的成果。但总的来说,我国任意波形发生器还没有形成真正的产业。就目前国内的成熟产品来看,多为一些PC仪器插卡,独立的仪器和VXI系统的模块很少,并且我国目前在任意波形发生器的种

11、类和性能都与国外同类产品存在较大的差距,因此加紧对这类产品的研制显得迫在眉睫。1.3本论文研究的任务方案一:将8051 再配置键盘及其接口、显示器及其接口、数模转换及波形输出、指示灯及其接口等四部分,即可构成所需的波形发生器。方案二:利用单片机控制,采用频率锁相技术来实现的波形信号发生器。该设计本人选择了方案一。2、51单片机简介2.1单片机的发展历史单片机被称作“单片微型计算机”、“微控制器”,单片机的发展历史大致可以分为4个阶段。第一阶段:单片机的探索阶段。这一阶段主要是探索如何把计算机的主要部件集成在单芯片上。第二阶段:单片机的完善阶段。Intel公司推出了完善的、典型的MCS-51单片

12、机系列.它在一下几个方面奠定了典型的通用总线型单片机体系结构:设置了经典、完善的8位单片机的并行总线结构;外围功能单元由CPU集中管理的模式;体现控制特性的位地址空间和位操作方式;指令系统趋于丰富完善,并且增加了许多突出控制功能的指令。第三阶段: 向微控制器发展的阶段。这一阶段主要是为满足测控系统要求的各种外围电路与接口电路,突出器智能化控制能力。Philips公司等一些著名半导体厂商在8051基本结构的基础上,加强了外围电路的功能,体现了单片机的微控制器特征。第四阶段:单片机的全面发展阶段。由于很多大半导体和电气厂商都开始参与单片机的研制和生产,单片机世界出现了百花齐放、欣欣向荣的景象。 2

13、.2单片机的组成及特点80C51单片机是Intel公司于1980年推出的MCS-51系列高档8位单片机,其硬件结构主要包括:内部程序存储器和内部数据存储器容量、输入8输出I/O口、外部程序存储器和外部数据存储器寻址空间、中断与堆栈、定时8计数器与寄存器区、指令系统以及布尔处理器。80C51执行指令的时间与及定时器8计数器计数的频率都与振荡源的周期有关,为了提高波形频率的精度,采用12MHZ的晶振与外部时钟方式,晶振的两根引脚分别与80C51的外接晶振引脚X1和X2相连。波形发生器工作时,要求进入复位工作状态,因此需设计准确、可靠的复位电路。80C51单片机内部设置两个16位可编程的定时器8计数

14、器T0和T1,它们具有计数器方式和定时器方式两种工作方式及4种工作模式。在波形发生器中,将其作定时器使用,用它来精确地确定波形的两个采样点输出之间的延迟时间。模式1采用的是16位计数器,当T0或T1被允许计数后,从初值开始加1计数,最高位产生溢出时向5?请求中断。因此要想确定精确的时间,首先要计算出计数初值。中断系统是使处理器具有对外界异步事件的处理能力而设置的。当中央处理器CPU正在处理某件事的时候外界发生了紧急事件请求,要求CPU暂停当前的工作,转而去处理这个紧急事件。在波形发生器中,只用到片内定时器8计数器溢出时产生的中断请求,即是在80C51输出一个波形采样点信号后,接着启动定时器,在

15、定时器未产生中断之前,80C51等待,直到定时器计时结束,产生中断请求,80C51响应中断,接着输出下一个采样点信号,如此循环产生所需要的信号波形。2.3单片机的发展趋势 为降低功耗,单片机在工艺上全部采用了CHMOS技术.目前,单片机的主要发展趋势:低功耗管理,更宽的工作电压范围,高性能化,混合信号集成化,串行扩展技术,小体积、低价格,ISP及基于ISP的开发环境.3、硬件部分3.1双通道波形发生器基本原理与组成 众所周知,模拟信号可以通过采样量化得到数字信号,相反数字信号可以通过数模转换器转换成模拟信号。而相对于模拟信号而言,只由0和1两种状态组成的数字信号产生起来要简单容易得多。因此可通

16、过产生数字信号再转换成模拟信号的方法来获得所需要的波形。80C51单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器2计数器以及串行通讯接口等,只要将80C51再配置键盘及其接口、显示器及其接口、数模转换及波形输出、指示灯及其接口等四部分,即可构成所需的波形发生器,其波形发生器构成原理框图如图1所示。 图1 双通道的波形发生器原理框图80C51是整个波形发生器的核心部分,它从程序存储器读取程序,从键盘接收数据,经过处理送到指示灯和显示器,并产生相应的数字信号送到数模转换器,转换成模拟信号也就是所需

17、要的波形输出。键盘可使80C51接收用户输入的波形选择、波形频率和相位差信息,指示灯和显示器则将这些信息显示出来。而80C51如何工作则要按程序存储器中的程序指令执行。产生什么样的波形及怎样产生波形则完全由程序来决定。因此理论上可通过编写程序产生任意的波形。实际上对要产生的波形的一周期采取一定数量的采样点,在这里先采取一周期五十个采样点。在产生波形的时候,就在每次输出采样点数据之后执行一段延时程序,延时之后再输出下一个采样点,然后再延时,再输出如此循环,就产生了一定周期的信号波形。如果不计输出采样点数据所花的时间,那么波形的周期即是采样点之间延时程序执行的时间乘于50。这样只需要改变延时的时间

18、,就可以相应改变所产生信号波形的周期。波形发生器功能与性能指标设定如下:可产生各种波形(常用有三种波形:正弦波、锯齿波、方波);可调节波形频率(此设计低频可达到0.1赫兹,高频由于80C51运算速度的原因只能达到2K赫兹,再高的话会有较大的误差);可调节两路输出波形之间的相位差,从0到360度;波形的频率和相位差可用键盘输入;波形的频率和相位差可用LED数码管显示。3.2程序存储器及接口电路为了方便用户扩展程序,程序存储器采用了16K的EPROM 27128A。27128A由单一+5V供电,工作电流为100mA维持电流400mA,读出时间最大40mA,28线双列直插式封装。由于80C51单片机

19、的P0口是分时复用的地址8数据总线因此在进行程序存储器扩展时,必须利用地址锁存器将地址信号从地址8数据总线中分离开来。这里选用了带三态缓冲输的八D锁存器74LS373,地址锁存信号为ALE。当74LS373用作地址锁存器时,首先应使使能信号OE为低电平。当G输入端为高电平时,锁存器输出(Q0Q7)状态和输入端(D0D7)状态相同;当G端从高电平返回到低电平(下降沿)时,输入端(D0D7)的数据锁入8位锁存器中。图2是27128A与80C51的硬件连接图。由于27128A是16K容量的EPROM,故用到了14根地址线,地址锁存器采74LS373。由于系统中只扩展一片程序存储器,故27128A的片

20、选端CE接地。图2 27128A和80C51的硬件连接图3.3键盘接口及程序编写图3为所用矩阵式键盘通过三态门74LS244与80C51的接口电路原理图。键盘采用编程扫描方式工作,80C51的P0口低4位输出逐行扫描信号,P0口低4位通过74LS244输入4位列信号,均为低电平有效。74LS244的地址可设为6FFFH,这样读取键盘状态只需要用MOVE指令就可实现。该设计方案中利用延时10mS子程序进行软件消抖,通过设置处理标志来区分闭合键是否已处理过,采用计算方法得到键码,高4位代表行,低4位代表列。图3 键盘与80C51的接口电路图3.4显示器及接口电路 为了能够满足显示需要,这里采用LE

21、D显示器静态驱动芯片ICM7212AM。该波形发生器在发生波形的时候,尤其是在发生较高频率的波形时,需要CPU几乎全部的工作时间都用于产生数字信号,因此没有足够的时间用于显示器的动态显示。基于此显示器的显示方式只能采取静态显示方式。为了锁存和驱动两组共7位LED显示器,选用了ICM7212AM芯片。一片ICM7212AM芯片能直接驱动4位共阳极LED显示器,段驱动电流大于5mA,典型值为8mA。ICM7212AM芯片提供4个BIT位输入和4个显示位选择,采用BCD码译码。图4为显示器及接口电路。由图可知,输入ICM7212AM的数据字节中,低4位即D0D3是BCD数据,而D4和D5两位是位选数

22、据,它们分别与ICM7212AM的B0B3和DS1、DS2对应。片选信号中CS2均与WR相连,而CS1分别与译码器74LS138的Y0和Y1相连。CS1和CS2都有效时,芯片被选中,可见只有向芯片中写数据时,芯片才可能被选中。U1的地址可定为0FFFH,而U2地地址可定为1FFFH。只有向这两个地址单元中写入数据时,这些数据才能被写入ICM7212AM芯片中。图4 显示器及接口电路图3.5输出电路 单片机80C51产生的是数字信号,要想得到所需要的波形,就要把80C51产生的数字信号转换成模拟信号,这就需要一种能把数字信号转换成模拟信号的器件,这种器件就是数模转换器DAC。实际上,DAC输出的

23、电量也不是真正能连续可调,而是以DAC的绝对分辨率为单位增减,这实际上是准模拟量输出。该文选用价格低廉、接口简单、转换控制容易的8位分辨率的数模转换器DAC0832。DAC0832转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成,它具有两个输入数据寄存器,能直接与80C51单片机接口。图5是实际的双通道同步输出的D/A转换接口电路。图5 双通道同步输出的D/A转换接口电路4、软件部分 硬件部分已经介绍完了,而要想让这些元器件按照自己的想法工作,就得靠编写程序来实现其了。该文所有的程序都是用汇编语言编写,波形发生器的主程序流程图如图6所示。按键确认部分则主要是调用键

24、盘子程序KEY,得到相应的键值,剩下的就是一系列的比较和转移,根据键值跳转到不同的程序段。波形发生部分主要由两部分组成,一是输出波形的采样值,一是根据数据处理得到的计数初值启动计时器和相应的中断服务程序。对于简单的波形,像方波和锯齿波,波形的采样值可以直接在程序中预先设置数据或是简单的加减运算即可得到;而对于比较复杂或不规则的波形,例如正弦波,也只需要预先将波形的采样值列出线性表存储于程序存储器中,届时只需要查表即可得到。计时的启动则只需要置入初值和控制字即可。图6 波形发生器的主程序流程图结束本文采用Intel公司MCS-51的80C51单片机构造双通道波形发生器,在硬件和软件上都已经调试通过,可以直

温馨提示

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

评论

0/150

提交评论