📄 一个adc0809和dac0832的程序.txt
字号:
一个ADC0809和DAC0832的程序
发表时间:2005-08-14 12:42:42 浏览人数:366 发布者:administrator
#include<reg52.h>
#include<absacc.h>
#define uint unsigned int
#define uchar unsigned char
#define adc_adress XBTYE[2fff]
#define dac_adress XBTYE[7fff]
uchar ad_data,da_data;
sbit clock=P1^0; //500khz
sbit EOC=P3^2; //EOC为高电平转换结束
sbit enable=P3^1; //高电平时才能取走转换完的数据
sbit start=P3^0;
uint read_ad()
{
start=0;start=1;start=0;
}
void main()
{
TMOD=0x01; //T0模式0,定时
TH0=0xff;TL0=0xff;//1us
TR0=1;
EA=1;ET0=1;EX0=1;IT0=1;
start=0; enable=0;EOC=0;
read_ad();
while(1);
}
void pulse(void) interrupt 1/*产生clock时序。其实不必用定时来做。直接在一个无限循环中对 clock取反即可,反正是一个机器周期*/
{
TR0=0;TH0=0xff;TL0=0xff;
clock=!clock;
}
void ad_end(void) interrupt 0 // 读取AD数据
{
INT0=1;
enable=1; //高电平允许取走转换完的数据
ad_data=P0;
adc_adress=ad_data;
enable=0;
dac_adress=adc_adress;
EOC=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -