Пн авг 13, 2012 18:15:35
Пн авг 13, 2012 18:31:15
Пн авг 13, 2012 18:38:14
Пн авг 13, 2012 19:08:21
if (регистр>700) // Если насчитал больше 700, зажечь Красный светик
{
PORTB=000001;
delay_ms(5000);
PORTB=000000;
}
Аlex писал(а):Может просто прочитать эти регистры ? Не пробовали ?
Пн авг 13, 2012 19:15:35
Ну если бы дружили, то поняли бы, что старший байт - это каждое 256-ое значение, или в хексе = 0x0100. И Си тут не причёмС логикой дружу
Пн авг 13, 2012 21:01:21
x=ADCH*256
y=x+ADCL
if (y>700) // Если насчитал больше 700, зажечь Красный светик
{
PORTB=000001;
delay_ms(5000);
PORTB=000000;
}
Пн авг 13, 2012 21:28:32
unsigned int ADC;
ADC = ADCH*256 + ADCL;
unsigned int ADC;
ADC = (unsigned int)ADCH<<8 | ADCL;
unsigned int ADC;
*((unsigned char*)&ADC)=ADCL;
*((unsigned char*)&ADC+1)=ADCH;
unsigned int ADC;
unsigned char *p_b = (unsigned char *)&ADC;
*p_b++ = ADCL;
*p_b = ADCH;
Пн авг 13, 2012 21:32:45
Пн авг 13, 2012 21:42:13
Пн авг 13, 2012 21:44:06
#define F_CPU 8000000 // Инициализация
#include <io.h>
#include <delay.h>
// Declare your global variables here
void main (void)
{
DDRB=0b011011;
PORTB=0b10010;
ADMUX=00000001;
#asm("sei");
{
ADCSRA=11000000;
unsigned int ADC;
ADC = ADCH*256 + ADCL;
if (ADC>700) // Если насчитал больше 700, зажечь Синий светик
{
PORTB=000001;
delay_ms(5000);
PORTB=000000;
}
else if (ADC>670) // Если более 670, то Зелёный
{
PORTB=000010;
delay_ms(2000);
PORTB=000000;
}
else if (ADC>630) // Если хоть более 630, то Жёлтый
{
PORTB=010000;
delay_ms(2000);
PORTB=000000;
}
else if (ADC<630) // А если менее 600, то Красный!
{
PORTB=001000;
delay_ms(2000);
PORTB=000000;
}
}
}
Пн авг 13, 2012 21:48:04
А если от 600 до 630 ?// Если хоть более 630, то Жёлтый
// А если менее 600, то Красный!
Пн авг 13, 2012 21:51:46
Пн авг 13, 2012 21:59:35
ADC = ADCH*256 + ADCL;
Пн авг 13, 2012 22:03:08
Пн авг 13, 2012 22:08:56
Пн авг 13, 2012 22:10:27
Кстати, может быть. Возможно, он уже объявлен как 2-х байтная переменная по соотв. адресу, и компиль поймёт его.U235 писал(а):Разве ADC - это не имя регистра АЦП?
Пн авг 13, 2012 22:12:28
Пн авг 13, 2012 22:15:04
Пн авг 13, 2012 22:16:02
Пн авг 13, 2012 22:17:54
while(1){
.....
.....
.....
}