×

利用AVR16采集ADC并用1602显示

消耗积分:3 | 格式:zip | 大小:64KB | 2017-04-27

郭万里

分享资料个

利用AVR16采集ADC,并用1602显示

  //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;
利用AVR16采集ADC并用1602显示

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(1)
发评论
jf_30406015 2023-11-29
0 回复 举报
1 收起回复

下载排行榜

全部1条评论

快来发表一下你的评论吧 !