main.c.130217154436

来自「ATmega16-ad1602」· 130217154436 代码 · 共 51 行

130217154436
51
字号
#include"includes.h"
static unsigned char *value = "0.000 V";	
unsigned int adc(void)
{	 
	 unsigned int temp;
 	 DDRA&=~BIT(7);       //PA0口输入数据
	 ADMUX=0x40;
	 ADCSRA=0xC6;
	 while(!(ADCSRA&(BIT(4))));//查询方式
	 temp=ADCL;
	 temp=temp+ADCH*256;
	 ADCSRA|=BIT(4);
	 return temp;
}

void bcd(unsigned int tmp)
{
 	float j;
	unsigned int count;
	unsigned int Vref=50000;
	
	j = (float)(((float)((Vref/1024)))*tmp)/1000.00;
	count = j*100;						
    value[0] = count /1000+0x30;
	count = count %1000;
    value[2] = count /100+0x30;
    count = count %100;
    value[3] = count  /10 + 0x30;			 
    value[4] = count  %10 + 0x30;
}
//主函数
void main(void)
{	
	
	unsigned int tmp;
	
	
	Init_LCD();
	LCD_DisplayString(2,1,value);  
	
	while(1)
	{
	 tmp=adc();//启动AD并返回temp值
	 bcd(tmp);//将temp值转换成BCD码并写入adcbuf[]
	  
	 LCD_DisplayString(2,1,value);  
	}
}


⌨️ 快捷键说明

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