TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: LuisFrino en 22 de Noviembre de 2003, 08:59:00
-
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 Marcos Ledesma Luis Frino
Leo Gonzales
"---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
-
Hola Luis, no trabaje aun con los IButton, se consiguen facil?, cuanto cuestan?
Gracias!
Norberto
-
Hola Norberto
yo los importe desde EEUU hace casi 4 años cuando recien estaban
siendo promocionados aqui en la argentina el que los trae es SEMAC no te gastes en escribir porque hay que llenar un form y despues no te responden www.semac.com.ar
creo que estan el el orden de los 9 0 10 dolares cada uno
los otros precios no los tengo me refiero a la linea completa de DS
ya qye hay muchos modelos entre ellos sensores con memoria interna para almacenar datos para ser leidos luego por soft
disculpas lor los errores de ortografia
cualquier duda privado!!!
saludos
Luis