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

📄 adc0804连续转换实例.c

📁 ADC0804是A/D转换芯片中比较多用的芯片
💻 C
字号:
/*ADC0804连续转换,P1.0.1.2.3接数码管位选,
P0口接数码管段选,P2口接A/D转换输入*/
//===声明区=============================================================
#include<reg51.h>
char TAB[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,
			0x82,0xf8,0x80,0x98};//段码驱动信号
unsigned char disp[4]={0,0,0,0};//声明显示数组,是4组
void display(void);//声明显示函数
void delay1ms(char);//声明延时函数
//===主程序==============================================================
mian()
{	int results;//声明变量
	while(1)
	{	P2=0xff;
		results=P2*196;//读取ADC0804转换结果乘以196倍;数码管显示为5000
		disp[3]=results/10000;//取得千位数
		disp[2]=(results/1000)%10;//取得百位数
		disp[1]=(results/100)%10;//取得十位数
		disp[0]=(results/10)%10;//取得个位数
		display();//调用显示函数
	}
}
//===显示函数==============================================================
void display(void)
{	char j,scan;//声明变量
	char i=10;	//扫描10次
	while(--i>=0)
	{	scan=i;	  //开始扫描信号
		for(j=0;j<4;j++)
		{	P0=0xff; //关数码管显示器
			P1=~scan; //输出扫描信号
			P0=TAB[disp[j]];//转换成驱动信号,并输出到P0
			delay1ms(4); //延时4ms
			scan<<=1; //下一个扫描信号
		}
	}
}
//===延时函数=============================================================
void delay1ms(char x)
{	int i,j;		//声明变量
	for(i=0;i<x;i++)  //外循环
		for(j=0;j<120;j++); //内循环
} 

⌨️ 快捷键说明

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