En esta práctica vamos a utilizar un LCD gráfico, el cual será controlado por un PIC18F4550. La programación la llevaremos a cabo con el CCS C Compiler y la posterior simulación será realizada con Proteus (7.7 sp2).
En Proteus podeis encontrar varios tipos de LCD gráfico pero en mi caso he utilizado el LGM12641BS1R.
Ahora vamos a empezar con la programación del PIC, para ello debemos de crear un nuevo proyecto desde el CCS C y empezar con la programación en sí.
El código programado en el PIC es el siguiente:
/////////////////////////////////////////////////////////////////////////////////////
// AUTOR: Diego Lavín Febrero/2011
/////////////////////////////////////////////////////////////////////////////////////
// PROGRAMA: LCD Gráfico VERSIÓN: 1.0
// DISPOSITIVO: PIC18F4550 COMPILADOR: CCS vs4.93
// Entorno IDE: SIMULADOR: Proteus 7.7 sp2
// TARJETA DE APLICACIÓN: DEBUGGER:
// DISPOSITIVO: PIC18F4550 COMPILADOR: CCS vs4.93
// Entorno IDE: SIMULADOR: Proteus 7.7 sp2
// TARJETA DE APLICACIÓN: DEBUGGER:
/////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
//Muestra distintos caracteres por un lcd gráfico
//
/////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
//CABECERA///////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
#include <18F4550.h>
#fuses inths //oscilador interno
#use delay(internal=8Mhz) //frecuencia del oscilador
#include < hdm64gs12.c> //drivers lcd
#include < graphics.c> //contiene funciones para dibujar círculos, lineas...
#fuses inths //oscilador interno
#use delay(internal=8Mhz) //frecuencia del oscilador
#include < hdm64gs12.c> //drivers lcd
#include < graphics.c> //contiene funciones para dibujar círculos, lineas...
/////////////////////////////////////////////////////////////////////////////////////
//VARIABLES GLOBALES////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
char voltext[ ]="Diego"; //introduzco variables para introducir texto
char voltext3[ ]="Lavin";
char voltext2[ ]="2011";
char voltext3[ ]="Lavin";
char voltext2[ ]="2011";
/////////////////////////////////////////////////////////////////////////////////////
//FUNCIONES/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
//PRINCIPAL/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
void main( )
{
glcd_init(on); //enciende lcd
glcd_line(20,47,80,53,on); //dibuja una linea
glcd_rect(100,5,120,20,yes,ON); // dibuja un rectángulo con relleno
glcd_text57(1,1,voltext,1,ON); //introduzco las variables de texto
glcd_text57(35,1,voltext3,1,ON);
glcd_text57(100,55,voltext2,1,ON);
glcd_circle(30,25,15,no,on); //dibuja círculo
glcd_circle(30,24,5,yes,ON); //dibuja un círculo con relleno
glcd_circle(70,25,15,no,on);
glcd_circle(70,24,5,yes,ON);
}
{
glcd_init(on); //enciende lcd
glcd_line(20,47,80,53,on); //dibuja una linea
glcd_rect(100,5,120,20,yes,ON); // dibuja un rectángulo con relleno
glcd_text57(1,1,voltext,1,ON); //introduzco las variables de texto
glcd_text57(35,1,voltext3,1,ON);
glcd_text57(100,55,voltext2,1,ON);
glcd_circle(30,25,15,no,on); //dibuja círculo
glcd_circle(30,24,5,yes,ON); //dibuja un círculo con relleno
glcd_circle(70,25,15,no,on);
glcd_circle(70,24,5,yes,ON);
}
Ahora vamos a ver como queda la placa una vez finalizada. Hay que tener precaución con los packages usados en Proteus ya que algunos componentes no tienen o no se puede simular por lo que hay que deshabilitarlo para que la simulación se realize correctamente. De todas maneras en el Ares se pueden modificar los Footprints para que aquí ya sean los definitivos.
Vista en Ares:
Vista en Ares:
4 comentarios:
amigo podrias pasarnos lo necesario para este ejercicio? el link de descarga ya no funciona
HOla el link de descargaa no funnciona??
la descarga no funciona, y creo que los comentarios y opiniones sobre el problema tampoco
Al igual que la vida misma la red está llena de lugares inútiles
Publicar un comentario