📄 ad._c
字号:
/****************************************************************************************
mega8的AD转换功能演示实验
程序功能:该程序是用AVR来实现AD转换,
精度为10位,参考电压选用内部2.56v
通道选用ADC0
电压显示用12864液晶模块显示
作者:张国旗
2009年1月4号
****************************************************************************************/
uint mega8_ad()
{
uint addata;
ADMUX=0xc0; //选择内部参考电压2.56v,选择ADC0,数据右对齐
ADCSR=0X80; //ADC使能
ADCSR|=BIT(ADSC); //启动AD转换
while(!(ADCSR&(BIT(ADIF)))); //等待转换结束
addata=ADCL; //读取转换结果
addata=addata+ADCH*256;
return addata;
}
void adchange()
{
uint i,vstrtemp,ad[4],xdata;
float ada=0.0000000000;
unsigned long int data;
char lcddata[11]={0,0,0,0,0,0,0,0,0,0,0};//2.560000000
// LcmInit(); //液晶初始化
//PORTB=0xff; //背光口开
//LCD_ON; //开液晶背光显示
//Delay(10);
PutStr(1,0,"电压为:"); //向12864发字符串
ada=mega8_ad(); //读取AD转换结果到ada
data=(ada/1023*2560000000); //显示数据转化
for(i=0;i<10;i++)
{
lcddata[10-i]=data%10;
data=data/10;
}
lcddata[0]=lcddata[1];
lcddata[1]=-2;
WriteCommand(0x30); //电压显示起始坐标
WriteCommand(0x88);
for(i=0;i<11;i++)
{
vstrtemp=lcddata[i]+0x30;
WriteData(vstrtemp);
}
WriteData(0x76); //发送电压单位"v"
delay(10);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -