1 byte' lık sayı

Başlatan efsanepoldem, 10 Ağustos 2015, 17:00:03

efsanepoldem

   Merhabalar. Ete hocam 1 byte lık bir sayıyı seven segment display'lerde  yuzler, onlar, birler haneleri olarak nasıl ayrı ayrı gösterebilirim?

ete

Birler=SAYI DIG 0
Onlar=SAYI DIG 1
Yuzler=SAYI DIG 2

Gerisinide soruyorsan devamı derslerde.

Ete

efsanepoldem

Peki word tipi degisken icin de durum ayni mi

Hattuşa

#3

ete

Word içinde aynı. Hane sayısı arttığı için binler hanesini eklemen gerekir.
Binler=Sayı dig 3

Ete

efsanepoldem


efsanepoldem

#6
  Hocam yeni konu açmak istemedim. Şöyle ki;
Bir çalışan bandımız var üzerinde 2 adet sensör bulunuyor.Ürün band üzerinden önce 1. sensörden sonra 2. sensörden geçiyor. İki ürün arasında 1 m. lik boşluklar var . Yani her ürün arasında 1 m. boşluk ile band üzerinden geliyor. Sorum şu;
Bu ürün 1. sensörden geçip, 2. sensör ürünü görene kadar arada geçen süreyü ölçüp, display etmek istiyorum. Nasıl bir yol izlemem gerekir? Bu süreyi göstermek için 3 adet seven segment  display kullanıyorum.

Hattuşa

bahsettiğinizi gerçekleştirmenin çok yöntemleri var, iki sensör arasından geçerken geçen zaman yaklaşık olarak ne kadar? saniye, dakika,saat? hangisi yaklaşık olarak, saniyenin altında ise işlemcinin timer fonksiyonunu kullanabilirsin, daha uzunsa işlemciye saat fonksiyonu yazıp ilk sensörden geçtiğinde zamanı kaydedip, 2. sensörde yakaladığında okuduğun süreden kaydettiğin süreyi çıkardığında istediğin süreyi ölçmüş olursun. ayrıca işlemcin başka bir işlem yapmayacaksa kesmeye bile gerek yok.

ete

Bence en doğrusu, birinci sensörde tmr1 sayacını uygun bir bölme oranı ike çalıştırıp ikinci sensörde sayacı durdurup zamanı ekrana vermek olurdu.

Ete

efsanepoldem

   Timer1 kullanmaya karar verdim. Peki hocam bu timer1 deki High byte ve low byte daki dataları word tipi bir değişkene nasıl atıp ve bu değişkendeki datayı display edebilirim.

ete

TMR1'e zaten bir önyükleme değeri vermen gerekiyor.
TMR1L=xx
TMR1H=xx
şeklinde değer verilecek.
TMR1 (word) değerini başka bir değişkene aktarma işi de benzer şekilde yapılacak.
ZAMAN.Byte0=TMR1L
ZAMAN.Byte1=TMR1H

Ete

efsanepoldem

 Tamam hocam hemen deneyeceğim. Teşekkürler

Powered by EzPortal