找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1314|回复: 0
打印 上一主题 下一主题
收起左侧

51单片机A/D,D/A的应用

[复制链接]
跳转到指定楼层
楼主
这是我自己做的关于A/D,D/A技术应用相关实验的程序,已经验证过可以仿真
1、设计51单片机和ADC0809 的接口,使用中断方式顺序采集八路模拟量,存入地址为20~27H的内部RAM中,循环往复,不断采集。
#include<reg51.h>
#include<absacc.h>
unsigned char xdata *adc_port;
unsigned char data *adc_result;
void main()
{
   adc_port=0x7ff8;  
   adc_result=0x20;
   EX1=1;
   IT1=1;
    EA=1;
   *adc_port=0;
   while(1) {  ;  }
}
extint1() interrupt 2  
     
*adc_result=*adc_port;
                        
    ifadc_port=0x7fff)  
        {
                  adc_port=0x7ff8;  
          adc_result=0x20;
        }
   else
        {
        adc_port++;
   adc_result++;  
   }  
               
    *adc_port=0;      
  
2、设计51单片机和DAC0832的接口,要求地址为F7FFH,满量程电压为5V,采用单缓冲方式,画出电路图,编写程序,输出下列要求的模拟电压。
  1) 幅值为4V,周期为2ms 的方波。
#include <reg51.h>
#include <absacc.h>
#define DAC0832 XBYTE[0xF7FF]
void delay()
{
  TMOD=0x01;
  TH0=(65536-500)/256;
  TL0=(65536-500)%256;
   TR0=1;
   do{;} while(!TF0);
    TF0=0;
}
main ()
{ unsigned a=0;
  while(1)
    {
      DAC0832=a;
      delay();
a=a^0xcc;
     }   
}
2)周期为5ms的阶梯波,阶梯的电压幅值分别为1V2V3V4V5V,每一个阶梯1ms
#include <reg51.h>
#include <absacc.h>
#define DAC0832 XBYTE[0xF7FF]
unsigned char dat=51;
void main()
{
  EA=1;
  TR0=1;
  ET0=1;
  TMOD=0x01;
  TH0=(65536-1000)/256;
  TL0=(65536-1000)%256;
  while(1)
  {
   DAC0832=dat;
        }
  }
  void DAC() interrupt 1
  {
   TH0=(65536-1000)/256;
   TL0=(65536-1000)%256;
        dat=dat+51;
        if(dat>256){dat=51;}
        }
2)周期为5ms的阶梯波,阶梯的电压幅值分别为1V2V3V4V5V,每一个阶梯1ms
#include <reg51.h>
#include <absacc.h>
#define DAC0832 XBYTE[0xF7FF]
unsigned char dat=51;
void main()
{
  EA=1;
  TR0=1;
  ET0=1;
  TMOD=0x01;
  TH0=(65536-1000)/256;
  TL0=(65536-1000)%256;
  while(1)
  {
   DAC0832=dat;
        }
  }
  void DAC() interrupt 1
  {
   TH0=(65536-1000)/256;
   TL0=(65536-1000)%256;
        dat=dat+51;
        if(dat>256){dat=51;}
        }



图片1.png (86.18 KB, 下载次数: 27)

仿真电路图

仿真电路图
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表