Страница 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
Реально, проще написать новый код, чем с этим разбираться :shock:

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

Сам хочу такой собрать. :solder:

Re: кодовый замок на Atmega8

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

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 , далее предоставлю, если в этом есть смысл.......