RC5 Fernbedinung am AVR über Tsop1738 in ASM

OP #1595713
Lesenswert?

Hallo,
ich weiß zwar, dass dieses Thema im Forum schon oft besprochen wurde.
Aber ich hätte trotzdem gerne Hilfe bei meinem Projekt.

Ich habe eine TTS35AI Technisat-Fernbedienung für meine SAT-karte.
Ich habe ein TSOP1738, welches, wie im Kristallkopfhörer zu hören, die 
Fernbedienung empfängt.
Zudem habe ich herausgefunden, das sie RC5 sendet. 
http://lirc.sourceforge.net/remotes/technisat/TTS35AI

Wie würde nun ein kurzes ASM Programm aussehen, was das Empfangene in 
R16 schreibt?




Ich hoffe ihr könnt mir helfen.
MfG
#1595974
Lesenswert?

Sören Timm schrieb:
> Konkreter...
> Wie soll ich überhaupt die IR-Signale, die vom Ic kommen, in Bits
> umwandeln?

Bei RC5 kommen vom TSOP die demodulierten Signale in Form von 
Manchester-Code. Guck Dir mal folgende Seite an:

http://www.mikrocontroller.com/de/IR-Protokolle.php

Hier im Forum schwirren diverse Decoder-Routinen umher. Unter anderem 
von Peter.

Im Prinzip wartest Du auf das erste Start-Bit, synchronisierst auf das 
zweite, wartest 440µs und checkst dann alle 889µs den Pin-Status. 
Fallende Flanke innerhalb eines Bits = 0, steigende Flanke = 1, keine 
Aenderung = Fehler / keine Uebertragung.

Volker
#1596044
Lesenswert?

MarioT schrieb:
> willst Du nur den Befehl (6Bit) in R16 oder vorher auch die
> Adressbits(welche Fernbedienung 5Bit) auswerten? Das 2te Startbit wird
> aber auch manchmal als Befehlsbit verwendet.

Korrekt. Wird das zweite Startbit benutzt, wird auch gerne von RC5x 
gesprochen. Aber das ist alles unter bereits gepostetem Link erklaert.

Ich nehme mal an, dass der TO sich nicht wirklich mit dem RC5-Protokoll 
beschaeftigt hatte und deswegen auf EIN Register kam. Habe ja weiter 
oben schonmal geschrieben, dass ZWEI Byte optimal waeren. Darin kann 
man alle Bits der Uebertragung festhalten und hat noch Platz fuer eine 
Markierung der Byte-Reihenfolge (wichtig bei externer Logik!).

Volker
#1596046
Lesenswert?

Hallo!

Bei mir steckt der Code im register "command".
http://electronicfox.el.funpic.de/IR-Controller_TY45018.html
wenn du dir die kurze Routine rausschneidest und "command" auf das PORT 
kopierst, wird dir dann der Code binär am Port ausgegeben. Wenn du ein 
STK500 hast, siehst du es dann an die LEDs. AN = 0, AUS = 1. Mit dem 
Befehl "com command" kannst du den Wert invertieren so dass AN = 1, AUS 
= 0 bedeutet.
Meine Routine orientiert sich stark nach der "RC5.asm" die man ergoogeln 
kann oder sogar hier gefunden wird.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren