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

📄 0809.c

📁 利用51单片机和adc0809对电压信号进行采集
💻 C
字号:
#include <regX51.H> 
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66, 
                            0x6d,0x7d,0x07,0x7f,0x6f}; 
unsigned char Count,d1,d2,d3,d4; 
 
void delay(void)
{
	unsigned int i;
 	for(i=0;i<2000;i++);
}
void display(void)
{
	P2|=0x0f;
	P0=table[d1];
	P2_0=0;
	delay();

	P2|=0x0f;
	P0=table[d2];
	P2_1=0;
	delay();

	P2|=0x0f;
	P0=table[d3];
	P2_2=0;
	delay();

	P2|=0x0f;
	P0=table[d4];
	P2_3=0;
	delay();

	P0=0;
	P2|=0x0f;
}
void adc_0809(void)
{			 
	unsigned char dd;
	P3_3=1;
	P3_4=1;
	P3_5=1;

	P3_2=1;
	P3_2=0;
	while(P3_1==1);

	P3_0=1;
	dd=P1;
    P3_0=0;
	d2=(float)(dd/2500/49);
	//d3=((dd*49/25)%100)/10;
//	d4=(((dd*49/25)%100)%10);
float a=0;
a=input*vref/255;
		
} 
/*
SETB	P3.4
		SETB	P3.5
		CLR		P3.6		 	;选择ADC0808的通道3

WAIT: 	CLR 	ST
		SETB 	ST
		CLR 	ST				;启动转换
 		JNB 	EOC,$		 	;等待转换结束
		SETB 	OE 				;允许输出
		MOV 	ADC,P1			;暂存转换结果
		CLR 	OE			  	;关闭输出
		MOV 	A,ADC			;将AD转换结果转换成BCD码
		MOV 	B,#100
		DIV 	AB
		MOV 	LED_2,A
		MOV 	A,B
		MOV 	B,#10
		DIV 	AB
		MOV 	LED_1,A
		MOV 	LED_0,B
		LCALL	DISP		  	;显示AD转换结果
		SJMP 	WAIT
											   */
void main(void) 
{ 
  	while(1)
	{
		display();
	 	adc_0809();

	}
} 

⌨️ 快捷键说明

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