Организация обмена информацией между микроконтроллером семейства MCS-51

Страница: 11/14

Алгоритм записи информации в программно – доступные узлы микроконтроллера представлен на рисунке 14.

Рис. 14. Алгоритм записи информации в программно – доступные узлы микроконтроллера.

Адрес принимаемых данных находится в регистре R1.

2.3.2.6 Подпрограмма чтения из памяти программ микроконтроллера

Память программ микроконтроллера имеет емкость в 2К байт. При чтении памяти программ микроконтроллера в ПК необходимо передать все 2К данных. Для обращения к памяти программ микроконтроллера, необходимо иметь два байта адреса.

В качестве указателя адреса ячейки памяти, подлежащей передачи в ПК, и счетчика передаваемых байтов данных используется регистр DPTR. Для пересылки байта информации в МК используется подпрограмма выдачи одного байта данных.

Для реализации этой процедуры необходимо, чтобы байт данных, подлежащий выдачи в ПК, находился в аккумуляторе.

Алгоритм подпрограммы чтения из памяти программ микроконтроллера представлен на рисунке 15.

Рис. 15. Алгоритм подпрограммы чтения памяти программ микроконтроллера.

После выдачи каждого байта информации, процедура проверяет правильность переданной информации.

Максимальный адрес памяти программ микроконтроллера – 07FFh.

2.3.2.7 Подпрограмма чтения информации программно– доступных узлов микроконтроллера

Данная подпрограмма аналогична процедуре чтения памяти программ микроконтроллера. Разница заключается в том, что для адресации к программно – доступным узлам МК необходим однобайтовый адрес, а для обращения к памяти программ – двухбайтовый.

Алгоритм подпрограммы чтения из программно – доступных узлов микроконтроллера представлен на рисунке 16.

Рис. 16. Алгоритм подпрограммы чтения из программно – доступных узлов микроконтроллера.

В качестве счетчика и указателя адреса передаваемых данных используется регистр R1. Максимально допустимый адрес - FFh.

2.3.2.8 Подпрограмма выдачи ошибки в ПК

В качестве кода ошибки выбран код 0Fh.

Процедура выдачи ошибки использует подпрограмму выдачи одного байта. Поэтому, перед запуском этой процедуры, код ошибки необходимо поместить в аккумулятор.

В связи с тем, что для сигнализации ошибки все процедуры используют регистр R4, перед запуском подпрограммы выдачи одного байта данных содержимое регистра R4 необходимо сохранить. Для этой цели используется регистр R7.

Перед завершением подпрограммы значение регистра R4 необходимо восстановить.

Алгоритм подпрограммы выдачи ошибки представлен на рисунке 17.

Рис. 17. Алгоритм подпрограммы выдачи ошибки в ПК.

2.3.2.9 Подпрограмма выдачи одного байта информации

Алгоритм подпрограммы выдачи одного байта информации в ПК представлен на рисунке 18.

Рис. 18. Алгоритм подпрограммы выдачи одного байта информации в ПК.

Подпрограмма передает данные находящиеся в аккумуляторе в последовательный порт вывода. В начале работы процедура переносит бит четности в буфер последовательного порта, задает значения счетчиков ошибок и ожиданий, и ожидает, пока буфер порта будет свободен. Как только последовательный порт будет готов к пересылке информации, программа начнет проверять готовность ПК к приему данных.

Если ПК будет не готов к приему информации долгое время, то процедура завершит свою работу с занесением в регистр R4 кода 00h, символизирующего ошибку передачи данных.

Реферат опубликован: 16/06/2007