Jump to content

Переписать системы ду из ассемблера в си


tifaso
 Share

Recommended Posts

Есть прошивки систем дистанционного управления на ассемблере. Одна на 4 канала. Вторая на 16 каналов. Все схемы комплектные со своими пультами это для меня очень важно.

4 канальная система.zip  16 канальная система.zip

В архивах также вложены все схемы и фьюзы. Всё это работает само по себе нормально, но чтобы где то её использовать нужно как то всё время выкручиваться.

Это бы всё облегчило если бы кто помог переписать эти прошивки с ассемблера на си сохранив при этом полностью весь функционал. Так как в си мне разобраться гораздо легче чем в ассемблере. Так же я там уже сам смогу корректировать код вывода сигнала уже под свои нужды. Типа фиксированное нажатие кнопки или нет.

Я работаю с кодом в Atmel Studio 6.2 ну хотелось бы чтобы была совместимость с этим редактором.

Нарушение правил форума II.24

Link to comment
Share on other sites

Средсв всё равно нет на это.

Интересно всё таки попробовать, а можно ли как то допустим не трогая основной код сделать вставки кодом на си или такое тут не прокатит? Знаю где то такое делают. Но это так как минимум, а так хотелось бы полностью уже переписать было бы меньше проблем.

Edited by tifaso

Нарушение правил форума II.24

Link to comment
Share on other sites

Вебинар «Новые тенденции сетевых технологий: Ethernet по одной витой паре» (09.12.2021)

Приглашаем 9 декабря всех желающих посетить вебинар, посвященный технологии Ethernet и её новому стандарту 10BASE-T1S/L. Стандарт 802.3cg описывает передачу данных на скорости до 10 Мбит в секунду по одной витой паре. На вебинаре будут рассмотрены и другие новшества, которые недавно вошли в семейство технологий Ethernet: SyncE, PTP, TSN. Не останется в стороне и высокоскоростной 25G+ Ethernet от Microchip.

Подробнее

DC/DC-преобразователи Mornsun со склада Компэл

В сложный период для рынка электронных компонентов, когда производители увеличивают сроки поставки продукции, со склада Компэл можно приобрести широкий ассортимент DC/DC-преобразователей производства компании Mornsun. На складе представлены наиболее популярные семейства изолированных и неизолированных DC/DC-преобразователей новых поколений R3 и R4, а также предыдущего, но по-прежнему востребованного поколения R2.

Подробнее

Новые компоненты STMicroelectronics для учета электроэнергии

Внедрение автоматизированных систем контроля и учета всех видов энергоресурсов, невозможно без инструментов, позволяющих помимо измерения параметров, преобразовывать их для обработки цифровыми интеллектуальными системами. Микросхемы STPM32, STPM33 и STPM34 STMicroelectronics являются наиболее точными и высокопроизводительными представителями своего семейства и способны максимально точно измерять параметры электросети в системах электроснабжения переменного тока, а также осуществлять их первичную обработку. Рассмотрим подробнее их преимущества и средства разработки.

Подробнее

@andrusha152 Здесь нету главного условия. Это комплектность устройства должен быть и пульт и приёмник с полной совместимостью.

Нарушение правил форума II.24

Link to comment
Share on other sites

Карбид кремния позволяет повысить КПД и удельную мощность ИБП с двойным преобразованием

Построение источников бесперебойного питания с двойным преобразованием, широко используемых в современных хранилищах данных, на базе карбид-кремниевых MOSFETs производства Wolfspeed позволяет уменьшить мощность потерь в них до 40%, а также значительно снизить занимаемый ими объем и стоимость комплектующих.

Подробнее

Пульт можно взять любой, на Али их куча, с разными протоколами. Самсунг, Сони, RC5 - все эти протоколы неоднократно описаны в сети с примерами. Только под себя код подправить и пользоваться на здоровье.

Link to comment
Share on other sites

@andrusha152 Нет это не годится. Нужен обязательно самодельный. Только такие варианты и рассматриваются.

Хотя впринцепи есть такой вариант собрать пульт на SAA3010P. Они у меня есть и уже как то найти связи с пультом в приёмнике это самое сложное для меня. У меня есть и прошивка для приёмника на RC5 протоколе, но как найти эти связи это ад для меня. осциллографа нету сразу говорю.

Нарушение правил форума II.24

Link to comment
Share on other sites

Цитата

Так как в си мне разобраться гораздо легче чем в ассемблере.

Вот и перепиши весь алгоритм на СИ. В чём проблема?

Link to comment
Share on other sites

@otest Можно попробовать с помощью справочника по ассемблеру попытаться что то написать. Но как сомневаюсь что что то выйдет. Ассемблер сильно сложный и путаный.

Нарушение правил форума II.24

Link to comment
Share on other sites

10 минут назад, otest сказал:

перепиши весь алгоритм на СИ

Для этого нужно знать ассемблер и Си.

 

12 минут назад, otest сказал:

В чём проблема?

Вот в этом и проблема. :)

 

Link to comment
Share on other sites

Цитата

Для этого нужно знать ассемблер и Си.

Для этого нужно знать алгоритм работы устройства. А на каком языке это написано устройству на плевать.

Link to comment
Share on other sites

Разница между ассемблером и СИ примерно такая:
Если на СИ программа выглядит так: "Открыть форточку", то на Ассемблере это будет иметь вид:" Встать с дивана, прошагать направо 2 метра, налево полтора, поднять руку, растопырить кисть, поднести к ручке, сжать кисть, повернуть ручку, потянуть .. и т.д."
Причём "встать с дивана" и "шагнуть"- это будут ещё отдельные подпрограммы.:lol:

Берёшь листинг в одну руку, справочник в другую и по порядку разбираешься с каждой командой, пишешь комментарии в каждую строку - что здесь происходит. 
Всё это куда реальней, чем ждать у моря погоды. А там, глядишь, и нужда переписывать программу отпадёт, просто внесёшь своих изменения.

 

"Я не знаю какой там коэффициент, я просто паять умею. "

Link to comment
Share on other sites

Сейчас перевёл для начала все имеющиеся комментарии в фале листинга и в коде прошивок для 16 канальной системы ДУ. Уже даже сейчас из этих комментариев стала понятна примерная логика работы программ. Теперь ещё сделаю также перевод комментариев на 4 канальную систему. Ну и тогда уже начну разбирать поочерёдно каждую команду с помощью справочника и делая свои приписки что за что отвечает и что делает. Ну а там уже посмотрим что выйдет.

Edited by tifaso

Нарушение правил форума II.24

Link to comment
Share on other sites

Закончил переводы комментариев и начал потихоньку копаться в справочнике ассемблера. И тут я вообще стал понимать, то что по сути то мне и не стоит даже это всё переписывать, а лишь достаточно переписать выводы сигнала на выходе приёмника чтобы его можно было правильно обработать, но тут ещё нужно разобраться от куда что приходит и как приёмник подаёт сигналы на разные каналы. Примерную логику я знаю так как система дистанционного управления мне близка было не мало литературы по ней изучено.Нужно только разбираться кодом. из комментариев в прошивке пульта я понял что сигнал передаётся на частоте 37 мг. там это чётко написано.Ну мне эту часть можно даже не трогать. Принимать и проводить дальнейшую обработку сигналов я буду другой микросхемой со своей прошивкой. А здесь мне нужно будет сделать так чтобы приёмник на выход подавал сигнал так как будто идёт обычное нажатие на кнопку. В общем при нажатии на пульт выдать отрицательный сигнал на соответствующем выводе приёмника.

Edited by tifaso

Нарушение правил форума II.24

Link to comment
Share on other sites

Всё вроде бы как посидел сравнил прошивки посмотрел справочник и понял что же нужно сделать. Достаточно переписать несколько строк кода и всё будет в порядке. Сигнал на выходе будет выходить так как нужно. И не нужно мне больше делать этих костылей на выходе. Обрабатывать сигнал я уже всё равно своей микросхемой буду вернее со своей прошивкой на си. А тут уж лучше сделать так.

Edited by tifaso

Нарушение правил форума II.24

Link to comment
Share on other sites

Всё переписал как мне нужно осталось только протестироваль, но у меня сейчас не на чем тестировать нужно ещё собирать саму систему.Но думаю что всё уже должно работать. Ведь я смотрел в других прошивках этого  же автора как он делал там и наконец то уловил суть алгоритма данного кода. Всё всем спасибо.

Edited by tifaso

Нарушение правил форума II.24

Link to comment
Share on other sites

В общем собрал на макетке без пайки проверил как то не так оно работает как ожидалось. Ну это прийдётся дальше разбираться править код тестировать.

Нарушение правил форума II.24

Link to comment
Share on other sites

5 часов назад, tifaso сказал:

Всё переписал как мне нужно

Быстро уж слишком, даже удивился, и в результате

13 минут назад, tifaso сказал:

как то не так оно работает как ожидалось

Кажущаяся простота

6 часов назад, tifaso сказал:

Достаточно переписать несколько строк кода и всё будет в порядке.

Ну да, тогда каждый бы был "писателем".

Link to comment
Share on other sites

Да ничего страшно на самом то деле уже почти всё как нужно осталось только один момент доработать видимо я где то упустил в коде, но думаю это будет не так сложно найти.

Нарушение правил форума II.24

Link to comment
Share on other sites

В общем так выкладываю всё как есть в подробностях:

4 канальная система от автора DANYK

Скрытый текст

Схема:

avr_dop.png.d7f232c6bedf4f49f8692e63ed98ea2b.png

 С фиксацией кнопок

 Код пульта:


; Передатчик
; Процессор 1,2 МГц
; f 37 500 Гц
; создатель: DANYK 
; http://danyk.cz

.NOLIST   
.INCLUDE "tn13def.inc"     
.LIST     


.DEF REG=R16		;рабочий регистр
.DEF REG2=R17		;рабочий регистр 2
.DEF CYKLY=R18		;счетчик циклов
.DEF CEK=R19		;регистр ожидания
.DEF CEK2=R20		;регистр ожидания 2
.EQU SMER=DDRB		;управление направлением  
.EQU PORT=PORTB		;порт  
.EQU PINY=PINB		;порт 
                    
.CSEG				;сегмент кода   

.ORG 0
RJMP START

.ORG PCI0addr
RJMP TLACITKO
	
START:

;установить портB
LDI REG,0b00010000
OUT SMER,REG
LDI REG,0b00001111
OUT PORT,REG

; НАСТРОЙКИ ТАЙМЕРА
;LDI	REG,0b00000000 	; установить счетчик на ноль при настройке на сравнение ...
;OUT	TCCR0A,REG    	; ... значения (так называемый CTC), OC0 не используется, подраздел 256
;LDI	REG,37      	; установить сравниваемое значение (мультиплексирование прибл. 100 Гц)
;OUT	OCR0A,REG     	; 
;LDI	REG,0b00000000	; разрешить прерывание обеих цитат
;OUT	TIMSK0,REG    	; (бит 0 включает citac0A, бит 6 включает citac1A)



LDI	REG,0b00100000	; разрешить прерывание PCINT
OUT	GIMSK,REG    	;

LDI	REG,0b00001111	; разрешить прерывание PCINT на 0,1,2,3
OUT	PCMSK,REG    	;

LDI	REG,0b00110000	;включить спящий режим и установить режим отключения питания
OUT	MCUCR,REG

;выключает аналог. компаратор - никогда не использовался (экономия энергии)
LDI	REG,0b10000000	
OUT	ACSR,REG  

SEI

SMYCKA:
SLEEP
RJMP SMYCKA


TLACITKO:
ZNOVA:
IN REG2,PINY
ANDI REG2,0b00001111

CPI REG2,0b00000111
BREQ TL3
CPI REG2,0b00001011
BREQ TL2
CPI REG2,0b00001101
BREQ TL1
CPI REG2,0b00001110
BREQ TL0

RJMP NENE

;Кнопка кодирования (двухбитное кодирование)
TL0:
LDI REG2,0b00000000
RJMP TL_ZAKOD
TL1:
LDI REG2,0b00000001
RJMP TL_ZAKOD
TL2:
LDI REG2,0b00000010
RJMP TL_ZAKOD
TL3:
LDI REG2,0b00000011
RJMP TL_ZAKOD

TL_ZAKOD:
RCALL VYSILEJ
RJMP ZNOVA
NENE:
LDI REG,0b00001111
OUT PORT,REG
RETI

; Передается с использованием обратного управляющего кода
; Кодирование длины промежутка
; MSB начинается 
VYSILEJ:
LDI CYKLY,6
VYSILEJ_DAL:

RCALL KRATKA_1

SBRS REG2,1
RCALL KRATKA_0
SBRC REG2,1
RCALL DLOUHA_0

RCALL KRATKA_1

SBRS REG2,0
RCALL KRATKA_0
SBRC REG2,0
RCALL DLOUHA_0

RCALL KRATKA_1

SBRC REG2,1
RCALL KRATKA_0
SBRS REG2,1
RCALL DLOUHA_0

RCALL KRATKA_1

SBRC REG2,0
RCALL KRATKA_0
SBRS REG2,0
RCALL DLOUHA_0

RCALL KRATKA_1

RCALL DLOUHA_0
RCALL DLOUHA_0
RCALL DLOUHA_0
RCALL DLOUHA_0

DEC CYKLY
BRNE VYSILEJ_DAL
RET


;Короткий промежуток
KRATKA_0:
LDI CEK,16
CEKEJ_K0:

NOP
NOP
LDI CEK2,9
CEKEJ_K0A:
DEC CEK2
BRNE CEKEJ_K0A

DEC CEK
BRNE CEKEJ_K0
RET


;Длинный промежуток
DLOUHA_0:
LDI CEK,64
CEKEJ_D0:

NOP
NOP
LDI CEK2,9
CEKEJ_D0A:
DEC CEK2
BRNE CEKEJ_D0A

DEC CEK
BRNE CEKEJ_D0
RET


;Короткий импульс
KRATKA_1:
LDI CEK,16
CEKEJ_K1:

LDI REG,0b00011111
OUT PORT,REG

LDI CEK2,3
CEKEJ_K1A:
DEC CEK2
BRNE CEKEJ_K1A

LDI REG,0b00001111
OUT PORT,REG

;NOP
NOP
LDI CEK2,5
CEKEJ_K1B:
DEC CEK2
BRNE CEKEJ_K1B

DEC CEK
BRNE CEKEJ_K1
RET

Код приёмника:


;4-канальный приемник DO
;кодируется длиной промежутка. 
;1,2MHz
; создан: DANYK
; http://danyk.cz

.NOLIST   
.INCLUDE "tn13def.inc"     
.LIST     

.DEF REG=R16		;рабочий регистр
.DEF REG2=R17		;рабочий регистр 2
.DEF STAV=R18		;регистр состояния входа
.DEF VYST=R19		;регистр выхода
.DEF VYST_2=R20		;предыдущий выходной регистр 
.DEF VYST_3=R21		;регистр предварительного вывода 
.DEF PRODLEVA=R22	;отложить до дальнейшей реакции
.DEF BITY=R23		;счетчик битов

.EQU SMER=DDRB		;контроль направления  
.EQU PORT=PORTB		;порт  
.EQU PINY=PINB		;порт 
                    
.CSEG				;сегмент кода   

.ORG 0
RJMP START

.ORG PCI0addr
RJMP SIGNAL
	
.ORG OC0Aaddr
RJMP CAS_VYPRSEL

START:

LDI REG,LOW(RAMEND)
OUT SPL,REG

;настройки портB
LDI REG,0b00001111
OUT SMER,REG
LDI REG,0b00010000
OUT PORT,REG

; НАСТРОЙКИ ТАЙМЕРА
LDI	REG,0b00000010 	; установить счетчик на ноль, когда установлен для сравнения ...
OUT	TCCR0A,REG    	; ... значения (так называемый CTC), OC0 не используется
LDI	REG,0b00000011 	; делитель 64
OUT	TCCR0B,REG    	; 
LDI	REG,255      	; устанавливает сравниваемое значение
OUT	OCR0A,REG     	; 
LDI	REG,0b00000100	; разрешить прерывание OCIE0A
OUT	TIMSK0,REG    	; 


LDI	REG,0b00100000	; включить прервание PCINT
OUT	GIMSK,REG    	;

LDI	REG,0b00010000	; разрешить прерывание PCINT на 4
OUT	PCMSK,REG    	;

LDI	REG,0b00110000	;включить спящий режим и установить режим отключения питания
OUT	MCUCR,REG

;выключает аналог. компаратор - никогда не использовался (экономия энергии)
LDI	REG,0b10000000	
OUT	ACSR,REG  

SEI

SMYCKA:
SLEEP
RJMP SMYCKA


SIGNAL:
IN STAV,PINY
COM STAV	;инвертирует входной сигнал (приемник в состоянии покоя log1)

;Низкий уровень
SBRC STAV,4
RJMP NE_10

LDI REG,0
OUT TCNT0,REG

NE_10:

;Высокий уровень
SBRS STAV,4
RJMP NE_01

IN REG,TCNT0

CPI REG,4		;Порог затемнения 
BRLO ZAKMIT

CPI REG,64		;Длинный промежуток / интервал длины промежутка
BRLO NE_KONEC_SNIMKU

RCALL KONTROLA

MOV VYST_3,VYST_2
MOV VYST_2,VYST

NE_KONEC_SNIMKU:

LSL VYST
INC BITY
IN REG,TCNT0
CPI REG,16		;Порог короткого / длинного промежутка
BRLO KRATKA_M
INC VYST
KRATKA_M:

ZAKMIT:
NE_01:


LDI	REG,0b00100000	;включить спящий режим и установить режим ожидания
OUT	MCUCR,REG
RETI


;проверить правильность передачи
KONTROLA:
ANDI VYST,0b00001111
CPI BITY,5		;если количество битов не подходит, сбросить код
BRNE SPATNE_BITY
CP VYST_2,VYST	;если 3 последовательных кода не совпадают, он не отвечает
BRNE RUZNE_KODY
CP VYST_3,VYST	;если 3 последовательных кода не совпадают, он не отвечает
BRNE RUZNE_KODY
RCALL PRIJEM
RUZNE_KODY:
CLR BITY
RET
SPATNE_BITY:
CLR VYST
CLR BITY
RET



CAS_VYPRSEL:

RCALL KONTROLA

LDI VYST,0
LDI VYST_2,1
LDI VYST_3,2

LDI PRODLEVA,0

LDI REG,0
OUT TCNT0,REG

LDI	REG,0b00110000	;включить спящий режим и установить режим отключения питания
OUT	MCUCR,REG
RETI



PRIJEM:
CPI PRODLEVA,0
BRNE NEREAGUJ
IN REG,PORT

ANDI VYST,0b00001111

CPI VYST,0b00000011
BREQ TL0
CPI VYST,0b00000110
BREQ TL1
CPI VYST,0b00001001
BREQ TL2
CPI VYST,0b00001100
BREQ TL3

RJMP NEREAGUJ

TL0:
SBRC REG,0
CBI PORT,0
SBRS REG,0
SBI PORT,0
RJMP KONEC_TL

TL1:
SBRC REG,1
CBI PORT,1
SBRS REG,1
SBI PORT,1
RJMP KONEC_TL

TL2:
SBRC REG,2
CBI PORT,2
SBRS REG,2
SBI PORT,2
RJMP KONEC_TL

TL3:
SBRC REG,3
CBI PORT,3
SBRS REG,3
SBI PORT,3
RJMP KONEC_TL

KONEC_TL:
NEREAGUJ:
LDI PRODLEVA,1
RET

Ещё одна 4 канальная система тоже от автора DANYK только это уже без фиксации кнопок

Код пульта:


; Передатчик
; Процессор 1,2 МГц
; f 37 500 Гц
; создатель: DANYK 
; http://danyk.cz

.NOLIST   
.INCLUDE "tn13def.inc"     
.LIST     


.DEF REG=R16		;рабочий регистр
.DEF REG2=R17		;рабочий регистр 2
.DEF CYKLY=R18		;счетчик циклов
.DEF CEK=R19		;регистр ожидания
.DEF CEK2=R20		;регистр ожидания 2
.EQU SMER=DDRB		;управление направлением  
.EQU PORT=PORTB		;порт  
.EQU PINY=PINB		;порт 
                    
.CSEG				;сегмент кода   

.ORG 0
RJMP START

.ORG PCI0addr
RJMP TLACITKO
	
START:

;установить портB
LDI REG,0b00010000
OUT SMER,REG
LDI REG,0b00001111
OUT PORT,REG

; НАСТРОЙКИ ТАЙМЕРА
;LDI	REG,0b00000000 	; установить счетчик на ноль при настройке на сравнение ...
;OUT	TCCR0A,REG    	; ... значения (так называемый CTC), OC0 не используется, подраздел 256
;LDI	REG,37      	; установить сравниваемое значение (мультиплексирование прибл. 100 Гц)
;OUT	OCR0A,REG     	; 
;LDI	REG,0b00000000	; разрешить прерывание обеих цитат
;OUT	TIMSK0,REG    	; (бит 0 включает citac0A, бит 6 включает citac1A) 



LDI	REG,0b00100000	; разрешить прерывание PCINT
OUT	GIMSK,REG    	;

LDI	REG,0b00001111	; разрешить прерывание PCINT на 0,1,2,3
OUT	PCMSK,REG    	;

LDI	REG,0b00110000	;включить спящий режим и установить режим отключения питания
OUT	MCUCR,REG

;выключает аналог. компаратор - никогда не использовался (экономия энергии) 
LDI	REG,0b10000000	
OUT	ACSR,REG  

SEI

SMYCKA:
SLEEP
RJMP SMYCKA


TLACITKO:
ZNOVA:
IN REG2,PINY
ANDI REG2,0b00001111

CPI REG2,0b00000111
BREQ TL3
CPI REG2,0b00001011
BREQ TL2
CPI REG2,0b00001101
BREQ TL1
CPI REG2,0b00001110
BREQ TL0

RJMP NENE

;Кодирование кнопок (двухбитное кодирование)
TL0:
LDI REG2,0b00000000
RJMP TL_ZAKOD
TL1:
LDI REG2,0b00000001
RJMP TL_ZAKOD
TL2:
LDI REG2,0b00000010
RJMP TL_ZAKOD
TL3:
LDI REG2,0b00000011
RJMP TL_ZAKOD

TL_ZAKOD:
RCALL VYSILEJ
RJMP ZNOVA
NENE:
LDI REG,0b00001111
OUT PORT,REG
RETI

; Передается с использованием обратного управляющего кода
; Кодирование длины зазора
; MSB начинается 
VYSILEJ:
LDI CYKLY,6
VYSILEJ_DAL:

RCALL KRATKA_1

SBRS REG2,1
RCALL KRATKA_0
SBRC REG2,1
RCALL DLOUHA_0

RCALL KRATKA_1

SBRS REG2,0
RCALL KRATKA_0
SBRC REG2,0
RCALL DLOUHA_0

RCALL KRATKA_1

SBRC REG2,1
RCALL KRATKA_0
SBRS REG2,1
RCALL DLOUHA_0

RCALL KRATKA_1

SBRC REG2,0
RCALL KRATKA_0
SBRS REG2,0
RCALL DLOUHA_0

RCALL KRATKA_1

RCALL DLOUHA_0
RCALL DLOUHA_0
RCALL DLOUHA_0
RCALL DLOUHA_0

DEC CYKLY
BRNE VYSILEJ_DAL
RET


;Короткий промежуток
KRATKA_0:
LDI CEK,16
CEKEJ_K0:

NOP
NOP
LDI CEK2,9
CEKEJ_K0A:
DEC CEK2
BRNE CEKEJ_K0A

DEC CEK
BRNE CEKEJ_K0
RET


;Длинный промежуток
DLOUHA_0:
LDI CEK,64
CEKEJ_D0:

NOP
NOP
LDI CEK2,9
CEKEJ_D0A:
DEC CEK2
BRNE CEKEJ_D0A

DEC CEK
BRNE CEKEJ_D0
RET


;Короткий импульс
KRATKA_1:
LDI CEK,16
CEKEJ_K1:

LDI REG,0b00011111
OUT PORT,REG

LDI CEK2,3
CEKEJ_K1A:
DEC CEK2
BRNE CEKEJ_K1A

LDI REG,0b00001111
OUT PORT,REG

;NOP
NOP
LDI CEK2,5
CEKEJ_K1B:
DEC CEK2
BRNE CEKEJ_K1B

DEC CEK
BRNE CEKEJ_K1
RET

Код приёмника:


; 4-канальный приемник DO для команд.
; кодируется длиной промежутка.
; Внутренний генератор 1,2 МГц
; создатель: DANYK
; http://danyk.cz

.NOLIST   
.INCLUDE "tn13def.inc"     
.LIST     

.DEF REG=R16		;рабочий регистр
.DEF REG2=R17		;рабочий регистр 2
.DEF STAV=R18		;регистр состояния входа
.DEF VYST=R19		;выходной регистр
.DEF VYST_2=R20		;предыдущий выходной регистр 
.DEF VYST_3=R21		;регистр предварительного вывода 
.DEF BITY=R22		;счетчик битов

.EQU SMER=DDRB		;управление направлением  
.EQU PORT=PORTB		;порт  
.EQU PINY=PINB		;порт 
                    
.CSEG				;сегмент кода   

.ORG 0
RJMP START

.ORG PCI0addr
RJMP SIGNAL
	
.ORG OC0Aaddr
RJMP CAS_VYPRSEL

START:

LDI REG,LOW(RAMEND)
OUT SPL,REG

;установить портB
LDI REG,0b00001111
OUT SMER,REG
LDI REG,0b00010000
OUT PORT,REG

; НАСТРОЙКИ ТАЙМЕРА
LDI	REG,0b00000010 	; установить счетчик на ноль при достижении сравнения ...
OUT	TCCR0A,REG    	; ... значения (так называемый CTC), OC0 не используется
LDI	REG,0b00000011 	; делитель 64
OUT	TCCR0B,REG    	; 
LDI	REG,255      	; устанавливает сравниваемое значение
OUT	OCR0A,REG     	; 
LDI	REG,0b00000100	; разрешить прерывание OCIE0A
OUT	TIMSK0,REG    	; 


LDI	REG,0b00100000	; разрешить прерывание PCINT
OUT	GIMSK,REG    	;

LDI	REG,0b00010000	; разрешить прерывание PCINT на 4
OUT	PCMSK,REG    	;

LDI	REG,0b00110000	;включить спящий режим и установить режим отключения питания
OUT	MCUCR,REG

;выключает аналог. компаратор - никогда не использовался (экономия энергии) 
LDI	REG,0b10000000	
OUT	ACSR,REG  

SEI


SMYCKA:
SLEEP
RJMP SMYCKA


SIGNAL:
IN STAV,PINY
COM STAV	;инвертирует входной сигнал (приемник имеет log1 в состоянии покоя)

;Низкий уровень
SBRC STAV,4
RJMP NE_10

LDI REG,0
OUT TCNT0,REG

NE_10:

;Верхний уровень
SBRS STAV,4
RJMP NE_01

IN REG,TCNT0

CPI REG,4		;Порог длины колебаний 
BRLO ZAKMIT

CPI REG,64		;Большой разрыв / пороговый разрыв
BRLO NE_KONEC_SNIMKU

RCALL KONTROLA

MOV VYST_3,VYST_2
MOV VYST_2,VYST

NE_KONEC_SNIMKU:

LSL VYST
INC BITY
IN REG,TCNT0
CPI REG,16		;Порог короткого / длинного промежутка
BRLO KRATKA_M
INC VYST
KRATKA_M:

ZAKMIT:
NE_01:


LDI	REG,0b00100000	;включить спящий режим и установить режим ожидания
OUT	MCUCR,REG
RETI


;проверьте правильность передачи
KONTROLA:
ANDI VYST,0b00001111
CPI BITY,5		;если количество бит не влезает, сбросить код
BRNE SPATNE_BITY
CP VYST_2,VYST	;если 3 последовательных кода не совпадают, он не отвечает
BRNE RUZNE_KODY
CP VYST_3,VYST	;если 3 последовательных кода не совпадают, он не отвечает
BRNE RUZNE_KODY
RCALL PRIJEM
RUZNE_KODY:
CLR BITY
RET
SPATNE_BITY:
CLR VYST
CLR BITY
RET



CAS_VYPRSEL:

RCALL KONTROLA

LDI VYST,0
LDI VYST_2,1
LDI VYST_3,2

LDI REG,0b00010000
OUT PORT,REG

LDI REG,0
OUT TCNT0,REG

LDI	REG,0b00110000	;включить спящий режим и установить режим отключения питания
OUT	MCUCR,REG
RETI



PRIJEM:

ANDI VYST,0b00001111

CPI VYST,0b00000011
BREQ TL0
CPI VYST,0b00000110
BREQ TL1
CPI VYST,0b00001001
BREQ TL2
CPI VYST,0b00001100
BREQ TL3

RJMP KONEC_TL

TL0:
SBI PORT,0
CBI PORT,1
CBI PORT,2
CBI PORT,3
RJMP KONEC_TL

TL1:
CBI PORT,0
SBI PORT,1
CBI PORT,2
CBI PORT,3
RJMP KONEC_TL

TL2:
CBI PORT,0
CBI PORT,1
SBI PORT,2
CBI PORT,3
RJMP KONEC_TL

TL3:
CBI PORT,0
CBI PORT,1
CBI PORT,2
SBI PORT,3
RJMP KONEC_TL

KONEC_TL:
RET

 

16 канальная система от автора DANYK

Скрытый текст

Схема:

avr_do2.png.c4b84b065773cf6986a0adb84aaaf6d9.png

С фиксацией кнопок

Код пульта:


; Передатчик DO, 16 каналов
; CPU 1 МГц
; f 37000 Гц
; создатель: DANYK 
; http://danyk.cz

.NOLIST   
.INCLUDE "tn2313Adef.inc"     
.LIST     


.DEF REG=R16		;рабочий регистр
.DEF REG2=R17		;рабочий регистр 2
.DEF CYKLY=R18		;счетчик циклов
.DEF CEK=R19		;регистр ожидания
.DEF CEK2=R20		;регистр ожидания 2

.EQU SMER=DDRB		;управление направлением  
.EQU PORT=PORTB		;порт  
.EQU PINY=PINB		;входы

.EQU SMER2=DDRD		;управление направлением  
.EQU PORT2=PORTD	;порт  
.EQU PINY2=PIND		;входы

.EQU SMER3=DDRA		;управление направлением  
.EQU PORT3=PORTA	;порт  
.EQU PINY3=PINA		;входы
                    
.CSEG				;сегмент кода   

.ORG 0
RJMP START

.ORG PCIBaddr
RJMP TLACITKO_0_7

.ORG PCIAaddr
RJMP TLACITKO_15

.ORG PCIDaddr
RJMP TLACITKO_8_14

	
START:

LDI REG,LOW(RAMEND)
OUT SPL,REG

;установить порт B
LDI REG,0b00000000
OUT SMER,REG
LDI REG,0b11111111
OUT PORT,REG

;установить порт D
LDI REG,0b00000000
OUT SMER2,REG
LDI REG,0b01111111
OUT PORT2,REG

;установить порт A
LDI REG,0b00000010
OUT SMER3,REG
LDI REG,0b00000001
OUT PORT3,REG


LDI	REG,0b00111000	; включить прерывание PCINT 
OUT	GIMSK,REG    	;

LDI	REG,0b01111111	; включить прерывание PCINT 
OUT	PCMSK2,REG    	;

LDI	REG,0b00000001	; включить прерывание PCINT 
OUT	PCMSK1,REG    	;

LDI	REG,0b11111111	; включить прерывание PCINT 
OUT	PCMSK,REG    	;


LDI	REG,0b00110000	;включить спящий режим и установить режим отключения питания
OUT	MCUCR,REG

;выключает аналог. компаратор - никогда не использовался (экономия энергии) 
LDI	REG,0b10000000	
OUT	ACSR,REG  

;отключает другие вещи: цитаты, USI, USART (экономия энергии)
LDI	REG,0b00001111
OUT	PRR,REG  


SEI

SMYCKA:
SLEEP
RJMP SMYCKA


;Кнопка 0-7
TLACITKO_0_7:
IN REG2,PINY
;ANDI REG2,0b11111111

CPI REG2,0b01111111
BREQ TL7
CPI REG2,0b10111111
BREQ TL6
CPI REG2,0b11011111
BREQ TL5
CPI REG2,0b11101111
BREQ TL4
CPI REG2,0b11110111
BREQ TL3
CPI REG2,0b11111011
BREQ TL2
CPI REG2,0b11111101
BREQ TL1
CPI REG2,0b11111110
BREQ TL0

LDI REG,0b00000001
OUT PORT3,REG
RETI

;Кодирует кнопку 0-7.
TL7:
LDI REG2,7
RJMP TL_0_7_ZAKOD
TL6:
LDI REG2,6
RJMP TL_0_7_ZAKOD
TL5:
LDI REG2,5
RJMP TL_0_7_ZAKOD
TL4:
LDI REG2,4
RJMP TL_0_7_ZAKOD
TL3:
LDI REG2,3
RJMP TL_0_7_ZAKOD
TL2:
LDI REG2,2
RJMP TL_0_7_ZAKOD
TL1:
LDI REG2,1
RJMP TL_0_7_ZAKOD
TL0:
LDI REG2,0
RJMP TL_0_7_ZAKOD

TL_0_7_ZAKOD:
RCALL VYSILEJ
RJMP TLACITKO_0_7



;Кнопка 8-14
TLACITKO_8_14:
IN REG2,PINY2
ANDI REG2,0b01111111

CPI REG2,0b00111111
BREQ TL14
CPI REG2,0b01011111
BREQ TL13
CPI REG2,0b01101111
BREQ TL12
CPI REG2,0b01110111
BREQ TL11
CPI REG2,0b01111011
BREQ TL10
CPI REG2,0b01111101
BREQ TL9
CPI REG2,0b01111110
BREQ TL8

LDI REG,0b00000001
OUT PORT3,REG
RETI

;Кодирует кнопку 8-14
TL14:
LDI REG2,14
RJMP TL_8_14_ZAKOD
TL13:
LDI REG2,13
RJMP TL_8_14_ZAKOD
TL12:
LDI REG2,12
RJMP TL_8_14_ZAKOD
TL11:
LDI REG2,11
RJMP TL_8_14_ZAKOD
TL10:
LDI REG2,10
RJMP TL_8_14_ZAKOD
TL9:
LDI REG2,9
RJMP TL_8_14_ZAKOD
TL8:
LDI REG2,8
RJMP TL_8_14_ZAKOD

TL_8_14_ZAKOD:
RCALL VYSILEJ
RJMP TLACITKO_8_14


;Кнопка 15
TLACITKO_15:
IN REG2,PINY3
ANDI REG2,0b00000001

CPI REG2,0b00000000
BREQ TL15

LDI REG,0b00000001
OUT PORT3,REG
RETI

;Кодирует кнопку 15
TL15:
LDI REG2,15
RJMP TL_15_ZAKOD

TL_15_ZAKOD:
RCALL VYSILEJ
RJMP TLACITKO_15




; Передается с использованием обратного управляющего кода
; Кодирование длины промежутка
; MSB начинается 
VYSILEJ:
LDI CYKLY,4
VYSILEJ_DAL:

RCALL KRATKA_1

SBRS REG2,3
RCALL KRATKA_0
SBRC REG2,3
RCALL DLOUHA_0

RCALL KRATKA_1

SBRS REG2,2
RCALL KRATKA_0
SBRC REG2,2
RCALL DLOUHA_0

RCALL KRATKA_1

SBRS REG2,1
RCALL KRATKA_0
SBRC REG2,1
RCALL DLOUHA_0

RCALL KRATKA_1

SBRS REG2,0
RCALL KRATKA_0
SBRC REG2,0
RCALL DLOUHA_0

RCALL KRATKA_1

SBRC REG2,3
RCALL KRATKA_0
SBRS REG2,3
RCALL DLOUHA_0

RCALL KRATKA_1

SBRC REG2,2
RCALL KRATKA_0
SBRS REG2,2
RCALL DLOUHA_0

RCALL KRATKA_1

SBRC REG2,1
RCALL KRATKA_0
SBRS REG2,1
RCALL DLOUHA_0

RCALL KRATKA_1

SBRC REG2,0
RCALL KRATKA_0
SBRS REG2,0
RCALL DLOUHA_0

RCALL KRATKA_1

RCALL DLOUHA_0
RCALL DLOUHA_0
RCALL DLOUHA_0
RCALL DLOUHA_0

DEC CYKLY
BRNE VYSILEJ_DAL
RET


;Короткий промежуток
KRATKA_0:
LDI CEK,16
CEKEJ_K0:

LDI CEK2,8
CEKEJ_K0A:
DEC CEK2
BRNE CEKEJ_K0A

DEC CEK
BRNE CEKEJ_K0
RET


;Длинный промежуток
DLOUHA_0:
LDI CEK,64
CEKEJ_D0:

LDI CEK2,8
CEKEJ_D0A:
DEC CEK2
BRNE CEKEJ_D0A

DEC CEK
BRNE CEKEJ_D0
RET


;Короткий импульс
KRATKA_1:
LDI CEK,16
CEKEJ_K1:

LDI REG,0b00000011
OUT PORT3,REG

NOP
LDI CEK2,2
CEKEJ_K1A:
DEC CEK2
BRNE CEKEJ_K1A

LDI REG,0b00000001
OUT PORT3,REG

NOP
LDI CEK2,4
CEKEJ_K1B:
DEC CEK2
BRNE CEKEJ_K1B

DEC CEK
BRNE CEKEJ_K1
RET

Код приёмника:


; 16-канальный приемник DO
; кодируется длиной промежутка.
; 1 МГц ATTiny2313A
; создатель: DANYK 
; http://danyk.cz

.NOLIST ;Выключить генерацию листинга  
.INCLUDE "tn2313Adef.inc";Вложить другой файл  
.LIST ;Включить генерацию листинга    

;DEF Назначить регистру символическое имя
.DEF REG=R16		;рабочий регистр
.DEF REG2=R17		;рабочий регистр 2
.DEF STAV=R18		;регистр состояния входа
.DEF VYST=R19		;выходной регистр
.DEF VYST_2=R20		;предыдущий выходной регистр
.DEF PRODLEVA=R21	;отложить до дальнейшей реакции
.DEF BITY=R22		;битовый счетчик

;EQU Установить постоянное выражение
.EQU SMER=DDRB		;управление направлением  
.EQU PORT=PORTB		;порт  

.EQU SMER2=DDRD		;управление направлением  
.EQU PORT2=PORTD	;порт  

.EQU SMER3=DDRA		;управление направлением  
.EQU PORT3=PORTA	;порт  
.EQU PINY3=PINA		;входы

;CSEG Программный сегмент                    
.CSEG				;сегмент кода   

;ORG  Установить положение в сегменте
;RJMP Относительный переход
.ORG 0
RJMP START

.ORG OC0Aaddr
RJMP CAS_VYPRSEL

.ORG PCIAaddr
RJMP SIGNAL
	

START:

LDI REG,LOW(RAMEND)
OUT SPL,REG

;установить порт B
LDI REG,0b11111111
OUT SMER,REG
LDI REG,0b00000000
OUT PORT,REG

;установить порт D
LDI REG,0b01111111
OUT SMER2,REG
LDI REG,0b00000000
OUT PORT2,REG

;установить порт A
LDI REG,0b00000001
OUT SMER3,REG
LDI REG,0b00000010
OUT PORT3,REG

; НАСТРОЙКИ ТАЙМЕРА
LDI	REG,0b00000010 	; установить счетчик на ноль при настройке на сравнение ...
OUT	TCCR0A,REG    	; ... значения (так называемый CTC), OC0 не используется
LDI	REG,0b00000011 	; делитель 64
OUT	TCCR0B,REG    	; 
LDI	REG,213      	; устанавливает сравниваемое значение
OUT	OCR0A,REG     	; 

LDI	REG,0b00000001	; разрешить прерывание OCIE0A
OUT	TIMSK,REG    	; 



LDI	REG,0b00001000	; разрешить прерывание PCINT1
OUT	GIMSK,REG    	;

LDI	REG,0b00000010	; разрешить прерывание PCINT на PA1 (PCINT9)
OUT	PCMSK1,REG    	;

LDI	REG,0b00110000	;включить спящий режим и установить режим отключения питания
OUT	MCUCR,REG

;выключает аналог. компаратор - никогда не использовался (экономия энергии) 
LDI	REG,0b10000000	
OUT	ACSR,REG  

SEI

SMYCKA:
SLEEP
RJMP SMYCKA


SIGNAL:
IN STAV,PINY3
COM STAV	;инвертирует входной сигнал (приемник в состоянии покоя log1)

;Низкий уровень
SBRC STAV,1
RJMP NE_10

LDI REG,0
OUT TCNT0,REG

NE_10:

;Верхний уровень
SBRS STAV,1
RJMP NE_01

IN REG,TCNT0

CPI REG,3		;Порог колебания / длинного (короткого) импульса
BRLO ZAKMIT

CPI REG,53		;Длинный промежуток / пороговый промежуток
BRLO NE_KONEC_SNIMKU

RCALL KONTROLA

MOV VYST_2,VYST

NE_KONEC_SNIMKU:

LSL VYST
INC BITY
IN REG,TCNT0
CPI REG,13		;Порог короткого / длинного промежутка
BRLO KRATKA_M
INC VYST
KRATKA_M:

ZAKMIT:
NE_01:

LDI	REG,0b00100000	;включить спящий режим и установить режим ожидания
OUT	MCUCR,REG
RETI



CAS_VYPRSEL:

RCALL KONTROLA

CLR VYST
SER VYST_2

CLR PRODLEVA

LDI REG,0
OUT TCNT0,REG

LDI	REG,0b00110000	;включить спящий режим и установить режим отключения питания
OUT	MCUCR,REG
RETI



;проверьте правильность передачи
KONTROLA:
CPI BITY,9		;если количество бит не влезает, отбросьте код
BRNE SPATNE_BITY
CP VYST_2,VYST	;если 2 последовательных кода не совпадают, он не отвечает
BRNE RUZNE_KODY
RCALL PRIJEM
RUZNE_KODY:
CLR BITY
RET
SPATNE_BITY:
CLR VYST
CLR BITY
RET



PRIJEM:

CPI PRODLEVA,0
BREQ PRODLEVA_JE_0
RJMP KONEC_TL
PRODLEVA_JE_0:

MOV REG,VYST
SWAP REG
ANDI REG,0b00001111

MOV REG2,VYST
COM REG2
ANDI REG2,0b00001111

CP REG,REG2
BREQ SHODA
RJMP KONEC_TL
SHODA:

CLR REG2
LDI ZL,LOW(SKOK)
LDI ZH,HIGH(SKOK)
ADD ZL,REG
ADC ZH,REG2
IJMP

SKOK:
RJMP TL0
RJMP TL1
RJMP TL2
RJMP TL3
RJMP TL4
RJMP TL5
RJMP TL6
RJMP TL7
RJMP TL8
RJMP TL9
RJMP TL10
RJMP TL11
RJMP TL12
RJMP TL13
RJMP TL14
RJMP TL15


TL0:
;IN Чтение порта
IN REG,PORT
;SBRC Пропустить если бит в регистре очищен
SBRC REG,0
;CBI Очистить бит в порту
CBI PORT,0
;SBRS Пропустить если бит в регистре установлен
SBRS REG,0
;SBI Установить бит в порту
SBI PORT,0
;RJMP Относительный переход
RJMP KONEC_TL

TL1:
IN REG,PORT
SBRC REG,1
CBI PORT,1
SBRS REG,1
SBI PORT,1
RJMP KONEC_TL

TL2:
IN REG,PORT
SBRC REG,2
CBI PORT,2
SBRS REG,2
SBI PORT,2
RJMP KONEC_TL

TL3:
IN REG,PORT
SBRC REG,3
CBI PORT,3
SBRS REG,3
SBI PORT,3
RJMP KONEC_TL

TL4:
IN REG,PORT
SBRC REG,4
CBI PORT,4
SBRS REG,4
SBI PORT,4
RJMP KONEC_TL

TL5:
IN REG,PORT
SBRC REG,5
CBI PORT,5
SBRS REG,5
SBI PORT,5
RJMP KONEC_TL

TL6:
IN REG,PORT
SBRC REG,6
CBI PORT,6
SBRS REG,6
SBI PORT,6
RJMP KONEC_TL

TL7:
IN REG,PORT
SBRC REG,7
CBI PORT,7
SBRS REG,7
SBI PORT,7
RJMP KONEC_TL

TL8:
IN REG,PORT2
SBRC REG,0
CBI PORT2,0
SBRS REG,0
SBI PORT2,0
RJMP KONEC_TL

TL9:
IN REG,PORT2
SBRC REG,1
CBI PORT2,1
SBRS REG,1
SBI PORT2,1
RJMP KONEC_TL

TL10:
IN REG,PORT2
SBRC REG,2
CBI PORT2,2
SBRS REG,2
SBI PORT2,2
RJMP KONEC_TL

TL11:
IN REG,PORT2
SBRC REG,3
CBI PORT2,3
SBRS REG,3
SBI PORT2,3
RJMP KONEC_TL

TL12:
IN REG,PORT2
SBRC REG,4
CBI PORT2,4
SBRS REG,4
SBI PORT2,4
RJMP KONEC_TL

TL13:
IN REG,PORT2
SBRC REG,5
CBI PORT2,5
SBRS REG,5
SBI PORT2,5
RJMP KONEC_TL

TL14:
IN REG,PORT2
SBRC REG,6
CBI PORT2,6
SBRS REG,6
SBI PORT2,6
RJMP KONEC_TL

TL15:
IN REG,PORT3
SBRC REG,0
CBI PORT3,0
SBRS REG,0
SBI PORT3,0
RJMP KONEC_TL

KONEC_TL:
LDI PRODLEVA,1
RET

 

Комментарии в коде перевёл на русский чтобы было легче разобраться.

Мне же нужно сделать 16 канальную систему без фиксации кнопок по этим же схемам.

Впринцепи я уже попробовал переписать прошивку приёмника вот что из этого получилось.

Скрытый текст

; 16-канальный приемник DO
; кодируется длиной промежутка.
; 1 МГц ATTiny2313A
; создатель: DANYK 
; http://danyk.cz

.NOLIST ;Выключить генерацию листинга  
.INCLUDE "tn2313Adef.inc";Вложить другой файл  
.LIST ;Включить генерацию листинга    

;DEF Назначить регистру символическое имя
.DEF REG=R16		;рабочий регистр
.DEF REG2=R17		;рабочий регистр 2
.DEF STAV=R18		;регистр состояния входа
.DEF VYST=R19		;выходной регистр
.DEF VYST_2=R20		;предыдущий выходной регистр
.DEF PRODLEVA=R21	;отложить до дальнейшей реакции
.DEF BITY=R22		;битовый счетчик

;EQU Установить постоянное выражение
.EQU SMER=DDRB		;управление направлением  
.EQU PORT=PORTB		;порт  

.EQU SMER2=DDRD		;управление направлением  
.EQU PORT2=PORTD	;порт  

.EQU SMER3=DDRA		;управление направлением  
.EQU PORT3=PORTA	;порт  
.EQU PINY3=PINA		;входы

;CSEG Программный сегмент                    
.CSEG				;сегмент кода   

;ORG  Установить положение в сегменте
;RJMP Относительный переход
.ORG 0
RJMP START

.ORG OC0Aaddr
RJMP CAS_VYPRSEL

.ORG PCIAaddr
RJMP SIGNAL
	

START:

LDI REG,LOW(RAMEND)
OUT SPL,REG

;установить порт B
LDI REG,0b11111111
OUT SMER,REG
LDI REG,0b00000000
OUT PORT,REG

;установить порт D
LDI REG,0b01111111
OUT SMER2,REG
LDI REG,0b00000000
OUT PORT2,REG

;установить порт A
LDI REG,0b00000001
OUT SMER3,REG
LDI REG,0b00000010
OUT PORT3,REG

; НАСТРОЙКИ ТАЙМЕРА
LDI	REG,0b00000010 	; установить счетчик на ноль при настройке на сравнение ...
OUT	TCCR0A,REG    	; ... значения (так называемый CTC), OC0 не используется
LDI	REG,0b00000011 	; делитель 64
OUT	TCCR0B,REG    	; 
LDI	REG,213      	; устанавливает сравниваемое значение
OUT	OCR0A,REG     	; 

LDI	REG,0b00000001	; разрешить прерывание OCIE0A
OUT	TIMSK,REG    	; 



LDI	REG,0b00001000	; разрешить прерывание PCINT1
OUT	GIMSK,REG    	;

LDI	REG,0b00000010	; разрешить прерывание PCINT на PA1 (PCINT9)
OUT	PCMSK1,REG    	;

LDI	REG,0b00110000	;включить спящий режим и установить режим отключения питания
OUT	MCUCR,REG

;выключает аналог. компаратор - никогда не использовался (экономия энергии) 
LDI	REG,0b10000000	
OUT	ACSR,REG  

SEI

SMYCKA:
SLEEP
RJMP SMYCKA


SIGNAL:
IN STAV,PINY3
COM STAV	;инвертирует входной сигнал (приемник в состоянии покоя log1)

;Низкий уровень
SBRC STAV,1
RJMP NE_10

LDI REG,0
OUT TCNT0,REG

NE_10:

;Верхний уровень
SBRS STAV,1
RJMP NE_01

IN REG,TCNT0

CPI REG,3		;Порог колебания / длинного (короткого) импульса
BRLO ZAKMIT

CPI REG,53		;Длинный промежуток / пороговый промежуток
BRLO NE_KONEC_SNIMKU

RCALL KONTROLA

MOV VYST_2,VYST

NE_KONEC_SNIMKU:

LSL VYST
INC BITY
IN REG,TCNT0
CPI REG,13		;Порог короткого / длинного промежутка
BRLO KRATKA_M
INC VYST
KRATKA_M:

ZAKMIT:
NE_01:

LDI	REG,0b00100000	;включить спящий режим и установить режим ожидания
OUT	MCUCR,REG
RETI



CAS_VYPRSEL:

RCALL KONTROLA

CLR VYST
SER VYST_2

CLR PRODLEVA

LDI REG,0
OUT TCNT0,REG

LDI	REG,0b00110000	;включить спящий режим и установить режим отключения питания
OUT	MCUCR,REG
RETI



;проверьте правильность передачи
KONTROLA:
CPI BITY,9		;если количество бит не влезает, отбросьте код
BRNE SPATNE_BITY
CP VYST_2,VYST	;если 2 последовательных кода не совпадают, он не отвечает
BRNE RUZNE_KODY
RCALL PRIJEM
RUZNE_KODY:
CLR BITY
RET
SPATNE_BITY:
CLR VYST
CLR BITY
RET



PRIJEM:

CPI PRODLEVA,0
BREQ PRODLEVA_JE_0
RJMP KONEC_TL
PRODLEVA_JE_0:

MOV REG,VYST
SWAP REG
ANDI REG,0b00001111

MOV REG2,VYST
COM REG2
ANDI REG2,0b00001111

CP REG,REG2
BREQ SHODA
RJMP KONEC_TL
SHODA:

CLR REG2
LDI ZL,LOW(SKOK)
LDI ZH,HIGH(SKOK)
ADD ZL,REG
ADC ZH,REG2
IJMP

SKOK:
RJMP TL0
RJMP TL1
RJMP TL2
RJMP TL3
RJMP TL4
RJMP TL5
RJMP TL6
RJMP TL7
RJMP TL8
RJMP TL9
RJMP TL10
RJMP TL11
RJMP TL12
RJMP TL13
RJMP TL14
RJMP TL15


TL0:
SBI PORT,0
CBI PORT,1
CBI PORT,2
CBI PORT,3
CBI PORT,4
CBI PORT,5
CBI PORT,6
CBI PORT,7
CBI PORT2,0
CBI PORT2,1
CBI PORT2,2
CBI PORT2,3
CBI PORT2,4
CBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL1:
CBI PORT,0
SBI PORT,1
CBI PORT,2
CBI PORT,3
CBI PORT,4
CBI PORT,5
CBI PORT,6
CBI PORT,7
CBI PORT2,0
CBI PORT2,1
CBI PORT2,2
CBI PORT2,3
CBI PORT2,4
CBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL2:
CBI PORT,0
CBI PORT,1
SBI PORT,2
CBI PORT,3
CBI PORT,4
CBI PORT,5
CBI PORT,6
CBI PORT,7
CBI PORT2,0
CBI PORT2,1
CBI PORT2,2
CBI PORT2,3
CBI PORT2,4
CBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL3:
CBI PORT,0
CBI PORT,1
CBI PORT,2
SBI PORT,3
CBI PORT,4
CBI PORT,5
CBI PORT,6
CBI PORT,7
CBI PORT2,0
CBI PORT2,1
CBI PORT2,2
CBI PORT2,3
CBI PORT2,4
CBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL4:
CBI PORT,0
CBI PORT,1
CBI PORT,2
CBI PORT,3
SBI PORT,4
CBI PORT,5
CBI PORT,6
CBI PORT,7
CBI PORT2,0
CBI PORT2,1
CBI PORT2,2
CBI PORT2,3
CBI PORT2,4
CBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL5:
CBI PORT,0
CBI PORT,1
CBI PORT,2
CBI PORT,3
CBI PORT,4
SBI PORT,5
CBI PORT,6
CBI PORT,7
CBI PORT2,0
CBI PORT2,1
CBI PORT2,2
CBI PORT2,3
CBI PORT2,4
CBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL6:
CBI PORT,0
CBI PORT,1
CBI PORT,2
CBI PORT,3
CBI PORT,4
CBI PORT,5
SBI PORT,6
CBI PORT,7
CBI PORT2,0
CBI PORT2,1
CBI PORT2,2
CBI PORT2,3
CBI PORT2,4
CBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL7:
CBI PORT,0
CBI PORT,1
CBI PORT,2
CBI PORT,3
CBI PORT,4
CBI PORT,5
CBI PORT,6
SBI PORT,7
CBI PORT2,0
CBI PORT2,1
CBI PORT2,2
CBI PORT2,3
CBI PORT2,4
CBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL8:
CBI PORT,0
CBI PORT,1
CBI PORT,2
CBI PORT,3
CBI PORT,4
CBI PORT,5
CBI PORT,6
CBI PORT,7
SBI PORT2,0
CBI PORT2,1
CBI PORT2,2
CBI PORT2,3
CBI PORT2,4
CBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL9:
CBI PORT,0
CBI PORT,1
CBI PORT,2
CBI PORT,3
CBI PORT,4
CBI PORT,5
CBI PORT,6
CBI PORT,7
CBI PORT2,0
SBI PORT2,1
CBI PORT2,2
CBI PORT2,3
CBI PORT2,4
CBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL10:
CBI PORT,0
CBI PORT,1
CBI PORT,2
CBI PORT,3
CBI PORT,4
CBI PORT,5
CBI PORT,6
CBI PORT,7
CBI PORT2,0
CBI PORT2,1
SBI PORT2,2
CBI PORT2,3
CBI PORT2,4
CBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL11:
CBI PORT,0
CBI PORT,1
CBI PORT,2
CBI PORT,3
CBI PORT,4
CBI PORT,5
CBI PORT,6
CBI PORT,7
CBI PORT2,0
CBI PORT2,1
CBI PORT2,2
SBI PORT2,3
CBI PORT2,4
CBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL12:
CBI PORT,0
CBI PORT,1
CBI PORT,2
CBI PORT,3
CBI PORT,4
CBI PORT,5
CBI PORT,6
CBI PORT,7
CBI PORT2,0
CBI PORT2,1
CBI PORT2,2
CBI PORT2,3
SBI PORT2,4
CBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL13:
CBI PORT,0
CBI PORT,1
CBI PORT,2
CBI PORT,3
CBI PORT,4
CBI PORT,5
CBI PORT,6
CBI PORT,7
CBI PORT2,0
CBI PORT2,1
CBI PORT2,2
CBI PORT2,3
CBI PORT2,4
SBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL14:
CBI PORT,0
CBI PORT,1
CBI PORT,2
CBI PORT,3
CBI PORT,4
CBI PORT,5
CBI PORT,6
CBI PORT,7
CBI PORT2,0
CBI PORT2,1
CBI PORT2,2
CBI PORT2,3
CBI PORT2,4
CBI PORT2,5
SBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL15:
CBI PORT,0
CBI PORT,1
CBI PORT,2
CBI PORT,3
CBI PORT,4
CBI PORT,5
CBI PORT,6
CBI PORT,7
CBI PORT2,0
CBI PORT2,1
CBI PORT2,2
CBI PORT2,3
CBI PORT2,4
CBI PORT2,5
CBI PORT2,6
SBI PORT3,0
RJMP KONEC_TL

KONEC_TL:
RET

 

Так впринцепи оно работает, но при отжатии кнопки нужно ещё как то отлючать сигнал. И вот тут я вошёл в ступор. Что же дальше делать? Где что ещё исправить?

Нарушение правил форума II.24

Link to comment
Share on other sites

Guest В прицепе
19 минут назад, tifaso сказал:

Где что ещё исправить?

"Впринцепи"! "Впринцепи" своё исправь! Пожалуйста! Ведь это могут читать люди!

Link to comment
Share on other sites

@Гость В прицепе Что конкретно там исправлять я так и не догоняю. Всё вроде верно. Нужно только сделать чтобы на отжатие отключалось. А вот и проблемка в том что не могу найти где это. Или мне нужно переписать условие выполнения действия при нажатии.

Edited by tifaso

Нарушение правил форума II.24

Link to comment
Share on other sites

Сейчас всё таки доработал код вроде бы так как нужно отрабатывает.

Скрытый текст

; 16-канальный приемник DO
; кодируется длиной промежутка.
; 1 МГц ATTiny2313A
; создатель: DANYK 
; http://danyk.cz

.NOLIST ;Выключить генерацию листинга  
.INCLUDE "tn2313Adef.inc";Вложить другой файл  
.LIST ;Включить генерацию листинга    

;DEF Назначить регистру символическое имя
.DEF REG=R16		;рабочий регистр
.DEF REG2=R17		;рабочий регистр 2
.DEF STAV=R18		;регистр состояния входа
.DEF VYST=R19		;выходной регистр
.DEF VYST_2=R20		;предыдущий выходной регистр
.DEF PRODLEVA=R21	;отложить до дальнейшей реакции
.DEF BITY=R22		;битовый счетчик

;EQU Установить постоянное выражение
.EQU SMER=DDRB		;управление направлением  
.EQU PORT=PORTB		;порт  

.EQU SMER2=DDRD		;управление направлением  
.EQU PORT2=PORTD	;порт  

.EQU SMER3=DDRA		;управление направлением  
.EQU PORT3=PORTA	;порт  
.EQU PINY3=PINA		;входы

;CSEG Программный сегмент                    
.CSEG				;сегмент кода   

;ORG  Установить положение в сегменте
;RJMP Относительный переход
.ORG 0
RJMP START

.ORG OC0Aaddr
RJMP CAS_VYPRSEL

.ORG PCIAaddr
RJMP SIGNAL
	

START:

LDI REG,LOW(RAMEND)
OUT SPL,REG

;установить порт B
LDI REG,0b11111111
OUT SMER,REG
LDI REG,0b00000000
OUT PORT,REG

;установить порт D
LDI REG,0b01111111
OUT SMER2,REG
LDI REG,0b00000000
OUT PORT2,REG

;установить порт A
LDI REG,0b00000001
OUT SMER3,REG
LDI REG,0b00000010
OUT PORT3,REG

; НАСТРОЙКИ ТАЙМЕРА
LDI	REG,0b00000010 	; установить счетчик на ноль при настройке на сравнение ...
OUT	TCCR0A,REG    	; ... значения (так называемый CTC), OC0 не используется
LDI	REG,0b00000011 	; делитель 64
OUT	TCCR0B,REG    	; 
LDI	REG,213      	; устанавливает сравниваемое значение
OUT	OCR0A,REG     	; 

LDI	REG,0b00000001	; разрешить прерывание OCIE0A
OUT	TIMSK,REG    	; 



LDI	REG,0b00001000	; разрешить прерывание PCINT1
OUT	GIMSK,REG    	;

LDI	REG,0b00000010	; разрешить прерывание PCINT на PA1 (PCINT9)
OUT	PCMSK1,REG    	;

LDI	REG,0b00110000	;включить спящий режим и установить режим отключения питания
OUT	MCUCR,REG

;выключает аналог. компаратор - никогда не использовался (экономия энергии) 
LDI	REG,0b10000000	
OUT	ACSR,REG  

SEI

SMYCKA:
SLEEP
RJMP SMYCKA


SIGNAL:
IN STAV,PINY3
COM STAV	;инвертирует входной сигнал (приемник в состоянии покоя log1)

;Низкий уровень
SBRC STAV,1
RJMP NE_10

LDI REG,0
OUT TCNT0,REG

NE_10:

;Верхний уровень
SBRS STAV,1
RJMP NE_01

IN REG,TCNT0

CPI REG,3		;Порог колебания / длинного (короткого) импульса
BRLO ZAKMIT

CPI REG,53		;Длинный промежуток / пороговый промежуток
BRLO NE_KONEC_SNIMKU

RCALL KONTROLA

MOV VYST_2,VYST

NE_KONEC_SNIMKU:

LSL VYST
INC BITY
IN REG,TCNT0
CPI REG,13		;Порог короткого / длинного промежутка
BRLO KRATKA_M
INC VYST
KRATKA_M:

ZAKMIT:
NE_01:

LDI	REG,0b00100000	;включить спящий режим и установить режим ожидания
OUT	MCUCR,REG
RETI



CAS_VYPRSEL:

RCALL KONTROLA

CLR VYST
SER VYST_2

CLR PRODLEVA

LDI REG,0
OUT TCNT0,REG

LDI	REG,0b00110000	;включить спящий режим и установить режим отключения питания
OUT	MCUCR,REG
RETI



;проверьте правильность передачи
KONTROLA:
CPI BITY,9		;если количество бит не влезает, отбросьте код
BRNE SPATNE_BITY
CP VYST_2,VYST	;если 2 последовательных кода не совпадают, он не отвечает
BRNE RUZNE_KODY
RCALL PRIJEM
RUZNE_KODY:
CLR BITY
RET
SPATNE_BITY:
CLR VYST
CLR BITY
RET



PRIJEM:

CPI PRODLEVA,0
BREQ PRODLEVA_JE_0
RJMP KONEC_TL
PRODLEVA_JE_0:

MOV REG,VYST
SWAP REG
ANDI REG,0b00001111

MOV REG2,VYST
COM REG2
ANDI REG2,0b00001111

CP REG,REG2
BREQ SHODA
RJMP KONEC_TL
SHODA:

CLR REG2
LDI ZL,LOW(SKOK)
LDI ZH,HIGH(SKOK)
ADD ZL,REG
ADC ZH,REG2
IJMP

SKOK:
RJMP TL0
RJMP TL1
RJMP TL2
RJMP TL3
RJMP TL4
RJMP TL5
RJMP TL6
RJMP TL7
RJMP TL8
RJMP TL9
RJMP TL10
RJMP TL11
RJMP TL12
RJMP TL13
RJMP TL14
RJMP TL15


TL0:
SBI PORT,0
CBI PORT,1
CBI PORT,2
CBI PORT,3
CBI PORT,4
CBI PORT,5
CBI PORT,6
CBI PORT,7
CBI PORT2,0
CBI PORT2,1
CBI PORT2,2
CBI PORT2,3
CBI PORT2,4
CBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL1:
CBI PORT,0
SBI PORT,1
CBI PORT,2
CBI PORT,3
CBI PORT,4
CBI PORT,5
CBI PORT,6
CBI PORT,7
CBI PORT2,0
CBI PORT2,1
CBI PORT2,2
CBI PORT2,3
CBI PORT2,4
CBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL2:
CBI PORT,0
CBI PORT,1
SBI PORT,2
CBI PORT,3
CBI PORT,4
CBI PORT,5
CBI PORT,6
CBI PORT,7
CBI PORT2,0
CBI PORT2,1
CBI PORT2,2
CBI PORT2,3
CBI PORT2,4
CBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL3:
CBI PORT,0
CBI PORT,1
CBI PORT,2
SBI PORT,3
CBI PORT,4
CBI PORT,5
CBI PORT,6
CBI PORT,7
CBI PORT2,0
CBI PORT2,1
CBI PORT2,2
CBI PORT2,3
CBI PORT2,4
CBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL4:
CBI PORT,0
CBI PORT,1
CBI PORT,2
CBI PORT,3
SBI PORT,4
CBI PORT,5
CBI PORT,6
CBI PORT,7
CBI PORT2,0
CBI PORT2,1
CBI PORT2,2
CBI PORT2,3
CBI PORT2,4
CBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL5:
CBI PORT,0
CBI PORT,1
CBI PORT,2
CBI PORT,3
CBI PORT,4
SBI PORT,5
CBI PORT,6
CBI PORT,7
CBI PORT2,0
CBI PORT2,1
CBI PORT2,2
CBI PORT2,3
CBI PORT2,4
CBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL6:
CBI PORT,0
CBI PORT,1
CBI PORT,2
CBI PORT,3
CBI PORT,4
CBI PORT,5
SBI PORT,6
CBI PORT,7
CBI PORT2,0
CBI PORT2,1
CBI PORT2,2
CBI PORT2,3
CBI PORT2,4
CBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL7:
CBI PORT,0
CBI PORT,1
CBI PORT,2
CBI PORT,3
CBI PORT,4
CBI PORT,5
CBI PORT,6
SBI PORT,7
CBI PORT2,0
CBI PORT2,1
CBI PORT2,2
CBI PORT2,3
CBI PORT2,4
CBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL8:
CBI PORT,0
CBI PORT,1
CBI PORT,2
CBI PORT,3
CBI PORT,4
CBI PORT,5
CBI PORT,6
CBI PORT,7
SBI PORT2,0
CBI PORT2,1
CBI PORT2,2
CBI PORT2,3
CBI PORT2,4
CBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL9:
CBI PORT,0
CBI PORT,1
CBI PORT,2
CBI PORT,3
CBI PORT,4
CBI PORT,5
CBI PORT,6
CBI PORT,7
CBI PORT2,0
SBI PORT2,1
CBI PORT2,2
CBI PORT2,3
CBI PORT2,4
CBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL10:
CBI PORT,0
CBI PORT,1
CBI PORT,2
CBI PORT,3
CBI PORT,4
CBI PORT,5
CBI PORT,6
CBI PORT,7
CBI PORT2,0
CBI PORT2,1
SBI PORT2,2
CBI PORT2,3
CBI PORT2,4
CBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL11:
CBI PORT,0
CBI PORT,1
CBI PORT,2
CBI PORT,3
CBI PORT,4
CBI PORT,5
CBI PORT,6
CBI PORT,7
CBI PORT2,0
CBI PORT2,1
CBI PORT2,2
SBI PORT2,3
CBI PORT2,4
CBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL12:
CBI PORT,0
CBI PORT,1
CBI PORT,2
CBI PORT,3
CBI PORT,4
CBI PORT,5
CBI PORT,6
CBI PORT,7
CBI PORT2,0
CBI PORT2,1
CBI PORT2,2
CBI PORT2,3
SBI PORT2,4
CBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL13:
CBI PORT,0
CBI PORT,1
CBI PORT,2
CBI PORT,3
CBI PORT,4
CBI PORT,5
CBI PORT,6
CBI PORT,7
CBI PORT2,0
CBI PORT2,1
CBI PORT2,2
CBI PORT2,3
CBI PORT2,4
SBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL14:
CBI PORT,0
CBI PORT,1
CBI PORT,2
CBI PORT,3
CBI PORT,4
CBI PORT,5
CBI PORT,6
CBI PORT,7
CBI PORT2,0
CBI PORT2,1
CBI PORT2,2
CBI PORT2,3
CBI PORT2,4
CBI PORT2,5
SBI PORT2,6
CBI PORT3,0
RJMP KONEC_TL

TL15:
CBI PORT,0
CBI PORT,1
CBI PORT,2
CBI PORT,3
CBI PORT,4
CBI PORT,5
CBI PORT,6
CBI PORT,7
CBI PORT2,0
CBI PORT2,1
CBI PORT2,2
CBI PORT2,3
CBI PORT2,4
CBI PORT2,5
CBI PORT2,6
SBI PORT3,0
RJMP KONEC_TL

KONEC_TL:
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
CBI PORT,0
CBI PORT,1
CBI PORT,2
CBI PORT,3
CBI PORT,4
CBI PORT,5
CBI PORT,6
CBI PORT,7
CBI PORT2,0
CBI PORT2,1
CBI PORT2,2
CBI PORT2,3
CBI PORT2,4
CBI PORT2,5
CBI PORT2,6
CBI PORT3,0
RET

 

Не уверен что сделал правильно, но на более лучшее решение я не могу сообразить. Кто знает как сделать лучше подскажите.

Нарушение правил форума II.24

Link to comment
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Сообщения

    • Судя по номинала резисторов это не просто таймер 555, а таймер 555 по кмоп технологии, например, TS555. Если вместо него использовать таймер 555 на биполярных транзисторах, например, NE555, то из-за низкого входного сопротивления, схема может работать неправильно.  DOC000238073.pdf
    • Не думаю что видео по работе процессора вам будет полезно. В чистом виде процессоры сейчас применяются если только в компьютерах. Реально сейчас все на микроконтроллерах. Но это уже другая тема и ролики вряд ли помогут вам их освоить. Читайте книги именно по вашим контроллерам
    • Да я просто хотел посмеяться над ссылкой, которую ты выкладывал.  )) Все сообщения на эту тему, которые мне попадались в интернете на эту тему,  исходят только от самых мутных СМИ и без ссылок на первоисточники. Это раз. А два - это то, что ни англичане, ни американцы, ни военнослужащие других стран не будут воевать за интересы чужих государств, в том числе и за Украину.  Поэтому все подобные сообщения можно сразу же относить в категорию фейков даже не читая и не выясняя подробности.  Но могут и будут присылать военных специалистов для обучения владения новым технологичным оружием, которое будут им поставлять.  )) зы Как только можно вестись на подобные провокационные вбросы ???   Этот вброс исходил от пропутинских кротов в офисе президента Украины. Была лишь намечена акция протеста с требованием отставки Зеленского и Ермака.  ))     зы Поменьше слушай разных скобеевых и рашей-тудеев. Попробую тебе растолковать имеющиеся общеизвестные факты: - После того, как Навальному стало плохо и командир самолета сообщил об экстренной посадке в аэропорту Омска, то через несколько минут в службу аэропорта поступил звонок о заложенной бомбе. Как думаешь, это случайность или преднамеренное действие для неоказания своевременной медицинской помощи?  - Не прокатило, командир корабля послал всех на куй и посадил самолёт. Приехавшие медики "реанимации" ("скорая" сказала, что это не наш случай), ориентируясь на внешние симптомы пациента, определила отравление ингибиторами холинэстеразы и стала вливать атропин. После этого есть видеоролики, где медики  Томской больнице неоднократно подтверждали, что вводят Навальному атропин. Это записано и в мед.карте при передаче его немецким медикам. Теперь подумай, почему не возбудили уголовное дело по расследованию применения запрещенного отравляющего вещества на территории РФ ?  И не просто применение, а ещё и разработку и производство нового, бинарного оружия. То-есть, на лицо нарушение конвенции по всем статьям одновременно! зы Понятное дело, что сознаваться кремль не будет ни под каким предлогом!
    • Клей B7000 прозрачный, можно попробовать. Есть ещё чёрный T7000 как раз. Я дисплей клеил к оргстеклу клеем B7000, но долго пришлось прижимать дисплей, что бы не было пузырей.
    • @Delfin А может ли этот пробой случится в моей схеме? 
    • Добрый день. Интересуют улитки 24в, 43вт 70в ток не помню, 51шт которых Турбовент 48в, 0,8а Сколько шт осталось? 
    • Маленький мальчик гулял в зоопарке Тигра погладил, змею, по запарке Доброе, кажется, сделал он дело Если бы руки еще уцелели

  • Мультиметр Richmeters RM102

×
×
  • Create New...