
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
> Das Assembler-Programm: > > portb .equ 1 > > .org $101 > > lda #0 ; User-Bytes 1 bis 4 auf Null setzen > sta $0A1 > sta $0A2 > sta $0A3 > sta $0A4 > > ; Puls an Portpin 1 dekodieren > w_hi_1 lda portb ; Port 1 einlesen > and #1 ; Pin 1 ausmaskieren > bne w_lo_1 ; weiter wenn high > bra w_hi_1 > w_lo_1 lda portb ; Port 1 einlesen > and #1 ; Pin 1 ausmaskieren > bne w_lo_1 ; warten bis low > cnt_1 inc $0A1 ; User-Byte 1 inkrementieren > lda portb ; Port 1 einlesen > and #1 ; Pin 1 ausmaskieren > bne w_hi_2 ; weiter wenn high > nop > nop > nop > bra cnt_1 > > ; Puls an Portpin 2 dekodieren > w_hi_2 lda portb ; Port 1 einlesen > and #2 ; Pin 2 ausmaskieren > bne w_lo_2 ; weiter wenn high > bra w_hi_2 > w_lo_2 lda portb ; Port 1 einlesen > and #2 ; Pin 2 ausmaskieren > bne w_lo_2 ; warten bis low > cnt_2 inc $0A2 ; User-Byte 2 inkrementieren > lda portb ; Port 1 einlesen > and #2 ; Pin 2 ausmaskieren > bne w_hi_3 ; weiter wenn high > nop > nop > nop > bra cnt_2 > > ; Puls an Portpin 3 dekodieren > w_hi_3 lda portb ; Port 1 einlesen > and #4 ; Pin 3 ausmaskieren > bne w_lo_3 ; weiter wenn high > bra w_hi_3 > w_lo_3 lda portb ; Port 1 einlesen > and #4 ; Pin 3 ausmaskieren > bne w_lo_3 ; warten bis low > cnt_3 inc $0A3 ; User-Byte 3 inkrementieren > lda portb ; Port 1 einlesen > and #4 ; Pin 3 ausmaskieren > bne w_hi_4 ; weiter wenn high > nop > nop > nop > bra cnt_3 > > ; Puls an Portpin 4 dekodieren > w_hi_4 lda portb ; Port 1 einlesen > and #8 ; Pin 4 ausmaskieren > bne w_lo_4 ; weiter wenn high > bra w_hi_4 > w_lo_4 lda portb ; Port 1 einlesen > and #8 ; Pin 4 ausmaskieren > bne w_lo_4 ; warten bis low > cnt_4 inc $0A4 ; User-Byte 4 inkrementieren > lda portb ; Port 1 einlesen > and #8 ; Pin 4 ausmaskieren > bne finish ; weiter wenn high > nop > nop > nop > bra cnt_4 > > > finish rts > .end > > > Das Basic-Programm: > > ' Testprogramm zur Ansteuerung des FMS > ' Knueppelpositionen werden an den Servo-Ausgaengen > ' des Empfaengers abgegriffen > ' FMS-Einstellung: Analoge Steuerung - Serielles PIC-Interface > > define pos1 byte[1] > define pos2 byte[2] > define pos3 byte[3] > define pos4 byte[4] > > baud r9600 > > #mainloop > sys > ' Testausabe auf Terminal > 'print pos1, pos2, pos3, pos4 > ' FMS-Protokoll > put 244 > put 0 > put pos1 > put pos2 > put pos3 > put pos4 > goto mainloop > > end > syscode "ppmdecrx.obj" > Kann mir jemand sagen was #1,#2,#4,#8 im Assemblertext ist. Wenn ich Kanal 5,6,7,8 brauche,was ist dann mit #1,usw. Wird daraus dann #16, #32 usw.? Und was bewirkt "and" genau? Kann ich denn Assemblercode bei C3C auch direkt über #asm ... #endasm einfügen, oder wird das dann wieder zu langsam? Kann ich z.B.: den "BC558" nehmen? Wie lange dauert es eigentlich einen Kanal auszulesen? |
| Antwort schreiben |