找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1967|回复: 0
打印 上一主题 下一主题
收起左侧

利用AVR制作电压表

[复制链接]
跳转到指定楼层
楼主
ID:75926 发表于 2015-4-3 23:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
                                                                                                     通过研究和实验,用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);   
  }

}

                                                                                                                    
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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