ередки знакогенератора, можна за помощью НЕ русіфікованого РКІ Виводити на дисплей Російські букви. Зверніть уваг на ті, что Виведення текст зберігається в flash-пам'яті програм у вігляді табліці. При добуванні даніх Із цієї табліці покажчик адреси доводитися множіті на 2. Це відбувається через ті, что пам'ять програм, у якій розміщається таблиця Виведення сімволів, має 16-розрядні осередки, у Кожній з якіх зберігається по двох ASCII-коду даніх. Задаючі початкова адресою табліці помощью діректіві.org, мі задаємо адресою 16-розрядно осередку. Альо для команди LPM добування байта даніх з пам'яті програм нужно Задати адреси байта, что, мабуть, у два рази больше адресу слова. p align="justify"> У Програмі "runstr" трівалість затрімок между виводами на індикатор задає сам процесор, підраховуючі кількість холостого операцій. При цьом ніякої Корисної роботи процесор НЕ Виконує. Зрозуміло, что ЯКЩО Єдиною метою програми є організація рядка, что біжіть, ті вікорістовуваній у Програмі "runstr" способ Завдання програмних затрімок є Цілком Прийнятних. p align="justify"> Розглянемо тепер випадок, коли AVR-мікроконтролер призначеня для Керування Яким-небудь об'єктом, а РКІ вікорістається для відображення контрольованого параметра, Наприклад, частоти, кількості імпульсів і т.п. У такому реальному завданні програмне забезпечення всегда будується з використаних системи переривані AVR-мікроконтролера. І в цьом випадка вести відлік Тимчасових інтервалів у головній Програмі становится неможливим, ТОМУ ЩО НЕ відомо, колі и Які відбуваліся переривані ї Скільки на їхнє обслуговування треба Було годині. Тому в подібніх випадка Підрахунок Тимчасових інтервалів покладають на таймер. А процесор при цьом звільняється для решение больше інтелектуальніх Завдання. p align="justify"> Схема взаємодії головної програми ї окрем програмних модулів, что обслуговують РКІ по переривані від таймера, зображена на рис. 8. p align="justify"> Функцією ОСНОВНОЇ програми "main", так само як и раніше, є Завдання режиму роботи РКІ в ініціалізуючої Частини програми. Во время ініціалізації, коли переривані галі не дозволені, можна скористати Розглянуто Вище підпрограмамі затримки. p align="justify"> В основному ціклі головної програми Завдання процесора є одержании Чергова відліку ї Збереження цього відліку в проміжному буфері РКІ "ind_buf", что організується в RAM. Збереження відліку в RAM відбувається пріблізно в 100 разів швидше, чем его вивід на індикатор, ТОМУ ЩО при цьом головній Програмі НЕ нужно чекати после записами шкірного байта. мікроконтролер рідкокрісталічній індикатор плата
Підпрограма "tim0_lcd", якові можна вважаті основною Частинами драйвера РКІ, віклікається по переривані від таймера 0 з Тимчасова інтервалом, достатнім для ОБРОБКИ ІНФОРМАЦІЇ усередіні контролера РКІ (у наведенні прікладі близьким 64 мкс). Завдання підпрограмі "tim0_lcd" є вивід у РКІ Чергова байта даніх з буфера "ind_buf". ...