Analyse des FB-Codes

Funktionsweise:

Programm:

/**********************************************************/
/*       Auslesen des IR-Empfaengers des RUG WARRIOR      */
/*           und Decodieren der empf. FB-Signale          */
/*                Katja Steuernagel, Michael Kapp         */
/*                       SS99                             */
/**********************************************************/

org MAIN_START
                             /* Port PE4 ist active low ! */
subroutine_GetIR:
   sei                       /* alle IRQ`s abschalten */
   jsr get_start
end: 
   cli                       /* Interrupts wieder zulassen */
   rts

get_start:
   std val
   ldx val
   ldaa $01,x
   staa len
   staa variable_xy+1
lp1: 
   ldaa $100A                /* Port PE4 auslesen */
   anda #16                  /* und auf High warten */
   bne lp1
lp2:
   inx
   inx
   jsr z1                    /* High-Zeit bestimmen */
   std $00,x
   inx
   inx
   jsr z0                    /* Low-Zeit bestimmen */
   std $00,x
   dec len
   bne lp2
   rts

z1:
   ldd #0                    /* counter resetten */
   std counter
pl2:
   ldd counter               /* High-Zeit zaehlen */
   addd #1
   cmpd #10000               /* auf time-out testen */
   bhi xyz
   std counter
   ldaa $100A                /* Port PE4 auslesen */
   anda #16
   beq pl2
   ldd counter
   rts

z0:
   ldd #0                    /* counter resetten */
   std counter
pl3:                         /* Low-Zeit zaehlen */
   ldd counter
   addd #1
   cmpd #10000               /* auf time-out testen */
   bhi xyz
   std counter
   ldaa $100A                /* Port PE4 auslesen */
   anda #16
   bne pl3
   ldd counter
   rts

xyz: rts                     /* time-out: Programm beenden */

counter:                     /* Variablen */
   fdb 0
val:
   fdb 0
len:
   fdb 0
variable_xy:
   fdb 0


Fragen, Anregungen, Kritik, Gummibärchen an: steuerna@rhrk.uni-kl.de (Katja) oder mkapp@rhrk.uni-kl.de (Michael).
Letzte Änderung: 29.11.99©1999 Katja & Michael
Zurück zur Hauptseite Fernbedienung