на малюнку 15.
В
<В
Рис. 15. Алгоритм підпрограми читання пам'яті програм мікроконтролера.
Після видачі кожного байта інформації, процедура перевіряє правильність переданої інформації.
Максимальний адресу пам'яті програм мікроконтролера - 07FFh.
2.3.2.7 Підпрограма читання інформації програмно - доступних вузлів мікроконтролера
Ця підпрограма аналогічна процедурі читання пам'яті програм мікроконтролера. Різниця полягає в тому, що для адресації до програмно - доступним вузлам МК необхідний однобайтовий адресу, а для звернення до пам'яті програм - двобайтовий.
Алгоритм підпрограми читання з програмно - доступних вузлів мікроконтролера представлений на малюнку 16.
В
br/>
Рис. 16. Алгоритм підпрограми читання з програмно - доступних вузлів мікроконтролера.
В якості лічильника і покажчика адреси переданих даних використовується регістр R1. Максимально допустимий адреса - FFh.
2.3.2.8 Підпрограма видачі помилки в ПК
В якості коду помилки обраний код 0Fh.
Процедура видачі помилки використовує підпрограму видачі одного байта. Тому, перед запуском цієї процедури, код помилки необхідно помістити в акумулятор.
У зв'язку з тим, що для сигналізації помилки все процедури використовують регістр R4, перед запуском підпрограми видачі одного байта даних вміст регістру R4 необхідно зберегти. Для цієї мети використовується регістр R7.
Перед завершенням підпрограми значення регістра R4 необхідно відновити.
В
Алгоритм підпрограми видачі помилки представлений на малюнку 17. br/>
Рис. 17. Алгоритм підпрограми видачі помилки в ПК.
В
2.3.2.9 Підпрограма видачі одного байта інформації
Алгоритм підпрограми видачі одного байта інформації в ПК представлений на малюнку 18.
В
Рис. 18. Алгоритм підпрограми видачі одного байта інформації в ПК.
Підпрограма передає дані знаходяться в акумуляторі в послідовний порт виводу. На початку роботи процедура переносить біт парності в буфер послідовного порту, задає значення лічильників помилок і очікувань, і очікує, поки буфер порту буде вільний. Як тільки послідовний порт буде готовий до пересилання інформації, програма почне перевіряти готовність ПК до прийому даних.
Якщо ПК буде не готовий до прийому інформації довгий час, то процедура завершить свою роботу з занесенням в регістр R4 коду 00h, який символізує помилку передачі даних.
Як тільки ПК буде готовий до прийому даних підпрограма передасть вміст акумулятора в послідовний порт. Почекає, поки порт не буде готовий до передачі наступного байта даних і запустить підпрограму затримки, для того, щоб ПК встиг перевірити передану інформацію і, в разі помилки, видав би запит н...