;nastavi portB LDI REG,0b00010000 OUT SMER,REG LDI REG,0b00001111 OUT PORT,REG
LDI REG,0b00100000 ; povoli preruseni PCINT OUT GIMSK,REG ;
LDI REG,0b00001111 ; povoli preruseni PCINT na 0,1,2,3 OUT PCMSK,REG ;
LDI REG,0b00110000 ;povoli uspani (sleep) a nastavi mod power down OUT MCUCR,REG
;vypne analog. komparator - neni nikdy vyuzit (setri energii) LDI REG,0b10000000 OUT ACSR,REG
SEI
SMYCKA: SLEEP RJMP SMYCKA
TLACITKO: IN REG2,PINY ANDI REG2,0b00001111
CPI REG2,0b00001111 BREQ NENE
RCALL ZAKODUJ RJMP TLACITKO NENE: LDI REG,0b00001111 OUT PORT,REG RETI
ZAKODUJ: ; zakodovani dat (stav tlacitek v REG2 ... 0-0-0-0-TL4-TL3-TL2-TL1)
;vytvori inverzi MOV DATA2,REG2 SWAP DATA2 COM REG2 ANDI REG2,0b00001111 OR DATA2,REG2
LDI REG,ID LSL REG MOV DATA1,REG
;spocita paritni bit (REG) z dolni pulky REG2 a z REG EOR REG2,REG SWAP REG EOR REG2,REG MOV REG,REG2 LSR REG2 LSR REG2 EOR REG,REG2 MOV REG2,REG LSR REG2 EOR REG,REG2 ANDI REG,1 ;prida paritni bit OR DATA1,REG
RCALL VYSILEJ RET
;Vysila s pouzitim inverzniho kontrolniho kodu ;Kodovani delkou pulzu (dlouhy = 1) ;Zacina se MSB VYSILEJ: LDI CYKLY,5 ;pocet vzorku v jednom vysilacim impulzu VYSILEJ_DAL:
; --- !!! ZDE SE NASTAVUJE 7-bitove ID zarizeni !!! ---------- .EQU ID=0b1001001 ; ----------
.DEF VYST1_P=R12 ;predchozi stav prijimace bitu .DEF VYST2_P=R13 ;predchozi stav prijimace bitu 2 .DEF VYST1=R14 ;posuvny registr prijimace bitu .DEF VYST2=R15 ;posuvny registr prijimace bitu 2
.DEF REG=R16 ;pracovni registr .DEF REG2=R17 ;pracovni registr 2 .DEF STAV=R18 ;registr stavu vstupu .DEF PRODLEVA=R19 ;prodleva do dalsi reakce .DEF KOPIE1=R20 ;kopie vystupu .DEF KOPIE2=R21 ;kopie vystupu 2 .DEF BITY=R22 ;pocitadlo bitu .DEF ZALOHA=R23 ;zalohuje casomiru .DEF PRETEK=R24 ;pretekani casovace
Я попытался повторить и даже скинул в протеус. Будут благодарен если знатоки по русски откоментируют asm код
Добавлено after 4 minutes 36 seconds: Но в железе работает как то криво. Передатчик беспрерывно передает сигнал. А почему пока так и не понял. аХотя в протеусе все отлично.
Один из канало глючный в передатчике . Сам включается и выключается.
Внутренний pull-up резистор (подтяжка) сгорел, можно снаружи припаять 10к. Для проверки, относительно 0 проверьте напряжения на кнопках. На исправных будет равно напряжению питания.
Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.
Эта рекомендация касается организации полноценной цепочки "внешнего сброса". В случае, когда мы работаем с внутренним (а для большинства АВРок это весьма удобно), между выводом сброса и + питания просто вешается внешний резистор (там какая-то своя апнота была - искать... долго....).
туда (к ресету) еще программатор обычно подключают - уже выше писали про неосиливает
Цитата:
The reset line has an internal pull-up resistor, but if the environment is noisy it can be insufficient and reset can therefore occur sporadically. Refer to datasheet for value of pull-up resistor on specific devices. Connecting the RESET so that it is possible to enter both high-voltage programming and ordinary low level reset can be achieved by applying a pull-up resistor to the RESET line. This pull-up resistor makes sure that reset does not go low unintended. The pull-up resistor can in theory be of any size, but if the Atmel®AVR® should be programmed from e.g. STK500/AVRISP the pull-up should not be so strong that the programmer cannot activate RESET by draw the RESET line low. The recommended pull-up resistor is 4.7kΩ or larger when using STK500 for programming. For debugWIRE to function properly, the pull-up must not be smaller than 10kΩ.
ага - шинный буфер КР580ВА87 прям в тему радиоуправления А вот ардуинщики радиомодули из темы освоили https://diytimes.ru/post/65 надо ардуинщиков местных (например BOB51) просить чтоб скетчи оттуда для тини13 скомпилили - будет хороший тест для радиомодулей и благодарность потомков.
раз пошла такая пьянка - применял NRF24l01, очень положительные впечатления. Дешево и сердито. У ардуинщиков поддержка есть https://arduinomaster.ru/datchiki-ardui ... kluchenie/ там кстати возможно о причинах "глючности передатчика"
Цитата:
Во время запуска микроконтроллера могут возникнуть проблемы, которые связаны с тем, что не предусмотрена нужная сила тока в модуле питания 3,3 В. Из-за этого могут возникнуть помехи, мешающие стабильной работе.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения