📄 adc0809与dac0832进行adda转换程序.txt
字号:
使用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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -