您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 实验设计 > DAC0832波形发生器课程设计实验报告
DAC0832波形发生器课程设计实验报告目录第1章系统设计方案………………………………………………………………………21.1设计思路…………………………………………………………………………………21.2方案比较与选择………………………………………………………………………....2第2章系统硬件设计……………………………………………………………………….2.2.1主控制器电路……………………………………………………………………………22.2数模转换电路……………………………………………………………………………3第3章系统软件设计……………………………………………………………………...63.1系统整体流程…………………………………………………………………………...63.2数模转换程序…………………………………………………………………………...6第4章系统调试……………………………………………………………………………84.1proteus的调试……………………………………………………………………….......8第5章结论与总结…………………………………………………………………………115.1结论………………………………………………………………………………….......11(系统总体设计与完成做一个总结,是客观的,主要包括:设计思路,设计过程,测试结果及完善改进的方向。)5.2总结……………………………………………………………………………………...11(这是一个主观的总结,谈谈自己收获和不足等方面的内容。)第1章系统设计方案1.1设计思路(一)、课设需要各个波形的基本输出。如输出矩形波、锯齿波,正弦波。这些波形的实现的具体步骤:正弦波的实现是非常麻烦的。它的实现过程是通过定义一些数据,然后执行时直接输出定义的数据就可以了。然而为了实现100HZ的频率,终于发现,将总时间除了总步数,根据每步执行时间,算出延时时间,最终达到要求,然后建一个表通过查表来进行输出,这样主要工作任务就落到了建表的过程中。这样做的好处在于,查表所耗费的时钟周期相同,这样输出的点与点之间的距离就相等了,输出的波形行将更趋于完美,当然更让我们感到的高兴的是它输出波形的频率将近达到了100赫兹,能够满足我们设计的扩展要求了。而三角波,则每次累加1,当达到初值时,每次累减1,算出延时时间,也就达到要求了,矩形波和锯齿波类似。(二)、这次做的三种波形可以相互转换,这个实现起来找了很多人最终发现,在每次循环之初进行扫描,而在每个中断入口处,对中断优先级进行设定,最终达到设计目的。1.2方案比较与选择方案一:采用模拟电路搭建函数信号发生器,它可以同时产生方波、三角波、正弦波。但是这种模块产生的不能产生任意的波形(例如梯形波),并且频率调节很不方便。方案二:采用锁相式频率合成器,利用锁相环,将压控振荡器(VCO)的输出频率锁定在所需频率上,该方案性能良好,但难以达到输出频率覆盖系数的要求,且电路复杂。方案三:使用集成信号发生器发生芯片,例如AD9854,它可以生成最高几十MHZ的波形。但是该方案也不能产生任意波形(例如梯形波),并且价格昂贵。方案四:采用AT89C51单片机和DAC0832数模转换器生成波形,加上一个低通滤波器,生成的波形比较纯净。它的特点是可产生任意波形,频率容易调节,频率能达到设计的500HZ以上。性能高,在低频范围内稳定性好、操作方便、体积小、耗电少。经比较,方案四既可满足课程设计的基本要求又能充分发挥其优势,电路简单,易控制,性价比高,所以采用该方案.第2章系统硬件设计2.1主控制器电路89C52可编程并行接口芯片有三个输入输出端口,即A口、B口和C口,对应于引脚PA7~PA0、PB7~PB0和PC7~PC0。其内部还有一个控制寄存器,即控制口。通常A口、B口作为输入输出的数据端口。C口作为控制或状态信息的端口,它在方式字的控制下,可以分成4位的端口,每个端口包含一个4位锁存器。它们分别与端口A/B配合使用,可以用作控制信号输出或作为状态信号输入。89C52可编程并行接口芯片工作方式说明:方式0:基本输入/输出方式。适用于三个端口中的任何一个。每一个端口都可以用作输入或输出。输出可被锁存,输入不能锁存。方式1:选通输入/输出方式。这时A口或B口的8位外设线用作输入或输出,C口的4条线中三条用作数据传输的联络信号和中断请求信号。方式2:双向总线方式。只有A口具备双向总线方式,8位外设线用作输入或输出,此时C口的5条线用作通讯联络信号和中断请求信号。原理框图:硬件设计2.2数模转换电路由于单片机产生的是数字信号,要想得到所需要的波形,就要把数字信号转换成模拟信号,所以该文选用价格低廉、接口简单、转换控制容易并具有8位分辨率的数模转换器DAC0832。DAC0832主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器以及输入控制电路四部分组成。但实际上,DAC0832输出的电量也不是真正能连续可调,而是以其绝对分辨率为单位增减,是准模拟量的输出。DAC0832是电流型输出,在应用时外接运放使之成为电压型输出。1、DAC0832的引脚及功能:DAC0832是8分辨率的D/A转换集成芯片。与微处理器兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。各引脚功能说明:D0~D7:8位数据输入线,TTL电平,有效时间应大于90ns(否则锁存器的数据会出错);ILE:数据锁存允许控制信号输入线,高电平有效;1234567891020191817161514131211P4DAC0832VCCCSDAWRD0VCCD1D2D3D4D5D6D7CS:片选信号输入线(选通数据锁存器),低电平有效;WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;XFER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;WR2:DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。由WR2、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。IOUT1:电流输出端1,其值随DAC寄存器的内容线性变化;IOUT2:电流输出端2,其值与IOUT1值之和为一常数;Rfb:反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;Vcc:电源输入端,Vcc的范围为+5V~+15V;VREF:基准电压输入线,VREF的范围为-10V~+10V;AGND:模拟信号地DGND:数字信号地DAC0832三种数据输入方式:(1)双缓冲方式:即数据经过双重缓冲后再送入D/A转换电路,执行两次写操作才能完成一次D/A转换。这种方式可在D/A转换的同时,进行下一个数据的输入,可提高转换速率。更为重要的是,这种方式特别适用于要求同时输出多个模拟量的场合。此时,要用多片DAC0832组成模拟输出系统,每片对应一个模拟量。(2)单缓冲方式:不需要多个模拟量同时输出时,可采用此种方式。此时两个寄存器之一处于直通状态,输入数据只经过一级缓冲送入D/A转换电路。这种方式只需执行一次写操作,即可完成D/A转换。(3)直通方式:此时两个寄存器均处于直通状态,因此要将、、和端都接数字地,ILE接高电平,使LE1、LE2均为高电平,致使两个锁存寄存器同时处于放行直通状态,数据直接送入D/A转换电路进行D/A转换。这种方式可用于一些不采用微机的控制系统中或其他不须0832缓冲数据的情况。第3章系统软件设计3.1系统整体流程初始化开始根据地址标志位查表while循环输出数字量给DAC0832数据口根据a,b,c,d,e的值进入相应的while循环地址标志位加1地址标志位是否等于64否地址标志位置0相应延时(对应频率)3.2数模转换程序#includereg51.h#defineucharunsignedchar#defineuintunsignedint#defineDAC0832P2#defineALL65536#defineFosc12000000ucharTH_0,TL_0,flag1,flag=0;uintFREQ=100,num;floattemp;ucharcodesin_num[]={0,0,0,0,0,0,0,0,1,1,1,1,1,2,2,2,2,3,3,4,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,12,12,13,14,15,15,16,17,18,18,19,20,21,22,23,24,25,25,26,27,28,29,30,31,32,34,35,36,37,38,39,40,41,42,44,45,46,47,49,50,51,52,54,55,56,57,59,60,61,63,64,66,67,68,70,71,73,74,75,77,78,80,81,83,84,86,87,89,90,92,93,95,96,98,99,101,102,104,106,107,109,110,112,113,115,116,118,120,121,123,124,126,128,129,131,132,134,135,137,139,140,142,143,145,146,148,149,151,153,154,156,157,159,160,162,163,165,166,168,169,171,172,174,175,177,178,180,181,182,184,185,187,188,189,191,192,194,195,196,198,199,200,201,203,204,205,206,208,209,210,211,213,214,215,216,217,218,219,220,221,223,224,225,226,227,228,229,230,230,231,232,233,234,235,236,237,237,238,239,240,240,241,242,243,243,244,245,245,246,246,247,247,248,248,249,249,250,250,251,251,251,252,252,253,253,253,253,254,254,254,254,254,255,255,255,255,255,255,255,255,255};sbitcs=P3^6;sbitchange1=P3^2;sbitchange2=P3^1;sbitchange3=P3^0;voiddelay(uintz){uintx,y;for(x=z;x0;x--)for(y=110;y0;y--);}voidinit(){TMOD=0X01;temp=ALL-Fosc/12.0/256/FREQ;TH_0=(uint)temp/256;TL_0=(uint)temp%256;EA=1;EX0=1;IT0=1;ET0=1;TR0=1;}voidchangefreq(void){if(change==0){flag++;if(flag==4){flag=0;num=0;}}TH_0=(uint)temp/256;TL_0=(uint)temp%256;}voidsanjiaobo(void){for(num=0;num255;num++){cs=0;DAC0832=num;cs=1;}for(num=255;num0;--num){cs=0;DAC0832=num;cs=1;}}voidfangbo(void){cs=0;DAC0832=0XFF;cs=1;for(num=0;num255;num++);cs=0;D
本文标题:DAC0832波形发生器课程设计实验报告
链接地址:https://www.777doc.com/doc-10369709 .html