Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

03/02/2011 #1

Avatar de Pelelalo

Como testear este maldito PIC
BUenas, he montado en una placa perforada un circuito para el PIC 16F876A. Al conectar el PIC he probado los 5V de la patilla Vdd y la MCLR, los 0V de las Vss. También he visto que por las patillas 9 y 10 (donde conecto el xtal de 4MHz) entran 0.27V y 0.63V de continua. Por ahora ¿todo bien?.

Estoy usando como plataforma software piklab e icprog. Piklab me compila el código con Sdcc y me da el .hex.

/* Plantilla generada por Piklab */
#include <pic16f876a.h>

/* ----------------------------------------------------------------------- */
/* Bits de configuración: adapte los parámetros a su necesidad */
typedef unsigned int word;
word at 0x2007 CONFIG = _XT_OSC & _WDT_OFF & _PWRTE_OFF & _BODEN_ON & _LVP_ON & _CPD_OFF & _WRT_OFF & _DEBUG_OFF & _CP_OFF;

void main() {

TRISA = 0x00;
RA0=1;
RA1=0;
RA2=1;
RA3=0;
while(1);
}


IcProg me lo graba y me dice que todo OK. Pero al poner el polímetro en RA0 y RA2 no veo los 5V que necesitaría.

1. Alguna sugerencia???
2. Puede estar quemado el PIC si el IcProg me dice que bien.
3. Puedo medir 5 voltios en una patilla que NO está conectada a nada?
4. Algún alma caritativa con un hex para 16F876A con el que testear el circuito.
03/02/2011 #2


Si ICProg dice OK, el pic debería estar bueno.
El código podría estar errado.

Para saber si el xtal funciona es necesario utilizar un osciloscopio.

Espera un rato que te revise el código alguien con más práctica que yo y ver que te dice.

Saludos:
03/02/2011 #3

Avatar de Basalto

Pon el ADCON1=0x06
04/02/2011 #4

Avatar de Pelelalo

Basalto dijo: Ver Mensaje
Pon el ADCON1=0x06
perdona Basalto, pero con esa instrucción ¿no estoy configurando el Puerto A como entradas digitales?. Lo digo porque en RA0 tengo un led.
04/02/2011 #5

Avatar de Basalto

Al poner el ADCON1 a 6 pones el PCFG a "1111" Lo que configuras como salidas digitales. Si no pones esto tus salidas son analogicas y cuando sacas un 1 por el puerto no te aparece.

El código en ensambrador sería:

LIST P=P16F876A
#INCLUDE P16F876A.INC
ORG 0X0
GOTO PRINCIPAL
ORG 0X05
PRINCIPAL
BANKSEL TRISB
MOVLW 0
MOVWF TRISA
MOVLW 0x6
MOVWF ADCON1
BANKSEL PORTA
MOVLW B'00000101'
MOVWF PORTA
BUCLE
GOTO BUCLE
END

Si no quieres cambiar tu codigo en vez de utilizar el Puerto A utiliza el Puerto B. Te tiene que funcionar
04/02/2011 #6

Avatar de Pelelalo

Basalto dijo: Ver Mensaje
Al poner el ADCON1 a 6 pones el PCFG a "1111" Lo que configuras como salidas digitales. Si no pones esto tus salidas son analogicas y cuando sacas un 1 por el puerto no te aparece.

El código en ensambrador sería:

LIST P=P16F876A
#INCLUDE P16F876A.INC
ORG 0X0
GOTO PRINCIPAL
ORG 0X05
PRINCIPAL
BANKSEL TRISB
MOVLW 0
MOVWF TRISA
MOVLW 0x6
MOVWF ADCON1
BANKSEL PORTA
MOVLW B'00000101'
MOVWF PORTA
BUCLE
GOTO BUCLE
END

Si no quieres cambiar tu codigo en vez de utilizar el Puerto A utiliza el Puerto B. Te tiene que funcionar
Graciassss. Lo pruebo en cuantito llegue a casa.
04/02/2011 #7

Avatar de Pelelalo

Basalto dijo: Ver Mensaje
Si no quieres cambiar tu codigo en vez de utilizar el Puerto A utiliza el Puerto B. Te tiene que funcionar
Fue lo que hice y funciono. Gracias de veras Basalto.
04/02/2011 #8

Avatar de Basalto

Para eso estamos
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.