Elektronik ve Teknoloji Merkezi Elektrotekno.com
Elektronik ve Teknoloji Merkezi



Click here to go to the original topic

Elektrotekno.com Ana Sayfa Microchip Pic Serisi
Yazar Mesaj
robotik06
Tarih: 19.09.2008, 15:24 Mesaj konusu: CCS lcd imleç yardım

arkadaşlar merhaba.bi sorum var.ccs ile 877 kullanarak bi saat yaptım calışıo bi sıkıntıda yok ayarlamalı falan.Ama saati ayarlamak için yazdığım kısım cok uzun oldu bende imleci yakıp söndürek bi yapayım dedim ama pic basicte kullandığım gibi CCS de kullanmadım.Ben ayar için ayırdığım butona basınca imlec yanıp sonsun istıyorum.Komutlarıda biliyorum ama imleci o hala getiremedim.mesela

printf(lcd_putc,"\Saat:%02u:%02u:%02u",sa,dk,sn);
bu kısım için düşünelim.Bu imleç komutlarını nereye yazacam burda tıkandım yarım edebilirmisiniz.istediğim önce saati ayarlayım sonra imleci kaydırıp dk sonrada sn yiyi ayarlamak.Yanlış anlamayın sizden hazır kod istemiyorum sadece bana imleç işlemleri için ne yapmam lazım onu söyleyin yeter.Hepinize teşekkürler.
-----------------------------------------------------

Quantumeta
Tarih: 19.09.2008, 19:50 Mesaj konusu:

araştırıyorum bende merak ettim
işte oldu burda arkadaşım altta
lcd_send_byte(0,0x0d); //İmleç yanıp sönsün komutu
lcd_send_byte(0,0xburaya); //
0x08 buraya yazanyere yazılacak =displey altı çizgili gözterilmezy imlec yanıp sönmez
0x09 displey kapalı imlec altı çizgili gösterilmez imlec yanıp söner
0x0A displey kapalı imlec altı çizgili gözterir imlec yanıp sönmez
0x0B displey kapalı imlec alt çizgi gösterir imlec yanıp söner
0x0C dispey açık imlec alt çizgi gösterilmez imlec yanıp sönmez
0x0D displey açık imlec alt çizgi gösterilmez imlec yanıp söner
0x0E dispey açık alt çizgi gösterir imlec yanıp sönmez
0x0F dispey açık imleç alt çizfi gösterir imlec yanıp söner
bir acemiden ancak bu kadar daha denemedim bilgiyi bulur bulmaz yazdım umarım faydalı olur
size kolay gelsin
robotik06
Tarih: 19.09.2008, 21:10 Mesaj konusu:

Quantumeta yazmış: araştırıyorum bende merak ettim
işte oldu burda arkadaşım altta
lcd_send_byte(0,0x0d); //İmleç yanıp sönsün komutu
lcd_send_byte(0,0xburaya); //
0c08 buraya yazanyere yazılacak =displey altı çizgili gözterilmezy imlec yanıp sönmez
0x09 displey kapalı imlec altı çizgili gösterilmez imlec yanıp söner
0x0A displey kapalı imlec altı çizgili gözterir imlec yanıp sönmez
0x0B displey kapalı imlec alt çizgi gösterir imlec yanıp söner
0x0C dispey açık imlec alt çizgi gösterilmez imlec yanıp sönmez
0x0D displey açık imlec alt çizgi gösterilmez imlec yanıp söner
0x0E dispey açık alt çizgi gösterir imlec yanıp sönmez
0x0F dispey açık imleç alt çizfi gösterir imlec yanıp söner
bir acemiden ancak bu kadar daha denemedim bilgiyi bulur bulmaz yazdım umarım faydalı olur
size kolay gelsin

kardeş teşekkür ettim öncelikle.Mesajı okuyana kadar bende uğraşmıştım ve sonunda oldu zaten komutları biliyodum yazcam yeri bilememiştim ben şöyle yaptım anlatayım belki başka arkadaşlara lazım olur.LDC.c dosyasının içerine ekleyerek oldu dosyanın o kısmı aşagıdaki gibidir. teşekkür ederim uğraşman yeter Allah razı olsun .Başarılar.
void lcd_putc( char c) {
switch (c) {
case '\f' : lcd_send_byte(0,1);
delay_ms(2);
break;
case '\n' : lcd_gotoxy(1,2); break;
case '\b' : lcd_send_byte(0,0x10); break;
case '\z' : lcd_send_byte(0,0x0f); break;//burayı ekledim
default : lcd_send_byte(1,c); break;
}
Quantumeta
Tarih: 19.09.2008, 23:04 Mesaj konusu:

peki senin yazdığın koddan önce lcd_send_byte(0,0x0D) kodu göndermeyi denedimi olması lazıjm yani yazdığınız koddan önce lcdd_sendd_byte() vve normal kodu yazıp bir deneyin isterseniz benim bulduğum örnekte öyle kulanılmıştı
yani lcd.c içine eklemk gerekmiyor olması lazım isterseniz bir de öyle deneyin saygılar sunuyorum ben daha yeni başladım ccs c ye elektronik alt yapımıda aynı anda ilerletmeye çalışıyorum allah cc sendenede razı olsun

bulduğum kodd örnek olsun diye veriyorum lcd.c ye eklemek gerekmiyor sanırım bence öyle olmaı lazım
//Giriş ve tanımlama bloğu
#include "C:\Documents and Settings\Can EROL\Desktop\LCD Kontrol\LCD.h"
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD

#use delay(clock 4000000) // osilatör 4MHz
#use fast_io(b) // b portu çıkış olsun
#define use_portb_lcd TRUE //LCD için portb'yi kullansın
#include <lcd.c> //lcd kütüphanesini çağır

int x; // integer x tanımlandı
int sayi = 0; // integer sayı "0" olsun
// program bloğu
void main()
{

setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_CCP1(CCP_OFF);
setup_CCP2(CCP_OFF);

set_tris_b(0x00);
lcd_init();

x=10;
while(1) // "1" çünkü programın sonlanma şartı yok
// programın hez zaman çalışması isteniyor
{// tüm döngü
lcd_send_byte(0,0x0d); //İmleç yanıp sönsün komutu
printf(lcd_putc,"\f\fCAN EROL");
delay_ms(100); //10 ms niye bekleme komutu
printf(lcd_putc,"\n\f MERHABA");
delay_ms(100);
lcd_gotoxy(1,2); //Sütunu 1. Sutundan 2. sutuna geçiriliyor
delay_ms(100);
printf(lcd_putc,"\fGULE GULE");
delay_ms(100);

while(sayi != 101)// yüzbir oluncaya kadar devam etsin
{// sayac döngüsü
lcd_send_byte(0,0x01);
printf(lcd_putc,"SYC=%d",sayi);
sayi = sayi + 1 ;
delay_ms(10);
}
sayi=0;
}

}
robotik06
Tarih: 19.09.2008, 23:11 Mesaj konusu:

Quantumeta yazmış: peki senin yazdığın koddan önce lcd_send_byte(0,0x0D) kodu göndermeyi denedimi olması lazıjm yani yazdığınız koddan önce lcdd_sendd_byte() vve normal kodu yazıp bir deneyin isterseniz benim bulduğum örnekte öyle kulanılmıştı
yani lcd.c içine eklemk gerekmiyor olması lazım isterseniz bir de öyle deneyin saygılar sunuyorum ben daha yeni başladım ccs c ye elektronik alt yapımıda aynı anda ilerletmeye çalışıyorum allah cc sendenede razı olsun

bulduğum kodd örnek olsun diye veriyorum lcd.c ye eklemek gerekmiyor sanırım bence öyle olmaı lazım
//Giriş ve tanımlama bloğu
#include "C:\Documents and Settings\Can EROL\Desktop\LCD Kontrol\LCD.h"
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD

#use delay(clock 4000000) // osilatör 4MHz
#use fast_io(b) // b portu çıkış olsun
#define use_portb_lcd TRUE //LCD için portb'yi kullansın
#include <lcd.c> //lcd kütüphanesini çağır

int x; // integer x tanımlandı
int sayi = 0; // integer sayı "0" olsun
// program bloğu
void main()
{

setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_CCP1(CCP_OFF);
setup_CCP2(CCP_OFF);

set_tris_b(0x00);
lcd_init();

x=10;
while(1) // "1" çünkü programın sonlanma şartı yok
// programın hez zaman çalışması isteniyor
{// tüm döngü
lcd_send_byte(0,0x0d); //İmleç yanıp sönsün komutu
printf(lcd_putc,"\f\fCAN EROL");
delay_ms(100); //10 ms niye bekleme komutu
printf(lcd_putc,"\n\f MERHABA");
delay_ms(100);
lcd_gotoxy(1,2); //Sütunu 1. Sutundan 2. sutuna geçiriliyor
delay_ms(100);
printf(lcd_putc,"\fGULE GULE");
delay_ms(100);

while(sayi != 101)// yüzbir oluncaya kadar devam etsin
{// sayac döngüsü
lcd_send_byte(0,0x01);
printf(lcd_putc,"SYC=%d",sayi);
sayi = sayi + 1 ;
delay_ms(10);
}
sayi=0;
}

}

ewt kardeş denedim proteus ta öylede oldu.Bu biraz daha iyi oldu tekrardan teşekkürler.
Elektrotekno.com Ana Sayfa Microchip Pic Serisi
1. sayfa (Toplam 1 sayfa)

CCS lcd imleç yardım

Gizlilik Politikası

PLC programming