基于DAC0832的波形发生器
王春会;吴迪
【摘 要】介绍利用51单片机控制数模转换芯片DAC0832和四运放集成电路LM324产生锯齿波、三角波、方波的过程.并对DAC0832和LM324的结构和工作原理以及电路连接加以说明,经过实验证明,此设计稳定可靠. 【期刊名称】《辽宁师专学报(自然科学版)》 【年(卷),期】2011(013)003 【总页数】3页(P83-85)
【关键词】51单片机;DAC0832;LM324 【作 者】王春会;吴迪
【作者单位】朝阳师专,辽宁朝阳122000;朝阳师专,辽宁朝阳122000 【正文语种】中 文 【中图分类】TN702
1 51单片机和DAC0832简介
MCS-51是美国Intel公司生产的8位高档单片机系列,随着单片机技术迅速发展,MCS-51系列单片机已不再生产,但世界上很多公司生产的8位单片机仍以MCS-51为内核,典型的如Atmel公司的AT系列[1].MCS-51单片机是基础入门级的一种单片机,也是应用最广泛的一种.MCS-51具有可靠性高,易扩展,控制功能强,体积小,功耗低,价格便宜,易于产品化等特点,在智能仪表、测控
系统、数控控制机、智能接口、机电一体化产品等领域有着广泛应用.
DAC0832是典型的带内部双缓数据缓冲器的8位D/A芯片,其逻辑结构如图1所示.图1中ILE是寄存命令.当ILE=1时,寄存器输出随输入变化;当ILE=0时,数据锁存在寄存器中,不再随数据总线上数据的变化而变化;当ILE端为高电平、与同时为低电平时,使得=1;当变为高电平时,输入寄存器便将数据锁存.当与同时为低电平时,使得=1,DAC寄存器的输出随寄存器的输入变化,WR2上升沿将输入寄存器的信息锁存在该寄存器中,RFB为外部运算放大器提供的反馈电阻.VREF端是由外电路为芯片提供一个-10~10V的基准电源.Iout1和Iout2是电流输出端,两者之和为常数.
DAC0832是电流输出型D/A转换器,实际应用中可以通过外接运算放大器将电流转换为电压.DAC0832的分辨率为8位,如其满度电压为5V,则1个LSB对应的最小转换电压为:Vm=5V/28=19.5mV. 2 LM324结构和工作原理
LM324系列器件为带有真差动输入的四运算放大器.LM324的引脚排列和内部结构如图2所示,它是由4个完全且电路结构相同的运算放大器组成.4个运算放大器由单一电源统一供电,电源电压的供电范围很宽,可以在3~32V电压下工作.每一组运算放大器有5个引出脚,可用图3所示的符号来表示.其中Vi+为同相输入端,此端输入信号的相位与运放输出端信号Vo的相位相同;Vi-为反相输入端,此端输入信号的相位与运放输出端信号Vo的相位相反.Vo为信号输出端,用于输出电压信号.V+为正电源输入端,用于正电压供电;V-为负电源输入端,用于负电压供电.这种供电电源配置可以消除在许多应用场合采用外部偏置元件的设置. 由于LM324四运放电路具有静态功耗小、电源电压范围宽、可单电源使用及
价格低廉等优点,因此被广泛应用在各种电路中.
3 波形发生器的接口电路和程序设计 3.1 接口电路
图4为基于DAC0832的波形发生器的硬件接口示意图.图中8051单片机与DAC0832采用单缓冲连接方式.其中,P2.7接片选信号,从而确定DAC0832的地址为7FFFH;P0口接DAC0832的数据输入端D0~D7,数字量从P0口输出;与直接相连,执行外部写程序,WR有效,完成一次数字量输入及D/A转换.DAC0832的VREF与ILE接在VCC电源上,为VREF提供+5V标准电压的同时使ILE置为1;与接地,不对第二级缓冲进行控制;RFB为内部反馈电阻接线端,接LM324(1)的输出.Iout1和Iout2是电流输出端,接LM324(1)的反相输入端和正向输入端.本电路采用两级运放控制,第一级运放LM324(1)的输出接第二级运放LM324(2)的反相输入端,第二级运放的输出作为波形发生器的信号输出端. 3.2 工作原理
根据电路图的连接方式和DAC0832的工作原理可知,LM324(1)为反比例运算放大器,LM324(1)的14脚输出电压为:
LM324(2)为反相加法器,所以1脚输出电压为
其中,VI1=VREF=VCC=+5V,VI2=Vo1.所以
若取n=8,D+为十进制表示的数字量输入,则
当D+=80H时,为0点;当D+=80H~FF时,Vo2输出为0~5V;当D+=00H~80H时,Vo2输出为-5~0V.根据D+值的不同,可实现不同波形输出. 3.3 波形程序
(1)正向阶梯波程序.
MOV DPTR,#7FFFH;DAC0832地址 MOV A,#00H
LOOP:MOVX@DPTR,A;启动D/A转换 ACALL DELAY;延时 AJMP LOOP;连续输出波形 (2)三角波程序.
MOV DPTR,#7FFFH;DAC0832地址MOV A,#00H UP:MOVX@DPTR,A;启动D/A转换INC A;上升沿 CJNE A,#0FFH,UP
DOWN:MOVX@DPTR,A DEC A;下降沿 CJNE A,#00H,DOWN AJMP UP;连续输出波形 (3)方波程序. HL EQU 0FFH LL EQU 00H
MOV DPTR,#7FFFH
SQ:MOV A,LL;取低电平数字量 MOVX@DPTR,A ACALL DELAY
MOV A,#HL;取高电平数字量 MOVX@DPTR,A ACALL DELAY
AJMP SQ;连续输出波形
DELAY:MOV R4,#0FFH;延时子程序 LOOP1:MOV R5,#10H LOOP2:DJNZ R5,LOOP2 DJNZ R4,LOOP1 RET
上述程序只是实现部分波形,用户可以根据需要通过改变初值和设定循环参数得到多种不同波形,以满足实际需求.
【相关文献】
[1]唐俊杰.微型计算机原理及应用[M].北京:高等教育出版社,2001.(审稿人 胡 坤,责任编辑 王 巍)