Данная подпрограмма осуществляет передачу значений буферных регистров индикации IND_0, IND_1, IND_2, IND_3 и регистра управления децимальной точкой POINT во внутренние регистры драйвера LCD.
Драйвер MAX6958 поддерживает автоинкрементирование адреса при записи значений в регистры. Поэтому при передаче данных достаточно указать начальный адрес (0х20), а затем последовательно передавать данные без предварительной передачи адреса следующего регистра. Адрес драйвера на шине I2C 0x38.
Ниже приведен листинг программы, осуществляющей вывод на индикацию.
;-_LED
; ПОДПРОГРАММА ВЫВОДА НА ИНДИКАЦИЮ SSPCON2, SEN ; СГЕНЕРИРОВАТЬ БИТ START SSPCON2, SEN ; ОЖИДАТЬ ОКОНЧАНИЯ ГЕНЕРАЦИИ БИТА START $-1 0x38 ; ПЕРЕДАТЬ АДРЕС ДРАЙВЕРА SSPBUF SSPCON2, ACKSTAT ; ОЖИДАТЬ ФОРМИРОВАНИЕ БИТА ПОДТВЕРЖДЕНИЯ $-1 0x20 ; ПРЕРЕДАТЬ АДРЕС ПЕРВОГО РЕГИСТРА ДАННЫХ SSPBUF SSPCON2, ACKSTAT ; ОЖИДАТЬ ФОРМИРОВАНИЕ БИТА ПОДТВЕРЖДЕНИЯ $-1 IND_3, W ; ПЕРЕДАТЬ СОДЕРЖИМОЕ 3-ГО РАЗРЯДА ИНДИКАЦИИ
BANC1 SSPBUF SSPSTAT, BF
GOTO $-1 IND_2, W ; ПЕРЕДАТЬ СОДЕРЖИМОЕ 2-ГО РАЗРЯДА ИНДИКАЦИИ
BANC1 SSPBUF SSPSTAT, BF
GOTO $-1 IND_1, W ; ПЕРЕДАТЬ СОДЕРЖИМОЕ 1-ГО РАЗРЯДА ИНДИКАЦИИ
BANC1 SSPBUF SSPSTAT, BF
GOTO $-1 IND_0, W ; ПЕРЕДАТЬ СОДЕРЖИМОЕ 0-ГО РАЗРЯДА ИНДИКАЦИИ
BANC1 SSPBUF SSPSTAT, BF
GOTO $-1 POINT, W ; ПЕРЕДАТЬ СОСТОЯНИЕ ДЕЦИМАЛЬНОЙ ТОЧКИ SSPCON2, ACKSTAT $-1 SSPCON2, PEN ; СГЕНЕРИРОВАТЬ БИТ STOP END_INT ; ПЕРЕХОД НА НАЧАЛО ПРОГРАММЫ
;-
Самое читаемое:
Диагностика и ремонт СВ-передатчика
Провести
ремонт радиоэлектронного изделия, значит восстановить его работоспособность.
Чтобы провести ремонт необходимо определить является ли изделие
ремонтопригодным. При ремонте узлы изделия могут быть заменены полностью или
частично. После проведения замены элементов в ремонтируемом изделии необходимо
провести регулировки и наст ...