Ir ao conteúdo
  • Cadastre-se

pisca 2 led com 16f628a, k150 e mplab xc8


Posts recomendados

Olá pessoal,

 

Estou fazendo um upgrade no meu climatizador (acréscimo de temporizador e sensor de nível de água pois o bichinho é muito básico);

 

No meu primeiro teste (PISCA-LED com 2 LEDs) já não entendi mais nada, pois no Proteus tudo funciona perfeitamente mas na prática não! Não consigo fazer 2 leds piscarem simultaneamente! Credo!

 

Meu simples código manda os LEDs piscarem alternadamente mas apenas um pisca o outro fica apagado, pensei que fosse a  PORT do PIC aí mudei o código para piscar noutra PORT e percebi que o que pisca é sempre o ultimo PORT do código, exemplo:

 

LED1 = RA0,  LED2 - RA1,  Só pisca o LED2

LED1 = RA1,  LED2 - RA2,  Só pisca o LED2

LED1 = RA0,  LED2 - RA2,  Só pisca o LED2

LED1 = RA1,  LED2 - RA0,  Só pisca o LED1

 

RA0=1, RA1=1, RA2=1,  era pros 3 LEDs acenderem, certo? Só acende o que estiver na RA2.

 

Com isso percebi que as PORTs estão boas, só não consigo acionar mais de uma duma vez!

 

O que está errado? O que falta? Me ajudem e desculpe qualquer coisa, sou bem iniciante.

 

Código MPLAB XC8:

 

///Programa : PIC16F628A
//Autor : JocsMister
 
#include <stdio.h>
#include <stdlib.h>
#include <xc.h>

//Define clock
#define _XTAL_FREQ 4000000

//configuração FUSES
#pragma config FOSC = INTOSCIO  // Oscillator Selection bits (INTOSC oscillator: I/O function on RA6/OSC2/CLKOUT pin, I/O function on RA7/OSC1/CLKIN)
#pragma config WDTE = OFF       // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = OFF       // Power-up Timer Enable bit (PWRT enabled)
#pragma config MCLRE = OFF      // RA5/MCLR/VPP Pin Function Select bit (RA5/MCLR/VPP pin function is digital input, MCLR internally tied to VDD)
#pragma config BOREN = OFF      // Brown-out Detect Enable bit (BOD Enabled)
#pragma config LVP = OFF        // Low-Voltage Programming Enable bit (RB4/PGM pin has digital I/O function, HV on MCLR must be used for programming)
#pragma config CPD = OFF        // Data EE Memory Code Protection bit (Data memory code protection off)
#pragma config CP = OFF         // Flash Program Memory Code Protection bit (Code protection off)
 
#define LED1_TRIS  TRISAbits.TRISA0
#define LED2_TRIS  TRISAbits.TRISA1
#define LED1       PORTAbits.RA0
#define LED2       PORTAbits.RA1


int main (void)
{
LED1_TRIS=0;
LED2_TRIS=0;
//LED1=0;
//LED2=0;
        
while(1)
{
  
  LED1=1;
  LED2=0;
__delay_ms(500); 
  LED1=0;
  LED2=1;
__delay_ms(500); 
 

}//while
}//main

 

Link para o comentário
Compartilhar em outros sites

@Isadora Ferraz

Em 15/12/2016 às 09:33, Isadora Ferraz disse:

pro PORTA você deve desabilitar o comparador no início do programa

CMCON=0xff;

Nossa, era isso mesmo! Não havia achado isso nos Pisca-Leds da Internet! 

 

Mas qual a diferença do CMCON=0xff pro CMCON=0x07? 

 

Só achei referência pra o segundo! 

Link para o comentário
Compartilhar em outros sites

@Isadora Ferraz

24 minutos atrás, Isadora Ferraz disse:

Antes tarde do que nunca I

nenhuma. O importante são os 3 1°s bits. Se achar que deve, dê uma olhadela no d.s.

 

Antes tarde do que nunca II

Vou considerar pleonasticamente palavra mágica subliminar implícita e de falar ... de nada

Não entendi o "Antes tarde do que nunca", mas muito obrigado. Resolvido. 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

perguntou na quarta e obteve a momentos depois. Revisitou o tópico dias e dias depois. Aí está o tarde I

 

1 hora atrás, JocsMister disse:

muito obrigado.

Aí sim senti firmeza. Aí está o tarde II. Aí sim fechou.

(aos poucos estou revendo meus conceitos de psicocriptografia kk)

 

então, fico feliz em dobro! Sucessos!

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...