adc0809与dac0832进行adda转换程序.txt

来自「DAC0832数模转换程序直接可以使用!」· 文本 代码 · 共 91 行

TXT
91
字号
使用0809将电压数据采集回来,然后再用DAC0832输出电压。练习AD,DA的使用。
程序:#include<reg51.h>
#include<absacc.h>
#define DAC0832 XBYTE[0x7fff]    /* 定义DAC0832端口地址 */
#define uchar unsigned char
#define uint unsigned int

sbit ST=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
//sbit CLK=P3^3;
sbit A1=P3^4;
sbit A2=P3^5;
sbit A3=P3^7;
void delay(unsigned int Delay)   //mDelay(1000)延时一秒
{ 
 unsigned int q;
 for(;Delay>0;Delay--)
  { for(q=0;q<124;q++)
   {;}
  }
}
/*void TimeInitial()
{ 
 TMOD=0x20;
  TH1=0xff;
  TL1=0xff;
  EA=1;
  ET1=1;
  TR1=1;
}*/
uchar adin0(void)   //AD0通道转换
{
 uchar getdATa;
 //TimeInitial();
 ST=0;
 OE=0;
 ST=1;
 ST=0;
 A1=0;
 A2=0;
 A3=0;
 while(EOC==0);
 OE=1;
 getdATa=P1;
 OE=0;
 //TR1=0;
 return(getdATa);
}
uchar adin1(void)   //AD1通道转换
{
 uchar getdATa;
 //TimeInitial();
 ST=0;
 OE=0;
 ST=1;
 ST=0;
 A1=1;
 A2=0;
 A3=0;
 while(EOC==0);
 OE=1;
 getdATa=P0;
 OE=0;
 //TR1=0;
 return(getdATa);
}
 

void main(void) 
{
 uchar dATa0,i;
 
 while(1)
 {
  dATa0=adin0();
  DAC0832=dATa0;
  
 }
}

void time1(void) interrupt 3 using 0
 {
   TH1=0xff;
   TL1=0xff;
   CLK=~CLK;
  }
本文来源于大道无极‘技术BLOG http://www.dadwj.cn/ , 原文地址:http://www.dadwj.cn/post/439.html 


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?