Тестим, пишем отзывы
Код:
;KeeloqDecodV3.pic, 8 февраля 2015
;добавлено запоминание состояния выходов в eeprom (для восстановления состояния при пропадании питания)
;добавлен режим: Кнопки с зависимой фиксацией, одну нажал — остальные отщелкнулись.
;добавлен сброс всех выходов, если нажато больше одной кнопки.
Код:
;*******************************************************************************************
;Карта eeprom:
org 0x2100
ManufCode equ $-0x2100 ;мануфактурный код: 0123456789ABCDEF
de 0xEF, 0xCD, 0xAB, 0x89
de 0x67, 0x45, 0x23, 0x01
ConstModeDecoder equ $-0x2100 ;режим работы декодера
de b'00011110' ;7-й бит = "1" - вкл. rs232 (9600, 8, n, 1), Out4 отключается
;6-й бит = "1" - инверсия входа приемника (не реализовал)
;5-й бит = "1" - Кнопки с зависимой фиксацией, одну нажал — остальные отщелкнулись
; (биты 3-0 игнорируются).
;4-й бит = "1" - сохранять состояние при выкл. питания
;3-0 биты - режим работы выходов Out4-Out0 (dccharacter-у ириску за идею :)
;"0" - пока нажата кнопка - выход "1"
;"1" - триггерный режим (идея Ann с робофорума)
SerialNumber equ $-0x2100 ;разрешенные серийныe номерa 10 шт.
de 0x01, 0x00, 0x00, 0x00
de 0x02, 0x00, 0x00, 0x00
de 0x03, 0x00, 0x00, 0x00
de 0x04, 0x00, 0x00, 0x00
de 0x05, 0x00, 0x00, 0x00
de 0x06, 0x00, 0x00, 0x00
de 0x07, 0x00, 0x00, 0x00
de 0x08, 0x00, 0x00, 0x00
de 0x09, 0x00, 0x00, 0x00
de 0x0a, 0x00, 0x00, 0x00
ConstDataOut equ $-0x2100 ;Данные выходов на случай сброса питания.
de 0x00
;*******************************************************************************************
По умолчанию конфигурация = b'00011110':
rs232 выкл. Зависимые кнопки выкл. Сохр. состояние при потере питания включ. 3 триггерные кнопки и одна простая.
Прошивка:
Вложение:
KeeloqDecodV3.HEX [4.11 КиБ]
Скачиваний: 497
Не забываем, что при записи данных в eeprom, ячейка памяти изнашивается, после 1000000 нажатий кнопок - eeprom сдохнет