Ir ao conteúdo
  • Cadastre-se

Botoes com 16F628A


CIS

Posts recomendados

Tente iniciar com o pedaço abaixo. Não esqueça do MCLR no editor dos fuses, se deixar ativado será necessário um resistor de pullup neste pino.

void main() {

CMCON |= 0x07; //desativa os comparadores

TRISA = 0x00; //tudo saidas no portA

TRISB = 0x00; //tudo saidas no portB

PORTA = 0; //portA desligado inicialmente

PORTB = 0; //portB desligado inicialmente

while(1){

//escreva algum código aqui.

}

}

não deu certo, nem leds eu consegui fazer piscar ainda... quais são as chances de ser um problema no PIC, e comum o controlador dar problema?? porque o condigo compila e grava, mas não roda...mas continuar insistindo,kkkk

valeu mister, sobre o PCON... e sobre o LINK vou tentar novamente...

Link para o comentário
Compartilhar em outros sites

olá, estou iniciando programação em c em pic, vocês poderiam dar uma dica de qual livro é mais indicado a inciante? até mais e abraços

certamente o pessoal aqui tem boas indicações... quando busquei ajuda aqui pela primeira vez me indicaram primeiramente uma boa base com eletronica digital e depois um pouco de leitura sobre a linguagem assembly, que sem duvida é a melhor linguagem pra se entender o codigo a ser programado no pic... depois disso vem o seguinte: Qual pic você pretende iniciar ? depois vem o seguinte, você é estudante ou hobista ? dependendo do quando pretende gastar ira encontrar muitos livros sobre variados microcontroladores...pode encontrar pra comprar ou se procurar na net vai encontrar muito material pra baixar e começar, por exemplo o livre "conectando o pic 16F877A", é um otimo livro, que me indicaram, eu baixei e optei por imprimi-lo... aguarda a opniaõ dos mais experientes , o mulder fox tambem tem um tutorial super completo para o 16F628A, eu não sei onde esta o link, mas acho que no 4shared você ira encontrar...

boa sorte e bons estudos!!! tambem to na luta...

Link para o comentário
Compartilhar em outros sites

comecei ler o livro, mas devido estar em assembly to com muitas dificuldades... sei que posso parecer um cara "folgado", mas sera que alguem tem um exemplo pronto para o 16f628A no mickro c, ou sabe de algum tutorial que ensina configurar os fuses desse pic, no mickro c... quero pelo menos começar a acender leds...

vou continuar lendo e tentando, e agradeço desde ja qualquer ajuda...

Link para o comentário
Compartilhar em outros sites

aperte ctrl+shift+E

vai ter a opção

oscilador

escolha um que ta escreitoa mais ou menos assim

intosc pin as I/O function on ra6 I/O on ra7

esta opção é para usar o oscilador interno e os pinos que servem para dar clock externo e interno com função digital

watchdog off essa função é para se o pic travar reseta-lo

power up on essa opção é parao pic permanecer resetado por um tempo para a oscilação estabilizar

master clear off

brow out detect disable essa opção é para se a tensão cair abaixo de 4,5V ele é resetado

low voltage program off essa opção é para o pic ser gravado sem o VPP mas ai perde a função do pino ra5 ele devera ficar sempre aterrado

as ultimas duas opções é para proteger a memoria do pic deixe off

si no seu programa dentro do void main

escreva

cmcon=0x07; // desabilita comparadores de tensão

intcon=0x00; // desabilita interrupções

Link para o comentário
Compartilhar em outros sites

consigo compilar, o problema é para gravar... mas não sei se o problema fica no codigo ou no gravador, acho que e mais no gravador... uso um PICBURNER (comprado no mercado livre) e o PICpgm como software de gravação, so que ela da erro de gravação quando deixo a opções dos bits ativados, então eu desmarco a opção dos bits e ele grava, porém não executa nada...

Link para o comentário
Compartilhar em outros sites

é um que tem em duas cores para escolher azul e vermelho meu amigo tem um desses e aparece mesmo um erro que surge apenas com o microC é alguma coisa a ver com a memoria tipo o microC não diz quais espaços da memoria não é implementado ai da erro mas ha no CD que vem junto um negocio pra se fazer para corrigir isso procure ele aqui no forum o apilido dele é

void main

ele vai saber te ensinar e explicar certinho esse erro

Link para o comentário
Compartilhar em outros sites

é um que tem em duas cores para escolher azul e vermelho meu amigo tem um desses e aparece mesmo um erro que surge apenas com o microC é alguma coisa a ver com a memoria tipo o microC não diz quais espaços da memoria não é implementado ai da erro mas ha no CD que vem junto um negocio pra se fazer para corrigir isso procure ele aqui no forum o apilido dele é

void main

ele vai saber te ensinar e explicar certinho esse erro

vou tentando, so que ta estranho porque tenho uns exemplos prontos feito no ccs que grava e executa perfeitamente... sera que tenho que mudar de compilador??? mais uma coisa, como instalar o ccs no windows 7, tem que ser modo compatibilidade??? não estou conseguindo ...

valeu

Link para o comentário
Compartilhar em outros sites

consegui gravar ontem e o programa executou tranquilo... mas em seguida, com um outro programinha "bobo" o PICpgm, agora a versão 1643 que baixei ontem, deu um erro e acho que perdi o pic... p q o software reconhece o 16f877A, o 12f675 mas quando coloco o 16f628a ele sempre da erro...

vamos ver o que vai dar, vou comprar outro pic pra novos testes...

valeu!!!

ufa!!! ate que enfim consegui gravar uns codigos pra leds e deu tudo certo... agora é hora de começar a implementar uns botões e outras coisas... ja consegui codigos simples para leds e lcd... valeu pessoal, obrigado pela ajuda de vocês... e com certeza vou precisar de mais ajuda!!!

valeu!!!

Link para o comentário
Compartilhar em outros sites

CIS,eu tambem tenho o kit ACEPIC18 para o PIC 16F628A,no kit veio uns exemplos no cd,todos que eu gravei funcionaram,inclusive o LCD.

Mas segue abaixo uma rotina que eu fiz para o pic 16f628a,copie e cole no teu compilador e me diga se funcionou.

program Lcd_default_test

dim text as char[20]

main:

TRISB = 0 ' PORTB is output

Lcd_Init(PORTB)

Delay_ms(3000) ' Initialize LCD on PORTB

Lcd_Cmd(Lcd_CURSOR_OFF)

text = "JC Assistencia"

lcd_cmd(Lcd_Clear)

lcd_cmd(Lcd_Move_Cursor_Left)

Lcd_Out(1, 1, text) ' escreve texto primeira linha, a partir da primeira coluna

lcd_cmd(Lcd_Underline_On)

lcd_cmd(Lcd_Shift_Right)

text = "Jose C. Raymundo"

Lcd_Out(2, 1, text) ' escreve texto segunda linha, a partir da primeira co

end.

Link para o comentário
Compartilhar em outros sites

ok, mas qual compilador você usa ??? não consigo muita coisa no CCS , então uso mais o mickro C pro for PIC versão 5.40.. ja usou ele??

pelo que vi você parece programar com BASIC, nao é??? eu não conheço nada de basic, optei por aprender C e ASM...

você tem muito tempo de programador de pic???

seguinte pessoal...como criar um interrupção de timer0 no mickroC pro PIC16F628A??? alguma dica...

Link para o comentário
Compartilhar em outros sites

ok pessoal, timer 0 eu ja consegui...agora quero tentar o timer 1 e to com uma duvida na questão so prescaler do timer 1, e tambem sobre o registrador option e t1con... sobre as habilitações da interrupção...

_ o option_reg deve ser substituido pelo t1con ?

_ tenho que configurar o prescaler do timer 1 ou posso usar o mesmo prescaler que usei para o timer0 ?

_outra duvida é como declarar uma variavel de 32 bits no mickroC, alguem sabe?

vou continuar tentando aqui, mas se alguem puder me dar umas dicas... valeu pessoal!!!

Link para o comentário
Compartilhar em outros sites

ok, mas qual compilador você usa ??? não consigo muita coisa no CCS , então uso mais o mickro C pro for PIC versão 5.40.. ja usou ele??

pelo que vi você parece programar com BASIC, não é??? eu não conheço nada de basic, optei por aprender C e ASM...

você tem muito tempo de programador de pic???

seguinte pessoal...como criar um interrupção de timer0 no mickroC pro PIC16F628A??? alguma dica...

Sim,eu uso o mikrobasic,achei o c meio complicado.

Comecei lendo o livro Desbravando o PIC que ensina o hardware do pic16f84a e a linguagem assembler,devorei o livro,li reli varias vezes e consegui aprender um pouco de assembler,mas eu acho essa linguagem muito cansativa,mas para quem quer aprender a fundo e conhecer detalhadamente o que esta acontecendo dentro do pic,bit a bit essa linguagem é mais indicada.

Link para o comentário
Compartilhar em outros sites

conto com a ajuda de vocês pra realmente agora montar meu primeiro circuito... quero montar um termostato, com o pic 16F628A, na verdade um termostato e um temporizador...

o termostato e para controlar a temperatura numa incubadora e o temporizador ira fazer um motor girar em tempo ciclico de 2 em 2 horas, e um motor pequeno de 5/6rpm 4W... não sei por onde começar...

Link para o comentário
Compartilhar em outros sites

aí CIS peguei o barco andando não sei se você conseguiu os do LCD. Eu abri um post pois estava com uma duvida d como inicializalo manualmente sem usar bibliotecas próprias do compilador mikroc qualquer coisa procura la se for ajudar em algo XD

consegui o lcd com a biblioteca do compilador mesmo... agora to quebrando a cabeça com o timer1... tambem to muito em duvida sobre que tipo de circuito tentar montar primeiro, pensei nesse temporizador que postei pedindo ajuda... vou ver... valeu!!!

Link para o comentário
Compartilhar em outros sites

Alguem poderia me dar uma ajuda com timer1 do 16F628A... ja tentei muita coisa e nada funciona.Não to entendendo as contas e tambem os dois registradores TMR1L e TMR1H...

tentei esse codigo aqui da ultima tentativa, mas não deu nada...

void interrupt()
{

if (PIR1.TMR1IF ==1) // checa se a flag é do timer1
{
portb = ~portb;

PIR1.TMR1IF = 0; // limpa a flag
PIE1.TMR1IE = 1; // reabilita a interrupção
TMR1L = 0b00000000; // preload do timer0
TMR1H = 0b00000000;
}
}

void main() {

CMCON = 0x07;
TRISB = 0x00;
PORTB = 0x00;
T1CON = 0X00;

//Veja no datasheet como ficam as configurações abaixo:
T1CON.TMR1ON = 1;
T1CON.TMR1CS = 0;
T1CON.T1CKPS1 = 0;
T1CON.T1CKPS0 = 0;
T1CON.T1OSCEN = 0;

TMR1L = 0b00000000;
TMR1H = 0b00000000;
PIR1 = 0b00000000;

INTCON = 0;
INTCON.GIE = 1;
INTCON.PEIE = 0;
INTCON.T0IE = 0;
PIE1.TMR1IE = 1;

for(;{}

}

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para 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...