Esempio n. 1
0
/*!
 * \brief Pre-set all CGRAM characters
 *
 * \param set   Type of CGRAM stored in rom
 *
 */
void LCD_wr_cgram_all(void) {

	LCD_wr_cgram(0, &cgrom[0]);
	LCD_wr_cgram(1, &cgrom[8]);
	LCD_wr_cgram(2, &cgrom[16]);
	LCD_wr_cgram(3, &cgrom[24]);
	LCD_wr_cgram(4, &cgrom[32]);
	LCD_wr_cgram(5, &cgrom[40]);
	} else {
Esempio n. 2
0
/*!
 *      M       A       I       N
 *
 */
int main(void) {
    uint16_t poc = 0;
    uint8_t i,j;
    uint8_t dir;
    uint8_t tmp;

        LCD_init();                                     /* Initialize display */

        LCD_wr_cgram(0,&cgrom_p[0]);                    /* Program first char in CG-RAM */
        LCD_sendcmd(LCD_EN1 | LCD_EN2 | 0xc);           /* Disable cursors */

        for (i = 1; i < 5; i++)                         /* Fill display with pattern */
                for (j = 1; j < 41; j++) {
                        LCD_cursor_yx(i,j);
                        LCD_senddata(((i <3) ? LCD_EN1 : LCD_EN2)| 0);
                        _delay_ms(100);                 
                }
        LCD_sendcmd(LCD_EN1 | LCD_EN2 | 0x1);           /* Clear display */
                 
        i = 1; j = 1;
        dir = 0;
        do{
                LCD_cursor_yx(i,j);                                     /* Display figure */
                LCD_senddata(((i <3) ? LCD_EN1 : LCD_EN2)| 0);
                for (tmp = 0; tmp < 20; tmp++)
                        _delay_ms(10);                                  /* Wait for while */

                LCD_cursor_yx(i,j);
                LCD_senddata(((i <3) ? LCD_EN1 : LCD_EN2)| ' ');        /* Clear figure */
                switch(dir) {                                           /* State machine - direction control */
                        case 0: j++;                                    
                                if (j == 40) dir = 1;                   /* Right */
                                break;

                        case 1: i++;                                            
                                if (i == 4) dir = 2;                    /* Down */
                                break;
                        case 2: j--;
                                if (j == 1) dir = 3;                    /* Left */
                                break;
                        case 3: i--;
                                if (i == 1) dir =0;                     /* Up */
                                break;  
                }
        } while(1);
}
Esempio n. 3
0
File: lcd.c Progetto: h0nzZik/school
void LCD_wr_cgram_all(uint8_t set) {
	if (!set) {
		LCD_wr_cgram(0, &cgrom[0]);
		LCD_wr_cgram(1, &cgrom[8]);
		LCD_wr_cgram(2, &cgrom[16]);
		LCD_wr_cgram(3, &cgrom[24]);
		LCD_wr_cgram(4, &cgrom[32]);
		LCD_wr_cgram(5, &cgrom[40]);
	}
	else {
		LCD_wr_cgram(0, &cgrom2[0]);
		LCD_wr_cgram(1, &cgrom2[8]);
		LCD_wr_cgram(2, &cgrom2[16]);
		LCD_wr_cgram(3, &cgrom2[24]);
		LCD_wr_cgram(4, &cgrom2[32]);
		LCD_wr_cgram(5, &cgrom2[40]);
		LCD_wr_cgram(6, &cgrom2[48]);
		LCD_wr_cgram(7, &cgrom2[56]);
	}
	
}