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

📄 adc-serial.c

📁 PIC16F877实现AD转换
💻 C
字号:
#include<pic1687x.h>
#include<pic.h>
/*********** Serial ************/
void send(unsigned char count)
{   
	//unsigned char a;
	TXEN=1;  //使能发送功能
	TXREG=count;
	while(1)
	{
		if(TRMT==1)  break;
	}
}
main()
{
		while(1)
		{
			 unsigned char 	i,a_100,a_10,a_1,b=46,point_1,point_2;
			 float k;
			 unsigned int	a,c,d;
			 unsigned char	count,j,y;  
			 SPBRG=0x19;    
			 TXSTA=0x24;    
			 RCSTA=0x90;    
			 TRISC=0xf0;
			
			
			 ADCON1=0x80;
			 ADCON0=0x20;
			 ADON=1;		//AD初始化
			 i=0x22;
			 while(--i){}	//等待一段时间(A/D采样)
			 ADGO=1;		//启动A/D转换
			 while(ADGO){}	//等待A/D转换完成
			 a=ADRESH;
			 a=a<<8;
			 a=a+ADRESL;
			for(y=1000;y>0;y--)
				for(j=100;j>0;j--);
			
			 k=1.0*a*5/1023;
			
			a_100=(unsigned char)k/100+48;
			a_10=(unsigned char)k%100/10+48;
			a_1=(unsigned char)k%100%10+48;
			c=k*10;
			d=k*100;
			point_1=c%1000%100%10+48;
			point_2=d%10000%1000%100%10+48;
			send(a_100);
			send(a_10);
			send(a_1);
			send(b);
			send(point_1);
			send(point_2);
			send(0x0a);
		}
}

⌨️ 快捷键说明

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