Пам'ять даних розділена на банки, що містять регістри загального й спеціального призначення Регістри загального призначення розміщаються в різних банках пам'яті даних для того, щоб була можливість організувати більше 96 байт ОЗП. Регістри спеціального призначення призначені для керування периферійними модулями й функціями мікроконтролера. Керування банками пам'яті виконується бітами в регістрі STATUS <7:5>. Організація пам'яті даних залежить від типу мікроконтролера.
Щоб передати дані з одного регістра в інший, необхідно використати додатковий регістр W. Ця операція виконується двома командами за два машинних цикли мікроконтролера.
Звертання до всіх регістрів пам'яті даних може бути виконано прямою або непрямою адресацією:
• Пряма адресація для вказівки банку пам'яті даних необхідно використати біти RP1:RPO регістра STATUS.
• Непряма адресації адреса регістра зберігається в FSR, а в біті IRP регістра STATUS вказується до якої пари банків пам'яті даних виконується обіг (Банк0/Банк1 або Банк2/Банк3).
Регістри загального призначення (GRP)
Регістри загального призначення розміщаються в різних банках пам'яті даних. Ці регістри не ініціалізуються при скиданні по включенню живлення й мають невідоме значення, а при всіх інших скиданнях мікроконтролера не змінюють свого значення.
Звертання до регістрів загального призначення може бути виконано прямою або непрямою адресацією (через регістри FSR й INDF) У деяких мікроконтролерах існують регістри загального призначення, адресуєми до однієї й тому ж осередку ОЗП, незалежно від поточного банку пам'яті даних
Регістри спеціального призначення (SFR)
Регістри спеціального призначення використаються для керування ядром і периферійними модулями мікроконтролера. Ці регістри реалізовані як статичне ОЗП. Регістри спеціального призначення розміщені в різних банках пам'яті даних, а деякі з регістрів відображаються у всіх банках.
Перемикання робочого банку пам'яті виконується настроюванням бітів RP1:RPO регістра STATUS. При скиданні по включенню живлення й інших видів скидання мікроконтролера в деякі регістри спеціального призначення записується певне значення. Існують регістри SFR які містять невідоме значення при скиданні по включенню живлення, а при інших видах скидання не змінюються.
Звертання до регістрів спеціального призначення може бути виконано прямою або непрямою адресацією
Банки пам'яті даних
Пам'ять даних розділена на 4 банки. Кожен банк містить регістри спеціального призначення (на початку адресного простору банку) і регістри загального призначення. Перемикання між банками здійснюється за допомогою бітів
• RPI:RPQ у регістрі STATUS при прямої адресації.
• IRP у регістрі STATUS при непрямій адресації.
Вся пам'ять даних виконана за технологією статичного ОЗП з максимальним розміром банку пам'яті 7Fh (128 байт). На початку банку розташовуються регістри спеціального призначення, за ними регістри загального призначення. Деякі, часто використовувані регістри спеціального призначення банку 0 відображаються в інших банках пам'яті для спрощення програми мікроконтролера й одержання швидкого доступу до них.
У процесі розробки нових мікроконтролерів, адреси розміщення регістрів спеціального призначення в пам'яті даних перетерпіли деякі зміни. Організація пам'яті даних, показана на малюнку, є стандартом для всіх нових мікро контролерів. Останні 16 байт всіх банків пам'яті даних показаних на карті, відображаються на банк 0, що повинне спростити програму, що працює з банками пам'яті даних. Регістри, імена яких виділені напівжирним текстом, присутні у всіх мікро контролерах.
Механізм прямої адресації пам'яті даних
Примітки
1 Регістри назви яких виділені напівжирними будуть присутні в кожному мікроконтролері.
2 У деякі мікроконтролерах частина банку пам'яті даних може бути не реалізована. Читання за адресою неіснуючого ОЗП буде давати результат 00h.
3 Ця частина ОЗП може бути не реалізована. Читання за адресою неіснуючого ОЗП буде давати непередбачений результат
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.