//1602液晶显示程序
#include《iom16v.h》
#include 《macros.h》
#include“1602.h”
#define uchar unsigned char
#define uint unsigned int
unsigned long int ada; //设置变量保存数据,千万不要写成uint
char show_ad[]={“ADC:”};
char show_volt[]={“VOLT:”};
void delay(uint ms)
{
uint i,j;
for(i=0;i《ms;i++)
{
for(j=0;j《1141;j++);
}
}
uint mega16_ad(void) //ad使用函数
{
uint addata;
DDRA&=~BIT(PA7);
PORTA&=~BIT(PA7); //配置通道7管脚
ADMUX=0X07; //0000 0111
//配置AD寄存器ADMUX为零
//REFS1`0为0,0,使用外部参考电压
//ADLAR=0 右对齐;MUX 4-0 ,选择单端输入 通道7
ADCSRA=0X80; //1000 0000
//控制寄存器,使能ADC 2分频
ADCSRA|=BIT(ADSC); //启动ADCSRA
while(!(ADCSRA&(BIT(ADIF))));//查询AD是否转换完了,让ADCSRA与上ADIF(第四位),直到中断标志ADIF为1才跳出循环
addata=ADCL;
addata=addata+ADCH*256;//让adddata变成10位二进制数
return addata;
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部1条评论
快来发表一下你的评论吧 !