简易波形发生器 波形发生器
简易波形发生器的设计是利用D/A转换原理,将被测数字量转换成模拟量,并用模拟方式显示出低频信号源。如方波、三角波、正弦波等等。通常数字电压表都采用大规模的D/A转换集成电路,测量精度高,读数方便,在体积、重量、耗电、稳定性及可靠性等方面性能指标均明显优于指针式万用表。其中D/A转换器将输入的数字量转换成模拟量,逻辑控制电路产生控制信号,按规定的时序将D/A转换器中各组模拟开关接通或断开,保证D/A转换正常进行。本系统以单片机AT89S52为系统的控制核心,结合D/A转换芯片ADC0832设计一个简易波形发生器。
关键词:波形发生器 AT89S52 DAC0832
1 硬件电路的设计及其原理 1.1电路结构图及原理图
波形发生器要求输出正弦波,三角波和方波,其中正弦波和三角波可以用按键选择输出,输出信号的频率可以调节。
本设计使用单片机作为控制器,用中断查表法完成波形数据的输出,再用D/A转换器输出规定的波形信号。方波信号直接从单片机的端口输出,结合功能要求,决定使用AT89S51单片机作为控制器,用DAC0832作为D/A转换器,功能按键使用单片机的三个端口。
实现系统的结构框图如下所示:
图1.1波形发生器系统结构框图
以下为波形发生器电路原理图:
图1.2 波形发生器原理图
1.2 控制部分
控制芯片选择ATMEL公司的AT89S52单片机。控制系统按最小化工作模式设计,P3.0-P3.2口接3个按键,其中T1为频率增加键,T2为频率减少键,T3为正弦波与三角波选择按键。P1口输出波形数据。
1.3 D/A转换部分
DAC0832是CMOS工艺制造的8位D/A转换器,属于8位电流输出型D/A转换器,转换时间为1us,片内带输入数字锁存器,其引脚排列和内部组成原理图如1.3所示。DAC0832与单片机接成数据直接写入方式,当单片机把一个数据写入DAC寄存器时,DAC0832的输出模拟电压信号随之对应变化。利用D/A转换器可以产生各种波形,如方波、三角波、正弦波、锯齿波等以及它们组合产生的复合波形和不规则波形。这些波形利用标准的测试设备是很难产生的。
图1.3 DAC0832引脚排列和内部组成原理图
1.3.1 DAC0832主要性能
1.输入的数字量为8位;
2.采用CMOS工艺,所有引脚的逻辑电平与TTL兼容;
3.数据输入可以采用双缓冲、单缓冲和直通方式;
4.转换时间:1us;
5.精度:1LSB;
6.分辨率:8位;
7.单一电源:5—15V,功耗20mw;
8.参考电压:-10—+10V.
1.3.2 DAC0832的引脚功能
1.D7—D0:8位数据输入;
2.ILE:数据输入锁存允许,高电平有效;
3. :片选;
4. :输入寄存器写信号。当ILE、 、 同时有效时,数据装入输入寄存器,实现输入数据的第一级缓冲;
5. :数据传送控制信号,控制从输入寄存器到DAC寄存器的内部数据传送;
6. :DAC寄存器写信号,当 和 均有效时,将输入寄存器中的数据装入DAC寄存器并开始D/A转换,实现输入数据的第二级缓冲。
7. :参考电压源,电压为-10—+10V;
8. :内部反馈电阻接线端;
9. :DAC电流输出1,其值随输入数字量线性变化;
10. :DAC电流输出2。
当DAC寄存器的内容全为1时, =最大, =0;
当DAC寄存器的内容全为0时, =0, =最大;
当DAC寄存器的内容为N时, = *N/(256* ), = / - ;
无论N值多大, + = / 为常数。
11. :工作电源,其值为+5—15V,典型值为+5V;
12. AGND:模拟信号地线;
13. DGND:数字信号地线。
1.3.3.DAC0932的工作方式
DAC0832有如下三种工作方式:
双缓冲工作方式:进行两级缓冲;
单缓冲工作方式:只进行一级缓冲;
直通工作方式:不进行缓冲,适合于比较简单的场合。
2系统程序的设计 2.1初始化子程序
初始化子程序的主要工作是设置定时器的工作模式、初值预置、开中断和打开定时器等。在这里,定时器T1工作于16位定时模式,单片机按定时时间重复地把波形数据送的DAC0832的寄存器。初始化流程图如下所示:
图2.1 初始化子程序流程图
2.2键扫描子程序
键扫描子程序的任务是检查3个按键是否有键按下,如有键按下,则执行相应的功能。在这里,3个按键分别用于频率增加、频率减小和正弦波与三角波的选择功能。键扫描程序流程图如下所示:
图2.2 键扫描子程序流程图
2.3波形数据产生子程序
波形数据产生子程序是定时器T1的中断程序。当定时器计数溢出时,发生一次中断,当发生中断时,单片机将按次序键波形数据表中的波形数据一一送入DAC0832,DAC0832再根据输入数据大小输出对应的电压。波形数据产生子程序流程图如下所示:
图2.3 波形数据产生子程序流程图
2.4主程序
主程序的任务是进行上电初始化,并在程序运行中不断查询按键情况,执行相应的功能。
图2.4 主程序流程图
3调试及性能分析
软件的调试主要是各子程序的调试,对于频率的增减按键,由于计数器为16位定时器,最大值为65535,所以在加减是用255作为加减数,这样频率的调节变化交快些,但在接近最高频率时变化太快。如果加减是用1作为加减数,那么在频率的高端变化平稳,而在频率的低端则变化太慢。
在设计时,每周期波形用了256个采样点合成,波形不是很光滑,如果增加采样点,则输出的频率会变低。
仿真波形如下:
图3.1方波
图3.2 三角波
图3.3 正弦波
致 谢
在这次单片机课设中,在征求设计方案,电路焊接,软件编程和调试过程中得到了很多老师和同学的热情帮助,在此一并表示衷心的感谢。
参考文献
[1] 李群芳,张士军,黄建.单片微型计算机与接口技术.北京:电子工业出版社,2005
[2] 高峰.单片微机应用系统设计.北京:机械工业出版社,2004
[3] 周立功.单片机实验与实践.北京:北京航空航天大学出版社,2004
[4] 王玉民. 单片机应用技术.北京:高等教育出版社,2006
附 录
系统程序清单:
SINP DATA 30H
THREE DATA 31H
THOD DATA 32H
TLOD DATA 33H
ORG 0000H
LJMP START
ORG 000BH
LJMP INTT0
ORG 0060H
START:MOV SP,#70H
MOV SINP,#00H
MOV COSP,#40H
MOV TMOD,#11H
MOV THOD,#0FFH
MOV TLOD,#00H
MOV TH0, THOD
MOV TL0,TLOD
TEST:SETB P3.2
JB P3.2,DIR1
MOV DPTR,#LIST
SJMP DIR
DIR1:MOV DPTR,#LIST1
DIR: SETB ET0
SETB EA
SETB TR0
MAIN:JNB P3.0,INCKEY
JNB P3.1,DECKEY
ORL PCON,#01H
LJMP MAIN
INCKEY:LCALL DL10MS
JB P3.0,MAIN
MOV A,TLOD
CJNE A,#0FFH,INC1
LJMP MAIN
INC1:INC TLOD
LJMP MAIN
DECKEY:LCALL DL10MS
JB P3.1,MAIN
MOV A,TLOD
CJNE A,#00H,DEC1
LJMP MAIN
DEC1:DEC TLOD
LJMP MAIN
INTT0:PUSH ACC
CPL P3.7
MOV TH0,THOD
MOV TL0,TLOD
MOV A,SINP
MOVC A,@A+DPTR
MOV P1,A
MOV A,COSP
MOVC A,@A+DPTR
MOV P2,A
INC SINP
INC COSP
POP ACC
RETI
DL512:MOV R7,#0FFH
LOOP: DJNZ R7,LOOP
RET
DL10MS:MOV R6,#14H
LOOP1: LCALL DL512
DJNZ R6,LOOP1
RET
LIST:
DB80H,83H,85H,88H,8AH,8DH,8FH,92H,94H,97H,99H,9BH,9EH,0A0H,0A3H, 0A5H,0A7H,0AAH,0ACH,0AEH,0B1H,0B3H
DB0B5H,0B7H,0B9H,0BBH,0BDH,0BFH,0C1H,0C3H,0C5H,0C7H,0C9H,0CBH, 0CCH,0CEH,0D0H,0D1H,0D3H,0D4H,0D6H,0D7H
DB 0D8H,0DAH,0DBH,0DCH,0DDH,0DEH,0DFH,0E0H,0E1H,0E2H,0E3H,
0E3H,0E4H,0E4H,0E5H,0E5H,0E6H,0E6H,0E7H,0E7H
DB0E7H,0E7H,0E7H,0E7H,0E7H,0E7H,0E6H,0E6H,0E5H,0E5H,0E4H,0E4H, 0E3H,0E3H,0E2H,0E1H,0E0H,0DFH,0DEH,0DDH
DB0DCH,0DBH,0DAH,0D8H,0D7H,0D6H,0D4H,0D3H,0D1H,0D0H,0CEH, 0CCH,0CBH,0C9H,0C7H,0C5H,0C3H,0C1H,0BFH,0BDH
DB0BBH,0B9H,0B7H,0B5H,0B3H,0B1H,0AEH,0ACH,0AAH,0A7H,0A5H,0A3H, 0A0H,9EH,9BH,99H,97H,94H,92H,8FH,8DH,8AH
DB88H,85H,83H,80H,7DH,7BH,78H,76H,73H,71H,6EH,6CH,69H,67H,65H,62H, 60H,5DH,5BH,59H,56H,54H,52H,4FH,4DH
DB4BH,49H,47H,45H,43H,41H,3FH,3DH,3BH,39H,37H,35H,34H,32H,30H,2FH, 2DH,2CH,2AH,29H,28H,26H,25H,24H,23H
DB22H,21H,20H,1FH,1EH,1DH,1DH,1CH,1CH,1BH,1BH,1AH,1AH,1AH,19H, 19H,19H,19H,19H,19H,19H,19H,1AH,1AH,1AH
DB1BH,1BH,1CH,1CH,1DH,1DH,1EH,1FH,20H,21H,22H,23H,24H,25H,26H, 28H,29H,2AH,2CH,2DH,2FH,30H,32H,34H,35H
DB 37H,39H,3BH,3DH,3FH,41H,43H,45H,47H,49H,4BH,4DH,4FH,52H,54H,56H,
59H,5BH,5DH,60H,62H,65H,67H,69H,6CH
DB6EH,71H,73H,76H,78H,7BH,7DH
LIST1:
DB80H,81H,82H,83H,84H,85H,86H,87H,88H,89H,8AH,8BH,8CH,8DH,8EH,8FH, 90H,91H,92H,93H,94H,95H,96H,97H,98H
DB99H,9AH,9BH,9CH,9DH,9EH,9FH,0A0H,0A1H,0A2H,0A3H,0A4H,0A5H, 0A6H,0A7H,0A8H,0A9H,0AAH,0ABH,0ACH,0ADH
DB0AEH,0AFH,0B0H,0B1H,0B2H,0B3H,0B4H,0B5H,0B6H,0B7H,0B8H,0B9H, 0BAH,0BBH,0BCH,0BDH,0BEH,0BFH,0BFH,0BEH
DB0BDH,0BCH,0BBH,0BAH,0B9H,0B8H,0B7H,0B6H,0B5H,0B4H,0B3H,0B2H, 0B1H,0B0H,0AFH,0AEH,0ADH,0ACH,0ABH,0AAH
DB0A9H,0A8H,0A7H,0A6H,0A5H,0A4H,0A3H,0A2H,0A1H,0A0H,9FH,9EH, 9DH,9CH,9BH,9AH,99H,98H,97H,96H,95H,94H
DB93H,92H,91H,90H,8FH,8EH,8DH,8CH,8BH,8AH,89H,88H,87H,86H,85H,84H, 83H,82H,81H,80H,7FH,7EH,7DH,7CH,7BH
DB7AH,79H,78H,77H,76H,75H,74H,73H,72H,71H,70H,6FH,6EH,6DH,6CH,6BH, 6AH,69H,68H,67H,66H,65H,64H,63H,62H
DB61H,60H,5FH,5EH,5DH,5CH,5BH,5AH,59H,58H,57H,56H,55H,54H,53H,52H, 51H,50H,4FH,4EH,4DH,4CH,4BH,4AH,49H
DB48H,47H,46H,45H,44H,43H,42H,41H,40H,40H,41H,42H,43H,44H,45H,46H, 47H,48H,49H,4AH,4BH,4CH,4DH,4EH,4FH
DB50H,51H,52H,53H,54H,55H,56H,57H,58H,59H,5AH,5BH,5CH,5DH,5EH,5FH, 60H,61H,62H,63H,64H,65H,66H,67H,68H
DB69H,6AH,6BH,6CH,6DH,6EH,6FH,70H,71H,72H,73H,74H,75H,76H,77H,78H, 79H,7AH,7BH,7CH,7DH,7EH,7FH
END
更多阅读
转载 各种波形文件的区别、生成方法wlf/vcd/fsdb/shm/vpd fsdbdumpvars
原文地址:各种波形文件的区别、生成方法wlf/vcd/fsdb/shm/vpd作者:followheart仿真是IC设计不可或缺的重要步骤,仿真后一般需要记录下波形文件,用于做详细分析和研究。说一下几种波形文件WLF(Wave LogFile)、VCD(Value Change Dump)文件
蒸汽发生器的工作原理 电蒸汽发生器厂家
? ? ?因为蒸汽发生器和常规的锅炉不一样,因为它不需要年检,所以最近有很多的用户问我蒸汽发生器的原理,蒸汽发生器是怎么工作的,今天就由我给大家分析一下蒸汽发生器的工作原理蒸汽发生器在水汽系统方面,给水在加热器中加热到一定温度,经
基于0832正弦波发生器 dac0832产生正弦波
一、设计题目单片机的D/A 接口应用:用0832单片机控制生成正弦波,频率和幅值可调。二、设计目的设计目的:1.了解单片微机系统中实现D/A(数字/模拟)转换的原理及方法;2.详细了解D/A转换芯片0832的性能及编程方法;3.了解单片机系统中扩展D/A转
频率可调的正弦波发生器电路图 频率可调正弦波发生器
下图所示电路是一种频率可调的移相式正弦波发生器电路。其频率稳定度通过实际测试为0.002%。该电路性价比高,用很便宜的几个元件在很宽的频段内。实现频率连续可调。笔者在实验时将频段分为低、中、高三个频段。用拨动开关进行切换。
Labview实现任意函数信号发生器 labview信号发生器
课上的作业,初学。花了点时间做出来了,希望能给正在学习的人有点参考和帮助。题目:设计一个任意信号发生器,能产生正弦波、三角波、方波、锯齿波等波形,频率、相位可调。本设计包括信号发生模块、信号调节模块和信号显示模块。(1)、信号