ccs de lcd de sayıyı nasıl binary gösteririz?

Başlatan Murat Mert, 23 Aralık 2011, 23:55:54

Murat Mert

Protonda lcd de sayıyı binary göstermek için:

Print At 1,1, Bin sayi

dediğimiz zaman  11111101 diye görüyorduk bu ccs de nasıl oluyor.
mert07

justice_for_all

Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

Murat Mert

LCD_gotoxy(1,4);   
   printf(lcd_putc,"DEGER=%b",sayi[0]);

Yazdım amahata veriyor.
mert07

justice_for_all

hocam baktim ben var zannediyodum ama bulamadim ne icin gosterektiniz..

bit bit atin lcdye olmadi
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

Murat Mert

pin çoğullama yaptım. 74595 hangi pini aktif lcd de görmekiçin.
mert07

justice_for_all

#5
Alıntı yapılan: mert07 - 24 Aralık 2011, 00:46:45
pin çoğullama yaptım. 74595 hangi pini aktif lcd de görmekiçin.
void lcd_bin(char data)
{
       int8 i;

      lcd_putc("\f");

      for(i=0;i<8;i++)
      {
         lcd_gotoxy(8-i,1);
         printf(lcd_putc,"%u",(data&0x01)); 
         data>>=1;
      }

}


lcd_bin(0x11);


su sekilde denermisiniz.


edit :
hocam ben denedim simdi bi hata olmus ekleme yaptim koda simdi calisiyor.
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

ErsinErce

Alıntı yapılan: justice_for_all - 24 Aralık 2011, 00:53:09
void lcd_bin(char data)
{
       int8 i;
      lcd_putc("\f");
      for(i=0;i<8;i++)
      {
         printf(lcd_putc,"%u",(data&0x01)); 
         data>>=1;
      }
}
lcd_bin(0x11);

su sekilde denermisiniz.

hocam kodunuzu biraz değiştirdim, diğer türlü veri ters yazılacaktı
void lcd_bin(char data)
{
       int8 i;
      for(i=0;i<8;i++)
      {
         lcd_putc((data>>7)+0x32); 
         data<<=1;
      }
}

justice_for_all

Alıntı yapılan: ErsinErce - 24 Aralık 2011, 01:06:45
hocam kodunuzu biraz değiştirdim, diğer türlü veri ters yazılacaktı

denedikten sonra farkettim hocam sonra lcd_gotoxy eklentisini yapinca normal calisti tabi sizin dediginiz gibi de olur..
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

-Hasan-

void binary_yaz(int8 sayi)
{

   int8 i;
   
   for(i=7;i<=7;i--)
   {lcd_putc,((bit_test(sayi,i))+0x30);}
   
}


Önceden yazdığım bir fonksiyon. Sorunsuz çalışıyor.