单片机课程设计低频信号发生器.doc

上传人:laozhun 文档编号:4142977 上传时间:2023-04-07 格式:DOC 页数:21 大小:216.50KB
返回 下载 相关 举报
单片机课程设计低频信号发生器.doc_第1页
第1页 / 共21页
单片机课程设计低频信号发生器.doc_第2页
第2页 / 共21页
单片机课程设计低频信号发生器.doc_第3页
第3页 / 共21页
单片机课程设计低频信号发生器.doc_第4页
第4页 / 共21页
单片机课程设计低频信号发生器.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《单片机课程设计低频信号发生器.doc》由会员分享,可在线阅读,更多相关《单片机课程设计低频信号发生器.doc(21页珍藏版)》请在三一办公上搜索。

1、单片机课程设计低频信号发生器 姓 名: 专业班级: 08级电信2班 学 号: 指导老师: 目录(一)74HC573的应用-3(二)74LS138芯片应用-5(三)DAC0832引脚功能电路应用原理图-7(四)运算放大器的应用-11(五)D/A转换器性能参数-15(六)DAC0832的应用-16(七)低频信号发生器软件编程-18(一)74HC573的应用高性能硅门CMOS 器件SL74HC573 跟LS/AL573 的管脚一样。器件的输入是和标准CMOS 输出兼容的;加上拉电阻,他们能和LS/ALSTTL 输出兼容。当锁存使能端为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。当锁存使

2、能变低时,符合建立时间和保持时间的数据会被锁存。输出能直接接到CMOS,NMOS 和TTL 接口上操作电压范围:2.0V6.0V低输入电流:1.0uACMOS 器件的高噪声抵抗特性管腿安排:功能表:输入 输出输出使能 锁存使能 D QL H H HL H L LL L X 不变H X X ZX=不用关心Z高阻抗逻辑图:(二)74LS138芯片应用 74LS138芯片是常用的3-8线译码器,ls是ttl的 ,他的coms版本叫74HC138。常用在单片机和数字电路的译码电路中,74LS138真值表是大家最常查询的,下面我给大家介绍一下他的相关资料,以方便各位同学或者朋友。真值表:上表中x表示为任

3、意输入状态,在片选使用状态下输入中8线始终只有1线为0, 此74HC138芯片在单片机系统中极大限度的起到了扩展IO资源的作用,只要用单片机的2个io引脚资源就能控制8个输出,而且程序的编制也容易实现。拓展式(3.3.8)表明时第(1)片74LS138工作而第(2)片74LS138禁止,将的00000111这8个代码译成8个低电平信号。而式(3.3.9)表明时,第(2)片74LS138工作,第(1)片74LS138禁止,将的10001111这8个代码译成8个低电平信号。这样就用两个3线8线译码器扩展成一个4线16线的译码器了。同理,也可一用两个带控制端的4线16线译码器接成一个5线-32线译码

4、器。例2 74LS138 38译码器的各输入端的连接情况及第六脚()输入信号A的波形如下图所示。试画出八个输出引脚的波形解:由74LS138的功能表知,当(A为低电平段)译码器不工作,8个输出引脚全为高电平,当(A为高电平段)译码器处于工作状态。因所以其余7个引脚输出全为高电平,因此可知,在输入信号A的作用下,8个输出引脚的波形如下:即与A反相;其余各引脚的输出恒等于1(高电平)与A的波形无关。(三)DAC0832引脚功能电路应用原理图DAC0832是采样频率为八位的D/A转换芯片,集成电路内有两级输入寄存器,使DAC0832芯片具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如

5、要求多路D/A异步输入、同步转换等)。所以这个芯片的应用很广泛,关于DAC0832应用的一些重要资料见下图: D/A转换结果采用电流形式输出。若需要相应的模拟电压信号,可通过一个高输入阻抗的线性运算放大器实现。运放的反馈电阻可通过RFB端引用片内固有电阻,也可外接。DAC0832逻辑输入满足TTL电平,可直接与TTL电路或微机电路连接。D/A转换器DAC0832DAC0832是采用CMOS工艺制成的单片直流输出型8位数/模转换器。如图4-82所示,它由倒T型R-2R电阻网络、模拟开关、运算放大器和参考电压VREF四大部分组成。运算放大器输出的模拟量V0为: 图4-82由上式可见,输出的模拟量

6、与输入的数字量( ) 成正比,这就实现了从数字量到模拟量的转换。数/模(D/A)转换器D/A转换器是接收数字量,输出一个与数字量相对应的电流或电压信号的模拟量接口。D/A转换器被广泛用于计算机函数发生器、计算机图形显示以及与A/D转换器相配合的控制系统等。 D/A转换原理数字量的值是由每一位的数字权叠加而得的。D/A转换器品种繁多,有权电阻DAC、变形权电阻DAC、T型电阻DAC、电容型DAC和权电流DAC等。为了掌握数/模转换原理,必须先了解运算放大器和电阻译码网络的工作原理和特点。(四)运算放大器的应用1. 运算放大器运算放大器有三个特点:开环放大倍数非常高,一般为几千,甚至可高达10万。

7、在正常情况下,运算放大器所需要的输入电压非常小。输入阻抗非常大。运算放大器工作时,输入端相当于一个很小的电压加在一个很大的输入阻抗上,所需要的输入电流也极小。输出阻抗很小,所以,它的驱动能力非常大。2.由电阻网络和运算放大器构成的D/A转换器利用运算放大器各输入电流相加的原理,可以构成如图10.7所示的、由电阻网络和运算放大器组成的、最简单的4位D/A转换器。图中,V0是一个有足够精度的标准电源。运算放大器输入端的各支路对应待转换资料的D0,D1,Dn-1位。各输入支路中的开关由对应的数字元值控制,如果数字元为1,则对应的开关闭合;如果数字为0,则对应的开关断开。各输入支路中的电阻分别为R,2

8、R,4R,这些电阻称为权电阻。假设,输入端有4条支路。4条支路的开关从全部断开到全部闭合,运算放大器可以得到16种不同的电流输入。这就是说,通过电阻网络,可以把0000B1111B转换成大小不等的电流,从而可以在运算放大器的输出端得到相应大小不同的电压。如果数字0000B每次增1,一直变化到1111B,那么,在输出端就可得到一个0V0电压幅度的阶梯波形。3.采用T型电阻网络的D/A转换器从图10.7可以看出,在D/A转换中采用独立的权电阻网络,对于一个8位二进制数的D/A转换器,就需要R,2R,4R,128R共8个不等的电阻,最大电阻阻值是最小电阻阻值的128倍,而且对这些电阻的精度要求比较高

9、。如果这样的话,从工艺上实现起来是很困难的。所以,n个如此独立输入支路的方案是不实用的。在DAC电路结构中,最简单而实用的是采用T型电阻网络来代替单一的权电阻网络,整个电阻网络只需要R和2R两种电阻。在集成电路中,由于所有的组件都做在同一芯片上,电阻的特性可以做得很相近,而且精度与误差问题也可以得到解决。图10.8是采用T型电阻网络的4位D/A转换器。4位元待转换资料分别控制4条支路中开关的倒向。在每一条支路中,如果(资料为0)开头倒向左边,支路中的电阻就接到地;如果(资料为1)开关倒向右边,电阻就接到虚地。所以,不管开关倒向哪一边,都可以认为是接“地”。不过,只有开关倒向右边时,才能给运算放

10、大器输入端提供电流。T型电阻网络中,节点A的左边为两个2R的电阻并联,它们的等效电阻为R,节点B的左边也是两个2R的电阻并联,它们的等效电阻也是R,依次类推,最后在D点等效于一个数值为R的电阻接在参考电压VREF上。这样,就很容易算出,C点、B点、A点的电位分别为-VREF/2,-VREF/4,-VREF/8。在清楚了电阻网络的特点和各节点的电压之后,再来分析一下各支路的电流值。开关S3,S2,S1,S0分别代表对应的1位二进制数。任一资料位Di=1,表示开关Si倒向右边;Di=0,表示开关Si倒向左边,接虚地,无电流。当右边第一条支路的开关S3倒向右边时,运算放大器得到的输入电流为-VREF

11、/(2R),同理,开关S2,S1,S0倒向右边时,输入电流分别为-VREF/(4R),-VREF/(8R),-VREF/(16R)。如果一个二进制数据为1111,运算放大器的输入电流I=-VREF/(2R)-VREF/(4R)-VREF/(8R)-VREF/(16R)=-VREF/(2R)(20+2-1+2-2+2-3)=-VREF/(24R)(23+22+21+20)相应的输出电压V0=IR0=-VREFR0(24R)(23+22+21+20)将资料推广到n位,输出模拟量与输入数字量之间关系的一般表达式为:V0=-VREFR0/(2nR)(Dn-12n-1+Dn-2 2n-2+D121+D0

12、20) (Di=1或0)上式表明,输出电压V0除了和待转换的二进制数成比例外,还和网络电阻R、运算放大器反馈电阻R0、标准参考电压VREF有关。(五)D/A转换器性能参数在实现D/A转换时,主要涉及下面几个性能参数。分辨率。分辨率是指最小输出电压(对应于输入数字量最低位增1所引起的输出电压增量)和最大输出电压(对应于输入数字量所有有效位全为1时的输出电压)之比, 例如,4位DAC的分辨率为1/(24-1)=1/15=6.67%(分辨率也常用百分比来表示)。8位DAC的分辨率为1/255=0.39%。显然,位数越多,分辨率越高。转换精度。如果不考虑D/A转换的误差,DAC转换精度就是分辨率的大小

13、,因此,要获得高精度的D/A转换结果,首先要选择有足够高分辨率的DAC。D/A转换精度分为绝对和相对转换精度,一般是用误差大小表示。DAC的转换误差包括零点误差、漂移误差、增益误差、噪声和线性误差、微分线性误差等综合误差。绝对转换精度是指满刻度数字量输入时,模拟量输出接近理论值的程度。它和标准电源的精度、权电阻的精度有关。相对转换精度指在满刻度已经校准的前提下,整个刻度范围内,对应任一模拟量的输出与它的理论值之差。它反映了DAC的线性度。通常,相对转换精度比绝对转换精度更有实用性。相对转换精度一般用绝对转换精度相对于满量程输出的百分数来表示,有时也用最低位(LSB)的几分之几表示。例如,设VF

14、S为满量程输出电压5V,n位DAC的相对转换精度为0.1%,则最大误差为0.1%VFS=5mV;若相对转换精度为1/2LSB,LSB=1/2n,则最大相对误差为1/2n+1VFS。非线性误差。D/A转换器的非线性误差定义为实际转换特性曲线与理想特性曲线之间的最大偏差,并以该偏差相对于满量程的百分数度量。转换器电路设计一般要求非线性误差不大于1/2LSB。转换速率/建立时间。转换速率实际是由建立时间来反映的。建立时间是指数字量为满刻度值(各位全为1)时,DAC的模拟输出电压达到某个规定值(比如,90%满量程或1/2LSB满量程)时所需要的时间。建立时间是D/A转换速率快慢的一个重要参数。很显然,

15、建立时间越大,转换速率越低。不同型号DAC的建立时间一般从几个毫微秒到几个微秒不等。若输出形式是电流,DAC的建立时间是很短的;若输出形式是电压,DAC的建立时间主要是输出运算放大器所需要的响应时间。(六)DAC0832的应用1.DAC0832的结构DAC0832的内部结构如图10.9所示。DAC0832中有两级锁存器,第一级锁存器称为输入寄存器,它的锁存信号为ILE;第二级锁存器称为DAC寄存器,它的锁存信号为传输控制信号。因为有两级锁存器,DAC0832可以工作在双缓冲器方式,即在输出模拟信号的同时采集下一个数字量,这样能有效地提高转换速度。此外,两级锁存器还可以在多个D/A转换器同时工作

16、时,利用第二级锁存信号来实现多个转换器同步输出。图10.9中LE为高电平、和为低电平时,为高电平,输入寄存器的输出跟随输入而变化;此后,当由低变高时,为低电平,资料被锁存到输入寄存器中,这时的输入寄存器的输出端不再跟随输入资料的变化而变化。对第二级锁存器来说,和同时为低电平时,为高电平,DAC寄存器的输出跟随其输入而变化;此后,当由低变高时,变为低电平,将输入寄存器的资料锁存到DAC寄存器中。2. DAC0832的引脚特性DAC0832是20引脚的双列直插式芯片。各引脚的特性如下:片选信号,和允许锁存信号ILE组合来决定是否起作用。ILE允许锁存信号。写信号1,作为第一级锁存信号,将输入资料锁

17、存到输入寄存器(此时,必须和、ILE同时有效)。写信号2,将锁存在输入寄存器中的资料送到DAC寄存器中进行锁存(此时,传输控制信号必须有效)。传输控制信号,用来控制。DI7DI08位数据输入端。IOUT1模拟电流输出端1。当DAC寄存器中全为1时,输出电流最大,当DAC寄存器中全为0时,输出电流为0。IOUT2模拟电流输出端2。IOUT1+IOUT2=常数。RFB反馈电阻引出端。DAC0832内部已经有反馈电阻,所以,RFB端可以直接接到外部运算放大器的输出端。相当于将反馈电阻接在运算放大器的输入端和输出端之间。VREF参考电压输入端。可接电压范围为10V。外部标准电压通过VREF与T型电阻网

18、络相连。VCC芯片供电电压端。范围为+5V+15V,最佳工作状态是+15V。AGND模拟地,即模拟电路接地端。DGND数字地,即数字电路接地端。3.DAC0832的工作方式DAC0832进行D/A转换,可以采用两种方法对数据进行锁存。第一种方法是使输入寄存器工作在锁存状态,而DAC寄存器工作在直通状态。具体地说,就是使和都为低电平,DAC寄存器的锁存选通端得不到有效电平而直通;此外,使输入寄存器的控制信号ILE处于高电平、处于低电平,这样,当端来一个负脉冲时,就可以完成1次转换。第二种方法是使输入寄存器工作在直通状态,而DAC寄存器工作在锁存状态。就是使和为低电平,ILE为高电平,这样,输入寄

19、存器的锁存选通信号处于无效状态而直通;当和端输入1个负脉冲时,使得DAC寄存器工作在锁存状态,提供锁存数据进行转换。根据上述对DAC0832的输入寄存器和DAC寄存器不同的控制方法,DAC0832有如下3种工作方式:单缓冲方式。单缓冲方式是控制输入寄存器和DAC寄存器同时接收资料,或者只用输入寄存器而把DAC寄存器接成直通方式。此方式适用只有一路模拟量输出或几路模拟量异步输出的情形。双缓冲方式。双缓冲方式是先使输入寄存器接收资料,再控制输入寄存器的输出资料到DAC寄存器,即分两次锁存输入资料。此方式适用于多个D/A转换同步输出的情节。直通方式。直通方式是资料不经两级锁存器锁存,即,均接地,IL

20、E接高电平。此方式适用于连续反馈控制线路,不过在使用时,必须通过另加I/O接口与CPU连接,以匹配CPU与D/A转换。4.DAC0832的外部连接DAC0832的外部连接线路如图10.10所示。(七) 低频信号发生器软件编程#include#include#define DAC0832 XBYTE0x8ffe#define uchar unsigned charsbit P32=P32;sbit P33=P33;sbit P34=P34;sbit P35=P35;uchar code sin256=0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9

21、c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5,0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf

22、f,0xfe,0xfd,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7

23、c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x0

24、0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02 ,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0

25、x6c,0x6f,0x72,0x76,0x79,0x7c,0x80 ;void saw(void) int i; while(P33=1&P34=1&P35=1) /当P33 P34 P35 其中有键按下时,跳出循环 for(i=0;i0;i-) DAC0832=i; /锯齿波 void square(void) int j;while(P32=1&P34=1&P35=1) /当P32 P34 P35 其中有键按下时,跳出循环 for(j=0;j1000;j+); DAC0832=0; for(j=0;j1000;j+); DAC0832=250; /方波 void getkey2(void) int i,j; while(P32=1&P33=1&P35=1) /当P32 P33 P35 其中有键按下时,跳出循环 for(i=0;i250;i+) DAC0832=i; for(j=0;j255) b=0; main()while(1) if(P32=0) saw(); / 当P32闭合时,产生锯齿波 if(P33=0) square(); /当P33闭合时,产生方波 if(P34=0) getkey2(); /当P34闭合时,产生三角波 if(P35=0) sin1(); /当P35闭合时,产生正弦波

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号