Реалізація десяткового калькулятора на PIC16F874
Завдання
Розробити мікропроцесорну систему на базі однокристальної мікроЕОМ та її програмне забезпечення, що реалізує заданий набір функцій.
. Короткий опис PIC16F874
Цей мікроконтролер є одним з представників сімейства PIC16. Архітектура заснована на концепції роздільних шин і областей пам'яті для даних і для команд (Гарвардська архітектура). Шина даних і пам'ять даних (ОЗП) мають ширину 8 біт, а програмна шина і програмна пам'ять (ПЗУ) мають ширину 14 біт. p align="justify"> Загальна архітектура
Контролер включає в себе (рис. 1):
В§ процесор;
В§ пам'ять програм;
В§ пам'ять даних (ОЗП, регістровий файл);
В§ численні зовнішні пристрої.
До вузлів процесора можна віднести:
В§ 8-розрядне АЛУ;
В§ 8-розрядний робочий регістр W (акумулятор);
В§ 8-розрядний регістр прапорів STATUS (рис. 2);
В§ 13-розрядний програмний лічильник PC, по вмісту якого здійснюється доступ в пам'ять програм;
В§ 8-рівневий стек програмного лічильника, призначений для зберігання тільки адрес повернення з підпрограм (переривань). (Програмний доступ в стек не можливий!);
В§ регістр команд і блок управління;
В§ тактовий генератор;
В§ схеми, що реалізують режими зниженого енегропотребленія.
В
Рис. 1. Загальна структура мікроконтролера PIC16
Регістр STATUS містить арифметичні прапори АЛУ, стан контролера при скиданні і біти вибору банку для пам'яті даних
Область ОЗУ (пам'ять даних) організована як 256 Г— 8 біт і розбита на два банки, кожен по 128 байтів. Кожен банк займає адресний простір 7Fh (128 байт). Перші 32 адреси в обох банках займають спеціальні регістри . Адреси 20h - 7Fh (банк 0) і A0h - FFh (банк 1) займають регістри загального призначення (комірки ОЗУ). p> Серед регістрів сімейства PIC16 можна виділити групу В«процесорнихВ» - PCL, OPTION, STATUS, FSR, PCLATH; і кілька груп, що відносяться до різних В«зовнішнімВ» пр...