单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 125|回复: 0
收起左侧

ATtiny13A ADC查询法使用

[复制链接]
daiya 发表于 2020-5-30 16:39 | 显示全部楼层 |阅读模式
void adc_init(void)
{
   ADCSRA = 0x00;  //禁用ADC
   ADMUX = 0x03;
   ACSR = 0x80;    //禁用模拟比较器
   ADCSRB = 0x00;
   ADCSRA = 0x83;
}
uint read_adc(void)
{
   uint temp = 0;
   ADCSRA |= (1 << ADSC);   //使能AD转换,第一次转换,结果丢弃
   while((ADCSRA & (1 << ADIF)) == 0); //等待AD转换结束
   ADCSRA |= (1 << ADIF); //ADIF1用来清除ADIF,规格书上要求的
   ADCSRA |= (1 << ADSC);   //使能AD转换,第二次转换,结果保留
   while((ADCSRA & (1 << ADIF)) == 0); //等待AD转换结束
   ADCSRA |= (1 << ADIF);
   temp = ADCL;
   temp |= (int)(ADCH << 8);
   
   return temp;
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表