波形发生器.docx
- 文档编号:9449328
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:13
- 大小:297.80KB
波形发生器.docx
《波形发生器.docx》由会员分享,可在线阅读,更多相关《波形发生器.docx(13页珍藏版)》请在冰点文库上搜索。
波形发生器
目录
1、选题的背景和意义…………………………….....................2
2、设计任务……………………………………………………….......2
3、硬件设计……………………………………………………….......3
3.1硬件介绍及说明…………………………………………..3
3.1.1硬件电路设计………………………………………3
3.1.2D/A转换电路……………………………………..4
3.1.3I/V转换电路……………………………………..6
3.2硬件电路设计……………………………………………….7
4、软件设计……………………………………………………………..8
4.1程序流程图……………………………………………………8
4.2主要程序及注释……………………………………………9
5、仿真结果及分析………………………………………………..14
参考文献………………………………………………………………….16
一、选题的背景和意义
各种各样的信号是通信领域的重要组成部分,其中正弦波、三角波和方波等是较为常见的信号。
在科学研究及教学实验中常常需要这几种信号的发生装置。
为了实验、研究方便,研制一种灵活适用、功能齐全、使用方便的信号源是十分必要的。
这里利用AT89C51单片机和数模转换器件DAC0832产生所需不同信号的低频信号源,其信号幅度和频率都是可以按要求控制的。
DAC0832数模转换器的结构原理和使用方法,AT89C51的基础理论,以及与设计电路有关的各种芯片计的要求,如何利用单片机控制D/A转换器产生上述信号的硬件电路和软件编程。
信号频率幅度也按要求可调。
本次关于产生不同低频信号的信号源的设计方案,不仅在理论和实践上都能满足实验的要求,而且具有很强的可行性。
该信号源的特点是:
体积小、价格低廉、性能稳定、实现方便、功能齐全。
关键字:
信号源;单片机;DAC0832;方波;锯齿波;三角波;正弦波
二、设计任务
设计制作一个波形发生器,该波形发生器能产生正弦波、方波、三角波和锯齿波。
要求:
(1)具有产生正弦波、方波、三角波三种周期性波形的功能。
(2)用开关选择输出的波形形状。
(3)具有波形存储功能。
(4)输出波形频率可调
(5)输出波形幅度范围0~5V(峰-峰值)。
三、硬件设计
3.1硬件介绍及说明
3.1.1硬件电路设计
80C51单片机时钟电路采用内部方式,外接陶瓷谐振器(频率为12MHz),微调电容值为30pF。
系统复位采用按键式外部复位方式,复位信号至少保持8μs以上。
通过按键由用户选择要输出的波形,按键选择占用P1.0,P1.1口。
利用80C51单片机与DAC0832连接来实现波形的产生。
图表1
3.1.2D/A转换电路
DAC0832是8分辨率的D/A转换集成芯片。
与微处理器完全兼容。
这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。
D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。
DAC0832内部结构资料:
芯片内有两级输入寄存器,使DAC0832具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。
D/A转换结果采用电流形式输出。
要是需要相应的模拟信号,可通过一个高输入阻抗的线性运算放大器实现这个供功能。
运放的反馈电阻可通过RFB端引用片内固有电阻,还可以外接.
三种工作方式区别是:
直通方式不需要选通,直接D/A转换;单缓冲方式一次选通;双缓冲方式二次选通。
待转换的8位数字量由芯片的8位数据输入线D0~D7输入,经DAC0832转换后,通过2个电流输出端IOUT1和IOUT2输出,IOUT1是逻辑电平为"1"的各位输出电流之和,IOUT2是逻辑电平为"0"的各位输出电流之和。
另外,ILE、
、
、
和
是控制转换的控制信号。
DAC0832由8位输入寄存器、8位DAC寄存器和8位D/A转换电路组成。
输入寄存器和DAC寄存器作为双缓冲,因为在CPU数据线直接接到DAC0832的输入端时,数据在输入端保持的时间仅仅是在CPU执行输出指令的瞬间内,输入寄存器可用于保存此瞬间出现的数据。
有时,微机控制系统要求同时输出多个模拟量参数,此时对应于每一种参数需要一片DAC0832,每片DAC0832的转换时间相同,就可采用DAC寄存器对CPU分时输入到输入寄存器的各参数在同一时刻开始锁存,进而同时产生各模拟信号。
控制信号ILE、
、
用来控制输入寄存器。
当ILE为高电平,
为低电平,
为负脉冲时,在LE产生正脉冲;其中LE为高电平时,输入寄存器的状态随数据输入线状态变化,LE的负跳变将输入数据线上的信息存入输入寄存器。
控制信号
和
用来控制8位A/D转换器。
当
为低电平,
输入负脉冲时,则在LE产生正脉冲;其中LE为高电平时,DAC寄存器的输入与
输出的状态一致,LE负跳变,输入寄存器内容存入DAC寄存器。
图表2
3.1.3I/V转换电路
LM324为四运放集成电路,采用14脚双列直插塑料封装。
,内部有四个运算放大器,有相位补偿电路。
电路功耗很小,lm324工作电压范围宽,可用正电源3~30V,或正负双电源±1.5V~±15V工作。
它的输入电压可低到地电位,而输出电压范围为O~Vcc。
它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互单独。
每一组运算放大器可用如图所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。
两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的相位相反;Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。
LM324引脚排列见图1。
2。
lm124、lm224和lm324引脚功能及内部电路完全一致。
lm124是军品;lm224为工业品;而lm324为民品。
图表3
3.2硬件电路设计
通过单片机产生数字量,将数据送到DAC0832进行转换,转换结果通过电流到电压的转换,再进行放大输出波形。
图表4
四、软件设计
4.1程序流程图
4.2主要程序及注释
DAC0832工作于单缓冲方式,其中输入寄存器受控,而DAC
寄存器直通,输入寄存器地址为0B0000H。
1.产生方波程序如下:
MAIN:
MOVDPTR,#0b000H选中DAC0832
FANG:
movR2,#0H
movA,R2
movx@DPTR,A将被转换数据0送DAC0832
lCALLDIMS延时
MOVR2,#0FFH
movA,R2
movx@DPTR,A将被转换数据FF送DAC0832
lCALLDIMS2延时
SJMPFANG
DIMS:
MOVR0,#20H延时程序
D1:
movR1,#40H
D2:
NOP
NOP
DJNZR1,D2
DJNZR0,D1
RET
(1)以上程序产生的是方波,其高低电平的宽度由延时子程序DIMS所延时的时间来决定。
(2)改变延时子程序的延时时间,就可改变波形的宽度。
(3)改变上限值或下限值便可改变方波的幅值;单极性输出时为0—-5v或0-5v;双极性输出时为-5V-+5V。
2.产生锯齿波的程序如下:
MAIN:
movDPTR,#0b000H选通DAC0832
MM:
movR2,#0H
MA:
movA,R2
MOVX@DPTR,A将被转换数据送DAC0832
INCR2被转换时间加1
ACALLDIMS延时
cjner2,#0FFH,MA判断是否到FF
AJMPMM
(1)程序每循环一次,A加一,;、
(2)可通过循环程序段的机器周期数,计算出锯齿波的周期,并可根据需要,通过延时的方法来改变波形的周期。
若要改变锯齿波的频率,课在AJMPMM指令前加入延迟程序即可。
延时较短时可用NOP指令实现(本程序就是如此),需要掩饰较长时,可以使用一个延长子程序。
延迟时间不同,波形周期不同,锯齿波的斜率就不同。
(3)通过A加1,可得到正向的锯齿波,反之A减1可得到负的锯齿波。
(4)程序中A的变化范围是0-255,因此得到的锯齿波是满幅度的。
如果求得到非满幅度锯齿波,可通过计算求的数字量的初值和终值,然后在程序中通过置初值和终值的方法实现。
3.产生三角波的程序如下:
MAIN:
movDPTR,#0b000H选通DAC0832
TRIGLE:
movR2,#0h
LOPU:
movA,r2
INCr2转换数据加1
MOVX@DPTR,A将被转换数据0送DAC0832
ACALLDIMS延时
CJNEr2,#0FFH,LOPU
LOPD:
movA,r2
DECr2转换数据减1
MOVX@DPTR,A将被转换数据0送DAC0832
ACALLDIMS延时
CJNEr2,#0H,LOPD
SJMPLOPU
本程序产生的是三角波,谷值为0,峰值为+5V(或-5V)。
若改变下限值或上限值,那么三角波的谷值和峰值也随之改变。
改变延时时间可改变三角波的频率。
若在峰值和谷值输出时间较长时,则输出梯形波,延时时间的长短取决于梯形波上下边的宽度。
4.正弦波的产生:
SIN:
movDPTR,#SINTAB取表的首址存DPTR
movR0,#6DH将表中的数据存入DATA区域的6D-7F中
movR6,#0H
LOOP:
movA,R6
MOVCA,@A+DPTR读表
MOV@R0,A
INCR0
incR6
CJNER0,#7FH,LOOP
movDPTR,#0B000H将被转换数据送DAC0832
MOVR0,#6DH
LOOP1:
movA,@R0产生前四分之一周期
movX@DPTR,A
ACALLDIMS
INCR0
CJNER0,#7EH,LOOP1
LOOP2:
movA,@R0产生下四分之一波形
movx@DPTR,A
ACALLDIMS
DECR0
CJNER0,#6EH,LOOP2
LOOP3:
movA,@R0产生地四分之三波形
CPLA
movX@DPTR,A
ACALLDIMS
INCR0
CJNER0,#7EH,LOOP3
LOOP4:
movA,@R0产生最后四分之一波形
CPLA
movx@DPTR,A
ACALLDIMS
DECR0
CJNER0,#6EH,LOOP4
SJMPLOOP1
SINTAB:
DB7FH,89H,94H,9FH,0AAH,0B4H,0BEH,0C8H,0D1H,0D9H
DB0E0H,0E7H,0EDH,0F2H,0F7H,0FAH,0FCH,0FEH,
0FFH正弦波地址码
END
本例产生三角波,通过正弦波的地址码来实现正弦波,先递增产生前四分之一周期的波形,然后递减产生下四分之一波形,在取反递增产生第四分之三的波形,最后取反递减产生最后四分之一波形。
采用循环查询法实现波形的选择,通过P1.0,P1.1来进行控制;每产生一次波形进行一次软查询,查询下一次查询什么波形。
setbP1.0
setbp1.1
MOVDPTR,#0B000H
TEST:
jbP1.0,NEXT1
JBP1.1,TRIGLE
AJMPFANG
NEXT1:
JBP1.1,SIN
LJMPJUCHI
五、仿真结果及分析
将程序调入硬件电路,仿真得出下图:
方波波形:
图表5
锯齿波波形:
图表6
三角波波形:
图表7
正弦波波形:
图表8
波形中出现锯齿状是由于采的点数不够多造成的,如果采的点数够多就能产生平滑的波形。
六、参考文献
(1)《单片机系统设计与实例分析》冯育长主编西安电子科技大学出版
(2)《单片机原理与应用技术》吴家碚主编 :
北京理工大学出版社
(3)《单片机原理及应用》黄友锐主编 合肥工业大学出版社
(4)《单片机原理与C51编程》宋彩利,孙友仓,吴宏岐编著 西安大学出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 波形 发生器