⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cadc.c

📁 很有用的CYGNAL C语言程序,
💻 C
字号:
/*********************************************************************************
**
**	文	件:CADC。C
**	功	能:ADC(差分输入方法)
**	I / O :AIN0  、AIN1
**********************************************************************************/
#include<c8051f020.h>
void clock(void);
void xbrs(void);
void adcs(void);
void delay(long int);
//void yan50m(unsigned char);
void senddata(unsigned char,unsigned char);
void setoff(unsigned char);
unsigned int i=0;
unsigned long int d,c=0;
unsigned int c1,c2,c3,d1,d2;
void adc0int (void) interrupt 15
{
	i++;
	d1=(ADC0H&0x0F);
	d2=ADC0L;
	d=d1*256;
	d=d+d2;
	d=d*480;
	d=d/4096;
	c=c+d;
	if(i>=10000)
	{
	i=0;
	d=c/10000;
	c3=d/100;
	c2=(d%100)/10;
	c1=d%10;
	c3=c3+0x80;
	senddata(1,c1);
	senddata(2,c2);
	senddata(3,c3);
	c=0;
	}
	AD0BUSY=1;
	AD0INT=0;
}


main()
{
	clock();
	xbrs();
	adcs();
	setoff(7);
	EIE2|=0x02;
	EA=1;
//	TMOD=0x10;
	AD0BUSY=1;
	while(1);
}
void clock(void)			//clock det
{
	unsigned char e;
	WDTCN=0xde;				//CLOSE WDOG
	WDTCN=0xad;
	OSCXCN=0x67;			//ENABLE EXTERNAL CLK
	delay(10000);
    delay(10000);
	e=!OSCXCN&0x80;
	while(e); 
    OSCICN|=0x08;
}
void xbrs(void)				//XBR set
{
	XBR2=0x40;
	P1MDOUT=0xFF;
}
void adcs(void)				//ADC0 set
{
	AMX0SL=0x00;			//use AIN0 as a input ADC port 
	AMX0CF=0x01;
	ADC0CN=0x80;
	ADC0CF=0x58;
	REF0CN=0x03;
}

⌨️ 快捷键说明

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