|
Comunidad de discusión sobre Automatización, Electrónica industrial, Microcontroladores y electrónica digital, Robótica, Domótica, Telemática, Tecnologías móviles, y muchos temas más.
Falla mi pic16f84a, falla su programa o el programador, nose
 | #1 Falla mi pic16f84a, falla su programa o el programador, nose |  |
|
Zettaextremo
| Ubicación: Rio Bravo, Mexico |
| Registrado: 01 Nov 2007 |
| Mensajes: 34 |
|
 |
| Publicado: 28 Feb 2008, 11:16 pm |
|
|
 |
 |
Disculpen pero tengo un pequeño problema al programar un pic 16f84a, no se si me faltaran algunas instrucciones que van al inicio, lo del resto del programa esta bien, algun detalle que se me haya escapado, con eso prendere unos leds, simulando que enciendo un motor, pero ni siquiera en la subrutina de descanso se prenden los leds que se deberian prender por eso digo que el problema es yo creo en la asignacion de puertos de salida y entrada... si necesitan alguna informacion extra se las respondo enseguida, tambien no se si puedan pasarme un pequeño programa de prender solo un led, uno que ya sirva, para vr si el problema es el programador.
- Código: Seleccionar todo
List p=16f84a
INCLUDE <P16F84A.INC>
__CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC
timer1 equ 0c
timer2 equ 0d
timer3 equ 0e
motoraa1 equ porta, 3 ;leds
motoraa2 equ porta, 2
motorab1 equ porta, 0
motorab2 equ porta, 1
motorba1 equ portb, 3
motorba2 equ portb, 2
motorbb1 equ portb, 4
motorbb2 equ portb, 5
motorc1 equ portb, 6
motorc2 equ portb, 7
entrada1 equ portb, 0 ;entrada de dos interruptores que
entrada2 equ portb, 1 ;que estan conectados desde +5v
;y de unas resistencias de 10kohms
org 0x0000
goto encendido
org 0x0004
nop
encendido
clrwdt ;limpia el perro guardian
movlw b'00000000'
movwf intcon
bcf STATUS, rp1
bsf status, rp0
movlw b'00000000'
movwf option_reg
movlw b'00000000' ;todas son salidas en porta
movwf trisa
movlw b'00000011' ;solo porta 0 y porta 1 son entradas las demas
movwf trisb ;salidas
bcf status, rp0
clrf porta ;limpia los puertos
clrf portb
Principal
menu call descansar ;hace una demora
btfsc entrada1
call marcar_paso
btfsc entrada2
call girar
goto menu
marcar_paso clrf entrada1
clrf entrada2
bsf motoraa1
bsf motorab1
bsf motorba1
bsf motorbb1
call tempo
call tempo
call tempo
bcf motoraa1
bcf motorab1
bcf motorba1
bcf motorbb1
ciclo1 bsf motoraa2
bsf motorba2
call tempo
call tempo
bcf motoraa2
bcf motorba2
bsf motoraa1
bsf motorba1
call tempo
call tempo
bcf motoraa1
bcf motorba1
btfsc entrada2
goto continuar1
bsf motorab2
bsf motorbb2
call tempo
call tempo
bcf motorab2
bcf motorbb2
bsf motorab1
bsf motorbb1
call tempo
call tempo
bcf motorab1
bcf motorbb1
goto ciclo1
continuar1 clrf entrada1
clrf entrada2
call tempo
return
girar clrf entrada1
clrf entrada2
bsf motoraa1
bsf motorab1
bsf motorba1
bsf motorbb1
call tempo
call tempo
call tempo
bcf motoraa1
bcf motorab1
bcf motorba1
bcf motorbb1
bsf motoraa2
bsf motorba2
call tempo
call tempo
bcf motoraa2
bcf motorba2
bsf motorc1
call tempo
bcf motorc1
ciclo2 bsf motoraa1
bsf motorba1
call tempo
call tempo
bcf motoraa1
bcf motorba1
bsf motorab2
bsf motorbb2
call tempo
call tempo
bcf motorab2
bcf motorbb2
bsf motorc2
call tempo
call tempo
bcf motorc2
nop
nop
bsf motorab1
bsf motorbb1
call tempo
call tempo
bcf motorab1
bcf motorbb1
btfsc entrada1
goto continuar2
bsf motoraa2
bsf motorba2
call tempo
call tempo
bcf motoraa2
bcf motorba2
bsf motorc1
call tempo
call tempo
bcf motorc1
goto ciclo2
continuar2 clrf entrada1
clrf entrada2
bsf motorc1
call tempo
bcf motorc1
return
descansar bsf motoraa2
bsf motorab2
bsf motorba2
bsf motorbb2
call tempo
call tempo
call tempo
bcf motoraa2
bcf motorab2
bcf motorba2
bcf motorbb2
return
tempo movlw 15
movwf timer3
temp1 movlw 20
movwf timer2
temp2 movlw 25
movwf timer1
temp3 decfsz timer1
goto temp3
decfsz timer2
goto temp2
decfsz timer3
goto temp1
return
END
|
|
Ultima edición por Zettaextremo el 01 Mar 2008, 3:53 pm, editado 2 veces
|
|
Meta
| Ubicación: 16F84A |
| Registrado: 20 Ene 2008 |
| Mensajes: 1190 |
|
 |
| Publicado: 28 Feb 2008, 11:52 pm |
|
|
 |
 |
Ya que utilizas CALL, sería que metieras algunos código repetitivos con un archivo a parte.
Deberías poner información a cada línea de códigos y lo mejor un diagrama de flujo.
PD: Bueno, lo de prender un led en España entenderíamos como encender un led, en España es como si entendemos, prender fuego a un led.
|
|
|
|
Meta
| Ubicación: 16F84A |
| Registrado: 20 Ene 2008 |
| Mensajes: 1190 |
|
 |
| Publicado: 29 Feb 2008, 1:28 am |
|
|
 |
 |
Que yo sepa el www.pic16f84a.com , el RP1 del 16F84A no se usa.
Ejemplo:
- Código: Seleccionar todo
; ZONA DE CÓDIGOS ********************************************************************
ORG 0 ; El programa comienza en la dirección 0.
Inicio
bsf STATUS,RP0 ; Acceso al Banco 1.
clrf TRISB ; Las líneas del Puerto B se configuran como salida.
movlw b'00011111' ; Las 5 líneas del Puerto A se configuran como entrada.
movwf TRISA
bcf STATUS,RP0 ; Acceso al Banco 0.
|
|
|
|
Leon Elec
| Ubicación: Argentina |
| Registrado: 07 Nov 2007 |
| Mensajes: 267 |
|
 |
| Publicado: 29 Feb 2008, 8:16 am |
|
|
 |
 |
Hola
¿Con qué programa lo simulaste?
|
|
|
|
Zettaextremo
| Ubicación: Rio Bravo, Mexico |
| Registrado: 01 Nov 2007 |
| Mensajes: 34 |
|
 |
| Publicado: 29 Feb 2008, 11:59 pm |
|
|
 |
 |
hola, bueno disculpen, por no poner mas explicaiones en el programa, lo que me interesa es concocer el error del pic, no dispongo de ningun simulador, asi que lo estoy programando ya fisicamente, con el programa ic-prog, y que ya incluye su tabla para programar, en el programa lo que pienso que esta mal es el principio, aqui les dejo el simple diagrama, los leds van a tierra, el cuarzo que utilizo es de 4mhertz, conectado a dos capacitores de 22pf, el reset lo tengo conectado a una resistencia de 1 kohm, agradeceria algun pequeño consejo, me encargare de colocar mas informacion en cada linea de codigo del pic.
enlace:
http://metroflog.com/artur0oo0xxtreme/20080229/diagrama?pos=20080229
las unicas entradas son la de los microswitches todas las demas son salidas, pero lo curioso es que segun yo el programa deberia empezar prendiendo todos los leds rojos, pero no pasa nada, cuando copio mi programa en el programador me pregunta si deseo intercambiar bits, le pogno si, y cuando reviso el programa no concuerda con el que habia hecho yo al principio, a lo mejor ese es el error pero pues tambien a lo mejor asi deberia pasar.
Como saber si mi pic funciona? se puede probar con algo? tambien me intereso eso de los simuladores, no conosco, no se si se pueda poner el link para bajar alguno.
gracias
|
|
|
|
El nombre
| Ubicación: Alicante |
| Registrado: 28 Jun 2006 |
| Mensajes: 1445 |
|
 |
| Publicado: 01 Mar 2008, 1:06 am |
|
|
 |
 |
que son gratis!
Los habemos tan agarraos que no bajamos no los productos gratuitos.
no había termiado de de leer tu post. y añado este comentario:
Si leyeras un poco más verias que se llama MPLAB. pones eso en un buacador junto a descarga y vas a flipar
un ejemplo;
http://www.microchip.com/stell.....t=SW007002
Suerte
PD ni pienses por un momento en hacer la pregunta del manual en castellano que ...
|
|
|
|
Zettaextremo
| Ubicación: Rio Bravo, Mexico |
| Registrado: 01 Nov 2007 |
| Mensajes: 34 |
|
 |
| Publicado: 01 Mar 2008, 10:08 am |
|
|
 |
 |
jeje ok no sabia que eran gratis pero ahora ya se, es que me aviente en un proyecto de hacer un hexapodo que camine por todo terreno, y sin tener conocimiento de nada, como apenas voy en segundo semestre de la universidad no hemos visto nada de electronica puras matematicas, mi meta es hacer este robot, para cuando ya entre a lo que realmente es robotica decir "aaa asi es como se hubiera hecho, o asi es mas facil o es mejor como yo lo hice" gracias por ayudarme, y el nombre no te preocupes vivio en la frontera con EUA y se leer el ingles perfectamente, voy a checar mi programa en el mplab, si funciona bien es el pic que no funciona normal, bueno gracias.
|
|
|
|
Meta
| Ubicación: 16F84A |
| Registrado: 20 Ene 2008 |
| Mensajes: 1190 |
|
 |
| Publicado: 01 Mar 2008, 10:10 am |
|
|
 |
 |
Campras libros de robótica y de pic.
|
|
|
|
anthony123
| Ubicación: En algun lugar de Venezuela |
| Registrado: 22 Ago 2007 |
| Mensajes: 2322 |
|
 |
| Publicado: 01 Mar 2008, 10:12 am |
|
|
 |
 |
Deberias cambiar el titulo: pareciera que es el pic el que no esta funcionando! 8)
|
|
|
|
mabauti
| Ubicación: México |
| Registrado: 22 Oct 2006 |
| Mensajes: 1134 |
|
 |
| Publicado: 01 Mar 2008, 11:26 am |
|
|
 |
 |
|
|
|
 | Foros de Electronica |  |
|
 |