dac0832函数信号发生器87166.docx

上传人:b****0 文档编号:18466887 上传时间:2023-08-18 格式:DOCX 页数:19 大小:716.26KB
下载 相关 举报
dac0832函数信号发生器87166.docx_第1页
第1页 / 共19页
dac0832函数信号发生器87166.docx_第2页
第2页 / 共19页
dac0832函数信号发生器87166.docx_第3页
第3页 / 共19页
dac0832函数信号发生器87166.docx_第4页
第4页 / 共19页
dac0832函数信号发生器87166.docx_第5页
第5页 / 共19页
dac0832函数信号发生器87166.docx_第6页
第6页 / 共19页
dac0832函数信号发生器87166.docx_第7页
第7页 / 共19页
dac0832函数信号发生器87166.docx_第8页
第8页 / 共19页
dac0832函数信号发生器87166.docx_第9页
第9页 / 共19页
dac0832函数信号发生器87166.docx_第10页
第10页 / 共19页
dac0832函数信号发生器87166.docx_第11页
第11页 / 共19页
dac0832函数信号发生器87166.docx_第12页
第12页 / 共19页
dac0832函数信号发生器87166.docx_第13页
第13页 / 共19页
dac0832函数信号发生器87166.docx_第14页
第14页 / 共19页
dac0832函数信号发生器87166.docx_第15页
第15页 / 共19页
dac0832函数信号发生器87166.docx_第16页
第16页 / 共19页
dac0832函数信号发生器87166.docx_第17页
第17页 / 共19页
dac0832函数信号发生器87166.docx_第18页
第18页 / 共19页
dac0832函数信号发生器87166.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

dac0832函数信号发生器87166.docx

《dac0832函数信号发生器87166.docx》由会员分享,可在线阅读,更多相关《dac0832函数信号发生器87166.docx(19页珍藏版)》请在冰点文库上搜索。

dac0832函数信号发生器87166.docx

dac0832函数信号发生器87166

 

 

智能仪器课程设计

 

设计题目

函数信号发生器设计

学生姓名

赵鑫、罗承波、江再农

学院名称

机械工程学院

班级

测控技术与仪器062班

学号

200646000227、20064600222、20064600215

指导教师

袁锋伟、王玉林、蒋彦

 

2009年6月

 

设计任务:

设计一个函数信号发生器,具体指标如下:

1采用AT89S51及DAC0832设计函数信号发生器;

2输出函数信号为正弦波或三角波或阶梯波;

3输出信号频率为100Hz,幅度0-10V可调;

4必须具有信号输出及外接电源、公共地线接口

 

低频函数信号发生器的设计

摘要:

信号发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教案实验等领域。

目前使用的信号发生器大部分是利用分立元件组成的体积大,可靠性差,准确度低。

课程设计需要各个波形的基本输出,这些波形的实现的具体步骤:

正弦波的实现是非常麻烦的。

它的实现过程是通过定义一些数据,然后执行时直接输出定义的数据就可以了。

而三角波,则每次累加1,当达到初值时,每次累减1,算出延时时间,也就达到要求了,阶梯波和三角波类似!

该设计使用的是AT89S51单片机构成的发生器,可产生三角波、方波、正弦波等多种波形,波形的频率可用程序控制改变。

在单片机上加外围器件独立式开关,通过开关控制波形的选择。

在单片机的输出端口接DAC0832进行DA转换,再通过运放进行波形调整,最后输出波形接在示波器上显示。

b5E2RGbCAP

关键词:

信号发生器;单片机;波形调整

 

Thedesignoflow-frequencyfunctionsignal-generatorp1EanqFDPw

Abstract:

Signalgeneratorisacommonsignalsource,widelyusedinelectroniccircuits,automaticcontrolsystemsandexperimentsinareassuchasteaching.Currentlyusedbymostofthesignalgeneratoriscomposedofdiscretecomponentsusebulky,poorreliability,lowaccuracy.Curriculumdesignofthebasicneedsofalltheoutputwaveform,thewaveformofthespecificstepstoachieve:

therealizationofsinewaveisverytroublesome.Itisthroughtheimplementationofthedefinitionofsomedata,andthendirecttheoutputwhenthedefinitionoftheimplementationofthedataonit.Thetrianglewave,thenadd1eachtime,whentheinitialvaluetoreacheverytiredby1,calculatethedelaytime,theymeettherequirement,theladder-waveandtriangularwavesimilar!

Thedesigniscomposedofsingle-chipAT89S51generatorcanproducethetriangularwave,squarewave,sinewave,etc.,waveformcontrolcanbeusedtochangethefrequency.Increaseinsingle-chipperipheraldevicesonstand-aloneswitch,switchcontrolthroughthechoiceofwaveform.OutputportsintheMCUaccesstoDAconverterDAC0832,andthenthroughtheoperationalamplifiertoadjustthewaveform,thenthefinaloutputwaveformintheoscilloscopedisplay.DXDiTa9E3d

 Keywords:

signalgenerator;single-chipmicrocomputer;wave-formadjustmentRTCrpUDGiT

 

1、设计概述

1.1、设计任务-----------------------------------1

1.2、设计思想-----------------------------------1

2、硬件资料

2.1、芯片资料----------------------------------2

3、软件系统设计

3.1、正弦波设计流程图---------------------------4

3.2、三角波设计流程图---------------------------5

3.3、阶梯波设计流程图--------------------------7

4、系统的组装与调试

4.1、protel原理图-------------------------------8

4.2、protues原理图------------------------------8

5、函数发生器程序-------------------------------9

6、操作说明--------------------------------------11

7、总结及心得体会-------------------------------12

8、问题解答-------------------------------------12

参考文献---------------------------------------12

函数信号发生器设计

1、设计概述

1.1、设计任务:

设计一个函数信号发生器,具体指标如下:

1采用AT89S51及DAC0832设计函数信号发生器;

2输出函数信号为正弦波或三角波或阶梯波;

3输出信号频率为100Hz,幅度0-10V可调;

4必须具有信号输出及外接电源、公共地线接口

1.2、主要设计思想

从此题的要求我的设计思路分以下几步:

<一)、课设需要各个波形的基本输出。

如输出三角波、梯形波、正弦波。

这些波形的实现的具体步骤:

正弦波的实现是非常麻烦的。

它的实现过程是通过定义一些数据,然后执行时直接输出定义的数据就可以了。

然而为了实现100HZ的频率,终于发现,将总时间除了总步数,根据每步执行时间,算出延时时间,最终达到要求,然后建一个表通过查表来进行输出,这样主要工作任务就落到了建表的过程中。

这样做的好处在于,查表所耗费的时钟周期相同,这样输出的点与点之间的距离就相等了,输出的波形行将更趋于完美,当然更让我们感到的高兴的是它输出波形的频率将近达到了100赫兹,能够满足我们设计的扩展要求了。

而三角波,则每次累加1,当达到初值时,每次累减1,算出延时时间,也就达到要求了,阶梯波和三角波类似。

5PCzVD7HxA

<二)、这次做的三种波形可以相互转换,这个实现起来找了很多人最终发现,在每次循环之初进行扫描,而在每个中断入口处,对中断优先级进行设定,最终达到设计目的。

jLBHrnAILg

如下图所示

图1.1

2、硬件资料

2.1、芯片功能介绍

<1)、DAC0832芯片介绍:

DAC0832为一个8位D/A转换器,单电源供电,在+5~+15V范围内均可正常工作。

基准电压的范围为±10V,电流建立时间为1μs,CMOS工艺,低功耗20mW。

DAC0832的内部结构框图如下图所示。

xHAQX74J0X

<图2.1>

DAC0832的外部引脚及功能介绍图如下:

<图2.2>

<2)、DAC0832的应用:

DAC0832一是用作单极性电压输出,二是用作双极性电压输出,最后是用作程控放大器。

<3)、DAC0832与8031的连接方式:

DAC0832的与单片机的连接方式有三种方式:

一、单缓冲

二、双缓冲、三是直通方式。

本程序采用的是方式一即单缓冲方式,ILE为高电平,CS、WR1、WR2、XFER为低电平。

LDAYtRyKfE

 

 

<图2.3>.

I/O口引脚:

P0、P1、P2、P3为4个8位I/O口的外部引脚.

RST/VPD<9脚)

RST:

单片刚接上电源时,其内部各寄存器处于随机状态,在此脚输入24个时钟周期宽度以上的高电平将使单片机复位。

单片机正常工作时,此脚应为≤0.5V低电平。

Zzz6ZB2Ltk

VPD:

备用电源输入端。

当Vcc下降到低于规定的值,而VPD在其规定的电压范围内<5±0.5V)时,VPD就向内部RAM提供备用电源以保持内部RAM的数据。

dvzfvkwMI1

ALE/PROG<30引脚)

ALE引脚输出为地址锁存允许信号,当单片机上电工作后,ALE引脚不断输出正脉冲信号.当访问片外存储器时,ALE(地址锁存允许信号>输出脉冲的负跳沿用于16位地址的低8位锁存信号。

不访问片外存储器,ALE端以时钟振荡器频率的1/6固定输出正脉冲。

在访问外部数据存储器时<执行MOVX指令),ALE会丢失一个ALE脉冲。

rqyn14ZNXI

MCS-51单片机的片外总线结构

<图2.4>

MCS-51系列单片机片外引脚可以构成如上图所示的三总线结构:

地址总线

8031各个口的功能定义

3、软件系统设计

3.1、正弦波设计流程图及思想

正弦波的实现则相对比较复杂,因为正弦波的实现是输出各个点的值就行了,可是各个点值则要通过正弦函数来求出,不过这些值直接去网上下载下来使用就可以了。

输出的数据刚好是256个数据,这样则可以直接相加就行了。

EmxvxOtOco

SixE2yXPq5

 

 

<图3.1>

3.2、三角波的实现过程

三角波的实现是设置一个初值,然后进行加数,同样是加到某个数之后再进行减数,减到初值之后就再返回到先前的操作,这个操作跟锯齿波的实现是相似的。

此程序输入的VREF的电压是+5V,因此该波形输出的最大频率是初值为00H和最终值为0FFH,且步数为1,这样输出的波形是最大的。

题目要求输出频率100HZ,算出程序每步应该延续多少微秒,5ms/256即为循环一次所需时间6ewMyirQFL

kavU42VRUs

3.3、阶梯波的实现过程及实验仿真波形图

阶梯波的实现是设置一个初值00H,然后进行加数16,同样是加到某个数之后再进行减数,减到初值之后就再返回到先前的操作,在每个加数与减数时延时,达到频率100HZ的要求。

这个操作跟三角波的实现是相似的。

为了实现阶梯波,编程的时间最多,每次总是出现锯齿状的阶梯波,其中还曾经用过定时控制,可是只能实现一个延时,其余的都没戏,最终发现只有设初值为0时,每次累加32,当达到初值时递减,其仿真图形如下

y6v3ALoS89

3.4、三角波仿真波形图如下:

3.5、正弦波仿真波形图如下:

4、系统的组装与调试M2ub6vSTnP

4.1、实验protues仿真图

<图4.1>

中断0为阶梯波,中断1为三角波,默认状态为正弦波!

即当两个开关都断开时为正弦波,P3.2开关闭合时为阶梯波,P3.3口开关闭合时为三角波,但当P3.2和P3.3都闭合时,则按照中断优先级确定。

0YujCfmUCw

 

4.2、函数信号发生器ptotel电路图

<图4.2>

5、函数发生器程序

ORG0000H

AJMPMAIN

ORG0003H

AJMPJIETI

ORG0013H

AJMPSANJIAO

ORG0030H

MAIN:

SETBEX0

SETBEX1

CLRIT0

CLRIT1

SETBEA

LCALLZHENGXUAN

SJMPMAIN

三角波

SANJIAO:

MOVDPTR,#2FFFH。

选中DA0832

MOVA,#00H

JNBP3.2,JIETI

UP1:

MOVX@DPTR,A。

向0832输出数据

INCA

LCALLDELAY3

JNZUP1

DOWN1:

DECA。

A=!

0跳转反之顺序执

MOVX@DPTR,A

LCALLDELAY3

NOP

JNZDOWN1

RETI

JIETI:

MOVA,#00H

MOVIP,#04H

MOVDPTR,#2FFFH

LOOP6:

JBP3.2,ZHENGXUAN

MOVX@DPTR,A

LCALLDELAY

CLRC

ADDA,#32

JNZLOOP6

DOWN4:

NOP

NOP

CLRC

SUBBA,#32

MOVX@DPTR,A

LCALLDELAY

JNZDOWN4

AJMPLOOP6

RETI

正弦波

ZHENGXUAN:

MOVR3,#00H。

取表格初值

LOOP1:

在表格里取数送到指定地址

MOVA,R3

MOVDPTR,#SETTAB

MOVCA,@A+DPTR

JNBP3.2,JIETI

JNBP3.3,SANJIAO

MOVX@DPTR,A

INCR3

LCALLDELAY1。

表格加一

AJMPLOOP1。

循环

SETTAB:

正弦表格

DB80H,83H,86H,89H,8DH,90H,93H,96H

DB99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH

DB0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H

DB0C7H,0CAH,0CCH,0CFH,0D1H,0D4H,0D6H,0D8H

DB0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9H

DB0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5H

DB0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDH

DB0FDH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH

DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FDH

DB0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6H

DB0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EAH

DB0E9H,0E7H,0E5H,0E3H,0E1H,0DEH,0DDH,0DAH

DB0D8H,0D6H,0D4H,0D1H,0CFH,0CCH,0CAH,0C7H

DB0C5H,0C2H,0BFH,0BCH,0BAH,0B7H,0B4H,0B1H

DB0AEH,0ABH,0A8H,0A5H,0A2H,9FH,9CH,99H

DB96H,93H,90H,8DH,89H,86H,83H,80H

DB80H,7CH,79H,78H,72H,6FH,6CH,69H

DB66H,63H,60H,5DH,5AH,57H,55H,51H

DB4EH,4CH,48H,45H,43H,40H,3DH,3AH

DB38H,35H,33H,30H,2EH,2BH,29H,27H

DB25H,22H,20H,1EH,1CH,1AH,18H,16H

DB15H,13H,11H,10H,0EH,0DH,0BH,0AH

DB09H,08H,07H,06H,05H,04H,03H,02H

DB02H,01H,00H,00H,00H,00H,00H,00H

DB00H,00H,00H,00H,00H,00H,01H,02H

DB02H,03H,04H,05H,06H,07H,08H,09H

DB0AH,0BH,0DH,0EH,10H,11H,13H,15H

DB16H,18H,1AH,1CH,1EH,20H,22H,25H

DB27H,29H,2BH,2EH,30H,33H,35H,38H

DB3AH,3DH,40H,43H,45H,48H,4CH,4EH

DB51H,55H,57H,5AH,5DH,60H,63H,66H

DB69H,6CH,6FH,72H,76H,79H,7CH,80H

RET

DELAY1:

MOVR5,#11

DJNZR5,$

RET

DELAY:

MOVR7,#50

MOVR6,#02

DS2:

DJNZR7,DS2

DJNZR6,DS2

RET

DELAY3:

MOVR4,#04H

DJNZR4,$

NOP

RET

END

 

6、操作说明

6.1接线:

从左至右<从靠边开始)依次接线<+5V、OUT、-12V、+12V、GND)

6.2选择波形:

当两个开关皆靠近单片机这边时,为正弦波,同样的视角,靠上的开关选通中断1,为三角波,靠下的开关为中断0为阶梯波<注意:

由于开关元器件缺失,在每次选通一种波形后,换另一种波形需先将原先的开关位置拨至0位。

eUts8ZQVRd

 

7、课程设计体会

两个星期的课程设计很快就这样过去了,两周时间我们熟悉了从设计到制版到软件编程的全过程,也明白了细节决定成败的问题,在两周时间里,我们不断的碰到问题,比如说阶梯波总是像锯齿波,布线的宽度,焊点的大小,以及许许多多的问题,在不断解决问题的同时我们增长了知识,每一个细节都能可能会导致电路板的失败,在这几周里我们小组成员不断地深化改革,分工合作取得了不朽的成果,大家集思广义,最终确定了我们小组的设计方案,以及针对100Hz的实现方法。

后来还有一个问题就是调频调幅的问题,由于我开始在程序当中设置的值过小导致后来我在示波器上看到的波形调频后效果不是非常的明显,后来我检查完了之后我又自己在电脑上进行修改程序调试终于把这个问题解决了。

sQsAEJkW5T

最后,我觉得两个星期的时间虽然过的很快但是非常的充实。

在这里再一次感谢各位老师的指导和同学的帮助。

8、问题解答

1、正弦波表格如何得来?

根据两个点<0,80H)、<π/2,0FFH),在0至π/2范围内有64个点,可以求得正弦波的函数方程为Y=127sin<90n/64)+128,(n=1,2,3,….256>GMsIasNXkA

如当n=1时,求得Y=83H。

2、如何实现从-5V到+5V的变化范围?

DAC0832具有单极性和双极性两种情况,本次采样的是单极性电压输出,故输出为0V到10V,如果才用双极性电压输出即可达到要求。

TIrRGchYzg

参考文献

1、主编:

周航慈.《单片机应用程序设计技术》北京航空航天大学出版社,2005。

2、主编:

张伟.《Protel99SE实用教程》,人民邮电出版社,2008。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2