微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > 硬件电路设计讨论 > 要做一个基于AVR单片机的充放电控制电路

要做一个基于AVR单片机的充放电控制电路

时间:10-02 整理:3721RD 点击:



要做一个基于AVR单片机的充放电控制电路,写了一段代码,求指教。看看有木有问题谢谢。
#include <iom8v.h>
#include <macros.h>
#define  uchar unsigned char
#define  uint  unsigned int
#pragma data:code
uint meg8_ad()
{
uint addata;
DDRC&=~BIT(0);
PORTC&=~BIT(PC0);
ADMUX=0xC0;
ADCSR=0X80;
ADCSR|=BIT(ADSC);
while(!(ADCSR&(BIT(ADIF))));
addata=ADCL;
addata=addata+ADCH*256;
return addata;
}
void init()
{
PORTB=0x16;
PORTC|=BIT(2)|BIT(3)|BIT(5);
PORTC&=~(BIT(1)|BIT(4));
}
void main()
{
uint   v;
float  vol;
uint k;
k=0;
init();
while(1)
{
     v=meg8_ad();
     vol=v*2.56/1024;
  if(vol<1.5)
  {
   PORTC|=BIT(4)|BIT(5);
   PORTC&=~(BIT(1)|BIT(2)|BIT(3));
   k=1;
  }
  if((vol>1.67&&k==1)||(vol<1.63&&k==2))
  {
      PORTC|=BIT(2)|BIT(3)|BIT(5);
   PORTC&=~(BIT(1)|BIT(4));
   k=0;
  }
  if(vol>1.87)
  {
   PORTC|=BIT(1)|BIT(2)|BIT(3)|BIT(4);
   PORTC&=~BIT(5);
   k=2;
  }
  
}
}

dggadgfadf

dggadgfadf

dggadgfadf

dggadgfadf

dggadgfadf

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top