Составители:
26
При формировании блока DirBD исходят из следующих особенно
стей работы портов. Вопервых, у каждого порта отдельный разряд
может быть настроен на ввод или вывод независимо от других разря
дов порта. Это обеспечивается тем, что для каждого порта имеется
свой регистр направления TRIS*, где вместо * ставится буква, указы
вающая имя порта. Запись «0» в определенном разряде этого регистра
означает, что одноименный разряд порта * настраивается на вывод
информации, запись «1» – на ввод. Следует отметить, что и порт *,
и его регистр направления TRIS* являются регистрами специально
го назначения, однако, если адрес порта * находится банке 0, то ад
рес его регистра направления TRIS* расположен в банке 1. Поэтому
для настройки портов необходимо перейти в банк 1, после заверше
ния ее нужно перейти в банк 0.
Рассмотрим фрагмент программы.
bsf STATUS, RP0;
movlw b’11001111'
movwf TRISA
bcf STATUS, RP0
После выполнения фрагмента разряды 3…0 порта А настроены на
ввод информации, разряды 5, 4 – на вывод.
Блок DirBD (см. рис. 1) имеет вид
DirBD bsf STATUS, RP0;
movlw b’01101101'
movwf TRISB
movlw b’10000011'
movwf TRISD
bcf STATUS, RP0
Блок распознавания нажатой клавиши – Command
Проверка счетчика в примере состоит в проверке выполнения им
отдельных функций. Вызов функции на выполнение осуществляет
ся нажатием определенной клавиши. Сканкод этой клавиши посту
пает в контроллер, в регистр RxBuf. Задача данного блока – выде
лить путем сравнения код нужной клавиши и передать управление
фрагменту, выполняющему необходимую функцию. В качестве при
мера рассмотрим построение блока, выполняющего распознавание
двух клавиш, нажатие клавиши r вызывает сброс счетчика, нажатие
клавиши i вызывает увеличение его содержимого на 1.
Страницы
- « первая
- ‹ предыдущая
- …
- 24
- 25
- 26
- 27
- 28
- …
- следующая ›
- последняя »