单片机函数波形发生器课程设计论文.docx
- 文档编号:25519484
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:30
- 大小:634.54KB
单片机函数波形发生器课程设计论文.docx
《单片机函数波形发生器课程设计论文.docx》由会员分享,可在线阅读,更多相关《单片机函数波形发生器课程设计论文.docx(30页珍藏版)》请在冰豆网上搜索。
单片机函数波形发生器课程设计论文
课程设计
课程单片机课程设计
题目波形发生器设计
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
3)其它
任务书
课程单片机课程设计
题目波形发生器设计
专业测控技术与仪器姓名桂存斌学号120601240210
一、主要内容
设计一款基于AT89C51单片机的函数波形发生器。
二、基本要求
要求:
利用D/A芯片产生峰峰值为5V的锯齿波、三角波、梯形波、正弦波和方波。
控制功能:
使用5个拨动开关进行功能切换。
当K0接高电平时输出锯齿波;当K1接高电平输出梯形波;当K2接高电平输出三角波;K3接高电平输出正弦波;K4接高电平输出方波。
使用的主要元器件:
8031、6MHz的晶振、74LS373、74LS138、2764、DAC0832、LM324、拨动开关K0、K1、K2、K3、K4等。
输出波形的验证方法:
使用示波器测量输出波形。
三、参考文献
[1]陈志旺,李亮.51单片机快速上手[M].机械工业出版社,1999.6
[2]薛定宇.控制系统计算及辅助设计——MATLAB语言与应用(第2版)[M].清华大学出版社,2002.8
[3]邹虹.单片机波形发生器的设计[M].重庆邮电学院学报,2003.9
[4]毅刚,彭喜元。
单片机原理与应用设计[M].电子工业出版社,2005.3
[5]杨素行.模拟电子技术基础简明教程(第三版)[M].北京:
高等教育出版社,2006.7
[6]AltiumDesigner原理图与PCB设计[M].北京:
电子工业出版社2009.1
完成期限2015.7.9-2015.7.18
指导教师
专业负责人
2015年7月9日
目录
一绪论2
1.1课题背景2
1.2国内外现状3
1.3主要研究内容3
二方案论证4
2.1方案一纯硬件设计法4
2.2方案二纯软件设计法4
2.3方案三软硬件结合法5
三系统硬件设计6
3.1内部结构概述6
3.2P0~P3口结构及功能6
3.3时钟电路和复位电路7
3.4系统硬件总体设计9
3.5DAC0832的引脚及功能9
3.674LS373的引脚及功能10
3.7系统硬件原理10
四系统的软件设计12
4.1主程序流程图12
4.2波形的产生13
五系统调试与仿真结果15
5.1系统调试15
5.2仿真结果15
结论16
参考文献17
附录一程序18
附录二仿真效果图23
波形发生器设计
一绪论
1、课题背景
波形发生器是能够产生大量的标准信号和用户定义信号,并保证高精度、高稳定性、可重复性和易操作性的电子仪器。
函数波形发生器具有连续的相位变换、和频率稳定性等优点,不仅可以模拟各种复杂信号,还可对频率、幅值、相移、波形进行动态、及时的控制,并能够与其它仪器进行通讯,组成自动测试系统,因此被广泛用于自动控制系统、震动激励、通讯和仪器仪表领域。
在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)过去由于频率很低应用的范围比较狭小,输出波形频率的提高,使得波形发生器能应用于越来越广的领域。
波形发生器软件的开发正使波形数据的输入变得更加方便和容易。
波形发生器通常允许用一系列的点、直线和固定的函数段把波形数据存入存储器。
同时可以利用一种强有力的数学方程输入方式,复杂的波形可以由几个比较简单的公式复合成v=f(t)形式的波形方程的数学表达式产生。
从而促进了函数波形发生器向任意波形发生器的发展,各种计算机语言的飞速发展也对任意波形发生器软件技术起到了推动作用。
目前可以利用可视化编程语言(如VisualBasic,VisualC等等)编写任意波形发生器的软面板这样允许从计算机显示屏上输入任意波形,来实现波形的输入。
(2)与VXI资源结合。
目前,波形发生器由独立的台式仪器和适用于个人计算机的插卡以及新近开发的VXI模块。
由于VXI总线的逐渐成熟和对测量仪器的高要求,在很多领域需要使用VXI系统测量产生复杂的波形,VXI的系统资源提供了明显的优越性。
但由于开发VXI模块的周期长,而且需要专门的VXI机箱的配套使用,使得波形发生器VXI模块仅限于航空、军事及国防等大型领域。
在民用方面,VXI模块远远不如台式仪器更为方便。
(3)随着信息技术蓬勃发展,台式仪器在走了一段下坡路之后,又重新繁荣起来。
不过现在新的台式仪器的形态,和几年前的己有很大的不同。
这些新一代台式仪器具有多种特性,可以执行多种功能。
而且外形尺寸与价格,都比过去的类似产品减少了一半。
2、国内外现状
早在1978年,由美国Wavetek公司和日本东亚电波工业公司公布了最高取样频率为5MHz,可以形成256点(存储长度)波形数据,垂直分辨率为8bit,主要用于振动、医疗、材料等领域的第一代高性能信号源。
经过将近30年的发展,伴随着电子元器件、电路、及生产设备的高速化、高集成化,波形发生器的性能有了飞速的提高,变得操作越来越简单而输出波形的能力越来越强。
波形操作方法的好坏,是由波形发生器控制软件质量保证的,编辑功能增加得越多,波形形成的操作性越好。
3、主要研究内容
近年来,波形发生器在各种领域中得到越来越广泛的应用。
本系统主要通过研究51单片机的功能,外加D/A转换器等其它器件,进行硬件设计和软件编程,完成锯齿波、梯形波、三角波、方波和正弦波共五种波形的形成。
波形频率的变化由程序来控制,即通过改变定时器的初值来改变输出波形相邻两点的时间间隔,从而实现波形频率的改变。
二方案论证
1、方案一纯硬件设计法
波形发生器设计的纯硬件法早期,波形发生器的设计主要是采用运算放大器加分立元件来实现。
实现的波形比较单一,主要为正弦波、方波和三角波。
工作原理嗍也相对简单:
首先是产生正弦波,然后通过波形变换(正弦波通过比较器产生方波,方波经过积分器变为三角波)实现方波和三角波。
在各种波形后加上一级放大电路,可以使输出波形的幅度达到所要的要求,通过开关电路实现不同输出波形的切换,改变电路的具体参数可以实现频率、幅度和占空比的改变。
通过对电路结构的优化及所用元器件的严格选取可以提高电路的频率稳定性和准确度。
纯硬件法中,正弦波的设计是基础,实现方法也比较多,电路形式一般有LC、RC和石英晶体振荡器三类。
LC振荡器适宜于产生几Hz至几百MHz的高频信号;石英晶体振荡器能产生几百kHz至几十MHz的高频信号且稳定度就比较高;对于频率低于几MHz,特别是在几百Hz时,常采用RC振荡电路。
RC振荡电路又分为文氏桥振荡电路、双T网络式和移相式振荡电路等类型。
其中,以文氏桥振荡电路最为常用。
目前,实现波形发生器最简单的方法是采用单片集成的函数信号发生器。
它是将产生各种波形的功能电路集成优化到一个集成电路芯片里,外加少量的电阻、电容元件来实现。
采用这种方法的突出优势是电路简单,实现方便,精度高,性能优越;缺点是功能较全的集成芯片价格较贵。
实际中应用较多的单片函数信号发生器有MAX038(最高频率可达40MHz)和ICL8038(最高频率为300kHz)。
2、方案二纯软件设计法
波形发生器的设计还可以采用纯软件的方法来实现。
虚拟仪器鞠使传统仪器发生了革命性的变化,是21世纪测试仪器领域技术发展的重要方向。
它以计算机为基础,软件为核心,没有传统仪器那样具体的物理结构.在计算机上实现仪器的虚拟面板,通过软件设计实现和改变仪器的功能。
例如用图形化编程工具LabVIEW来实现任意波形发生器的功能:
在LabVIEW软件的前面板通过拖放控件,设计仪器的功能面板(如波形显示窗口,波形选择按键,波形存储回放等工作界面)
在软件的后面板直接拖放相应的波形函数并进行参数设置或直接调用编程函数来设计任意波形以实现波形产生功能;完成的软件打包后,可脱离编程环境独立运行。
实现任意波形发生器的功能。
采用纯软件的虚拟仪器设计思路可以使设计简单、高效,仅改变软件程序就可以轻松实现波形功能的改变或升级。
从长远角度来看,纯软件法成本较低。
软件法的缺点是波形的响应速度和精度逊色于硬件法。
3、方案三软硬件结合法
软硬件结合的波形发生器设计方法同时兼具软硬件设计的优势:
既具有纯硬件设计的快速、高性能,同时又具有软件控制的灵活性、智能性。
如以单片机和单片集成函数发生器为核心。
辅以键盘控制、液晶显示等电路,设计出智能型函数波形发生器,采用软硬件结合的方法可以实现功能较全、性能更优的波形发生器,同时还可以扩展波形发生器的功能,
比如通过软件编程控制实现波形的存储、运算、打印等功能,采用USB接口设计。
使波形发生器具有远程通信功能等。
目前,实验、科研和工业生产中使用的信号源大多采用此方法来实现。
软件法的缺点是波形的响应速度和精度逊色于硬件法。
纯硬件设计法功能较单一,波形改变困难、控制的灵活性不够,不具备智能性,其中由运算放大器加分立元件组成的波形发生器,除在学生实验训练中使用外。
基本不被采用。
纯软件设计法实现简单,程序改变及功能升级灵活,但实现的波形精度及响应速度不如硬件法高。
纯软件法主要适用于对波形精度、响应速度要求不是很高的场合。
相比之下,纯硬件设计与纯软件设计都各有优点与缺点。
纯软件设计成本较低,纯硬件设计精度较高。
软硬件结合的方法可以设计出性能最优、功能扩展灵活、控制智能化的新一代的波形发生器,软硬件结合的波形发生器设计方法同时兼具软硬件设计的优势:
既具有纯硬件设计的快速、高性能,同时又具有软件控制的灵活性、智能性。
可以满足教学、科研、工业生产等各方面对波形发生器性能有较高要求的应用场合。
综合以上几种设计方案,本设计采用方案三的软硬件设计法。
其方案能够产生很好的波形,也易实现
三系统硬件设计
1、内部结构概述
典型的MCS-51单片机芯片集成了以下几个基本组成部分:
1)一个8位的CPU;
2)128B或256B单元内数据存储器(RAM);
3)4KB或8KB片内程序存储器(ROM或EPROM);
4)4个8位并行I/O接口P0~P3;
5)两个定时/计数器;
6)5个中断源的中端管理控制系统;
7)一个全双工串行I/O口UART(通用异步接收、发送器);
8)一个片内振荡器和时钟产生电路。
图1单片机引脚图
2、P0~P3口结构及功能
(1)P0口结构及功能
P0口由一个输出锁存器、一个转换开关MUX、两个三态输入缓冲器、输出驱动电路和一个与门及一个反相器组成。
P0口具有两种功能:
第一,P0口可以用作通用I/O接口;第二,P0口可以用作地址/数据总线。
(2)P1口结构及功能
P1口是由一个输出锁存器、两个三态输入缓冲器和输出驱动电路组成,驱动电路内部设有上拉电阻。
(3)P2口结构及功能
P2口由一个输出锁存器、一个转换开关MUX、两个三态输入缓冲器、输出驱动电路和一个反相器组成。
P2口共有两个功能:
第一个功能与上述两组引脚的第一功能相同,即可用作通用I/O口;它的第二功能与P0口引脚的第二功能相配合,作为地址总线用于输出片外存储器的高8位。
(4)P3口结构及功能
P3口由一个输出锁存器、三个三态输入缓冲器、输出驱动电路和一个与非门组成。
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:
读外设控制信号输出端
3、时钟电路和复位电路
单片机的时钟信号用来提供单片机内各种微操作的时间基准;复位操作则使单片机的片内电路初始化,使单片机从一种确定的状态开始运行。
(1)时钟电路
单片机的时钟信号通常有两种产生方式。
一种是内部时钟方式;另一种是外部时钟方式。
图2时钟方式图
内部时钟方式只要在单片机的XTAL1和XTAL2引脚外接晶振就构成了自激振荡器,并在单片机内部产生时钟脉冲信号。
外部时钟方式是把外部已有的时钟信号引入到单片机内,常用于多片单片机同时工作,已使各单片机同步。
单片机的时序单位:
晶振周期为时钟脉冲频率的倒数,为最小的时序单位,也称T状态;时钟周期包含两个晶振周期,也称S状态;完成一个基本操作所需要的时间称为机器周期,由6个时钟周期组成,即12个晶振周期;指令的执行时间称为指令周期,通常含有1~4个机器周期。
(2)单片机的复位状态
单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。
单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。
当MCS-51系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。
如果RST持续为高电平,单片机就处于循环复位状态。
根据应用的要求,复位操作通常有两种基本形式:
上电复位和手动复位。
上电复位要求接通电源后,自动实现复位操作。
手动复位是当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。
单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。
单片机冷启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM区中的内容,21个特殊功能寄存器复位后的状态为确定值。
4、系统硬件总体设计
波形的产生是通过51单片机执行某一波形发生器程序,向D/A转换器的输入端按一定的规律发生数据,从而在D/A转换电路的输出端得到相应的电压波形。
图3总体设计图
5、DAC0832的引脚及功能
DAC0832是双列直插式8位D/A转换器,完成数字量输入到模拟量输出的转换。
图4DAC0832引脚图
DAC0832结构:
D0~D7:
8位的数据输入端,D7为最高位,TTL电平,有效时间应大于90ns(否则锁存器的数据会出错);
ILE:
数据锁存允许控制信号输入线,高电平有效;
CS:
片选信号输入线(选通数据锁存器),低电平有效;
WR1:
数据锁存器写选通输入线,负脉冲(脉宽应大于500ms)有效。
由ILE、CS、WR1的逻辑组合产生,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;
XFER:
数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ms)有效。
WR2:
DAC寄存器选通输入线,负脉冲(脉宽应大于500ms)有效。
由WR1、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。
IOUT1:
模拟电流输出端1,当DAC寄存器中数据全为1时,输出电流最大,当DAC寄存器中数据全为0时,输出电流为0。
IOUT2:
模拟电流输出端2,IOUT2与IOUT1的和为一个常数。
Rfb:
反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度。
Vcc:
电源输入端,范围为(+5~+15)V。
VREF:
基准电压输入线,范围为(-10~+10)V;AGND:
模拟信号地。
DGND:
数字信号地。
6、74LS373的引脚及功能
74LS373是常用的地址锁存器芯片,它实质是一个带三态缓冲输出的8D触发器。
D0~D7:
数据输入端;Q0~Q7:
数据输出端;OE:
三态允许控制端,低电平有效;当OE为低电平时,Q0~Q7为正常逻辑状态,可用来驱动负载或总线;当OE为高电平时,Q0~Q7呈高阻态,既不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。
LE:
锁存允许端。
当锁存允许端LE为高电平时,Q随数据D而变;当LE为低电平时,Q被锁存在已建立的数据电平。
图574LS373引脚图
7、系统硬件原理
51单片机的最小系统最小系统由振荡电路、电源电路、复位电路、EA及应用程序组成。
它有三种联接方式。
一种是两级缓冲器型,即输入数据经过两级缓冲器型,即输入数据经过两级缓冲器后,送入D/A转换电路。
第二种是单级缓冲型,输入数据经输入寄存器直接送入DAC寄存器,然后送D/A转换电路。
第三种是两个缓冲器直通,输入数据直接送D/A转换电路进行转换。
系统原理图:
图6系统原理图
四系统的软件设计
系统软件由主程序和产生波形的子程序组成,软件设计主要是产生各种波形的子程序的编程。
通过编程可得到各种波形。
频率的改变可采用插入延时子程序的方法来实现。
1、主程序流程图
图4-1主程序流程图
2、波形的产生
(1)设计思路
当5个开关中一个闭合时,跳转至中断,在中断程序中判断是哪一个闭合,跳转至相应的程序,执行输出波形的操作,每输出一个点之后,判断按键是否断开,如果依旧闭合,则继续输出,如果已经断开,则结束中断程序。
图8主程序流程图
(2)锯齿波的产生
首先定义一个初值然后进行加法操作,加的步数则根据要求的频率来进行。
然后加到某个数之后就再重新设置为初值,再重复执行刚刚的操作,如此循环。
(3)梯形波的产生
设置一个初值,然后进行加一,当加到某个数时延时,之后减一,减到初值时在返回到之前的操作,继续加一、延时、减一。
(4)三角波的产生
设置一个初值,当加到某个值的时候,执行减一操作,减到初值时,再加一。
(5)方波的产生
只需开始的时候设置一个初值然后直接输出这个值就行了,输出一段时间后,然后再重新置一个数据,然后再输出这个数据一段时间,但是此时的时间一定要等于前面那段时间。
(6)正弦波的产生
需要查表,每查一次表,输出一个数值,之后查下一个数值继续输出,当一个波形的256个数值全部输出之后,从头开始继续输出
五系统调试与仿真结果
1、系统调试
根据系统设计方案,本系统的调试共分为三大部分:
仿真电路调试,程序调试和程序和仿真电路联调。
由于在系统设计中采用模块设计法,所以方便对各电路模块功能进行逐级测试。
(1)仿真电路调试
对各个模块的功能进行调试,主要调试各模块能否实现指定的功能。
调试结果表明,各模块能够实现其预期功能。
(2)程序调试
软件调试采用keilc软件,将编好的程序进行调试,主要是检查语法错误。
在此过程中,发现了好多错误。
要耐心调试。
(3)联调
将调试好的仿真电路和程序进行联调,主要调试系统的实
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 函数 波形 发生器 课程设计 论文