简易波形发生器 波形发生器

前 言

简易波形发生器的设计是利用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

  

爱华网本文地址 » http://www.413yy.cn/a/25101011/97276.html

更多阅读

蒸汽发生器的工作原理 电蒸汽发生器厂家

? ? ?因为蒸汽发生器和常规的锅炉不一样,因为它不需要年检,所以最近有很多的用户问我蒸汽发生器的原理,蒸汽发生器是怎么工作的,今天就由我给大家分析一下蒸汽发生器的工作原理蒸汽发生器在水汽系统方面,给水在加热器中加热到一定温度,经

基于0832正弦波发生器 dac0832产生正弦波

一、设计题目单片机的D/A 接口应用:用0832单片机控制生成正弦波,频率和幅值可调。二、设计目的设计目的:1.了解单片微机系统中实现D/A(数字/模拟)转换的原理及方法;2.详细了解D/A转换芯片0832的性能及编程方法;3.了解单片机系统中扩展D/A转

频率可调的正弦波发生器电路图 频率可调正弦波发生器

下图所示电路是一种频率可调的移相式正弦波发生器电路。其频率稳定度通过实际测试为0.002%。该电路性价比高,用很便宜的几个元件在很宽的频段内。实现频率连续可调。笔者在实验时将频段分为低、中、高三个频段。用拨动开关进行切换。

Labview实现任意函数信号发生器 labview信号发生器

课上的作业,初学。花了点时间做出来了,希望能给正在学习的人有点参考和帮助。题目:设计一个任意信号发生器,能产生正弦波、三角波、方波、锯齿波等波形,频率、相位可调。本设计包括信号发生模块、信号调节模块和信号显示模块。(1)、信号

声明:《简易波形发生器 波形发生器》为网友擎天傲神分享!如侵犯到您的合法权益请联系我们删除