Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

DS1307 ve 7 Segment LED

Başlatan infomaster, 02 Mart 2004, 00:26:30

infomaster

Merhaba,

LCD ile DS 1307 kullandık. Gayet güzel.

Ben bu defa DS1307

den okuduğum değerleri 4094 shift and store register ile kurduğum 7segment led sisteminde göstermek istiyorum.

I2CRead 

SDApin,SCLpin,$D0,$00,[RTCSec,RTCMin,RTCHour,RTCWDay,RTCDay,RTCMonth,RTCYear,RTCCtrl]


komutu ile

okuduk.

LCDOut $fe,1,HEX2 RTCHour,":",HEX2 RTCMin,":",HEX2 RTCSec


komutu ile de

LCD ye yazdırdık. İşte ben HEX2 RTCSec yazarak elde ettiğim değeri numerik olarak bir değişkene atayamıyorum. Bunun nedeni

HEX2 değiminin sadece LCD'ye özel olması.

Bu değeri numerik olarak bir değişkene nasıl atarım?

Seconds=RTCSec

olmuyor çünkü RTCSec ile elde ettiğimiz byte'ın en sağ 4 biti saniyenin birler basamağını, sol 4 biti de ondalık hanesini saklıyor.

ben

:

Seg1=(RTCSec>>4) ' bu tamam
Seg2=(RTCSec<<4)/16


denedim ama ikinci satır

olmadı.

Bir yardım lütfen.

Teşekkürler.
PAYLAŞILMAYAN BİLGİNİN DEĞERİ YOKTUR.

mmengi

dostum senin bahsettiğin hex değişkenleri desimal değerlere çevirip daha sonra hane hane ayırıp öyle göndermen gerekiyor

7segment e aşağıdaki adresteki programı incelediysen orada bu işlem yapılmış ama lcd için buradan faydalanabilirsin.

ConvertBCD:
   CounterB=CounterA DIG

1
   CounterB=CounterB<<4
   CounterB=CounterB+CounterA DIG 0
   Return

http://www.melabs.com/resources/samples/submitted/MN1307.txt