sbit LCD_RS at LATD2_bit; sbit LCD_EN at LATD3_bit; sbit LCD_D4 at LATD4_bit; sbit LCD_D5 at LATD5_bit; sbit LCD_D6 at LATD6_bit; sbit LCD_D7 at LATD7_bit; sbit LCD_RS_Direction at TRISD2_bit; sbit LCD_EN_Direction at TRISD3_bit; sbit LCD_D4_Direction at TRISD4_bit; sbit LCD_D5_Direction at TRISD5_bit; sbit LCD_D6_Direction at TRISD6_bit; sbit LCD_D7_Direction at TRISD7_bit; char txt[10] = "hello"; void main() { Lcd_Init(); Lcd_Cmd(_Lcd_Clear); Lcd_Cmd(_Lcd_Cursor_Off); while(1) { Lcd_Out(1, 1, txt); delay_ms(1000); Lcd_Cmd(_Lcd_Clear); delay_ms(1000); } } --------------------------------------------------------------------- sbit LCD_RS at LATD2_bit; sbit LCD_EN at LATD3_bit; sbit LCD_D4 at LATD4_bit; sbit LCD_D5 at LATD5_bit; sbit LCD_D6 at LATD6_bit; sbit LCD_D7 at LATD7_bit; sbit LCD_RS_Direction at TRISD2_bit; sbit LCD_EN_Direction at TRISD3_bit; sbit LCD_D4_Direction at TRISD4_bit; sbit LCD_D5_Direction at TRISD5_bit; sbit LCD_D6_Direction at TRISD6_bit; sbit LCD_D7_Direction at TRISD7_bit; char txt[200] = "Most microcontroller devices are using 'smart LCD' displays to output visual information."; int pos = -15; int txt_length; int i; int j; char c1; void main() { AD1PCFG = 0xFFFF; Lcd_Init(); Lcd_Cmd(_Lcd_Clear); Lcd_Cmd(_Lcd_Cursor_Off); Lcd_Out(1, 1, " TRCECI TEKST "); txt_length = strlen(txt); while(1) { for(i=0; i<16; i++) { j = pos+i; c1 = (j < 0 || j >= txt_length) ? ' ' : txt[j]; Lcd_Chr(2, i+1, c1); } delay_ms(150); pos++; if(pos >= txt_length) pos = -15; } } ----------------------------------------------------------------------- sbit LCD_RS at LATD2_bit; sbit LCD_EN at LATD3_bit; sbit LCD_D4 at LATD4_bit; sbit LCD_D5 at LATD5_bit; sbit LCD_D6 at LATD6_bit; sbit LCD_D7 at LATD7_bit; sbit LCD_RS_Direction at TRISD2_bit; sbit LCD_EN_Direction at TRISD3_bit; sbit LCD_D4_Direction at TRISD4_bit; sbit LCD_D5_Direction at TRISD5_bit; sbit LCD_D6_Direction at TRISD6_bit; sbit LCD_D7_Direction at TRISD7_bit; float f = 0.0; char s1[16]; void Timer1Int() org 0x1A { IFS0 = IFS0 & 0xFFF7; // izbrisi flag f += 0.064; FloatToStr(f,s1); Lcd_Out(2, 1, s1); } void main() { Lcd_Init(); Lcd_Cmd(_Lcd_Cursor_Off); Lcd_Out(1, 1, "TIMER:"); IEC0 = IEC0 | 0x0008; // omoguci timer1 interrupt IPC0 = 0x1000; // Interrupt priority level = 1 IFS0 = IFS0 & 0xFFF7; // izbrisi flag PR1=5000; //podesi period timera T1CON = 0x8020; //0b1000000000100000 - T1ON=1,TCS=0,TCKPS1=1,TCKPS0=0, //preskaler 1:64 while(1); }