Page 155 - 4503
P. 155
побачимо у розділі 6.2, програміст має можливість власноруч
програмно звернутись до лічильника команд завдяки пам’яті
даних. При виключенні мікроконтролера автоматично
відбувається онулення вмісту регістра РС. Це називається
«скиданням». Завдяки цьому скиданню перша команда, що
виконується після включення контролера, розміщена за
адресою h’000’. Ця адреса називається вектором скинення.
5.4.3 Шина адреси команд мікроконтролера PIC16F84
PIC16F84 є представником великої родини контролерів,
в яких передбачено 13–бітну адресацію пам’яті програм [3].
13
Це означає, що можна адресувати 2 = 8182 комірок пам’яті.
У той самий час Flash ROM даного мікроконтролера містить
тільки 1024 комірки. Тому із 13–ти розрядів у його шині
адреси команд задіяні тільки 10 бітів. Якщо ж у програмі
раптом виявиться «спроба» вийти за межі 10–бітного
діапазону, то адреса все одно буде обрізана до меж пам’яті
програм. Наприклад адреса команди h’000’ у двійковому
форматі виглядатиме не як 0000 0000 0000 (тобто 12
розрядів), а тільки 00 0000 0000 (10 розрядів). Тут обрізані два
найстарших біти. І тим не менше у шістнадцятковому вигляді
слід записувати саме трьома розрядами - h’000’, але при цьому
слід завжди памятати про «відрізання» двох найстарших
бітів. Увага! Число h’FFF’ у 12–бітному форматі ватиме
значення 1111 1111 1111, а у 10–бітному 11 1111
1111, що те саме як 0011 1111 1111. Останнє в
шіснадцятковому три-розрядному вигляді записується як
h’3FF’. Остерігайтесь помилок! Найбільшою адресою
пам’яті програм мікроконтролера PIC16F84 є h’3FF’.
155