?? 一個adc0809和dac0832的程序.txt
字號:
一個ADC0809和DAC0832的程序
發(fā)表時間:2005-08-14 12:42:42 瀏覽人數:366 發(fā)布者: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時序。其實不必用定時來做。直接在一個無限循環(huán)中對 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 + -