信号发生器完整毕业设计.docx
- 文档编号:9594308
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:79
- 大小:1,002.89KB
信号发生器完整毕业设计.docx
《信号发生器完整毕业设计.docx》由会员分享,可在线阅读,更多相关《信号发生器完整毕业设计.docx(79页珍藏版)》请在冰豆网上搜索。
信号发生器完整毕业设计
第一章绪论
1.1单片机概述
单片微型计算机(单片机)作为微型计算机的一个很重要的分支,自问世以来,以其极高的性价比,受到人们的重视和关注,因此应用广泛,发展迅速。
相对而言,单片机体积小、重量轻、抗干扰能力强,对环境要求不高,并且价格低廉、可靠性高、灵活性好,开发较为容易。
目前,在我国,单片机已经广泛地用于智能仪表、机电设备过程控制、自动检测、家用电器和数据处理等各个方面。
1.1.1单片机的应用
单片机以其卓越的性能、小巧的体积、极高的性价比,在国民经济的各个领域中得到了广泛的应用。
但是由于单片机自身的一些特点,在实际应用中又有着自己的应用特性和应用范围。
1.应用特点
基于单片机的应用系统和其他一般的微型机相比,具有以下一些特点。
(1)小巧灵活
由于单片机内部包含了计算机的基本功能部件,能满足很多应用领域对硬件功能的基本要求,因此能方便地组装成各种智能式测控设备及各种智能仪器仪表。
(2)可靠性高
单片机内CPU访问存储器和各种外设的接口的总线大多数在芯片内部,因此不易受到外界环境的干扰;同时由于体积小,在很多恶劣的环境下,容易采取对系统进行电磁屏蔽等措施。
(3)使用方便,容易扩展
系统扩展方便,简化了硬件设计,同时市场上提供了各种成熟的开发工具,具有很强的软硬件调试功能和辅助设计手段。
(4)性价比高,容易产品化
单片机市场需求量大,厂商一次可以进行大量的生产,同时很多厂商竞争,单片机的价格一直很具有优势。
很多特性缩短了单片机应用系统从样机到正式产品的过渡过程,缩短了研制周期,可使成果迅速转换成生产力。
2.应用领域[4]
智能化管理及过程控制等领域,大致可分如下几个方面。
(1)在智能仪器仪表上的应用
单片机广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素和压力等物理量的测量。
采用单片机控制使得仪器仪表数字化、智能化和微型化,且功能比起采用分立器件或数字电路更加强大。
例如精密的测量设备(功率计、示波器和各种分析仪)。
(2)在工业控制中的应用
用单片机可以构成形式多样的控制系统和数据采集系统。
例如工厂流水线的智能化管理、电梯智能化控制和各种报警系统、与计算机联网构成二级控制系统等。
(3)在家用电器中的应用
现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电和其他音响视频器材,再到电子秤量设备,五花八门,无所不在。
家用电器涉及到千家万户,需求非常大,配上单片机后的家用电器在功能上更加智能化,深得用户的欢迎。
廉价的单片微机在家用电器上的应用前途十分广阔。
(4)在计算机网络和通信领域中的应用
现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机、机、小型程控交换机、楼宇自动通信呼叫系统和列车无线通信,再到日常工作中随处可见的移动、集群移动通信和无线电对讲机等。
(5)在医用设备领域中的应用
单片机在医用设备中的用途亦相当广泛,例如医用呼吸机、各种分析仪、监护仪、超声诊断设备及病床呼叫系统等。
此外,单片机在工商、金融、科研、教育和国防航空航天等领域都有着十分广泛的用途。
1.2AT89S52单片机
功能特性描述
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,两个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作[17]。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
引脚功能
89S52单片机有44个引脚PLCC和TQFP方形封装形式,40个引脚的双列直插式封装形式,最常用的40个引脚封装形式及其配置如图1-1所示,各个引脚功能说明如下:
图1-189S52单片机的引脚
VCC:
电源,接+5V
GND:
接地
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”[17],具体如表1-1所示。
在flash编程和校验时,P1口接收低8位地址字节。
表1-189S52单片机P1口第二功能
引脚号
第二功能
P1.0
T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1
T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5
MOSI(在系统编程用)
P1.6
MISO(在系统编程用)
P1.7
SCK(在系统编程用)
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P3口亦作为AT89S52特殊功能(第二功能)使用,如表1-2所示。
在flash编程和校验时,P3口也接收一些控制信号。
表1-289S52单片机P3口第二功能
引脚号
第二功能
P3.0
RXD(串行输入线)
P3.1
TXD(串行输出线)
P3.2
(外部中断0输入线)
P3.3
(外部中断0输入线)
P3.4
T0(定时器0外部计数脉冲输入)
P3.5
T1(定时器1外部计数脉冲输入)
P3.6
(外部数据存储器写选通信号输出)
P3.7
(外部数据存储器写选通信号输出)
RST:
复位输入。
晶振工作时,RST脚将持续2个机器周期高电平将使单片机复位。
看门狗计时完成后,RST脚输出96个晶振周期的高电平。
特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。
DISRTO默认状态下,复位高电平有效。
ALE/
:
地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在flash编程时,此引脚(
)也用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可以用来作为外部定时器或时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。
这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。
否则,ALE将被微弱拉高。
这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
:
外部程序存储器选通信号(
)是外部程序存储器选通信号。
当AT89S52从外部程序存储器执行外部代码时,
在每个机器周期被激活两次,而在访问外部数据存储器时,
将不被激活。
/VPP:
访问外部程序存储器控制信号。
为使能从0000H到FFFFH的外部程序存储器读取指令,
必须接GND。
为了执行内部程序指令,
应该接VCC。
在flash编程期间,
也接收12伏VPP电压。
XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:
振荡器反相放大器的输出端。
T89S52的存储器结构
AT89S52器件有单独的程序存储器和数据存储器。
外部程序存储器和数据存储器都可以64KB寻址。
程序存储器:
如果
引脚接地,程序读取只从外部存储器开始。
对于89S52,如果
接VCC,读写程序先从内部存储器(地址为0000H~1FFFH)开始,接着从外部寻址,寻址地址为:
2000H~FFFFH。
数据存储器:
AT89S52有256字节片内数据存储器。
高128字节与特殊功能寄存器重叠。
也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。
当一条指令访问高于7FH的地址时,寻址方式决定CPU访问高128字节RAM还是特殊功能寄存器空间。
直接寻址方式访问特殊功能寄存器(SFR)。
例如,下面的直接寻址指令访问0A0H(P2口)存储单元
MOV0A0H,#data
使用间接寻址方式访问高128字节RAM。
例如,下面的间接寻址方式中,R0内容为0A0H,访问的是地址0A0H的寄存器,而不是P2口(它的地址也是0A0H)。
MOV@R0,#data
堆栈操作也是间接寻址方式。
因此,高128字节数据RAM也可用于堆栈空间。
定时器
1.MCS-51系列中51子系列有两个16位的可编程定时/计数器:
定时/计数器T0和定时/计数器T1,52子系列有三个,还有一个定时/计数器T2。
2.每个定时/计数器既可以对系统时钟计数实现定时,也可以对外部信号计数实现计数功能,通过编程设定来实现。
3.每个定时/计数器都有多种工作方式,其中T0有四种工作方式;T1有三种工作方式,T2有三种工作方式。
通过编程设置其方式寄存器TMOD可设定定时器工作于某种方式,方式寄存器TMOD格式见表[17]1-3。
表1-3定时/计数器的方式寄存器TMOD
GATE
C/
M1
M2
GATE
C/
M1
M2
门控
开/关
计数/定时
方式选择
门控
开/关
计数/定时
方式选择
T1T0
GATE:
门控信号。
GATE=0,TRx=1时即可启动定时器/计数器工作,是一种自启动的方式;GATE=1,TRx=1,
=1时才可启动定时器/计数器工作。
即是
引脚加高电平启动,是一种外启动方式。
C/
:
定时或计数方式选择位,当C/
=1时工作于计数方式;当C/
=0时工作于定时方式。
M1、M0:
为工作方式选择位,定时器/计数器的四种工作方式由M1M0设定,设定情况见表[10]1-4。
表1-4M1M0的设定
M1
M0
工作方式
方式说明
0
0
0
13位定时/计数器
0
1
1
16位定时/计数器
1
0
2
8位自动重置定时/计数器
1
1
3
T0为两个8位定时/计数器
4.每一个定时/计数器定时计数时间到时产生溢出,使控制寄存器TCON中相应的溢出位置位,溢出可通过查询或中断方式处理,控制寄存器格式见表[10]1-5。
表1-5定时/计数器的控制寄存器TCON
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
T1请求有/无
T1工作启/停
T0请求有/无
T0工作启/停
INT1请求有/无
INT1方式下沿/低电平
INT0请求有/无
INT0方式下沿/低电平
其中:
TF1:
定时/计数器T1的溢出标志位,当定时/计数器T1计满时,由硬件使它置位,如中断允许则触发T1中断。
进入中断处理后由内部硬件电路自动清除。
TR1:
定时/计数器T1的启动位,可由软件置位或清零,当TR1=1时启动;TR1=0时停止。
TF0:
定时/计数器T0的溢出标志位,当定时/计数器T0计满时,由硬件使它置位,如中断允许则触发T0中断。
进入中断处理后由内部硬件电路自动清除。
TR0:
定时/计数器T0的启动位,可由软件置位或清零,当TR0=1时启动;TR0=0时停止。
中断
AT89S52有6个中断源:
两个外部中断(
和
),三个定时中断(定时器0、1、2)和一个串行中断。
每个中断源都可以通过置位或清除特殊寄存器IE中的相关中断允许控制位分别使得中断源有效或无效[10]。
IE还包括一个中断允许总控制位EA,它能一次禁止所有中断。
如表1-6所示,IE.6位是不可以用的。
它们为AT89系列新产品预留。
定时器2可以被寄存器T2CON中的TF2和EXF2的或逻辑触发。
程序进入中断服务后,这些标志位都可以由硬件清0。
实际上,中断服务程序必须判定是否是TF2或EXF2激活中断,标志位也必须由软件清0。
定时器0和定时器1标志位TF0和TF1在计数溢出的那个周期的S5P2被置位。
它们的值一直到下一个周期被电路捕捉下来。
然而,定时器2的标志位TF2在计数溢出的那个周期的S2P2被置位,在同一个周期被电路捕捉下来。
表1-6中断允许控制寄存器(IE)
(MSB)(LSB)
EA
--
ET2
ES
ET1
EX1
ET0
EX0
EA:
中断允许总控位。
EA=0,屏蔽所有的中断请求;EA=1,开放中断。
ET2:
定时器/计数器T2的溢出中断允许位
ES:
串行口中断允许位。
ET1:
定时器/计数器T1的溢出中断允许位。
EX1:
外部中断INT1的中断允许位。
ET0:
定时器/计数器T0的溢出中断允许位。
EX0:
外部中断INT0的中断允许位。
1.3
1.4本论文主要研究的内容
本设计采用89S52及其外围扩展系统,软件方面主要是应用C语言设计程序。
系统以89S52单片机为核心,配置相应的外设及接口电路,用C语言开发,组成一个多功能信号发生系统。
该系统的软件可运行于WindowsXP环境下,硬件电路设计具有典型性。
同时,本系统中任何一部分电路模块均可移植于实用开发系统的设计中,电路设计具有实用性。
本设计将完成以下几个方面的工作:
(1)选芯片,尽量满足一般工业控制要求、以增强其实用性。
(2)原理图设计在保证正确的前提下,尽量采用典型的电路设计。
(3)印制板设计既要精巧,又要便于摆放及测试。
(4)固化于单片机芯片中的软件采用模块设计,层次清楚,具有上电复位及初始化功能,具有很好的软件开发框架。
(5)掌握单片机仿真软件Proteus6.7的使用。
为此,论文包括以下内容:
Ⅰ绪论。
主要介绍单片机发展概况和信号发生器的概述,为以后几章的介绍奠定基础。
Ⅱ系统总体方案设计。
本章主要考虑系统性能、功能和器件选择。
包括两个主要内容:
系统分析和系统总体方案设计。
其中系统分析包括问题定义、可行性研究和需求分析。
问题定义中对设计的课题进行定义,详述设计环境。
可行性分析中分别从经济可行性、元器件具备程度和对可能遇到的问题的可解决性几个方面论证设计是否可行。
需求分析对系统功能要求、性能要求和运行环境要求说明。
系统总体方案设计包括算法设计、系统总体框图设计以及系统中使用的主要芯片。
Ⅲ系统的硬件设计。
本章完成系统的硬件总体设计,详细说明了设计思路。
Ⅳ系统软件设计实现。
本章是系统的具体实现,对系统按功能模块进行介绍。
Ⅴ系统测试报告。
分别对系统的功能测试、调试过程和系统的使用方法进行介绍。
Ⅵ总结与展望未来。
第二章系统设计方案
2.1系统分析
问题定义
基于单片机的信号发生系统是一个实际应用系统,可为相关实验及实际应用提供支持。
本论文包括硬件系统的详细设计及C语言在基本控制中的应用。
此系统具有的功能如下:
硬件部分
(1)单片机所需的平稳电压(电源设计±12V,5V);
(2)8位七段数码动态扫描显示;
(3)2×4的8位矩阵键盘;
(4)时钟电路与复位电路;
(5)具有8位精度的D/A转换功能;
(6)波形产生与电压变换功能;
软件部分
(1)系统复位初始化;
(2)键盘扫描与处理;
(3)按键服务程序;
(4)定时器0中断服务程序;
(5)正弦波发生程序;
(6)三角波发生程序;
(7)方波发生程序;
(8)锯齿波发生程序。
系统可行性分析
1.设计环境
(1)硬件环境
CPU:
IntelP42.40GHz
显示器:
17寸,GF5200显卡、512MB内存
硬盘:
80G
搭建单片机开发环境
(2)软件环境
本设计主要用Proteus6.7电子设计软件进行电子线路的设计和仿真。
Proteus软件的功能很强大,它不仅可以在线仿真模拟电子,数字电子和单片机,还可以将设计直接转换成PCB版图,因此,受到众多电子工程师的喜爱。
电路原理图的设计是仿真中的第一步,也是非常重要的一步。
电路原理图设计得好坏将直接影响到后面的工作。
首先,原理图的正确性是最基本的要求,因为在一个错误的基础上所进行的工作是没有意义的;其次,原理图应该布局合理,这样不仅可以尽量避免出错,也便于读图、便于查找和纠正错误;最后,在满足正确性和布局合理的前提下应力求原理图的美观。
电路原理图的设计过程可分为以下几个步骤:
①设置电路图纸参数及相关信息
根据电路图的复杂程度设置图纸的格式、尺寸、方向等参数以及与设计有关的信息,为以后的设计工作建立一个合适的工作平面。
②装入所需要的元件
将所需的元件装入设计系统中,以便从中查找和选定所需的元器件。
③设置元件
将选定的元件放置到已建立好的工作平面上,并对元件在工作平面上的位置进行调整,对元件的序号、参数、显示状态等进行定义和设置,以便为下一步的仿真工作打好基础。
④连线电路图
利用Proteus所提供的各种工具、命令进行画图工作,将事先放置好的元器件用具有电气意义的导线、网络标号等连接起来,布线结束后,一张完整的电路原理图基本完成。
⑤调整、检查和修改
利用Proteus所提供的各种工具对前面所绘制的原理图做进一步的调整和修改。
⑥补充完善
对原理图做一些相应的说明、标注和修饰,增加可读性和可观性。
⑦仿真
这部分工作主要是对设计完成的原理图结合KEIL在线仿真,调试并修改程序。
2.可行性分析
(1)元器件的选择及其可行性讨论
根据技术指标及系统设计目的,经研究芯片的选择如下:
①主控芯片采用ATMEL公司的89S52;
②采用12MHz的晶振器为89S52提供时钟信号;
③稳压块选用7812与7805相串联,提供12V和5V电压,7912产生-12V电压;
④对于89S52的P0口的数据采用74LS373进行锁存后经过DAC0808进行D/A转换;
⑤数码显示器采用高亮8位共阴极数码管;
⑥8位D/A转换器采用DAC0808;
⑦运算放大器采用LM324。
大部分的芯片及器件都可以通过网络购买,所以器件的选择完全可行。
(2)设计中可能存在的问题及解决方案——排除问题的可行性讨论
此设计要求最终制作出实体,因此,设计原理图时应着重考虑设计最终的电路板的可行性。
在设计时要对每一个电路模块仔细检查,查阅其他书籍进行校对,还要进行实物实验,以确保设计的可实现性。
在最后的电路板的调试阶段,需要诊断模块程序和单片机仿真机合作进行,从而克服调试程序本身的不可靠性,可方便地进行调试及错误诊断。
以上对设计中可能遇到的较为重要的问题进行了分析并提出了解决方法,基本上可以解决。
(3)经济上的可行性讨论
本设计是一个实验系统,芯片的选择在前面已经讨论,从前面的讨论中可见芯片大部分可在网上找到。
因此,设计费用主要集中在购买元器件上,而大部分的元器件又不是很贵,所以经济上本设计完全可行。
2.2系统需求分析
系统功能要求
系统具有D/A转换功能,信号幅度放大功能,8位七段数码显示功能,上电自动复位功能,2×4键盘输入接口。
系统性能要求
(1)系统的D/A转换功能具有8位精度;
(2)动态扫描七段数码显示器;
(3)89S52单片机时钟信号为12MHZ;
(4)系统上电自动复位;
(5)系统具有8位行列扫描键盘。
运行环境要求
微机与实验系统电路板的通讯软件包运行环境如下:
CPU:
IntelP42.40GHz
显示器:
17寸,GF5200显卡、512MB内存,串行通讯口;
硬盘:
80G
软件平台:
WindowsXP系列,Proteus6.7,keil。
2.3总体方案设计
算法设计
本设计涉及的算法较少,将在第四章软件设计中介绍。
系统总体结构框图设计
一个单片机主系统的硬件电路设计包含两部分内容:
一是单片机系统扩展部分设计,它包括存储器扩展和接口扩展。
存储器扩展指EPROM、EEPROM和RAM的扩展。
接口扩展是指各接口芯片以及其他功能器件的扩展。
二是各功能模块的设计,如信号检测功能模块、信号控制功能模块、人机对话功能模块、通讯功能模块等,根据系统功能要求配置相应的D/A、键盘、显示器等外围设备。
本机硬件设计包括两部分,即电源部分设计和主系统设计。
电源设计和主系统框图分别如图2-1,2-2所示。
图2-1交流—直流电压转换
图2-2主系统结构框图
第三章硬件设计
3.1总体硬件设计
单片机应用系统的硬件电路设计包含两部分内容:
一是系统扩展,即单片机内部的功能单元(如ROM、I/O、定时/计数器等)容量不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计适当的电路。
二是系统配置,即按照功能要求配置外围设备如显示器、D/A转换等,要设计合适的电路。
系统的扩展和模块设计应遵循下列原则[12]:
(1)尽可能选择标准化、模块化的典型电路,提高设计的成功率和结构的灵活性。
(2)系统的扩展与外围设备配置的水平应充分满足应用系统的功能要求。
(3)硬件结构应结合应用软件方案一并考虑。
硬件结果与软件方案会产生相互影响,考虑的原则是:
软件能实现的功能尽可能由软件来实现,以简化硬件结构。
但必须注意,由软件实现的硬件功能,其响应时间要比直接用硬件响应来的长,而且占用CPU时间。
所以,选择软件方案时,要考虑到这些因素[12]。
(4)可靠性及抗干扰性设计是硬件系统设计不可缺少的部分,它包括芯片、器件选择,去耦滤波等。
(5)单片机外接电路较多时,必须考虑其驱动能力。
驱动能力不足时,系统工作不可靠,解决的办法是增加驱动能力,增设线驱动器或减少芯片功耗,降低总线负载。
(6)系统的扩展及各功能模块的设计在满足系统功能要求的基础上,应适当留有余地,以备将来修改、扩展之需。
(7)在考虑硬件总体结构的同时要注意通用性的问题。
根据以上原则,进行硬件设计。
系统采用较为普及的89S52单片机作为系统的核心。
它不但容易实现设计指标,而且还有较好的性价比。
(1)程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信号发生器 完整 毕业设计
![提示](https://static.bdocx.com/images/bang_tan.gif)