6、DA0832(幅频可调正弦波发生器)实验.doc_第1页
6、DA0832(幅频可调正弦波发生器)实验.doc_第2页
6、DA0832(幅频可调正弦波发生器)实验.doc_第3页
6、DA0832(幅频可调正弦波发生器)实验.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验六 D/A0832(幅频可调正弦波发生器)实验 1.实验目的(1)了解D/A转换与单片机的接口方法;掌握D/A转换芯片DA0832的性能及编程方法。(2)掌握通过DA0832数字合成正弦波形信号的方法。(3)掌握正弦波形信号幅度、频率调节的软件处理方法。2.实验内容单片机P1口与4个按键连接,用于信号幅度和频率调节操作键。单片机P0、P2.7、P3.6(-WR)与DA0832、2个741(运放)连接构成波形信号输出电路。编程使波形信号输出电路输出正弦波信号,并且可通过操作键调节信号的幅度和频率。幅度和频率调节级别从010,共11个等级。3.实验器材(1)Proteus仿真软件(2)keil C51开发环境软件4.实验原理(1)外扩模拟输出口利用单片机总线功能,通过单片机的P0、P2.7、P3.6(-WR)与DA0832、1个741(运放)连接,可外扩一个模拟输出口;该口在经过1个741(运放)的单到双信号变换处理,可输出双极性波形信号。(2)通过“正弦表.exe”软件产生8位量化级数和36个采样点数的正弦波信号波表数组数据。通过DA0832双极性波形信号电路顺序输出波表数组数据中的数据,可实现数字合成的正弦波信号。(3)通过调节(键操作)顺序输出波表数据的时间间隔延时,可改变正弦信号的频率。时间间隔延时控制参数TC=010,共有11个等级。(4)通过调节(键操作)比例系数,将比例系数乘于波表中各个数据,可改变正弦信号的幅度。幅度调整的计算公式解释如下:y=xK+(1-K)128 公式(1)其中:x原波表数据;y调整后的波表数据;K比例系数;(1-K) 128用于双极性信号输出位移调整。为了提高计算速度,所有参与运算参数采用整型变量,比例系数K可变换成如下形式:K=RC10 公式(2)其中:RC幅度控制参数。RC=010(11个等级),K=01。将公式(1)带入公式(2),求得新的幅度调整计算公式如下:y=xRC10+128-128RC10 公式(3)45.实验电路原理图7.实验步骤(1)按照“5.实验电路原理图”,用proteus绘制原理图。(2)用keil C51开发环境软件,按照“6.程序流程图”,编写、调试和运行C51处理程序(提示:可参考课堂练习10_4.C和“8_3(双机通信测试)”功能程序FUNCTION.C中的按键扫描函数。)。(3)观察和记录幅度调节最大时,波形电压的峰峰值。(4)观察和记录频率调节最大和最小时,波形的最小和最大周期时间。(将绘制的原理图和编写、调试和运行的处理程序存放在自己所带的USB盘中。)9.撰写实验报告(1)预习(2)原始记录“7.实验步骤”中的(2)(3)(4)内容。(3)实验报告内容6.程序框图初始化波表指针和计数变量输出一个波表数据波表指针和计数变量增1YNYN开始调用延时子程序调用按键扫描子程序有键按下?增幅键值?减幅键值?增频键值?减频键值?36个波点输出完?增幅处理减幅处理增频处理减频处理YYYNNNNY按键扫描子程序可参考课堂练习“8_3(双机通信测试)”功能程序FUNCTION.C中的按键扫描函数。/* 【例10-2】要求在图10-3输出端输出锯齿波电压,产生频率随意,幅值为5V,见图10-5。用C语言编程,程序如下:*/用C语言编程,程序如下:#include /#include /#define da0832 XBYTE0x7fff#define uchar unsigned char#define uint unsigned intuchar keyscan(void);/keyscan routinevoid delay_10ms(void);/10ms delay routinevoid scale(uchar kk);/比例计算uchar xdata da0832 _at_ 0x7fff;uchar code dot136=0x80,0x96,0xab,0xbf,0xd2,0xe2,0xee,0xf8,0xfe,/正弦波数据 0xff,0xfe,0xf8,0xee,0xe2,0xd2,0xc0,0xab,0x96, 0x80,0x69,0x54,0x40,0x2d,0x1e,0x11,0x7 ,0x1 , 0x0 ,0x1 ,0x7 ,0x10,0x1d,0x2d,0x3f,0x53,0x69;uchar data dot36=0x80,0x96,0xab,0xbf,0xd2,0xe2,0xee,0xf8,0xfe,/正弦波数据0xff,0xfe,0xf8,0xee,0xe2,0xd2,0xc0,0xab,0x96,0x80,0x69,0x54,0x40,0x2d,0x1e,0x11,0x7 ,0x1 ,0x0 ,0x1 ,0x7 ,0x10,0x1d,0x2d,0x3f,0x53,0x69;uchar TC=10,RC=10;main()unsigned char i,j,temp;P1=(RC4) | 0x0f;P3=TC | 0xf0;while(1)for(i=0;i36;i+)da0832=doti;/*输出数据,启动转换*/for(j=0;jTC+5;j+) temp=keyscan();/*延时*/if(temp != 0x0f)/有键按下,幅频调整。if(temp = 0 & TC0 ) P3=-TC | 0xf0;/TC-;/频率增,并且显示频率系数else if(temp = 2 & RC0 ) scale(-RC);/幅度减,调用比例计算函else if(temp = 3 & RC10) scale(+RC);/幅度增,调用比例计算函void scale(uchar kk)uchar i;for(i=0;i36;i+) doti=dot1i*kk/10+128-128*kk/10;P1=(kk4) | 0x0f;/显示幅度系数uchar keyscan()/keyscan routineuchar temp,keycode = 0;/P1 = 0xff;temp = P1 & 0x0f;if( temp != 0x0f)delay_10ms();temp = P1 & 0x0f;if( temp != 0x0f)if( P1_0 = 0)return 0;else if (P1_1 = 0)re

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论