Ir ao conteúdo
  • Cadastre-se

PIC para LCD...


Smarley2

Posts recomendados

Eae!

Fiz um programa, para ler umas voltagens, entre elas uma que representará a temperatura.

Fiz ele para o 16F874, mas este PIC custa uns 30 reais aqui na minha região.

EU gostaria de saber se existe um PIC mais barato que este para eu usar com LCD.

Eu só preciso do LCD mais umas 5 portas.

Obrigado.

O programa que fiz é este:

Usei o CCS Compiler para faze-lo.

-----------------------------------------------------------------------------

#include "C:\Arquivos de programas\PICC\temp.h"

#include <LTC1298.C>

#define LCD_ENABLE_PIN PIN_B0

#define LCD_RS_PIN PIN_B1

#define LCD_RW_PIN PIN_B2

#define LCD_TYPE 1

#include <lcd.c>

long int valor;

int32 val32;

void main()

{

lcd_init();

setup_adc_ports(AN0);

setup_adc(ADC_CLOCK_INTERNAL );

setup_psp(PSP_DISABLED);

setup_spi(SPI_SS_DISABLED);

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);

adc_init();

while(true)

{

lcd_putc("\f");

valor=read_adc();

val32=(valor*4)+((int32)valor*113)/128;

printf(lcd_putc,"Tensão= %lu",val32);

delay_ms(500);

}

}

--------------------------------------------------------------------------

Link para o comentário
Compartilhar em outros sites

Comprei hoje no ML um gravador de PIC e umas coisinhas a mais:

1 - Gravador PICBURNER ZIF + Brindes (1 PIC e CD com cursos)

1 - Protoboard 3260 pontos

1 - LCD 16X2 c/ back azul

2 - Cristais de 4Mhz

1 - LM35

1 - 16F877A-I/P

Com isso ja vai da pra começar a programar os PIC's.

Paguei 16 reais neste PIC, e pelo que eu vi ele vai me servir para várias aplicações.

Eu só preciso de uma dicas para não fazer nada de errado n hora de grava.

Se alguem souber me dizer, eu agradeço.

Link para o comentário
Compartilhar em outros sites

*preste atençao no pino 1 e posiçao do CI antes de colocar no programador

*preste atençao no modelo do seu PIC 18f84 é diferente de 18f84A

*preste atençao na hora de montar o codigo, erros na escrita graves podem deixar a rom do pic ilegivel (já era)

*cuidado na hora de gerar o hex.

*preste atençao nas configuraçoes iniciais.

*monte um bom circuito de testes.(eu fiz um posso te passar um esquema)

*evite soldar o Pic na placa, use sempre soquete(estatica ferra o chip)

*sempre use ele em um soquete para nao danificar os pinos(muitos testes entre as programaçoes e protoboard)

*e se seu codigo funcionou, assine e guarde.

espero te ajudado.:D

Link para o comentário
Compartilhar em outros sites

Oi , me interessei por este teu projeto você fez ele pra ler tensão e temperaturas.

Até quantos sensores de temperatura?

Até quantas voltagens?

Tava pensando se tem como adaptar pra ler a tensão da fonte(3.3,5,12) e pra medir a temperatura do pc.(1 sensor no dissipador processador e um pra medir a temperatura do hd) e se possível exibir as informações em um display de 16x2.

Quero faze isso pois to usando um pc meio velho que não tem leitor de temperatura e voltagens.

T+ pessoal bons projetos:lol:

Link para o comentário
Compartilhar em outros sites

*preste atençao no pino 1 e posiçao do CI antes de colocar no programador

*preste atençao no modelo do seu PIC 18f84 é diferente de 18f84A

*preste atençao na hora de montar o codigo, erros na escrita graves podem deixar a rom do pic ilegivel (já era)

*cuidado na hora de gerar o hex.

*preste atençao nas configuraçoes iniciais.

*monte um bom circuito de testes.(eu fiz um posso te passar um esquema)

*evite soldar o Pic na placa, use sempre soquete(estatica ferra o chip)

*sempre use ele em um soquete para nao danificar os pinos(muitos testes entre as programaçoes e protoboard)

*e se seu codigo funcionou, assine e guarde.

espero te ajudado.:D

Obrigado pelas dicas!

Para quem ta começando todas que vierem são válidas!

Se puder, me mande este circuito para email/msn: [email protected]

Eu uso o proteus para simular os circuitos.

Eu prentendo comprar um led's e montar primeiro um programa ligando e desligando eles, isso com o PIC que irá vir junto, o 12F675, que é um pic mais barato.

Se tudo der certo parto para uma escrita no LCD, com o 16F877A.

Sobre o LCD, é o mesmo esquema do proteus, 14 pinos??

São só RS,RW e E. D0...D7, onde eu ligo no proteus apenas o D4,D5,D6,D7.

Mas no VDD,VEE e VSS eu não ligo nada la e ele funciona. Pra que servem estes pinos?(Certamente são para alimentação, mas eu não sei para que serve cada um deles.)

Acabei de achar um material muito interessante sobre o uso de LCD, estou postando o link: http://www.eletronica.org/arq_apostilas/1/lcd.zip

Ali fala para que serve cara pino do LCD, e ainda mostra um circuitinho para regular o contraste.

Sobre a solda ja tinha ouvido falar em nunca soldar com ele na placa, mas eu não sabia que erros no programa poderiam danificá-lo.

Nos pinos dos PIC's tem que ser botado algum resistor para limitar a corrente, ou pode ser colocado 5V direto para representar 1 lógico? da pra usar 12V no lugar de 5V?

Link para o comentário
Compartilhar em outros sites

Oi , me interessei por este teu projeto você fez ele pra ler tensão e temperaturas.

Até quantos sensores de temperatura?

Até quantas voltagens?

Tava pensando se tem como adaptar pra ler a tensão da fonte(3.3,5,12) e pra medir a temperatura do pc.(1 sensor no dissipador processador e um pra medir a temperatura do hd) e se possível exibir as informações em um display de 16x2.

Quero faze isso pois to usando um pc meio velho que não tem leitor de temperatura e voltagens.

T+ pessoal bons projetos:lol:

Cara este esquema ai é um conversor A/D usando como referencia a própria tensão do chip, os 5V.

Eu ainda não testei ler mais de uma porta, pelo menos com o 12F675 não funcionou, eu vou tentar com outro.

Este programa eu tirei de um livro que estou lendo, muito bom o livro por sinal, "PIC - Programação em C" de Fábio Pereira.

Link para o comentário
Compartilhar em outros sites

  • 11 meses depois...

Amigos,

tenho praticado no ccs com o 16f84a, leds conectados às porta 0,1 e 2 e no portb 0,1,2,3,4,5,6 e 7; os pinos porta 3 e 4 são entrada (resistências pull-up 10k aterráveis por botões).

O programas é simples, conforme o tempo que se aperta um botão ( porta_3 ou porta_4)

vai se somendo de um a um o valor de uma variável.

O problema é que os pinos portb_6 e portb_7 não se ativam por nenhum comado:

output_high(pin_b6)

output_bit(pin_b6 = 1)

mesmo transformando os port’s em variável eles não podem ser ativados.

#bit rb6 pin_rb6

#bit rb7 pin_rb7

a única forma possível é ativá-los é setando todo o port_b de uma só vez, o que não é de meu interesse.

Outra informação, com o port_b setado (led's ligados) ao zerar o pin_b6 tanto o led do pin_b6 como o pin_b7 são apagados.

Obs: este problema só ocorre como os pinos rb6 e rb7. O restante estão em perfeito funcionamento.

Posso anexar o arquivo.

Link para o comentário
Compartilhar em outros sites

Amigo Baca, tente desativar o modo de programação em baixa tensão e desative todas as entradas analógicas que você tiver pois se lembro bem RB6 e RB7 tem função de An6 e An7 por isso eles nao respondem a comandos digitais, faça assim SETUP_ADC_PORTS (NO_ANALOG) isso vai resolver.

**So uma nota evite de utilizar o CAPS LOCK , a a impressão de que você está gritando.

abrazz

Link para o comentário
Compartilhar em outros sites

Senhores,

O SETUP_ADC_PORTS (NO_ANALOG) não funciona no CCS e não sei como desativar o modo de programação em baixa tensão.

Uso o IC-prog - CCS - 16f84A e tenho um uJDM (funciona muito bem), o problema é que os pinos RB6 e RB7 não podem ser setados, ou seja, não tenho controle sobre eles.

Pensei que era o PIC e mudei para o 16f628A mas o problema com esses pinos permanecem, os outro funcionam como perfeitamente.

Acredito que seja um problema de programação, será que é uma das seguintes questões:

- MCLD - está ligado ao 5vcc através de um resistor de 10K, aterrável por um botão.

(Devo aumentar a resistência... ou reduzi-la...)

- Os PIC está em modo programação, por isso os pinos RB6 e RB7 não podem ser setados.

(Como desativo o modo programação)

- O CCS não compila direirto.

- O uJDM está queimando ou inabilitando os pinos definitivamente.

(Não utilizar este programador)

-------------------------------------------------------------------------------------------------------

Segue parte inicial do programa:

---------------------------------------------------------------------------------------------------------

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 parameter not selected from Intr Oscillotar Config tab

// TODO: USER CODE!!

PortA = (0b00000); // Portas A estão desligadas

trisa (0b11010); // PortA saída

PortA = (0b11000); // Portas A estão AJUSTADAS

PortB = (0b00000000); // Portas B estão desligadas

trisB (0b00000000); // Portas B são saída

---------------------------------------------------------------------------------------------------

O que devo fazer?

Alguém tem ou teve o mesmo problema?

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...