Страница 1 из 2
кодовый замок на Atmega8
Добавлено: Сб июл 28, 2012 23:56:40
0259

помогите с программой дело в том что не хочу переделывать схему делать кнопки есть готовая, новая, красивая панель клавиш но она стандартна
--123
--456
--789
--*0#
| | |
а в схеме не стандартная
вот прошивка
в архиве лежит hex - asm
не знаю на сколько точен асем так как его я декодировал но вот насчет hex 100%
заранее благодарю
Re: кодовый замок на Atmega8
Добавлено: Вс июл 29, 2012 08:06:21
pyzhman
А что мешает соскрести старые этикетки и налепить новые? Я к тому, что вряд ли кто возьмется за ковыряние пусть даже в готовом дизассемблированном файле.
Схема подключения клавиатуры какая-то не такая. Опрос идет по "1", поскольку считываемые разряды подтянуты к земле. Теперь смотрим, что произойдет, если нажаты одновременно скажем клавиши 0 и 1. Для считывания строки клавиш 0,4,8 на выходе РВ0 надо выставить "1", а на РВ1,РВ2,РВ3 удерживать "0". Через замкнутые клавиши 0 и 1 высокий уровень 5 вольт подключается на землю через РВ1. Хана, приплыли. Интересует: это откуда такая схема?
В дизассемблированном файле не нашел обращений к порту В, через который подключена клавиатура. Ткните пальцем - где?
Да, и будьте любезны выложить рисунок в большем разрешении. Все глаза изломаешь пока рассматриваешь. Ощущение такое, что это измывательство.
PS. Похоже тема мертворожденная.
Re: кодовый замок на Atmega8
Добавлено: Вс июл 29, 2012 10:26:05
Jack_A
pyzhman писал(а):Для считывания строки клавиш 0,4,8 на выходе РВ0 надо выставить "1", а на РВ1,РВ2,РВ3 удерживать "0". Через замкнутые клавиши 0 и 1 высокий уровень 5 вольт подключается на землю через РВ1. Хана
Да, сделано через ... Альпы. И для такого простейшего устройства как кодовый замок, проще сделать с нуля, чем лопатить это у%%%ще.
Re: кодовый замок на Atmega8
Добавлено: Вс июл 29, 2012 10:37:26
zero648
Если диоды поставить на PB0, PB1, PB2, PB3 анодом к МК, тогда должно работать без проблем.
Re: кодовый замок на Atmega8
Добавлено: Вс июл 29, 2012 10:41:49
zero648
Реально, проще написать новый код, чем с этим разбираться

Re: кодовый замок на Atmega8
Добавлено: Вс июл 29, 2012 10:50:44
pyzhman
zero648 писал(а):Если
Если бы у бабушки был ..., то она была бы дедушкой.

Согласен.
Re: кодовый замок на Atmega8
Добавлено: Вс июл 29, 2012 11:10:17
zero648
Хорошо

, с другой стороны, можно делать так: подаем на одну из ног "1" (PB0, PB1, PB2, PB3), а все остальные ноги порта конфигурим на прием и никаких краш тестов не будет

Re: кодовый замок на Atmega8
Добавлено: Вс июл 29, 2012 11:15:49
zero648
Тут всё будет зависеть от внимательности программиста.
Re: кодовый замок на Atmega8
Добавлено: Вс июл 29, 2012 11:32:53
pyzhman
Мы же говорим о предоставленной программе, а не о том, что кто-то будет писать. И тем не менее, в таких вещях хорошо бы иметь защиту и по железу, а не только программную.
Re: кодовый замок на Atmega8
Добавлено: Вс июл 29, 2012 12:24:43
Flasher
Люди, вам не фиг делать? Пусть ТС сам дальше правит hex, если ему тяжко кнопки переподключить.
Re: кодовый замок на Atmega8
Добавлено: Вс июл 29, 2012 12:37:52
pyzhman
Кэп?
Re: кодовый замок на Atmega8
Добавлено: Вс июл 29, 2012 14:00:07
0259
pyzhman писал(а):А что мешает соскрести старые этикетки и налепить новые? Я к тому, что вряд ли кто возьмется за ковыряние пусть даже в готовом дизассемблированном файле.
Схема подключения клавиатуры какая-то не такая. Опрос идет по "1", поскольку считываемые разряды подтянуты к земле. Теперь смотрим, что произойдет, если нажаты одновременно скажем клавиши 0 и 1. Для считывания строки клавиш 0,4,8 на выходе РВ0 надо выставить "1", а на РВ1,РВ2,РВ3 удерживать "0". Через замкнутые клавиши 0 и 1 высокий уровень 5 вольт подключается на землю через РВ1. Хана, приплыли. Интересует: это откуда такая схема?
В дизассемблированном файле не нашел обращений к порту В, через который подключена клавиатура. Ткните пальцем - где?
Да, и будьте любезны выложить рисунок в большем разрешении. Все глаза изломаешь пока рассматриваешь. Ощущение такое, что это измывательство.
PS. Похоже тема мертворожденная.

вот схема больше она с журнала радио любитель 2007г №11
дело в том что этот замок меняет и перезаписывает код! и у него есть lcd а я об этом и мечтал!!!
а вот какая у меня клавиатура и вот по чему не чего не могу с ней сделать

Re: кодовый замок на Atmega8
Добавлено: Вс июл 29, 2012 19:37:12
pyzhman
Обратитесь через редакцию журнала к автору.
Re: кодовый замок на Atmega8
Добавлено: Вс июл 29, 2012 22:31:28
zero648
Посмотрел по дизассемблированному коду, начальная инициализация PORTB=0, DDRB=$F0, значит PB0-PB3 приемники.
Если честно, можно голову сломать, но почерк кода похож на Сишный компилятор.
Re: кодовый замок на Atmega8
Добавлено: Вс июл 29, 2012 22:45:27
Nickolai
Так вот полное описание схемы :
http://radioparty.ru/index.php/device-a ... atmega8lcd
Сам хочу такой собрать.

Re: кодовый замок на Atmega8
Добавлено: Пн июл 30, 2012 01:00:00
zero648
0259, прозвони цешкой клавиатуру, чтобы узнать какие кнопки к какому выводу привязаны. Дальше подумаем, что делать с ней

Re: кодовый замок на Atmega8
Добавлено: Пн июл 30, 2012 11:23:11
pyzhman
zero648 писал(а):начальная инициализация PORTB=0, DDRB=$F0
Где? Ткни носом.
Re: кодовый замок на Atmega8
Добавлено: Пн июл 30, 2012 11:54:02
zero648
Я уже говорил, походу почерк Сишного компилятора:
Спойлер
Код: Выделить всё
...
mov r28,r30
mov r29,r31
rcall L06D1
mov r30,r28
mov r31,r29
...
;----------------------*
; pc=0x6D1(0xDA2)
;
L06D1:
sbiw r28,k00
ldd r0,Y+o00
ldd r1,Y+o01
sts D00B2,r0
sts D00B3,r1
ldd r26,Y+o00 ; Загрузка в регистр X $38
ldd r27,Y+o01 ;
ldi r16,k00
st X,r16 ; (X)=0 - PORTB=0
lds r2,D00B2
lds r3,D00B3
ldi r16,k01
clr r17
mov r0,r2
sub r0,r16
mov r1,r3
sbc r1,r17
mov r26,r0 ; Загрузка в регистр X $37
mov r27,r1 ;
ldi r16,kF0
st X,r16 ; (X)=$F0 - DDRB=$F0
adiw r28,k02
mov r30,r28
mov r31,r29
ret
;----------------------*
Re: кодовый замок на Atmega8
Добавлено: Пн июл 30, 2012 14:44:12
pyzhman
Мама ж дорогая!
Удачи! Буду болеть за наших! О-ле, о-ле!

Re: кодовый замок на Atmega8
Добавлено: Пн июл 30, 2012 15:53:34
C@at
Вопрос не в тему, но по тексту

как это удается дизассемблировать нех.
С интересом бы, ознакомился как там что получается,
вот например нех. и что с ним можно сделать?
Исходник к нех
у есть, в CodeVisionAVR , далее предоставлю, если в этом есть смысл.......