Autor Tema: CGRAM Pic ccs  (Leído 4917 veces)

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

Desconectado mariacontenis

  • PIC16
  • ***
  • Mensajes: 116
CGRAM Pic ccs
« en: 02 de Octubre de 2011, 23:53:01 »
Un saludo amigos del foro y visitantes del mismo.

Bueno pues tengo un pequeño codigo que he desarrollado y que les sera muy util para los que quierean saber como realizar animaciones con la CGRAM.
Bien, pues se trata de un pequeño ventilador animado, espero les guste y en un par de dias subo el video para quienes lo quieran implementar.

Un saludo y cualquier comentario lo respondere, gracias.

Soy su amigo el Victor Manuel, lo de mariacontenis es por una banda de Rock que asi lleva el nombre.

 :D


         #include <18F4550.h>                                        // Pic a utilizar
         #device *=16                                                // Dispositivo de 16 bit´s
         #device adc=10                                              // ADC a 10 Bits
         #fuses PLL1,CPUDIV1,USBDIV,XTPLL,NOFCMEN,NOIESO,PUT,NOBROWNOUT,VREGEN,NOWDT,NOPBADEN,MCLR,NOSTVREN,NOLVP,NODEBUG,NOPROTECT,NOSTVREN,NOCPB,NOWRT     
         #use delay(clock=48000000)                                  // Frecuancia del CPU.         
         #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, PARITY=N, BITS=8, STOP=1, TIMEOUT=1000, ERRORS)  // Configuración del datos serie
         
         #byte porta = 0xF80                                         // Dirección del puerto A para la familia 18Fxx5x.
         #byte portb = 0xF81                                         // Dirección del puerto B para la familia 18Fxx5x.
         #byte portc = 0xf82
         #byte portd = 0xf83
         #byte porte = 0xf84
         
         #byte use_portd_lcd=8                                       // Define el puerto_d para la lcd.
         #include <lcd4x20d.c>                                       // Librería para el manejo del LCD
         

         void FAN (void)
         {
                 
         lcd_send_byte(0,0x40); // escribimos en la cgram en la direccion 0x40
         lcd_send_byte(1,0b11001); lcd_send_byte(1,0b01111); lcd_send_byte(1,0b01010); lcd_send_byte(1,0b11110);
         lcd_send_byte(1,0b10011); lcd_send_byte(1,0b00100); lcd_send_byte(1,0b01110);  lcd_send_byte(1,0b0);
         
         lcd_send_byte(0,0x48);
         lcd_send_byte(1,0b00100); lcd_send_byte(1,0b01110); lcd_send_byte(1,0b11011); lcd_send_byte(1,0b01110);
         lcd_send_byte(1,0b00100); lcd_send_byte(1,0b00100); lcd_send_byte(1,0b01110); lcd_send_byte(1,0b0);
         
         lcd_send_byte(0,0x50);
         lcd_send_byte(1,0b00110); lcd_send_byte(1,0b11110); lcd_send_byte(1,0b11011); lcd_send_byte(1,0b01111);
         lcd_send_byte(1,0b01100); lcd_send_byte(1,0b00100); lcd_send_byte(1,0b01110); lcd_send_byte(1,0b0);
         
         lcd_gotoxy(2,2); lcd_send_byte(1,0);
         delay_ms(160);
         lcd_gotoxy(2,2); lcd_send_byte(1,1);
         delay_ms(80);
         lcd_gotoxy(2,2); lcd_send_byte(1,2); 
         delay_ms(80);                   
               
         lcd_send_byte(0,0x58); // escribimos en la cgram en la direccion 0x58
         lcd_send_byte(1,0b00000); lcd_send_byte(1,0b01110); lcd_send_byte(1,0b01000); lcd_send_byte(1,0b01110);
         lcd_send_byte(1,0b01000); lcd_send_byte(1,0b01000); lcd_send_byte(1,0b00000);  lcd_send_byte(1,0b0);
           
         lcd_send_byte(0,0x60);
         lcd_send_byte(1,0b00000); lcd_send_byte(1,0b01110); lcd_send_byte(1,0b01010); lcd_send_byte(1,0b01110);
         lcd_send_byte(1,0b01010); lcd_send_byte(1,0b01010); lcd_send_byte(1,0b00000); lcd_send_byte(1,0b0);
         
         lcd_send_byte(0,0x68);
         lcd_send_byte(1,0b00000); lcd_send_byte(1,0b10010); lcd_send_byte(1,0b11010); lcd_send_byte(1,0b10110);
         lcd_send_byte(1,0b10010); lcd_send_byte(1,0b10010); lcd_send_byte(1,0b00000); lcd_send_byte(1,0b0);
         
         lcd_gotoxy(4,2); lcd_send_byte(1,3);
         lcd_gotoxy(5,2); lcd_send_byte(1,4);
         lcd_gotoxy(6,2); lcd_send_byte(1,5); 
         }
         
         
         void main(void)
         {
         lcd_init();         
               
         while(true)
         {
         
         FAN ();
         
         }   
         }
 


Desconectado mariacontenis

  • PIC16
  • ***
  • Mensajes: 116
Re: CGRAM Pic ccs
« Respuesta #1 en: 03 de Octubre de 2011, 00:34:31 »
 :-/


Aqui les dejo una imagen por que el video es muy pesado.

Si utilian el 18F4550 como el del codigo y estos mismos fuses, utilicen un cristal de 4 Mhz externo por qaue para este esta el PLL1, CPUDIV1. Ok, se los digo para que no tengan falla y de otra manera si utilizan un 16F como el 16f877a pues los fuses se tendran que modificar.

Aaaaaah, simulado en el proteus no funciona, tiene que ser fisico, pero creanme se ve bien y no se van arepentir al verlo.

Un saludo..

Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: CGRAM Pic ccs
« Respuesta #2 en: 03 de Octubre de 2011, 00:44:50 »
Gracias mariacontenis, lo probare
"Nada es imposible, no si puedes imaginarlo"

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: CGRAM Pic ccs
« Respuesta #3 en: 03 de Octubre de 2011, 10:38:29 »
Este programa puede serles útil: Generador de Caracteres CG-RAM.



Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado mariacontenis

  • PIC16
  • ***
  • Mensajes: 116
Re: CGRAM Pic ccs
« Respuesta #4 en: 04 de Octubre de 2011, 00:52:21 »
Orale!! Esta bien el software ya lo implemente, sin embargo le veo la deficiencia en que es muy largo el codigo que se genera. Pero es bueno al final de cuentas, gracias por compartirlo.

:-/

Desconectado T.E.I

  • PIC10
  • *
  • Mensajes: 18
Re: CGRAM Pic ccs
« Respuesta #5 en: 22 de Enero de 2012, 22:35:26 »
hola
mariacontenis tengo una pregunta adonde encontraste la libreria     lcd4x20d.c   es que tengo un proyecto con un 16f877a y y no e podido encontrar esta libreria para poder utilizar el puerto d con el lcd 4x20
muchas gracias

Desconectado LeugimZerO

  • PIC16
  • ***
  • Mensajes: 112
    • SmaTSoft Electronics
Re: CGRAM Pic ccs
« Respuesta #6 en: 23 de Enero de 2012, 00:20:18 »
esta con su codigo, puedes modificarlo si quieres y optimizarlos pero no creo que haga falta... quedo de lujo  :mrgreen:


 

anything