TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: mlastraj en 26 de Agosto de 2004, 21:09:00
-
Hola a todos aqui les dejo un programa como administre las interrupciones para el control del PSP, espero que les sirva de mucho y sigamos mejorandolo para hacer algo mas interesante:
TRISA = 0 "Puerto A como salida
TRISB = %00000001 "RB0 como entrada
TRISD = 0 "Puerto D como salida
TRISE = %00010111 "RE0 y RE1 Como entradas y
"habilita el modo PSP
@ clrf PORTA "Limpia Buffer Puerto A
@ clrf PORTB "Limpia Buffer Puerto B
@ clrf PORTD "Limpia Buffer Puerto D
INTE Var PIE1.7 "Bit que habilita la interrupción
"por PSP
INTF Var PIR1.7 "Flag de la interrupción por PSP
IBF_BIT Var TRISE.7 "Flag de escritura
OBF_BIT Var TRISE.6 "Flag de lectura
LED1 Var PORTA.0 "Led conectado a RA0
LED2 Var PORTA.1 "Led conectado a RA1
LED3 Var PORTA.2 "Led conectado a RA2
Dato Var Byte "Variable de almacenamiento
i Var Byte "Contador
On Interrupt Goto Mi_Int "Define vector de interrupción
INTCON = %11000000 "Habilita las interrupciones, la
"interrupción para perifericos (PSP)
PIE1 = %10000000 "Habilita la interrupción para PSP
Goto Inicio "Salta al inicio del programa
Disable
Mi_Int: if INTF = 1 then "Si se ha producido una interrupción
"por PSP, RD o WR
if OBF_BIT = 0 then "Si se produce una Lectura (RD)
LED3 = 1 "Enciende Led 3
Pause 1000 "Pausa de 1 segundo
PORTD = Dato "Saca Dato por el Puerto D
endif
if IBF_BIT = 1 then "Si se produce una Escritura (WR)
LED2 = 1 "Enciende Led 2
Pause 1000 "Pausa de 1 segundo
Dato = PORTD "Lee Dato desde el Puerto D
endif
endif
INTF = 0 "Limpia flag por PSP
IBF_BIT = 0 "Limpia flag por Escritura
OBF_BIT = 1 "Limpia flag por Lectura
resume "Retorna al programa
Enable
Inicio: LED1 = 1 "Enciende el led 2
Gosub Retardo "Pausa por 0,5 segundos
LED1 = 0 "Apaga el led 2
Gosub Retardo "Pausa por 0,5 segundos
Goto Inicio "Loop infinito
Retardo: For i = 0 to 500 "Inicio de ciclo
Pause 1 "Pausa de 1 milisegundo
Next i "Termino de ciclo
Return
end
-
Acabo de subir las rutinas que me enviaste por privado..
estan en http://miarroba.com/foros/ver.php?foroid=256746&temaid=2249660
Suerte!!
-
Estimados amigos y colegas,
Les ruego muy gentilmente me indiquen donde puedo bajar el PBP, de hecho estaria muy agradecido si me lo envia a mi correo,
miguel.navia@cotel.bo
Con este especial motivo reciban un cordial saludo y que tengan un lindo fin de semana
Atte,
Mike_navia
-
ola sou novato en esto i weno me gustaria k me esplicaras k es el psp??
-
Bueno el PSP es Parallel Slave Port, al habilitar este modo en el PIC, automaticamente se reserva el Puerto D y el E para realizar comunicación paralela bidireccional, Puerto D como (D0-D7) y el Puerto E como RD WR y CS; con lo cual existe la posibilidad de realizar una comunicación con el PC a través del puerto paralelo. Para más información lee el datasheet del PIC16F874 ahi aparece la explicación más detallada del funcionamiento y control del PSP.
-
Gracias MGLSOFT, ojala podamos seguir mejorando y en especial en lo que respecta a la tarjeta de adquisicion controlada con labview.
-
ola, muxas gracias por la ayuda