// inicializace LCD void nastE(void) { Delay100TCYx(8); // 256,00 cycles 25600 * 0.25*8 = 48ms PORTB =0x02; // 4bit PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; // nastav E Delay10TCYx(0); // cekej 640us TOTO V DATAshitu neni PORTB =0x02; // PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E PORTB =0x08; // 2 line PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E //----------------------------------------- Delay10TCYx(0); // cekej 640us PORTB =0x00; // PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E PORTB =0x0C; // PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E //----------------------------------------- Delay10TCYx(0); // cekej 640us PORTB =0x00; // PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E PORTB =0x01; // PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E //----------------------------------------- Delay100TCYx(0); // cekej 1ms PORTB =0x00; // PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E PORTB =0x06; // 1 ID SH PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E Delay10TCYx(0); // cekej 640us } TRISBbits.TRISB0 = 0x00; // nastav pin jako vystupni DB4 PORTBbits.RB0 = 0x00; // nastav PIN do 0 TRISBbits.TRISB1 = 0x00; // nastav pin jako vystupni DB5 PORTBbits.RB1 = 0x00; // nastav PIN do 0 TRISBbits.TRISB2 = 0x00; // nastav pin jako vystupni DB6 PORTBbits.RB2 = 0x00; // nastav PIN do 0 TRISBbits.TRISB3 = 0x00; // nastav pin jako vystupni DB7 PORTBbits.RB3 = 0x00; // nastav PIN do 0 TRISAbits.TRISA0 = 0x00; // nastav pin jako vystupni E PORTAbits.RA0 = 0x01; // nastav PIN do 0 TRISAbits.TRISA1 = 0x00; // nastav pin jako vystupni RS PORTAbits.RA1 = 0x00; // nastav PIN do 0 // prepni se na prvni radek PORTAbits.RA1 = 0x00; // RS =0 PORTB =0x08; // PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E PORTB =0x00; // PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E Delay10TCYx(0); // cekej 640us // posli ahoj na prvni radek PORTAbits.RA1 = 0x01; // RS = 1; PORTB =0x04; // PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E PORTB =0x01; // PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E Delay10TCYx(0); // cekej 640us PORTB =0x04; // PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E PORTB =0x08; // PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E Delay10TCYx(0); // cekej 640us PORTB =0x04; // PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E PORTB =0x0F; // PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E Delay10TCYx(0); // cekej 640us PORTB =0x04; // PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E PORTB =0x0A; // PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E Delay10TCYx(0); // cekej 640us // prepni se na druhej radek PORTAbits.RA1 = 0x00; // RS =0 PORTB =0x0C; // PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E PORTB =0x00; // 1 ID SH PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E Delay10TCYx(0); // cekej 640us // posli ivanko na druhy radek PORTAbits.RA1 = 0x01; // RS = 1; PORTB =0x04; // i PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E PORTB =0x09; // PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E Delay10TCYx(0); // cekej 640us PORTB =0x05; // v PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E PORTB =0x06; // PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E Delay10TCYx(0); // cekej 640us PORTB =0x04; // a PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E PORTB =0x01; // PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E Delay10TCYx(0); // cekej 640us PORTB =0x04; // n PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E PORTB =0x0E; // PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E Delay10TCYx(0); // cekej 640us PORTB =0x04; // k PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E PORTB =0x0B; // PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E Delay10TCYx(0); // cekej 640us PORTB =0x04; // o PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E PORTB =0x0F; // PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E Delay10TCYx(0); // cekej 640us PORTB =0x02; // ! PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E PORTB =0x01; // PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E Delay10TCYx(0); // cekej 640us PORTB =0x02; // ! PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E PORTB =0x01; // PORTAbits.RA0 = 0x00; //nuluj E PORTAbits.RA0 = 0x01; //nuluj E Delay10TCYx(0); // cekej 640us