加入收藏 | 设为首页 | 会员中心 | 我要投稿 | RSSRSS-巴斯仪表网
您当前的位置:首页 > 电子发烧 > 单片机学习

模数转换DAC0832的应用实验

时间:2013-09-02  来源:123485.com  作者:9stone

[实验任务]
   用两个按键通过单片机控制DAC0832的输出,使OUT端可以输出0—5V的幅值,频率为1KHZ的锯齿波和三角波两种波形。通上电源后;按下INT1则输出三角波,在按下INT0输出锯齿波。

[实验原理]
   ADC0804是8位全MOS 中速D/A转换器,采用R—2RT形电阻解码网络,转换结果为一对差动电流输出,转换时间大约为1us。使用单电源+5V+15V供电。参考电压为-10V-+10V。在此我们直接选择+5V作为参考电压。DAC0832有三种工作方式:直通方式,单缓冲方式,双缓冲方式;在此我们选择直通的工作方式,将XFER WR 1WR2 CS管脚全部接数字地。管脚8接参考电压,在此我们接的参考电压是+5V。那么经过第一级运放后,输出电压将是-5V-0V,在经过第二级运放反相放大1倍以后将可以输出0V—5V了。我们在控制P1口输出数据有规律的变化将可以产生三角波,锯齿波,梯型波等波形了。

[C语言源程序]
#include <AT89X51.H> 
unsigned char keycnt=0;  
unsigned char tcnt=0;        //键值判断
bit sjz=0;     //产生三角波时用到的标志
void delayl()    //延时子程序
{    unsigned char i,j;
    for(i=20;i>0;i--)  
    for(j=248;j>0;j--); }
void KEY()          //按键扫描程序
{
if(P3_2==0)
  {
   delayl();    //延时跳过按下时的抖动
    if(P3_2==0)
      {
        keycnt=0;  //定时器产生锯齿波标志
  TR0=0;    //暂时停止波形输出
        TH0=0x256-40; //对TH0 TL0赋值
        TL0=0x256-40;
        TR0=1;       //开始定时,产生锯齿波
        while(P3_2==0);  //如果一直按着键,则等待松键开
  delayl();    //延时跳过松开后的抖动
      }   } 
if(P3_3==0)
  {
    delayl();    //延时跳过按下时的抖动
    if(P3_3==0)
      {
        keycnt=1; //定时器产生三角波标志
   TR0=0;    //暂时停止波形输出
        TH0=0x256-40; //对TH0 TL0赋值
        TL0=0x256-40;
        TR0=1;    //开始定时 产生三角波
       }
     while(P3_2==0);  //如果一直按着键,则等待松键开
  delayl();    //延时跳过松开后的抖动
      }
   }   //请注意写程序时的格式规范,此处是为了节省纸张
void t0(void) interrupt 1 using 0  //定时中断服务函数
{
 if(keycnt==0)  //产生锯齿波
    {
  P0=tcnt;
  tcnt=+0x0a; //步进0.2V/一次中断
     if(tcnt==0xfb)
     {tcnt=0;}
 }
 if(keycnt==1)  //产生三角波
     {  if(sjz==0)
      {P0=tcnt;
    tcnt=+0x0a;//步进0.2V/一次中断
       if(tcnt==0xfa)
             {sjz=1;}
       }
     if(sjz==1)
    {
     P0=tcnt;
     tcnt=-0x0a;
     if(tcnt==0)
       {sjz=0;}
     }
      }
}
void main(void)
{
TMOD=0x02;  //定时器工作在方式2
ET0=1;
EA=1;
while(1)
  {  KEY();  }
}

[硬件电路图]
 


分享到:
来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
栏目导航->单片机学习
  • 电子应用基础
  • 电源技术
  • 无线传输技术
  • 信号处理
  • PCB设计
  • EDA技术
  • 单片机学习
  • 电子工具设备
  • 技术文章
  • 精彩拆解欣赏
  • 推荐资讯
    使用普通运放的仪表放大器
    使用普通运放的仪表放
    3V与5V混合系统中逻辑器接口问题
    3V与5V混合系统中逻辑
    数字PID控制及其改进算法的应用
    数字PID控制及其改进
    恶劣环境下的高性价比AD信号处理数据采集系统
    恶劣环境下的高性价比
    栏目更新
    栏目热门