標(biāo)題:
ADC0809的模擬量轉(zhuǎn)數(shù)字量程序
[打印本頁]
作者:
hongchenxiaoke
時(shí)間:
2021-4-10 23:55
標(biāo)題:
ADC0809的模擬量轉(zhuǎn)數(shù)字量程序
#include"reg52.h"
#define uchar unsigned char
sbit ST=P1^0;
sbit EOC=P1^1;
sbit OE=P1^2;
sbit CLK=P1^3;
sbit ADDCS=P1^4;
uchar AD_DATA[2];//保存IN0和IN1經(jīng)AD轉(zhuǎn)換后的數(shù)據(jù)
/*******延時(shí)函數(shù)*******/
void delay(uchar i)
{
uchar j;
while(i--)
{
for(j=125;j>0;j--)
;
}
} /******系統(tǒng)初始化*******/
void init()
{
EA = 1; //開總中斷
TMOD = 0x02; //設(shè)定定時(shí)器T0工作方式
TH0=216; //利用T0中斷產(chǎn)生CLK信號(hào)
TL0=216;
TR0=1; //啟動(dòng)定時(shí)器T0
ET0=1;
ST=0;
OE=0;
}
/******T0中斷服務(wù)程序********/
void t0(void) interrupt 1 using 0
{
CLK=~CLK;
}
/******AD轉(zhuǎn)換函數(shù)*******/
void AD()
{
ST=0;
ADDCS=0; //選擇通道IN0
delay(10);
ST=1; //啟動(dòng)AD轉(zhuǎn)換
delay(10);
ST=0;
while(0==EOC);
OE=1;
AD_DATA[0]=P2;
OE=0;
ST=0;
ADDCS=1; //選擇通道IN1
delay(10);
ST=1; //啟動(dòng)AD轉(zhuǎn)換
delay(10);
ST=0;
while(0==EOC);
OE=1;
AD_DATA[1]=P2;
OE=0;
}
/********主函數(shù)********/
void main()
{
init();
while(1)
{
AD();
}
}
作者:
帥同學(xué)
時(shí)間:
2021-4-26 16:35
兄弟 有硬件連接圖嗎
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1