temp.c

来自「很有用的CYGNAL C语言程序,」· C语言 代码 · 共 78 行

C
78
字号
#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 int i=0;

void adc0int (void) interrupt 15
{
	unsigned long int d,c=0;
	unsigned int c1,c2,c3,d1,d2;
	i++;
	d1=(ADC0H&0x0F);
	d2=ADC0L;
	d=d1*256;
	d=d+d2;
	d=d*2400000;
	d=d/4096;
	c=c+d;
	if(i>=100)
	{
	i=0;
	d=c/100;
	d=d-776000;
	d=d/286;
	c3=d/100;
	c2=(d%100)/10;
	c1=d%10;
	c3=c3+0x80;
	senddata(1,c1);
	senddata(2,(c2+0x80));
	senddata(3,c3);
	delay(10000);
	}
	AD0BUSY=1;
	AD0INT=0;
}

main()
{
	clock();
	xbrs();
	adcs();
	setoff();
	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=0x08;			//use AIN0 as a input ADC port 
	AMX0CF=0x00;
	ADC0CN=0x80;
	ADC0CF=0x58;
	REF0CN=0x07;
}

⌨️ 快捷键说明

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