📄 main.c.130217153758
字号:
#include"includes.h"
unsigned int adcbuf[];//ADC值
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 ADtoBCD(unsigned int temp)
{
float j;
unsigned int count;
unsigned int Vref=50000;
j = (float)(((float)((Vref/1024)))*temp)/1000.00;
count = j*100;
adcbuf[0] = count /1000+0x30;
count = count %1000;
adcbuf[2] = count /100+0x30;
count = count %100;
adcbuf[3] = count /10 + 0x30;
adcbuf[4] = count %10 + 0x30;
}
//主函数
void main(void)
{
unsigned int tmp;
unsigned char *value = "0.000 V";
Init_LCD();
LCD_DisplayString(2,1,value);
while(1)
{
tmp=adc();//启动AD并返回temp值
ADtoBCD(tmp);//将temp值转换成BCD码并写入adcbuf[]
LCD_DisplayString(2,1,adcbuf);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -