ні логічні блоки:
В· Блок оголошення змінних
У цьому блоці регістрів і спеціальним бітам системних регістрів присвоюються символьні значення для більш зручного звернення до них. Також описуються і инициализируются допоміжні керуючі прапори і змінні. p align="justify"> В· Блок ініціалізації програми
У цьому блоці здійснюється первісна настройка мікроконтролера. Установка бітів управління та напрямку передачі даних в портах введення виведення, а також ініціалізація і включення LCD-дисплея. p align="justify"> В· Основний цикл програми
Здійснюється перевірку керуючих прапорів і на основі цієї перевірки викликає відповідні процедури.
В· Процедура обробки переривань.
Здійснює перевірку джерела переривання (таймер або клавіатура), здійснює контроль стану датчиків і встановлює відповідні прапори управління, щомиті инкрементируется поточний час, стежить за станом клавіатури.
В· Функція коригування часу.
Здійснює захист переповнення осередку пам'яті, що зберігає поточний час.
В· Процедура читання даних з індикатора.
Послідовно зчитує молодшу і старшу тетради з 4-х розрядної шини даних і конвертує їх в одну 8-ми бітову змінну.
В· Функція запису даних у індикатор.
Послідовно передає в індикатор старшу і молодшу тетради 8-ми бітової змінної через 4-х розрядну шину даних.
В· Процедура перевірки готовності індикатора.
Здійснює перевірку готовності індикатора на можливість запису чергових даних.
В· Функція запису в індикатор керуючих команд.
В· Функція виведення даних на LCD-дисплей.
В· Процедура, викликається при натисканні кнопки "Play/Stop".
В· Процедура, викликається при натисканні кнопки "Pause".
В· Процедура, викликається при натисканні кнопки "Next".
В· Процедура, викликається при натисканні кнопки "Previos".
3.1.2 Опис алгоритму роботи головної програми
При включенні харчування мікроконтроллер починає виконання програми. У ній описані команди ініціалізації РКІ, обробник переривання таймера, настройка LCD-дисплея (4-х розрядна шина даних, 2 точки, послідовне пе...