Пользовательского поиска

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

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

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

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

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

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

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

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

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

Если счетчик ошибок будет равен нулю, процедура завершит свою работу с ошибкой.

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

Подпрограмма приема одного байта информации

 

Яндекс цитирования Rambler's Top100

Главная

Тригенерация

Новости энергетики

Сочи-2014,новости спорта