Hola Amigos:
Estoy intentando hacer mis primeros pinitos con los microcontroladores, de momento mi intención es activar y desactivar un puerto del PIC.
Lo intento con el PIC C Compiler (Modo Wizard).
y aquí os dejo también el SV v1.h:
Y adjunto una foto de la prueba en una protoboard
a la Izquierda tengo 5V y a la derecha ground
No disponía de una resistencia de 4k7 para el MCLEAR así que lo he intentado ajustar lo mejor posible con lo que tenía, 1k + 1k + 2k2 = 4k2
Como podréis observar no dispongo de Xtal, utilizo el oscilador interno.
He probado el esquema en el proteus:
Le he introducido el programa y funciona correctamente, pero cual a sido mi sorpresa al desconectar el MCLEAR, que sigue funcionando del mismo modo... ¿No debería de resetearse, y dejar de funcionar?
Cuando lo pruebo en la protoboard, se enciende el LED pero no se apaga, se queda permanentemente encendido.
Alguien tiene idea que hago mal?
Estoy intentando hacer mis primeros pinitos con los microcontroladores, de momento mi intención es activar y desactivar un puerto del PIC.
Lo intento con el PIC C Compiler (Modo Wizard).
Código:
#include "C:\Users\PIC's\Programas\SV v1.h"
//salidas
#define E1 PIN_A2
#define E2 PIN_A3
#define E3 PIN_A4
#define E4 PIN_A5
#define E5 PIN_B0
#define E6 PIN_B1
#define E7 PIN_B2
#define E8 PIN_B3
#define E9 PIN_A1
#define E10 PIN_A0
#define E11 PIN_A7
#define E12 PIN_A6
#define E13 PIN_B7
#define E14 PIN_B6
#define E15 PIN_B5
#define E16 PIN_B4
//estados
#define on output_high
#define off output_low
void main()
{
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
setup_oscillator(False);
// TODO: USER CODE!!
WHILE(1){
on(E1);
delay_ms(500);
off(E1);
delay_ms(500);
}
}
y aquí os dejo también el SV v1.h:
Código:
#include <16F628A.h>
#FUSES NOWDT //No Watch Dog Timer
#FUSES INTRC //Internal RC Osc
#FUSES PUT //Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES BROWNOUT //Reset when brownout detected
#FUSES MCLR //Master Clear pin enabled
#FUSES LVP //Low Voltage Programming on B3(PIC16) or B5(PIC18)
#FUSES NOCPD //No EE protection
#use delay(clock=4000000)
Y adjunto una foto de la prueba en una protoboard
a la Izquierda tengo 5V y a la derecha ground
No disponía de una resistencia de 4k7 para el MCLEAR así que lo he intentado ajustar lo mejor posible con lo que tenía, 1k + 1k + 2k2 = 4k2
Como podréis observar no dispongo de Xtal, utilizo el oscilador interno.
He probado el esquema en el proteus:
Le he introducido el programa y funciona correctamente, pero cual a sido mi sorpresa al desconectar el MCLEAR, que sigue funcionando del mismo modo... ¿No debería de resetearse, y dejar de funcionar?
Cuando lo pruebo en la protoboard, se enciende el LED pero no se apaga, se queda permanentemente encendido.
Alguien tiene idea que hago mal?