F/10240;
. 1cd_com (0x83);
. 1cd_dat (volt/1000 + 0x30);
. 1cd_dat (,);
. 1cd_dat ((volt/100) & 10 + 0x30);
. 1cd_dat ((volt/10) & 10 + 0x30);
. 1cd_dat ((volt & 10 + 0x30);
. 1cd_dat (0x20); lcd_dat (V);
. for (a=10; a> 0; a -)
. {ADCSRA |=0x40;
. while (ADCSRA & 0x40);
. amp +=ADCH;
. }
. amp=(100 * (amp +5) * VREF/2560) / RIZM;
. lcd_com (0xC3);
. lcd_dat (amp/100 +0 x30);
. lcd + dat (,);
. lcd_dat ((amp/10) & 10 +0 x30);
. lcd_dat ((amp & 10 +0 x30);
. lcd_dat (0x20) lcd_dat (m); lcd_dat (A);
42. for (a=60000; a> 0; a -);
. }
. }
.2 Опис модулів програми та її окремих функціональних модулів
Пункт 2, 6-8. Оскільки у схемі застосовується РКІ, то для його обслуговування необхідний відповідний драйвер, тобто файл lcd.c з вбудованими функціями введення, виведення, ініціалізації. В кінці рядка 2 вказано код, який треба не забути включити в make-файл.
Пункт 5. В якості опорного напруги Vref використовується харчування AVCC 5 В. Воно може мати розкид ± 1 ... 4% від номіналу. Отже, після першого запуску приладу в роботу треба провести його калібрування, яка полягає у вимірюванні зовнішнім вольтметром напруги Vref на обкладинках конденсатора С1. Після цього отримане число в мілівольтах треба підставити в константу VREF і заново відкомпілювати програму.
Пункт 15 конфігурує порт С. У схемі вольтметра лінії РС0, РС2 виконують функцію звичайних цифрових виходів. Це абсолютно не заважає використанню їх середнього брата РС1 як входу АЦП. Єдине, треба відключити внутрішній резистор від РС1, інакше будуть спотворюватися показання вольтметра. А ось до незадіяним лініях РС3-РС5, навпаки, необхідно програмно підключити резистори, щоб усунути шлях проникнення небажаних перешкод. У підсумку виходить, що настройку регістрів PORTC, DDRC необхідно виробляти для кожної схеми окремо, з урахуванням вільних і зайнятих ліній порту С.
Пункт 18, 20 числа в регістрах ADMUX, ADCSRA записані вони більш компактно, в порядку їх вилучення з пунктів 1-7.
Рядок 19. Формула для розрахунку: Fацп [кГц]=Fclk [кГц] / K=1000/8=125 кГц.
Рядки 18, 36, 42. Вольтамперметр використовує два канали АЦП: канал - 1 для вимірювання напруги на движку резистора R1 і ка-нал - 3 для вимірювання струму, що протікає через резистор R5. Перемикаються канали по черзі в часі, записом в регістр ADMUX значень з табл.1. Точність в каналі - 3 обрана 8 біт, оскільки струм РКІ не надто стабільний.
Рядки 22-27, 37-41. Усереднення по 10 вибірках підвищує точність вимірювань приладу. Для порівняння, показання вольтметра з керуючою програмою з лістингу 1 змінюються з дискретом 5 мВ, а в цьому пристрої через1мВ.
Рядок 26 містить число 0x03, відсутнє в командах та...