Inicio > PIC > Escribir en el LCD Grafico con el Pic18f4550

Escribir en el LCD Grafico con el Pic18f4550

En este ejercicio muestra como utilizar un LCD grafico(HDM64GS12), controlado por un pic en este caso el 18F4550. Para programar el pic utilizaremos el lenguaje de CCS 4.068. Cuando este programado lo siguiente sera hacer el diseño del circuito con proteus 7.6, para despues terminar con el diseño de la PCB para poder montarlo en la placa.Lo primero debemos crear el codigo que por medio del pic vamos a controlar. La cabecera es lo primero, porque vamos a indicar el pic con el que vamos a trabajar que en este caso es el 18f4550, tambien las librerias del LCD Grafico, que son dos HDM64GS12.c que contiene los controladores para su uso y graphics.c que contiene las funciones para dibujar líneas, rectángulos, bares, círculos y texto en una pantalla.

////////////////////////////////////////////////////////////////////////////////////

//   AUTOR: Trujillo Alcocer Jesus Fernando  CIFP nº UNO          Enero/2011//////////
//   PROGRAMA:    LCD_GRAFICO       VERSIÓN:    1.0
//   DISPOSITIVO: PIC 18F4550                           COMPILADOR:    CCS 4.068
//   Entorno IDE:                                       SIMULADOR:    Proteus 7.6 sp0
//   TARJETA DE APLICACIÓN:                             DEBUGGER:
////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////
//Escribir en el LCD Grafico un texto y una serie de graficos                   //////
////////////////////////////////////////////////////////////////////////////////////
// CABECERA ////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
#include <18f4550.h>
#fuses INTHS
#use delay(Internal=8mhz)
#include <HDM64GS12.c>
#include <graphics.c>
#use fast_io(b)
#use fast_io(c)
////////////////////////////////////////////////////////////////////////////////////
// VARIABLES GLOBALES //////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
char mensaje[]="Jesus F. Trujillo",mensaje2[]="CIFP_nº1",mensaje3[]="21/01/11";
////////////////////////////////////////////////////////////////////////////////////
// FUNCIONES ///////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////
// PRINCIPAL ///////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
void main()
{
 glcd_init(on);                         //Inicializar LCD
 while(true)
 {
 glcd_circle(40,15, 8, Yes, ON);     //Dibujar un circulo con relleno
 glcd_circle(40,40, 8, Yes, ON);     //Dibujar un circulo con relleno
 glcd_circle(80,40, 8, NO, ON);      //Dibujar un circulo sin relleno
 glcd_circle(80,40, 4, NO, ON);      //Dibujar un circulo con relleno
 glcd_circle(80,40, 1, NO, ON);      //Dibujar un circulo con relleno
 glcd_circle(80,15, 8, NO, ON);      //Dibujar un circulo con relleno
 glcd_circle(80,15, 4, NO, ON);      //Dibujar un circulo con relleno
 glcd_rect(20,10,0,20,NO,ON);        //Dibujar un cuadrado sin relleno
 glcd_rect(0,0,120,50,NO,ON);        //Dibujar un cuadrado sin relleno
 glcd_line(128,25,0,25,on);          //Dibujar un cuadrado sin relleno
 glcd_text57(10,128,mensaje,1,on);//Escribir el texto que contiene la variable mensaje
 glcd_text57(0,55,mensaje2,1,on);//Escribir el texto que contiene la variable mensaje2
 glcd_text57(80,55,mensaje3,1,on);//Escribir el texto que contiene la variable mensaje3
 while(true){}
 }
}

Lo siguiente es hacer el diseño del circuito que vamos a emplear en la placa con la ayuda de proteus.

Una vez terminado el diseño con proteus, lo siguiente es pasar con Ares. En el diseño del circuito cuento con casi todos los footprint, que son la huella de los componentes de la placa. Al entrar nos preguntara por la huella del LCD grafico, que es el footprint con el que no cuento, pero simplemente damos a skip porque estamos usando un conector en lugar de usar el LCD. Lo siguiente es colocar los componentes y cuando tengamos definido las medidas con las que vamos a trabajar, que caras vamos a usar, que en nuestro caso solo seran dos, la top y la bottom; Una vez definido estos puntos solo nos quedaria hacer el autorutado de las pistas y ver como queda todo el diseño en 3D.

Anuncios
Categorías:PIC
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: