iyi günler arkadaslar asagıda verdigim pic c ile hazırlanmıs dosya ile lcd ekranda azı yazıyoruz ama bunu kayan yazı olarak hazırlamam gerek bunu da bi sekilde yaptım ama hatalı oldu bu konuda bana yardımcı olabilecek birisi var mı? şimdiden yardımcı olabilecek arkadaslara teşekkür ederim
void main ( ) { setup_psp(PSP_DISABLED); // PSP birimi devre dışı setup_timer_1(T1_DISABLED); // T1 zamanlayıcısı devre dışı setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı setup_adc_ports(NO_ANALOGS); // ANALOG giriş yok setup_adc(ADC_OFF); // ADC birimi devre dışı setup_CCP1(CCP_OFF); // CCP1 birimi devre dışı setup_CCP2(CCP_OFF); // CCP2 birimi devre dışı
output_low(pin_c5); // RC5 çıkışı ilk anda sıfırlanıyor lcd_init(); // LCD'yi hazırla
printf("\r**************** Merhaba *********************"); // Yeni satır, RS232 üzerinden belirtilen metni gönder ve satır atla. printf("\n\rKlavyeden girdiginiz bilgiler LCD'de gorunecektir\n\n"); // Satır atla, yeni satır, RS232 üzerinden belirtilen metni gönder printf("\n\rKlavyeden bir metin giriniz ve enter tusuna basiniz>"); // Satır atla, yeni satır,RS232 üzerinden belirtilen metni gönder
enable_interrupts(GLOBAL); // Aktif edilen tüm kesmelere izin ver
#use rs232 (baud=9600, xmit=pin_C6, rcv=pin_C7, parity=N, stop=1) // RS232 protokolünün 9600 bit/sn baud hızında olacağını ve // TX,RX uçlarının hangi pinler olacağını tanımlıyor // parity bitinin olmadığını, stop bitinin 1 bit olacağı belirtiliyor
char klavye[80]; // klavye isminde 80 üyeli bir dizi tanımlanıyor int i,j;
#int_rda // RX ucuna veri gelince meydane gelen kesme void serihaberlesme_kesmesi () { disable_interrupts(int_rda); // int_rda kesmesini pasif yap output_high(pin_c5); // RC5 çıkışı lojik-1 gets(klavye); // String ifadeyi al ve "klavye" adlı dizi değişkenine aktar. printf("\n\rYazdiginiz Metin> %s\n",klavye); // Satır atla, yeni satır,RS232 üzerinden klavye string ifadesini gönder,satır atla printf(lcd_putc,"\f%s",klavye); //LCD'yi temizle ve klavye string ifadesini LCD'de göster output_low(pin_c5); // RC5 çıkışı lojik-0 printf("\n\rKlavyeden bir metin giriniz ve enter tusuna basiniz>"); // Satır atla, yeni satır,RS232 üzerinden belirtilen metni gönder { for(j=0 ; j<klavye+1 ; j++) { for(i=j ; i<klavye ;i++) { printf(lcd_putc,"%c",*(klavye+i)); } for(i=0 ; i<j ;i++) { printf(lcd_putc,"%c",*(klavye+i)); } delay_ms(150); lcd_gotoxy(1,1); } } }
/********* ANA PROGRAM FONKSİYONU********/
void main ( ) { setup_psp(PSP_DISABLED); // PSP birimi devre dışı setup_timer_1(T1_DISABLED); // T1 zamanlayıcısı devre dışı setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı setup_adc_ports(NO_ANALOGS); // ANALOG giriş yok setup_adc(ADC_OFF); // ADC birimi devre dışı setup_CCP1(CCP_OFF); // CCP1 birimi devre dışı setup_CCP2(CCP_OFF); // CCP2 birimi devre dışı
output_low(pin_c5); // RC5 çıkışı ilk anda sıfırlanıyor lcd_init(); // LCD'yi hazırla
printf("\r**************** Merhaba *********************"); // Yeni satır, RS232 üzerinden belirtilen metni gönder ve satır atla. printf("\n\rKlavyeden girdiginiz bilgiler LCD'de gorunecektir\n\n"); // Satır atla, yeni satır, RS232 üzerinden belirtilen metni gönder printf("\n\rKlavyeden bir metin giriniz ve enter tusuna basiniz>"); // Satır atla, yeni satır,RS232 üzerinden belirtilen metni gönder
enable_interrupts(GLOBAL); // Aktif edilen tüm kesmelere izin ver