collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: Ajuda- Programação em microC com LCD  (Lida 4293 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline paulo_mendes

  • Mini Robot
  • *
  • Mensagens: 4
Ajuda- Programação em microC com LCD
« em: 25 de Janeiro de 2011, 12:52 »
Boas pessoal...

Estou a tentar fazer um código em microC.
Que consiste em configurar e programar uma entrada analógica do microcontrulador ,monitorizar, em tempo-real, o valor da tensão de alimentação do circuito, a bateria é de 9,6 volts, e aparecer no LCD em percentagem.
- Leitura sequencial de várias entradas analógicas.

A pic que utilizo é 16F887.
Junto envio o circuito.

Alguem poderia ajudar?
Cumprimentos

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Ajuda- Programação em microC com LCD
« Responder #1 em: 25 de Janeiro de 2011, 18:16 »
O que já tens feito?
Avr fanboy

Offline paulo_mendes

  • Mini Robot
  • *
  • Mensagens: 4
Re: Ajuda- Programação em microC com LCD
« Responder #2 em: 25 de Janeiro de 2011, 18:27 »
Boas...

Obrigado pela colaboração,acabei agora mesmo de o concluir...

Abraço a todos..    ;)

Offline beirao

  • Mini Robot
  • *
  • Mensagens: 1.531
Re: Ajuda- Programação em microC com LCD
« Responder #3 em: 25 de Janeiro de 2011, 18:36 »
Boas...

Obrigado pela colaboração,acabei agora mesmo de o concluir...

Abraço a todos..    ;)

Epa... boa colaboração!! LOL

Ja agora.. vai ao sitio das apresentações e faz a tua apresentação.. e coloca entao o que fizeste relativamente ao LCD, pois a tua duvida pode ser a duvida de alguem !
"O único lugar onde o sucesso vem antes do trabalho, é no dicionário" - Albert Einstein

Offline paulo_mendes

  • Mini Robot
  • *
  • Mensagens: 4
Re: Ajuda- Programação em microC com LCD
« Responder #4 em: 25 de Janeiro de 2011, 18:54 »
Aqui está o código.


// LCD module connections
sbit LCD_RS at RD2_bit;
sbit LCD_EN at RD3_bit;
sbit LCD_D4 at RD4_bit;
sbit LCD_D5 at RD5_bit;
sbit LCD_D6 at RD6_bit;
sbit LCD_D7 at RD7_bit;

sbit LCD_RS_Direction at TRISD2_bit;
sbit LCD_EN_Direction at TRISD3_bit;
sbit LCD_D4_Direction at TRISD4_bit;
sbit LCD_D5_Direction at TRISD5_bit;
sbit LCD_D6_Direction at TRISD6_bit;
sbit LCD_D7_Direction at TRISD7_bit;
// End LCD module connections
#include "built_in.h"
unsigned char ch,resultado, *frase;                    //
unsigned int t;                 // Declaração das variáveis  ("unsigned int adc_rd;")
char a[17];                          //
long tlong;                          //

void main() {
    INTCON = 0;                      // Todas as interrupções desabilitadas
    ANSEL = 0x04;                    // Pin RA2 é configurado como uma entrada analógica
    TRISA = 0x04;
    ANSELH = 0;                      // Os pinos restantes são configurados como digital
    Lcd_Init();                      // inicialização do display doLCD
    Lcd_Cmd(_LCD_CURSOR_OFF);        // Comando LCD(cursor off)
    Lcd_Cmd(_LCD_CLEAR);             // Comando LCD (Limpar LCD)

    frase= "   ESER 2010  ";       // Definir a primeira mensagem
    Lcd_Out(1,1,frase);              // Escreve a primeira mensagem na primeira linha
    frase = "   Fábio, Paulo, Maciel   ";           //Definir a segunda mensagem
    Lcd_Out(2,1,frase);              // Escreve a segunda mensagem na segunda linha



    TRISA = 0xFF;                    // Todas as portas A são configuradas como entradas   
    Delay_ms(500);
      ADCON1 = 0x82;                   // A / D de referência de tensão é VCC
    ANSEL =0b00000001;              //o pino RA0 como entrada

     frase= "volt :";                 // Definir a terceira mensagem
    while (1) {
        t = ADC_Read(0);             // conversão A/D.  Pin RA0 é de entrada.
        Lcd_Out(2,1,frase);          // Escreve o resultado na segunda linha

        tlong = (long)t * 9600;      // Converte os resultados em milivolts
        tlong = tlong / 1023;        // 0..1023 -> 0-5000mV
        ch = t / 1000;           // conversão de volts para milivolts

        Lcd_Chr(2,7,48+ch);          // Escreve o resultado em formato ASCII

        ch = (tlong / 960) % 10;     // Conversão das cenenas de milivolts
        Lcd_Chr_CP(48+ch);           // Escreve o resultado em formato ASCII
        ch = (tlong / 96) % 10;      // Conversão para dezenas de milivolts
        Lcd_Chr_CP(48+ch);
       

        Lcd_Chr_CP('.');              // Escreve o resultado em formato ASCII
        ch = tlong % 10;             // Extract digits for millivolts
       Lcd_Chr_CP(48+ch);             // Escreve o resultado em formato ASCII
       ch*100;
        Lcd_Chr_CP('%');
        Delay_ms(1);
    }






Espero que seja util a alguém.
Abraço malta.

Offline Fifas

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 2.064
  • El RoboSapiens
Re: Ajuda- Programação em microC com LCD
« Responder #5 em: 27 de Janeiro de 2011, 03:40 »
paulo ainda bem que conseguiste ;)

Mais uma vez desculpa por nao te ter ajudado logo, mas como te disse, ando muito atrasado num projecto tambem. Mas agora ja sabes que quando nao conseguires, sempre podes passar aqui no forum que certamente teras ajuda :D


Abraço

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Ajuda- Programação em microC com LCD
« Responder #6 em: 27 de Janeiro de 2011, 03:48 »
O unico problema desse código é que é 100% dependente do teu compilador, mas desde que funcione, ainda bem.
Avr fanboy