Ср авг 02, 2017 14:55:30
Ср авг 02, 2017 15:01:55
Ср авг 02, 2017 15:07:05
Ср авг 02, 2017 15:32:42
Ср авг 02, 2017 15:39:28
Ср авг 02, 2017 16:29:00
Вы уверены, что этого достаточно ? Попробуйте поставить побольше. Для эксперимента, можно и миллисекунду воткнуть.DarkWolf писал(а):задержка имеется в 20 мкс
Красота тут не причём. Выведя код в функцию, Вы получаете быстрое изменение кода для всех каналов, меняя код только в одном месте. Разве это не быстрее ?DarkWolf писал(а):просто срочно надо рабочий код, а не красивый.. красоту позже наведу
Чт авг 03, 2017 10:05:53
unsigned int calc_v(void)
{
unsigned int result_adc;
unsigned long result_v;
result_adc = (ADRESH | (ADRESL << 2));
result_v = (unsigned long)Vdd_mV * result_adc;
return (result_v / 1024);
}
unsigned char read_adc( unsigned char ch)
{
unsigned int ADC = 0;
switch (ch)
{case 0:ADCON0=0b00000000; // Канал 0
break;
case 1:ADCON0=0b00000100; // Канал 1
break;
case 2:ADCON0=0b00001000; // Канал 1
break;
case 3:ADCON0=0b00001100; // Канал 1
break;
case 4:ADCON0=0b00010000; // Канал 1
break;
case 5:ADCON0=0b00010100; // Канал 1
break;
case 6:ADCON0=0b00011000; // Канал 1
break;
case 7:ADCON0=0b00011100; // Канал 1
break;
}
__delay_ms(1);//задержка в 1 мс
// Обнуляем регистры
ADRESH = 0;
ADRESL = 0;
// Разрешаем АЦП
ADCON0bits.ADON = 1;
__delay_us(20);
// Запускаем измерение
ADCON0bits.GO = 1;
while (ADCON0bits.GO);
{
ADC = calc_v();
}
if (ADC >= 4700)
{
return 1;
}
else
return 0;
}
count = read_adc(0) + read_adc(1) + read_adc(2) + read_adc(3) + read_adc(4) + read_adc(5) + read_adc(6)+read_adc(7);
if (count == 2)
{
PORTA = 0x20; // Порт A5 устанавливаем 1.
mydelay_ms(87);
PORTA = 0; // Порт A5 устанавливаем 1.
mydelay_ms(25);
PORTA = 0x20; // Порт A5 устанавливаем 1.
}
else
{
PORTA = 0x20; // Порт A5 устанавливаем 1.
}
Чт авг 03, 2017 10:36:42
Что то тут не то ... Вам не кажется ?
- Код:
while (ADCON0bits.GO);
{
ADC = calc_v();
}
Почему бы Вам самому его не установить и не погонять свой код ?Может кто в протеусе проверить работоспособность кода?
Пт авг 04, 2017 13:49:58
Ср апр 10, 2019 17:35:28
Чт апр 11, 2019 08:03:09