TODOPIC
Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: george19 en 18 de Febrero de 2004, 07:04:00
-
Tengo que hacer un proyecto y no se como empezar. Se trata de dos pic´s que controlan un parking. El primero controla las vallas de entrada y salida, con dos sensores cada una uno al principio y otro al final. Si se activa el primer sensor S0 conectado a RA0 la valla se tiene que activar la valla(RB0)y si se desactiva sigue activado. Al activar el sensor S1 (RA0) se desactiva el motor de entrada conectado a RB0. Con el motor de salida pasaría lo mismo pero activando para poder activar el sensor S2 (RA2) un cajetin conectado a RA4, a alta.
El seguno pic controla el numero de coches y el semafor de que está el parkin lleno.Con el sensor S1(RA0 en este pic,RA1 en el anterior) se produce la cuenta ascendente hasta 9 y con el sensor S3(RA1en este RA3 en el anterior) se produce la cuenta descendente hasta 0. Cuando el display muestre el 9 (parking completo),por RB7 tiene que parecer un nivel alto para encender el led del semaforo.
El programa que llegue a hacer para las vallas es el siguiente, pero no me acaba de funcionar bien:
W EQU 0
f EQU 1
LIST P=16F84
PORTA EQU 0x05
TRISA EQU 0x85
PORTB EQU 0x06
TRISB EQU 0x86
OPCION EQU 0x81
STATUS EQU 0x03
RP0 EQU 0x05
C EQU 00h
ORG 00h
goto INICIO
ORG 05h
INICIO clrf PORTB
bsf STATUS,RP0
clrf TRISB
movlw b"00011111"
movwf TRISA
bcf STATUS,RP0
Loop clrwdt
btfsc PORTA,0
goto S0
btfsc PORTA,2
goto S2
goto Loop
S0 movlw b"00000001"
movwf PORTB
btfss PORTA,1
goto S0
movlw b"00000000"
movwf PORTB
goto Loop
S2 movlw b"00000010"
movwf PORTB
btfss PORTA,3
goto S2
movlw b"00000000"
movwf PORTB
goto Loop
END
Necesito ayuda que tengo que entregar pronto el proyecto. Muchas gracias.
-
Buenas, yo con el f84 tengo algo de experiencia, ese proyecto que tienes que hacer ya le hice yo el año pasado y solo utilicé un solo pic y además de todo eso que pones que tiene que hacer el mio tb comandaba un display donde te ponía los coches que había, pero bueno aparte yo empezaría por quitar todos esos equs pq el pic ya sabe donde tiene las cosas, lo único que pondría con equs son las variables que te inventes tu nada más, además si ese es tu programa creo que te falta el #include "p16f84.inc", pero bueno mira yo pondría esto y asi debe de funcionar además el 84 es facilísimo de programar por esto y miras a ver:
LIST P=16F84
#include "p16f84.inc"
;AQUI PONES LAS VARIABLES QUE VAYAS A UTILIZAR!!!
ORG 00h
goto INICIO
ORG 05h
INICIO
clrf PORTB
bsf STATUS,5
clrf TRISB
movlw b"00011111"
movwf TRISA
bcf STATUS,5
Loop clrwdt ;YO LO DEL PERRO LO QUITARIA Y AL GRABAR CON EL ICPROG LO DESACTIVAS
btfsc PORTA,0
goto S0
btfsc PORTA,2
goto S2
goto Loop
S0 movlw b"00000001"
movwf PORTB
btfss PORTA,1
goto S0
movlw b"00000000"
movwf PORTB
goto Loop
S2 movlw b"00000010"
movwf PORTB
btfss PORTA,3
goto S2
movlw b"00000000"
movwf PORTB
goto Loop
END
Espero haberte ayudado.
Un saludo.