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

Temas similares

17/07/2011 #1

Avatar de maikol

Salidas del GPIO del 12f675
Hola a todos,

Estoy intentando ver cómo cuenta el temporizador TMR0 del PIC12f675. Para ello, incremento una variable y saco algunos de sus bits por la E/S.

Curiosamente, pinchando las salidas del osciloscopio sólo en GP5 encuentro una señal cuadrada y de la frecuencia esperada. Las demás, GP4, GP2, GP1 y GP0 permanecen a 0 y pegan un impulso muy rápido a 1 de forma periódica (de corta duración, algunos µs). Diría que ese impulso salta a la frecuencia correcta, pero al ser demasiado rápido no lo he conseguido medir.

Creo que algo está pisando esos bits bajándolos a 0 tan pronto termina la interrupción pero ando completamente perdido . ¿ Alguien tiene alguna sugerencia? El PIC no está dañado porque he programado uno nuevo y hace lo mismo.

Este es el código:
Código PHP:
#include <htc.h>

        
volatile unsigned char cuenta 0;

void interrupt  interr ()
{
if ( 
T0IF )
        {
        
T0IF 0;
        
cuenta++;

        
GP0 cuenta >> 1;
        
GP1 cuenta >> 2;
        
GP2 cuenta >> 3;
        
GP4 cuenta >> 4;
        
GP5 cuenta >> 5;
        }
}

main ()
{
// salidas: 0 (GP0, GP1, GP2, GP4, GP5)
// entrada: 1 (GP3)
TRISIO 0b001000;

// salidas inicializadas
GP0 0;
GP1 0;
GP2 0;
GP4 0;
GP5 0;

// configuración de TMR0 con:
// T0CS:   0 (reloj interno de cuenta)
// PSA:    0 (prescalado asignado a TMR0)
// PS:   111 (prescalado de 256)
OPTION_REG 0b00111;

// habilitar interrupción de TMR0 y global
T0IE 1;
GIE 1;

while ( 
)
        
_nop ();

¡¡ Gracias!!
18/07/2011 #2

Avatar de maikol

Ya lo he solucionado.

Resulta que tanto el módulo A/D como el comparador por defecto están activados al arrancar. Faltaría por añadir en main() para inhabilitarlos:

Código PHP:
ADCON0 0x00;
ANSEL  0x00;
CMCON  0x07
Con este cambio en todas las E/S se vislumbra una maravillosa señal cuadrada.

¡ Un saludo!
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.