标题: 利用AVR制作电压表 [打印本页]

作者: xiaos    时间: 2015-4-3 23:20
标题: 利用AVR制作电压表
                                                                                                     通过研究和实验,用mega16可以制作5V电压。电压值从LED显示出来。

下面是部分源程序:
uint mega16_ad()
{
     uint addata;
  DDRD|=BIT(4)|BIT(5)|BIT(6);  
  DDRA&=~BIT(PA3);
  PORTA&=~BIT(PA3);
  ADMUX=0x03;
  ADCSR=0X80;//转换使能
  ADCSR|=BIT(ADSC);//开始转换
  while(!(ADCSR&(BIT(ADIF))));//等待转换结束.
  addata=ADC*4.8876;    //转换为四位5V电压数
  return addata;
}   

     
void main()
{   
     uint ada;  
  while(1)
  {
      ada=mega16_ad();
       if(ada>2500)
   PORTD&=~BIT(2);//电压值大于2.5V时LED1亮
   else
   PORTD|=BIT(2);  //否则LED1灭
   
   show(4,ada%10);
   delay(1);
   ada=ada/10;  
   show(3,ada%10);
   delay(1);
   ada=ada/10;
   show(2,ada%10);
   delay(1);
   ada=ada/10;
   showdian(1,ada%10);   
  }

}

                                                                                                                    





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1