Gast
#122970
hallo...
habe eine kurze frage an leute die bereits nen pic programmiert haben
(hier 16c84):
es geht um folgendes: der pic steuert mit portb einen d/a wandler nach
dem wäge verfahren. der ausgang geht beim pic auf einen pin am porta
(laborprojekt..also nicht wundern :) )
um sich tausend zeilen quellcode zu ersparen will ich eine variable
haben, die beim aufruf init_waege mit "7" initialisiert wird,
und bei jeden durchlauf von dec_waege decrementiert wird.
die frage ist:
kann ich dem pic auch das register (!!) BitNo..bzw den wert dieses als
argument beim "bsf" so überreichen (kommentare an den jeweiligen
zeilen) oder wie macht man es besser??
;****************************************************
Uin equ 2
MSB equ 7
LSB equ 0
BitNo equ 0x20
Value equ 0x21
;****************************************************
; Ermittle Uref
;****************************************************
Init_Waege
movl BitNo, MSB
Next_Waege
bsf PORTB, BitNo ; PortB/value muss beim 1ten durchlauf 7
bsf Value, BitNo ; dann 6 etc zugeordnet werden
; verkraftet der pic es so mit Reg BitNo?
btfss PORTA, Uin
goto Dec_Waege
bcf PORTB, BitNo
bcf Value, BitNo
Dec_Waege
decf BitNo
btfsc BitNo, LSB
goto Next_Waege
return
thx für alle helfenden schonmal
so long