A que te refieres con el valor actual del timer????
la verdad, es que aun pareciendo que entiendo algo, estoy un poco perdidillo con el tema....
A base de leer y leer, voy sacando mis ideas adelante...
te dejo por aqui parte de código que ha compartido nuestro amigo luis frino, en el que se orienta en la mezcla de PBP y ensamblador, a ver si te puede ayudar en algo...
si no es asi, comenta que es lo que quieres hacer, a ver si se nos ocurre algo entre todos.
***********************
El codigo no esta completo pero da buenas pistas
de como leer dispositivos Dallas de la linea DS
despues con tiempo voy a postear otros metodos
de hacer llaves codificadas mas sencillas
NOTA estos codigos son para niveles avanzados
y es bueno como ejemplo para aquellos que no saben mezclar codigo basic con assembler
"*****************************************************************************************
" Alarma para Motos controlada por IButton por Luis Frino
"---Asignación de pines 16F84-----------------------------------
"PIN Nº: NOMBRE: USO/CONECCION:
"01 RA2 salida al buzzer
"02 RA3 salida al relay y sirena
"03 RA4/T0CKI nada
"04 -MCLR RESET DEL MICRO
"05 Vss GND
"06 RB0/Int Conección con el I"Button ( RX )
"07 RB1 Conección con el I"Button ( TX )
"08 RB2 Jumper de programación
"09 RB3 nada
"10 RB4 nada
"11 RB5 nada
"12 RB6 nada
"13 RB7 nada
"14 Vdd +5Vdc
"15 OSC2/CLKOUT XTAL 4Mhz.
"16 OSC1/CLKIN XTAL 4Mhz.
"17 RA0 entrada para el sensor de mercurio
"18 RA1 Pulsador de asalto
"-----------------------------------------------------------------
"---Definiciones--------------------------------------------------
"DEFINE OSC 16
DEFINE NO_CLRWDT 1
sen_merc var porta.0 "entrada sensor de mercurio
pul_asal var porta.1 "entrada pulsador de asalto
buzzer var porta.2 "salida sonido de activacion
relay var porta.3 "salida relay, sirena y stop de motor
x var word "variable (word) para hacer loops
asd var byte "Variable de uso general
temp var byte "Variable temporal de ectura
llave var byte(6) "Los 48 bit del codigo del i´button leido
llaves var byte "cantidad de llaves programadas
delayasm var byte
cambio var bit "Variable para activar y desactivar
sibutton var bit "Variable de i"button detectado
bitleido var bit
paso var bit
rxibutton var portb.0
txibutton var portb.1 "Pata de conección con el i"button
programa var portb.2 "Pata de Programación
trisa = %11110011 "configuracion puerto a: RA0 y RA1 = entradas,
"RA2 y RA3 = salidas ( el resto no importa )
trisb = %11111101 "configuro todo el puerto b como entrada
" Leer numero de serie del i"buton
"----------------------------------------------------------------------
delay480:
asm
movlw 0x9e
movwf _delayasm
dly480
decfsz _delayasm,f
goto dly480
nop
nop
return
endasm
return
delay15:
asm
movlw 0x03
movwf _delayasm
dly15
decfsz _delayasm,f
goto dly15
nop
nop
return
endasm
return
delay60:
asm
movlw 0x12
movwf _delayasm
dly60
decfsz _delayasm,f
goto dly60
nop
nop
return
endasm
return
delay6:
asm
nop
nop
nop
nop
endasm
return
leeributton:
high txibutton
gosub delay480
low txibutton
gosub delay60
if rxibutton = 1 then
cambio = 0
sibutton = 0
else
gosub delay480
bitleido = 1
gosub enviar1bit
bitleido = 1
gosub enviar1bit
bitleido = 0
gosub enviar1bit
bitleido = 0
gosub enviar1bit
bitleido = 1
gosub enviar1bit
bitleido = 1
gosub enviar1bit
bitleido = 0
gosub enviar1bit
bitleido = 0
gosub enviar1bit
pauseus 100
for asd = 1 to 8
gosub leer1bit
next asd
for asd = 1 to 6
gosub leer1bit
temp.0 = bitleido
gosub leer1bit
temp.1 = bitleido
gosub leer1bit
temp.2 = bitleido
gosub leer1bit
temp.3 = bitleido
gosub leer1bit
temp.4 = bitleido
gosub leer1bit
temp.5 = bitleido
gosub leer1bit
temp.6 = bitleido
gosub leer1bit
temp.7 = bitleido
llave(asd) = temp
next asd
sibutton = 1
endif
return
enviar1bit:
high txibutton
gosub delay15
if bitleido = 0 then
gosub delay60
else
low txibutton
endif
gosub delay6
low txibutton
return
leer1bit:
high txibutton
low txibutton
gosub delay15
if rxibutton = 1 then
bitleido = 1
else
bitleido = 0
endif
gosub delay60
return
--------------------------------------------------------------------------------
Luis Frino
Mar del Plata
Argentina