基于51单片机信号发生器的设计大学论文.docx
- 文档编号:6211455
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:32
- 大小:1.23MB
基于51单片机信号发生器的设计大学论文.docx
《基于51单片机信号发生器的设计大学论文.docx》由会员分享,可在线阅读,更多相关《基于51单片机信号发生器的设计大学论文.docx(32页珍藏版)》请在冰豆网上搜索。
基于51单片机信号发生器的设计大学论文
本科毕业设计论文
题目:
基于51单片机信号发生器的设计
系别:
电气与信息工程
专业:
电子信息工程
班级:
电信002学号:
学生姓名:
指导老师:
2014年5月
题目:
基于51单片机信号发生器的设计
姓名:
专业:
电子信息工程
摘要
本次设计利用单片机AT89C52采用程序设计方法产生三角波、正弦波、方波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产生1Hz—1kHz的波形。
通过键盘来控制三种波形的类型选择、拨码开关控制频率的变化,并通过液晶屏1602显示其各自的类型以及数值,系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分。
本次设计是在proteus环境下搭建仿真电路图并进行模拟仿真。
本次设计可以产生5HZ-50HZ的正弦波,100HZ-1000HZ的方波,25HZ-250HZ的三角波。
关键词:
单片机;液晶显示;D/A转换器;频率可控
Title:
Designofsignalgeneratorbasedon51singlechipmicrocomputer
Applicant:
RanQianQianStudentID:
10010085
Speciality:
Electronicinformationengineering
ABSTRACT
Abstract:
thissystemcapitalizeonAT89c52,itmakesuseofcentralprocessortogeneratethreekindsofwaves,theyaretrianglewave,anduseD/Aconversionmodule,wavegeneratemoduleandliquidcrystaldisplayof1602,itcanhavethe1Hz-1KHzprofile.Inthissystemitcancontrolwaveformchoosing,frequency,range,canhavethesinewave,thesquare-wave,thetriangularwave.Simultaneouslymayalsotakethefrequencymeasurementfrequency,anddisplaysthemthroughliquidcrystaldisplayof1602.thisdesignincludesthreemodules.TheyareD/Aconversionmodule,wavegeneratemoduleandliquidcrystaldisplayofLEDmodule.
Thisdesignisbuiltinproteussimulationcircuitandsimulationenvironment.
Thisdesigncanproduce5HZ-50HZsinewave,squarewave100HZ-1000HZ,thetriangularwaveof25HZ-250HZ.
KEYWORDS:
AT89C52;DAC0832;LCDdisplay;Frequencycontrolled
一绪论
选题意义
随着电子测量及其他部门对各类信号发生器的广泛需求及电子技术的迅速发展促使信号发生器种类增多,性能提高。
尤其随着70年代微处理器的出现,更促使信号发生器向着自动化、智能化方向发展。
现在,许多信号发生器带有微处理器,因而具备了自校、自检、自动故障诊断和自动波形形成和修正等功能,可以和控制计算机及其他测量仪器一起方便的构成自动测试系统[1]。
当前信号发生器总的趋势是向着宽频率覆盖、低功耗、高频率精度、多功能、自动化和智能化方向发展。
在科学研究、工程教育及生产实践中,如工业过程控制、教学实验、机械振动试验、动态分析、材料试验、生物医学等领域,常常需要用到低频信号发生器。
而在我们日常生活中,以及一些科学研究中,锯齿波和正弦波、矩形波信号是常用的基本测试信号。
譬如在示波器、电视机等仪器中,为了使电子按照一定规律运动,以利用荧光屏显示图像,常用到锯齿波产生器作为时基电路。
信号发生器作为一种通用的电子仪器,在生产、科研、测控、通讯等领域都得到了广泛的应用。
但市面上能看到的仪器在频率精度、带宽、波形种类及程控方面都已不能满足许多方面实际应用的需求。
加之各类功能的半导体集成芯片的快速生产,都使我们研制一种低功耗、宽频带,能产生多种波形并具有程控等低频的信号发生器成为可能[3]。
研究现状
信号发生器的发展历史
目前,市场上常见的波形发生器多为纯硬件的搭接而成,且波形种类有限,多为锯齿、正弦、方波、三角等波形。
信号发生器作为一种常见的应用电子仪器设备,传统的可以完全由硬件电路搭接而成。
如采用555振荡电路发生正弦波、三角波和方波的电路便是可取的路径之一,不用依靠单片机。
但是这种电路存在波形质量差,控制难,可调范围小电路复杂和体积大等缺点。
在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟机械振动等领域常常要用到低频信号源,而由硬件电路构成的低频信号其性能难以令人满意,而且由于低频信号源所需的RC很大:
大电阻,大电容在制作上有困难,参数的精度亦难以保证:
体积大,漏电,损耗显著更是其致命的弱点。
一旦工作需求功能有增加,则电路复杂程度会大大增加。
在70年代前,信号发生器主要有两类:
正弦波和脉冲波,而函数发生器介于两类之间,能够提供正弦波、余弦波、方波、三角波、上弦波等几种常用标准波形,产生其它波形时,需要采用较复杂的电路和机电结合的方法。
这个时期的波形发生器多采用模拟电子技术,而且模拟器件构成的电路存在着尺寸大、价格贵、功耗大等缺点,并且要产生较为复杂的信号波形,则电路结构非常复杂。
同时,主要表现为两个突出问题,一是通过电位器的调节来实现输出频率的调节,因此很难将频率调到某一固定值二是脉冲的占空比不可调节[13]。
在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。
由上面的产品可以看出,函数波形发生器发展很快[14]。
信号发生器的发展特点
而近几年来,国际上波形发生器技术发展主要体现在以下几个方面:
(1)过去由于频率很低应用的范围比较狭小,输出波形频率的提高,使得波形发生器能应用于越来越广的领域。
波形发生器软件的开发正使波形数据的输入变得更加方便和容易。
波形发生器通常允许用一系列的点、直线和固定的函数段把波形数据存入存储器。
同时可以利用一种强有力的数学方程输入方式,复杂的波形可以由几个比较简单的公式复合成v=f(t)形式的波形方程的数学表达式产生。
从而促进了函数波形发生器向任意波形发生器的发展,各种计算机语言的飞速发展也对任意波形发生器软件技术起到了推动作用。
目前可以利用可视化编程语言(如VisualBasic,VisualC等等)编写任意波形发生器的软面板,这样允许从计算机显示屏上输入任意波形,来实现波形的输入。
(2)与VXI资源结合。
目前,波形发生器由独立的台式仪器和适用于个人计算机的插卡以及新近开发的VXI模块。
由于VXI总线的逐渐成熟和对测量仪器的高要求,在很多领域需要使用VXI系统测量产生复杂的波形,VXI的系统资源提供了明显的优越性,但由于开发VXI模块的周期长,而且需要专门的VXI机箱的配套使用,使得波形发生器VXI模块仅限于航空、军事及国防等大型领域。
在民用方面,VXI模块远远不如台式仪器更为方便。
(3)随着信息技术蓬勃发展,台式仪器在走了一段下坡路之后,又重新繁荣起来。
不过现在新的台式仪器的形态,和几年前的己有很大的不同。
这些新一代台式仪器具有多种特性,可以执行多种功能。
而且外形尺寸与价格,都比过去的类似产品减少了一半。
二总体设计方案
设计思路
由于要求达到模拟信号波形发生,因此要由D/A转换芯片来完成此项任务,由基准电路来实现输出波形的幅度可调,通过电位器调节波形的变化。
经过数模转换电路输出的信号为电流形式,因此需要加电流/电压转换电路来改变输出信号的形式。
设计内容及要求
(1)原始数据
1)信号发生器的频率范围:
1Hz~1KHz
2)信号发生器的幅度范围:
100mV~5V
(2)技术要求:
1)能够输出正弦、三角波和方波,并且输出信号的频率和幅度可调
2)具有良好的人机界面
(3)工作要求:
1)采用proteus软件设计基于MCS-51系列单片机的信号发生器
2)采用相关语言编写应用程序并调试
3)对系统进行测试和结果分析
4)写出论文方案选择及论证
方案选择及论证
方案一:
用分立元件组成的函数发生器,通常是单函数发生器且频率不高,其工作不很稳定,不易调试。
方案二:
可以由晶体管、运放IC等通用器件制作,更多的则是用专门的函数信号发生器IC产生。
早期的函数信号发生器IC,如L8038、BA205、XR2207/2209等,它们的功能较少,精度不高,频率上限只有300kHz,无法产生更高频率的信号,调节方式也不够灵活,频率和占空比不能独立调节,二者互相影响。
方案三:
利用单片集成芯片的函数发生器,能产生多种波形,达到较高的频率且易于调试。
鉴于此,美国马克西姆公司开发了新一代函数信号发生器ICMAX038,它克服了上述方案二中芯片的缺点,可以达到更高的技术指标,是上述芯片望尘莫及的。
MAX038频率高、精度好,因此它被称为高频精密函数信号发生器IC。
在锁相环、压控振荡器、频率合成器、脉宽调制器等电路的设计上,MAX038都是优选的器件。
方案四:
利用专用直接数字合成DDS芯片的函数发生器,能产生任意波形并达到很高的频率,但成本较高。
方案五:
采用函数信号发生器ICL8038集成模拟芯片,它是一种可以同时产生方波、三角波、正弦波的专用集成电路。
但是这种模块产生的波形都不是纯净的波形,会寄生一些高次谐波分量,采用其他的措施虽可滤除一些,但不能完全滤除掉,且价格较高。
方案六:
采用AT89C51单片机和DAC0832数模转换器相结合的电路来产生波形,由于是软件滤波,所以不会有寄生的高次谐波分量,生成的波形比较纯净。
它的特点是价格低、性能高,在低频范围内稳定性好、操作方便、体积小、耗电少,适合学生毕业设计。
经比较,方案六既可满足毕业设计的基本要求又能充分发挥其优势,电路简单,易控制,性价比高,所以采用此方案。
方案结构模块划分
本次设计所研究的就是用单片机将某种波形所对应的数字量进行输出,再通过D/A转换器转换输出一组连续变化的5V的电压脉冲值,同时再通过液晶显示部分显示其频率值和波形名称[10]。
在设计时分块来做,分为D/A转换,单片机系统,键盘控制和液晶显示4个主要模块,最后通过联调仿真,做出电路板成品,从而简化人机交互的问题,具体设计模块如图2-1所示。
图2-1结构模块划分
单片机最小系统:
包括时钟电路和复位电路。
键盘控制电路:
用按键来控制输出波形的种类和调节频率。
D/A转换电路:
单片机把待转换的数字量输送到DAC0832来把数字信号转换为模拟信号。
显示电路:
采用液晶显示器显示波形的名称和频率。
系统要求是便携式低功耗的,所以在硬件电路建立前首先粗略计算一下整个系统所需的功耗,考虑单片机部分功耗的大小,选择合适的器件以及参数。
三硬件电路的设计
主控电路及主控芯片的选择
单片机即单片微型计算机(SingleCHipMicrocomputer)是把组成微型计算机的各种功能部件,包括中央处理单元(CPU)、随机存储器(RAM)、程序存储器(ROM)、定时器/计数器及输入输出接口等部件都集成在一块芯片上。
是一种集成度高、性价比优越、质量小、体积小的微型计算机。
单片机按其使用目的可以分为通用和专用两种类型。
通用单片机是一种基本芯片,内部功能及资源丰富,性能全面,适应性强可覆盖多种用途。
用户可以根据需要设计成各种不同的单片机控制系统,即有一个再设计的过程。
专用型单片机在设计时已对系统结构进行了简化,对软、硬件进行了优化,可靠性高,成本低,但是这类单片机功能单一,通常是针对某一特定的产品。
本设计应采用通用型单片机。
随着半导体集成工艺的不断发展,单片机也正朝着CMOS化、低功耗、体积小、大容量、高性能低价格和外围电路内装化等几个方向发展。
在单片机家族中,Intel公司推出的MCS-51系列中的80C51是其中的佼佼者。
MCS-51系列单片机是8位单片机中应用范围最广的一类单片机。
近几年来,许多单片机开发厂商也推出了许多基于80C51单片机内核的扩展型单片机,产品在保持与51单片机兼容的基础上改善了很多特性,性能各异。
常用的单片机有很多种:
Intel8051和8751系列、Motorola的MC6801系列、Atmel的AT89系列、台湾Winbond(华邦)W7和W78系列、荷兰PHilips的51LPC和LPC900系列、ZILOG的Z8系列等。
本设计中最终选用了ATMEL公司的AT89C51单片机。
AT89C51单片机是美国ATMEL公司推出的低功耗/低电压、高性能的8位单片机,片内含4KBFlasH程序存储器,它采用了CMOS工艺和ATMEL公司的高密度非易失性存储器(NURAM)技术,该存储器的全称为闪速可编程可擦除只读存储器(FPEROM,FlasHProgrammableandErasableReadOnlyMemory),其输出引脚和指令系统与标准MCS-51系统兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案[15]。
单片机的发展史
单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段。
起初模型
1.SCM即单片微型计算机(SingleChipMicrocomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。
“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。
在开创嵌入式系统独立发展道路上,Intel公司功不可没。
2.MCU即微控制器(MicroControllerUnit)阶段,主要的技术发展方向是,不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。
它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。
从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。
在发展MCU方面,最著名的厂家当数Philips公司。
Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。
因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Philips的历史功绩。
嵌入式系统
单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决:
因此,专用单片机的发展自然形成了SoC化趋势。
随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。
因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。
单片机的特点
1.单片机的存储器ROM和RAM时严格区分的。
ROM称为程序存储器,只存放程序,固定常数,及数据表格。
RAM则为数据存储器,用作工作区及存放用户数据。
2.采用面向控制的指令系统。
为满足控制需要,单片机有更强的逻辑控制能力特别是单片机具有很强的位处理能力。
3.单片机的I/O口通常时多功能的。
由于单片机芯片上引脚数目有限,为了解决实际引脚数和需要的信号线的矛盾,采用了引脚功能复用的方法,引脚处于何种功能可由指令来设置或由机器状态来区分。
4.单片机的外部扩展能力很强。
在内部的各种功能部件不能满足应用的需求时,均可在外部进行扩展,与许多通用的微机接口芯片兼容,给应用系统设计带来了很大的方便[14]。
89C51单片机最小系统
51单片机是对目前所有兼容intel8031指令系统的单片机的统称。
该系列单片机的始祖是intel的8031单片机,后来随着技术的发展,成为目前广泛应用的8为单片机之一。
单片机是在一块芯片内集成了CPU、RAM、ROM、定时器/计数器和多功能I/O口等计算机所需要的基本功能部件的大规模集成电路,又称为MCU。
51系列单片机内包含以下几个部件:
一个8位CPU;一个片内振荡器及时钟电路;
4KB的ROM程序存储器;
一个128B的RAM数据存储器;
寻址64KB外部数据存储器和64KB外部程序存储空间的控制电路;
32条可编程的I/O口线;
两个16位定时/计数器;
一个可编程全双工串行口;
5个中断源、两个优先级嵌套中断结构。
如图3-1所示为STC89C52RC单片机基本构造,其基本性能介绍如图3-1所示:
图3-1STC89C52RC单片机
STC89C52RC本身内含40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中端口,3个16位可编程定时计数器,2个全双工串行通信口,STC89C51RC可以按照常规方法进行编程,但不可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本[9]。
STC89C52RC的主要特性如表3-2所示:
兼容MCS—51指令系统
32个可编程I/O线
4k字节可编程闪烁存储器
可编程UARL通道
三个16位可编程定时/计数器中断
时钟频率0-24MHz
2个外部中断源,共8个中断源
256×8bit内部RAM
2个读写中断口线
可直接驱动LED
软件设置睡眠和唤醒功能
低功耗空闲和掉电模式
表3-2STC89C52RC主要功能描述
STC89C52RC为40脚双列直插封装的8位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52相同,其主要用于会聚调整时的功能控制。
功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。
主要管脚有:
XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。
RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。
VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。
P0~P3为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(32~39脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12脚、27脚及28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。
P0口:
P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口:
P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)。
Flash编程和程序校验期间,P1接收低8位地址。
P2口:
P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。
Flash编程或校验时,P2亦接收高位地址和一些控制信号。
P3口:
P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。
此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。
RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
ALE/PROG:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个AL脉冲。
对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
PSEN:
程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当STC89C51RC由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。
在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP:
外部访问允许。
欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。
需注意的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 信号发生器 设计 大学 论文