波形发生器的设计之欧阳科创编.docx
《波形发生器的设计之欧阳科创编.docx》由会员分享,可在线阅读,更多相关《波形发生器的设计之欧阳科创编.docx(26页珍藏版)》请在冰豆网上搜索。
波形发生器的设计之欧阳科创编
波形发生器设计
时间:
2021.02.05
创作:
欧阳科
设计总说明
各种各样的信号是通信领域的重要组成部分,其中正弦波、锯齿波、三角波和方波等是较为常见的信号。
在科学研究及教学实验中常常需要这几种信号的发生装置。
为了实验、研究方便,研制一种灵活适用、功能齐全、使用方便的信号源是十分必要的。
本文介绍的是利用AT89C51单片机和数模转换器件DAC0832产生所需不同信号的低频信号源。
文中简要介绍了DAC0832数模转换器的结构原理和使用方法,AT89C51的基础理论,以及与设计电路有关的各种芯片。
根据对毕业生设计的要求,文中着重介绍了利用单片机控制D/A转换器产生上述信号的硬件电路和软件编程。
信号频率幅度也按要求可调。
本次产生不同低频信号的信号源的设计方案,不仅在理论和实践上都能满足实验的要求,而且具有很强的可行性。
该信号源的特点是:
体积小、价格低廉、性能稳定、实现方便、功能齐全。
关键词:
单片机AT89C51DAC0832波形发生器
1绪论1
2系统设计2
2.1信号发生电路方案论证2
2.1.1单片机的选择论证2
2.1.2键盘方案论证3
2.1.3总体系统设计3
2.2硬件实现及单元电路设计4
2.2.1单片机最小系统的设计5
2.2.2波形产生模块设计6
2.2.3键盘显示模块的设计7
2.3系统软件设计8
2.3.1主程序:
8
2.3.2锯齿波的实现过程10
2.3.3三角波的实现过程11
2.3.4方波的实现过程13
2.3.5正弦波的实现过程15
结论18
致谢19
参考文献20
附录21
1绪论
波形发生器也称函数发生器,作为实验信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。
目前,市场上常见的波形发生器多为纯硬件的搭接而成,且波形种类有限,多为锯齿波,正弦波,方波,三角波等波形。
信号发生器作为一种常见的应用电子仪器设备,传统的可以完全由硬件电路搭接而成,如采用555振荡电路发生正弦波、三角波和方波的电路便是可取的路经之一,不用依靠单片机。
但是这种电路存在波形质量差,控制难,可调范围小,电路复杂和体积大等缺点。
在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟机械振动等领域常常要用到低频信号源。
而由硬件电路构成的低频信号其性能难以令人满意,而且由于低频信号源所需的RC很大;大电阻,大电容在制作上有困难,参数的精度亦难以保证;体积大,漏电,损耗显著更是致命的弱点。
一旦工作需求功能有增加,则电路复杂程度会大大增加。
2系统设计
经过考虑,我们确定方案如下:
利用AT89C52单片机采用程序设计方法产生锯齿波、三角波、正弦波、方波四种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,通过键盘来控制四种波形的类型选择、频率变化,最终输出显示其各自的类型以及数值。
2.1信号发生电路方案论证
方案一:
通过单片机控制D/A,输出四种波形。
此方案输出的波形不够稳定,抗干扰能力弱,不易调节。
但此方案电路简单、成本低。
方案二:
使用传统的锁相频率合成方法。
通过芯片IC145152,压控振荡器搭接的锁相环电路输出稳定性极好的正弦波,再利用过零比较器转换成方波,积分电路转换成三角波。
此方案,电路复杂,干扰因素多,不易实现。
方案三:
利用MAX038芯片组成的电路输出波形。
MAX038是精密高频波形产生电路,能够产生准确的锯齿波、三角波、方波和正弦波四种周期性波形。
但此方案成本高,程序复杂度高。
以上三种方案综合考虑,选择方案一。
2.1.1单片机的选择论证
方案一:
AT89C52单片机是一种高性能8位单片微型计算机。
它把构成计算机的中央处理器CPU、存储器、寄存器、I/O接口制作在一块集成电路芯片中,从而构成较为完整的计算机、而且其价格便宜。
方案二:
C8051F005单片机是完全集成的混合信号系统级芯片,具有与8051兼容的微控制器内核,与MCS-51指令集完全兼容。
除了具有标准8052的数字外设部件,片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件,而且执行速度快。
但其价格较贵
以上两种方案综合考虑,选择方案一
2.1.2键盘方案论证
方案一:
矩阵式键盘。
矩阵式键盘的按键触点接于由行、列母线构成的矩阵电路的交叉处。
当键盘上没有键闭合时,所有的行和列线都断开,行线都呈高电平。
当某一个键闭合时,该键所对应的行线和列线被短路。
方案二:
独立式键盘。
独立式键盘具有硬件与软件相对简单的特点,其缺点是按键数量较多时,要占用大量口线。
以上两种方案综合考虑,选择方案二。
2.1.3总体系统设计
该系统采用单片机作为数据处理及控制核心,由单片机完成人机界面、系统控制、信号的采集分析以及信号的处理和变换,采用按键输入,利用液晶显示电路输出数字显示的方案。
将设计任务分解为按键电路、液晶显示电路等模块。
图2.1为系统的总体框图
图2.1总体方框图
2.2硬件实现及单元电路设计
在proteus中选取元器件构造出系统的仿真图,可以实际的模仿电路的运行情况,检查设计的是否合理。
下面是系统的整个仿真图
图2.2系统整体仿真图
2.2.1单片机最小系统的设计
AT89C51是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单﹑可靠。
用AT89C51单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,如图2.389C51单片机最小系统所示。
由于集成度的限制,最小应用系统只能用作一些小型的控制单元。
其应用特点:
有可供用户使用的大量I/O口线。
内部存储器容量有限。
应用系统开发具有特殊性。
图2.3AT89C51单片机最小系统
2.2.2波形产生模块设计
由单片机采用编程方法产生四种波形、通过DA转换模块DAC0832在进过滤波放大之后输出。
其电路图如下:
2.3波形产生模块
如上图所示,单片机的P0口连接DAC0832的八位数据输入端,DAC0832的输出端接放大器,经过放大后输出所要的波形。
DAC0832的为八位数据并行输入的。
由于单片机产生的是数字信号,要想得到所需要的波形,就要把数字信号转换成模拟信号,所以该文选用价格低廉、接口简单、转换控制容易并具有8位分辨率的数模转换器DAC0832。
DAC0832主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器以及输入控制电路四部分组成。
但实际上,DAC0832输出的电量也不是真正能连续可调,而是以其绝对分辨率为单位增减,是准模拟量的输出。
DAC0832是电流型输出,在应用时外接运放使之成为电压型输出。
结构图如下图所示
2.4DAC0832的内部结构
2.2.3键盘显示模块的设计
由于本系统所用按键少,所以采用独立键盘,其连接电路图如下:
图2.5键盘
图中独立键盘引出的四根线分别接单片机的P1.0、P1.1、P1.2、P1.3,另一端接地。
各开关的功能如上图所示。
2.3系统软件设计
2.3.1主程序:
产生指定波形可以通过DAC来实现不同波形产生实质上是对输出的二进制数字量进行相应改变来实现的。
本题目中方波信号是利用定时器中断产生的每次中断时将输出的信号按位反即可。
三角波信号是将输出的二进制数字信号依次加1达到0xff时依次减1并实时将数字信号经D/A转换得到。
锯齿波信号是将输出的二进制数字信号依次加1达到0xff时置为0x00并实时将数字信号经D/A转换得到的
正弦波是利用MATLAB将正弦曲线均匀取样后得到等间隔时刻的y方向上的二进制数值然后依次输出后经D/A转换得到。
图2.6系统的整体流程图
2.3.2锯齿波的实现过程
锯齿波的实现过程是首先定义一个初值然后进行加法操作,加的步数的多少则根据要求的频率来进行。
然后加到某个数之后就再重新设置为初值,再重复执行刚刚的操作,如此循环下去。
流程图如下所示。
图2.7锯齿波的实现的流程图
下面是系统实现锯齿波的仿真结果:
图2.8锯齿波的仿真图
2.3.3三角波的实现过程
三角波的实现是设置一个初值,然后进行加数,同样是加到某个数之后再进行减数,减到初值之后就再返回到先前的操作,这个操作跟锯齿波的实现是相似的。
此程序输入的VREF的电压是+5V,因此该波形输出的最大频率是初值为00H和最终值为0FFH,且步数为1。
程序流程图如下图所示:
2.9三角波的实现的流程图
下面是系统实现三角形波的仿真结果:
2.10三角形波的仿真图
2.3.4方波的实现过程
此波形的实现比较简单,只需开始的时候设置一个初值然后直接输出这个值就行了,输出一段时间后,然后再重新置一个数据,然后再输出这个数据一段时间,但是此时的时间一定要等于前面那段时间。
这样才是一个方波,如果两个时间不相同,那就相当于一个脉冲波了。
流程图如下图所示:
2.11方波的实现的流程图
下面是系统实现方波的仿真结果:
2.12方波的仿真图
2.3.5正弦波的实现过程
正弦波的实现则相对比较复杂,因为正弦波的实现是输出各个点的值就行了,可是各个点值则要通过正弦函数来求出,不过这些值直接去网上下载下来使用就可以了。
输出的数据刚好是256个数据,这样则可以直接相加就可以得到理想的正弦曲线。
流程图如下图所示:
2.13正弦波的实现的流程图
下面是系统实现正弦波的仿真结果:
2.14正弦波的仿真结果
从仿真结果来看:
设计的单片机为核心的波形发生器达到了设计所要求的结果。
结论
经过将近一周的单片机课程设计,终于完成了波形发生器的设计,基本达到设计要求。
在这次设计中,完成了一下任务:
1、利用AT89C51单片机为核心,利用数摸转换芯片0832完成数摸转换
2、以按键来选择要产生的波形。
3、用示波器观察波形。
要设计一个成功的电路,必须要有耐心,要有坚持的毅力。
在整个电路的设计过程中,花费时间最多的是各个单元电路的连接及电路的细节设计上,如在多种方案的选择中,我们仔细比较分析其原理以及可行的原因。
这就要求我们对硬件系统中各组件部分有充分透彻的理解和研究,并能对之灵活应用。
完成这次设计后,我在书本理论知识的基础上又有了更深层次的理解。
同时在本次设计的过程中,我还学会了高效率的查阅资料、运用工具书、利用网络查找资料。
我发现,在我们所使用的书籍上有一些知识在实际应用中其实并不是十分理想,各种参数都需要自己去调整。
偶而还会遇到错误的资料现象,这就要求我们应更加注重实践环节。
最后还要在此感谢各位毕业设计的指导老师们和我的组员们,他们在整个过程中都给予了我充分的帮助与支持。
致谢
在我写本论文的过程中,老师给我提供了许多资料,并对实践中出现的问题给予耐心的解答,完稿之后在百忙之中仔细阅读,给出修改意见。
,在此对老师表示感谢。
参考文献
[1]李华.MCS-51系列单片机实用接口技术[M].
[2]李建忠.单片机原理及应用[M].
[3]张毅刚,彭喜圆,谭晓昀,曲春波.MCS-51单片机应用设计[M].哈尔滨工业大学出版社.
[4]康华光.电子技术基础[M].高等教育出版社.
[5]张洪润,易涛.单片机应用技术教程[M].清华大学出版社.
附录
源程序:
ORG0000H
LJMPMAIN
ORG0100H
MAIN:
JNBP1.0,P10
JNBP1.1,P11
JNBP1.2,P12
JNBP1.3,P13
LJMPMAIN
P10:
MOVR7,#00H
LCALLSQU
LJMPMAIN
P11:
MOVR7,#01H
LCALLSAW
LJMPMAIN
P12:
MOVR7,#02H
LCALLTRI
LJMPMAIN
P13:
MOVR7,#03H
LCALLSIN
LJMPMAIN
SQU:
JNBP1.1,N1//方波
JNBP1.2,N2
JNBP1.3,N3
LJMPSSQU
N1:
MOVR7,#01H
LJMPTC0
N2:
MOVR7,#02H
LJMPTC0
N3:
MOVR7,#03H
LJMPTC0
SSQU:
CJNER7,#00H,TC0
MOVR0,#00H
;MOVDPTR,#7FFFH
K00:
;MOVA,#0FFH
;MOVX@DPTR,A
MOVP0,#0FFH
MOVP2,#0FFH
MOVA,P2
CPLA
MOVR3,A
L00:
DECR3
CJNER3,#255,L00
INCR0
INCR0
CJNER0,#254,K00
MOVR0,#00H
K01:
;MOVA,#00H
;MOVX@DPTR,A
MOVP0,#00H
MOVP2,#0FFH
MOVA,P2
CPLA
MOVR3,A
L01:
DECR3
CJNER3,#255,L01
INCR0
INCR0
CJNER0,#254,K01
LJMPSQU
TC0:
RET
SAW:
JNBP1.0,N4//锯形波
JNBP1.2,N5
JNBP1.3,N6
LJMPSSAW
N4:
MOVR7,#00H
LJMPTC1
N5:
MOVR7,#02H
LJMPTC1
N6:
MOVR7,#03H
LJMPTC1
SSAW:
CJNER7,#01H,TC1
MOVR0,#0FFH
;MOVDPTR,#7FFFH
K10:
;MOVA,R0
;MOVX@DPTR,A
MOVP0,R0
MOVP2,#0FFH
MOVA,P2
CPLA
MOVR3,A
L10:
DECR3
CJNER3,#255,L10
INCR0
CJNER0,#255,K10
LJMPSAW
TC1:
RET
TRI:
JNBP1.0,N7//三角形波
JNBP1.1,N8
JNBP1.3,N9
LJMPTTRI
N7:
MOVR7,#00H
LJMPTC2
N8:
MOVR7,#01H
LJMPTC2
N9:
MOVR7,#03H
LJMPTC2
TTRI:
CJNER7,#02H,TC2
MOVR0,#00H
;MOVDPTR,#7FFFH
K20:
;MOVA,R0
;MOVX@DPTR,A
MOVP0,R0
MOVP2,#0FFH
MOVA,P2
CPLA
MOVR3,A
L20:
DECR3
CJNER3,#255,L20
INCR0
INCR0
CJNER0,#254,K20
K21:
;MOVA,R0
;MOVX@DPTR,A
MOVP0,R0
MOVP2,#0FFH
MOVA,P2
CPLA
MOVR3,A
L21:
DECR3
CJNER3,#255,L21
DECR0
DECR0
CJNER0,#0,K21
LJMPTRI
TC2:
RET
SIN:
JNBP1.0,N10//正弦波
JNBP1.1,N11
JNBP1.2,N12
LJMPSSIN
N10:
MOVR7,#00H
LJMPTC3
N11:
MOVR7,#01H
LJMPTC3
N12:
MOVR7,#02H
LJMPTC3
SSIN:
CJNER7,#03H,TC3
MOVR0,#00H
;MOVDPTR,#7FFFH
K30:
MOVA,R0
MOVDPTR,#TAB
MOVCA,@A+DPTR
;MOVDPTR,#7FFFH
;MOVX@DPTR,A
MOVP0,A
INCR0
MOVP2,#0FFH
MOVA,P2
CPLA
MOVR3,A
L30:
DECR3
CJNER3,#255,L30
CJNER0,#255,K30
LJMPSIN
TC3:
RET
TAB:
DB80H,82H,84H,86H,88H,8AH,8CH,8EH,90H,92H,94H,96H,98H,9AH,9CH,9EH
DB0A0H,0A2H,0A4H,0A6H,0A8H,0AAH,0ABH,0ADH,0AFH,0B1H,0B2H,0B4H,0B6H,0B7H,0B9H,0BAH
DB0BCH,0BDH,0BFH,0C0H,0C1H,0C3H,0C4H,0C5H,0C6H,0C8H,0C9H,0CAH,0CBH,0CCH,0CDH,0CEH
DB0CEH,0CFH,0D0H,0D1H,0D1H,0D2H,0D2H,0D3H,0D3H,0D4H,0D4H,0D4H,0D4H,0D5H,0D5H,0D5H
DB0D5H,0D5H,0D5H,0D5H,0D4H,0D4H,0D4H,0D4H,0D3H,0D3H,0D2H,0D2H,0D1H,0D1H,0D0H,0CFH
DB0CEH,0CEH,0CDH,0CCH,0CBH,0CAH,0C9H,0C8H,0C6H,0C5H,0C4H,0C3H,0C1H,0C0H,0BFH,0BDH
DB0BCH,0BAH,0B9H,0B7H,0B6H,0B4H,0B2H,0B1H,0AFH,0ADH,0ABH,0AAH,0A8H,0A6H,0A4H,0A2H
DB0A0H,9EH,9CH,9AH,98H,96H,94H,92H,90H,8EH,8CH,8AH,88H,86H,84H,82H
DB80H,7DH,7BH,79H,77H,75H,73H,71H,6FH,6DH,6BH,69H,67H,65H,63H,61H
DB5FH,5DH,5BH,59H,57H,55H,54H,52H,50H,4EH,4DH,4BH,49H,48H,46H,45H
DB43H,42H,40H,3FH,3EH,3CH,3BH,3AH,39H,37H,36H,35H,34H,33H,32H,31H
DB31H,30H,2FH,2EH,2EH,2DH,2DH,2CH,2CH,2BH,2BH,2BH,2BH,2AH,2AH,2AH
DB2AH,2AH,2AH,2AH,2BH,2BH,2BH,2BH,2CH,2CH,2DH,2DH,2EH,2EH,2FH,30H
DB31H,31H,32H,33H,34H,35H,36H,37H,39H,3AH,3BH,3CH,3EH,3FH,40H,42H
DB43H,45H,46H,48H,49H,4BH,4DH,4EH,50H,52H,54H,55H,57H,59H,5BH,5DH
DB5FH,61H,63H,65H,67H,69H,6BH,6DH,6FH,71H,73H,75H,77H,79H,7BH,7DH
END
时间:
2021.02.05
创作:
欧阳科