Değişkenlerin İçeriklerini Belli Zamanda Değiştirmek TMR0

Başlatan erdemefe, 01 Ocak 2014, 15:25:30

erdemefe

Arkadaşlar 4 kaynaktan sıcaklık ölçümü yapıp her kaynağın sıcaklığını istediğim kadar ekranda kalmasını sağlamak istiyorum. SN değişkeni TMR0 kesmesi ile sayıyor, SNA A sıcaklığının saniye cinsinden ekranda kalma süresi, ISIA ve ISRA değişkenlerinde sıcaklık ve işaret bilgilerini tutuyorum aynı şekilde B, C, D diye indislediğim sıcaklık, işaret bitleri ve ekranda kalma süreleri var, ISI ve ISR değişkenleri ise ekrana yazdırılırken kullanılan değişkenler, FLAG değişkeni de hangi sıcaklığın gösterileceğini belirliyor 0 iken A, 1 iken B, 2 iken C, 3 iken D sıcaklığı gösteriliyor.
Sorun şurada örneğin SNA, SNC, SND değişkenlerine 0 verdiğimde SNB ne olursa olsun sadece B sıcaklığını görmek istiyorum fakat çok kısa bir süre de olsa yine de diğer sıcaklıklar da ekranda görülüyor sorunun nereden kaynaklandığını çözemedim.


'-------------------------------------------------------------------------------
BASLA:
GOSUB SENS_OKU
GOSUB SEC
GOSUB EK_ISI
GOTO BASLA
'-------------------------------------------------------------------------------
SEC:
SELECT CASE FLAG
CASE 0
IF SN=SNA THEN FLAG=1 : SN=0 : SAYAC=0
ISI=ISIA : ISR=ISRA
CASE 1
IF SN=SNB THEN FLAG=2 : SN=0 : SAYAC=0
ISI=ISIB : ISR=ISRB
CASE 2
IF SN=SNC THEN FLAG=3 : SN=0 : SAYAC=0
ISI=ISIC : ISR=ISRC
CASE 3
IF SN=SND THEN FLAG=0 : SN=0 : SAYAC=0
ISI=ISID : ISR=ISRD
END SELECT
RETURN
'-------------------------------------------------------------------------------
KESME:

IF RCIF=1 THEN RCI

    SAYAC=SAYAC+1
        IF SAYAC=15 THEN
        SAYAC=0
        SN=SN+1
        ENDIF
T0IF=0
GOTO KESME_CIK

RCI:
HSERIN,[WAIT ("EFE"),ISIB.LOWBYTE,ISIB.HIGHBYTE]   'SICAKLIĞI AL
TEMP=RCREG
RCIF=0
ISRB=ISIB.15 : ISIB=ISIB & %0000111111111111
KESME_CIK:
RESUME
ENABLE

END
'-------------------------------------------------------------------------------

Powered by EzPortal