Autor Tema: Generador de Caracteres CG-RAM  (Leído 48005 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado PalitroqueZ

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5470
    • Electrónica Didacta
Generador de Caracteres CG-RAM
« en: 30 de Octubre de 2006, 11:28:28 »
Link de descarga actualizado al 20-07-13

http://www.mediafire.com/download/oksuiu05u5okvg1/cgram_picture.rar



Hola foreros, aquí vengo con un programilla que tal vez le puedan ser útil, se trata de un programa realizado en Visual basic (lo quise pegar aqui, ya que trae 3 ingredientes: PIC+ensamblador+C) y sirve para facilitar la creación de caracteres para almacenarlo en la CG-RAM que traen las pantallas LCD, es tedioso tener que hacer aquello a mano, así que lo automaticé en un programa para que podamos dibujarlo tranquilamente en la computadora y después genere las tablas correspondiente.

estas son una imagenes de las pruebas que hice en el protoboard (y que hicieron falta ya que el proteus no mostraba ciertos detalles)

en ensamblador:









en lenguaje C









la libreria lcd_cxx.inc usada para ensamblador, se consigue en Curso Practico 1.zip de la página http://www.msebilbao.com/tienda/software.php

la libreria LCD.C usada en C, es la que trae el PCWH en la carpeta driver

les confieso que las pruebas en protoboard las hice con el 16F877, (no dispongo del 16F84A)
pero eso no altera la tabla (que es la misma), al código de ejemplo que genera el programa
solo cambié estas lineas:

ensamblador

Código: ASM
  1. ;*******************************************************************************
  2. ;   CODIGO A NIVEL DE PIXEL
  3. ;   CON 5 X 7 DOTS (se pueden crear hasta 8 caracteres solamente)
  4. ;   EN ESTE EJEMPLO SE PRUEBA COMO GRABAR NUEVOS CARACTERES
  5. ;   EN LA CG-RAM-DATA DIRECCIONANDO CADA LINEA CON EL CG-RAM-ADDRESS
  6. ;*******************************************************************************
  7.         List    p=16F84a        ;Tipo de procesador
  8.         include "P16F84a.inc"   ;Definiciones de registros internos
  9. ;************************************************************************
  10.         __CONFIG   _CP_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC
  11. ;************************************************************************
  12.         cblock  0x0c
  13. ...
  14. ...
por estas:

Código: ASM
  1. ;*******************************************************************************
  2. ;   CODIGO INVERSAMENTE (A NIVEL DE PIXEL)
  3. ;   CON 5 X 7 DOTS (se pueden crear hasta 8 caracteres solamente)
  4. ;   EN ESTE EJEMPLO SE PRUEBA COMO GRABAR NUEVOS CARACTERES
  5. ;   EN LA CG-RAM-DATA DIRECCIONANDO CADA LINEA CON EL CG-RAM-ADDRES
  6. ;*******************************************************************************
  7.         List    p=16F877        ;Tipo de procesador
  8.         include "P16F877.inc"   ;Definiciones de registros internos
  9. ;************************************************************************
  10.         __CONFIG        _CP_OFF & _DEBUG_OFF & _WRT_ENABLE_ON & _CPD_OFF & _LVP_OFF & _BODEN_ON & _PWRTE_ON & _XT_OSC & _WDT_OFF
  11. ;************************************************************************
  12.         cblock  0x20
  13.  
  14. ...
  15. ...
  16. ...
  17.  
  18.  
  19. ;************************************************************************
  20.         #include "Lcd_cxx.inc"    ; Rutinas de control LCD.
  21. ;*************************************************************************
  22. inicio:
  23.         bsf     STATUS,RP0        ;Banco 1
  24.         movlw   0X06            ;
  25.         movwf   ADCON1          ;
  26. ...
  27. ...


y en lenguage C

Código: C
  1. //*******************************************************************************
  2. //   CODIGO A NIVEL DE PIXEL
  3. //   CON 5 X 7 DOTS (se pueden crear hasta 8 caracteres solamente)
  4. //   EN ESTE EJEMPLO SE PRUEBA COMO GRABAR NUEVOS CARACTERES
  5. //   EN LA CG-RAM-DATA DIRECCIONANDO CADA LINEA CON EL CG-RAM-ADDRESS
  6. //*******************************************************************************
  7.  
  8. #include <16F84A.h>
  9. #fuses XT,NOWDT,PUT
  10.  
  11. ...
  12. ...
por estas:

Código: C
  1. //*******************************************************************************
  2. //   CODIGO INVERSAMENTE (A NIVEL DE PIXEL)
  3. //   CON 5 X 7 DOTS (se pueden crear hasta 8 caracteres solamente)
  4. //   EN ESTE EJEMPLO SE PRUEBA COMO GRABAR NUEVOS CARACTERES
  5. //   EN LA CG-RAM-DATA DIRECCIONANDO CADA LINEA CON EL CG-RAM-ADDRES
  6. //*******************************************************************************
  7.  
  8. #include <16F877.h>
  9. #fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,NODEBUG,BROWNOUT,NOCPD,NOWRT // 0x3F71
  10. ...
  11. ...

claro, el que tenga el 16F84 no tiene que sustituir nada, solo copiar al portapapeles y ¡listo!
pueden bajarlo aquí

también hay un "videito" que explica su funcionamiento.

última modificación: cambié el formato del video a wmv(es el mismo video), porque en algunas maquinas no se reproduce. Con este video se puede ver sin problemas.

Cualquier duda, comentario ó correción es bien recibida.

Salu2
« Última modificación: 21 de Julio de 2013, 00:51:40 por PalitroqueZ »
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: Generador de Caracteres CG-RAM
« Respuesta #1 en: 30 de Octubre de 2006, 19:13:54 »
Hola:

Buen trabajo PalitroqueZ, esta muy buena la herramienta, felicidades, y como siempre: "GRACIAS POR COMPARTIRLO"  :-/

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18271
    • MicroPIC
Re: Generador de Caracteres CG-RAM
« Respuesta #2 en: 01 de Noviembre de 2006, 19:10:20 »
Muy útil, Palitroquez. Muchas gracias.

Desconectado NEO 2K3

  • PIC10
  • *
  • Mensajes: 19
    • GPS - GPRS Integrada
Re: Generador de Caracteres CG-RAM
« Respuesta #3 en: 04 de Noviembre de 2006, 05:08:14 »
Muy buena esa, justo lo que necesito para mi proyecto GPS->GPRS
*******************************************
NEO 2K3
http://k.1asphost.com/wepescol
La grande es un PIC.

Desconectado PalitroqueZ

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5470
    • Electrónica Didacta
Re: Generador de Caracteres CG-RAM (MEJORADO)
« Respuesta #4 en: 06 de Diciembre de 2006, 12:23:53 »
Amigos, aquí hay una versión mejorada del programilla que colgué arriba y debo agradecer al amigo BrunoF, que me ayudó en la parte de los picturebox.

- Ahora si se puede guardar lo que se ha hecho, para no tener que empezar de nuevo un caracter que no nos acordemos como se dibuja.

- con el picturebox, usando la pintada se hace fácil dibujar con el mouse los pixels que conforman cada caracter (considerando el programilla anterior  :))

- está el código fuente completo para que alguien que tenga conocimientos en los lenguajes que faltan se los añada, falta (de lo que visto) el Basic (mikrobasic,picbasic,proton), el C de (Hitech, MikroC)

estuve haciendo unas simulaciones y vá bien, hasta el proteus muestra la velocidad de ejecución del asm frente al C, en los adjuntos estan unos circuitos para que hagan los ensayos.

para que simulara sin problemas el lcd en asm, usé la librería que colgó pocher, le cambié el nombre (para no alterar el programilla) a Lcd_cxx.inc

HISTORIAL DE CAMBIOS REALIZADOS

25-Dic-2007
- se quitó el control commdlg.ocx y mscommctl.ocx que aunque no se usa se cargaba en panel de proyectos. El código principal sigue sin modificaciones.

------------------------------------------------------------------------------------------------------------
modificación 07-Dic-2006:
sigo viendo el código que colgué para sacarle posibles detalles, y le modifiqué uno:

- cuando se desactiva la cuadricula y se clica en invertir pixel, se activa las cuadriculas en los controles del 1 al 7 (no debería pasar)

solución:
la última linea del procedimiento invertir_pixel(indice As Integer), es

cuadricula chkcuadricula(0).Value, indice

se debe sustituir el "0" por "indice"

la razón: inicialmente el código estaba hecho con un solo picturebox, así que el cero, justificaba ese argumento, ahora como son 7 puede cambiar dependiendo de la variable indice.

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

otra modificación:

Dentro del procedimiento mnuabrir_Click en las lineas:

For t = 0 To numero_caracteres
    pic_caracter(t).Enabled = True
Next t

sustituí numero_caracteres por 7 para que se habilitaran los pictureboxes después de cargar datos.

la razón: este for inhabilita momentaneamente los pictureboxes, esto lo hice como medida de seguridad, ya que algunas veces, pintaba en las cuadriculas cuando apenas cargaba los caracteres guardados, fijense en el código que hasta tuve que usar un retardo de 1 segundo.

adjunto corregido. 26-Dic-2007


« Última modificación: 27 de Diciembre de 2007, 15:38:29 por PalitroqueZ »
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Generador de Caracteres CG-RAM
« Respuesta #5 en: 06 de Diciembre de 2006, 12:30:14 »
Enhorabuena amigo.
Me alegro que hayas lanzado esta version.
Ahora le echare una mirada.

Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado Y@el

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 415
Re: Generador de Caracteres CG-RAM
« Respuesta #6 en: 19 de Febrero de 2007, 12:03:11 »
Hola Palitorquez,

Muy interesante tu programa. Queria pedirles permiso, para usar su programa y generar la combinacion para generar el codigo HEX, para grabar en una EEPROM. tal como esta en el POSTComo crear un archivo hex para memoria EEPROM

Desconectado PalitroqueZ

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5470
    • Electrónica Didacta
Re: Generador de Caracteres CG-RAM
« Respuesta #7 en: 19 de Febrero de 2007, 12:08:04 »
estas en plena libertad  :mrgreen:

si puedes ampliar las aplicaciones del programa, ¡mucho mejor!. también quería comentar que hace falta agregarles las rutinas para generar el código en Basic (para los amigos que programan en pic Basic).

Salu2
Pedro
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7907
Re: Generador de Caracteres CG-RAM
« Respuesta #8 en: 24 de Agosto de 2007, 14:23:03 »
Nadie lo ha utilizado para generar caracteres para el lenguaje C de CCS ??
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado mancupic

  • PIC10
  • *
  • Mensajes: 13
Re: Generador de Caracteres CG-RAM
« Respuesta #9 en: 24 de Agosto de 2007, 14:38:29 »
Hola PalitroqueZ 
 
 
Queria saber si podes ser tan amable de pasarme ese programita que mostras en este post, ya que tengo que hacer un caracter para trabajar un lcd, para un t.p. de la facu... desde ya, muchas gracias.

Atte. Walter

Desconectado PalitroqueZ

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5470
    • Electrónica Didacta
Re: Generador de Caracteres CG-RAM
« Respuesta #10 en: 24 de Agosto de 2007, 15:54:55 »
Hola mancupic.

en uno de mis post anteriores está en la parte de abajo como adjunto
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Generador de Caracteres CG-RAM
« Respuesta #11 en: 23 de Diciembre de 2007, 13:07:50 »
Hola

Pedro, en mi máquina no quiere correr la aplicación...



Voy a instalar VB6 para que corra, pero sería bueno recompilarla para los que no tienen VB.

Gracias por la aplicación!  :mrgreen:

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: Generador de Caracteres CG-RAM
« Respuesta #12 en: 23 de Diciembre de 2007, 13:40:13 »
Exelente trabajo Pali. muchas gracias por compartirlo.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado PalitroqueZ

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5470
    • Electrónica Didacta
Re: Generador de Caracteres CG-RAM
« Respuesta #13 en: 24 de Diciembre de 2007, 13:53:43 »
no me había percatado de eso, porque la aplicación trabaja directamente con comdlg32.dll y no necesita de registrar controles, voy a revisarlo a ver porque lanza ese mensaje.

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado reiniertl

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1187
Re: Generador de Caracteres CG-RAM
« Respuesta #14 en: 24 de Diciembre de 2007, 14:25:56 »
Hola Palitroquez.

Por qué no pasas el programa para SourceForgue, allí será más facil descargarlo y por supuesto mantener las versiones y mejoras que se hagan al programa.

Te felicito, excelente trabajo, y por supuesto no te olvides de hablar con Ariel para ponerlo donde tu sabes.

Slds
Reinier