роботу, залишаючи без зміни вміст регістру R4.
Підпрограма запуску програми користувача в режимі реального часу перевіряє правильність прийняття адреси по регістру R4. У разі виникнення помилки передає в ПК код 0Fh. Після чого повертається в програму В«МоніторВ»
Безпосередньо перед запуском програми користувача необхідно змінити робочий БАНК пам'яті даних МК на БАНК 0.
Алгоритм програми прийому двох байтів інформації представлений на малюнку 7.
2.3.2.3 Підпрограма запуску програми користувача в покроковому режимі
На етапі налагодження прикладної програми дуже зручним для розробника виявляється режим покрокового (покомандного) виконання програм. Цей режим можна організувати, використовуючи систему переривань мікроконтролера.
Зовнішній запит переривання НЕ буде обслужений до тих пір, поки обслуговується переривання з рівним пріоритетом. Цей запит буде сприйнятий лише після того, як буде виконана одна команда після команди повернення з підпрограми. Іншими словами, одного разу викликавши підпрограму обслуговування переривання, викликати її знову неможливо до тих пір, поки хоча б одна команда основної програми не буде виконана.
Для використання цієї властивості системи переривань мікроконтролера можна запрограмувати один із зовнішніх переривань (наприклад, INT0 ) на обслуговування покрокового режиму роботи.
В
br/>
Рис. 8. Апаратна реалізація покрокового режиму виконання програми користувача.
При реалізації цього режиму можна скористатися двома способами:
Гј На вивід INT0 подавати сигнал від кнопки В«КРОКВ», і мікроконтролер за сигналом INT0 = 0 викличе підпрограму обслуговування зовнішнього переривання.
Гј Передбачити можливість програмної зміни стану рівня сигналу на виводі INT0 , використовуючи один з вільних висновків порту Р2.
Другий спосіб є найбільш зручним, тому дозволяє організувати покроковий режим безпосередньо на ПК. Крім того перший спосіб вимагає великих матеріальних вкладень для усунення брязкоту контактів від кнопки В«КРОКВ».
Після того, як адресу програми користувача буде прийнятий і перевірений, підпрограма видасть активний сигнал на вхід P3.2. За цьому сигналу мікроконтролер перейде в режим обробки переривання INT0 . До того, як буде виконана перша команда в програмі користувача, основна програма повинна виконати дві команди (виставити сигнал INT0 = 0 і запустити програму користувача). Тому в підпрограмі обробки переривання необхідний лічильник пропущених кроків. Цей лічильник можна буде використовувати для виконання блоку команд у режимі покрокового виконання програми користувача.
Алгоритм запуску програми користувача в покроковому режимі представлений на рисунку 9.
В
br/>
Рис. 9. Алгоритм виконання програми користувача в покроковому р...