Küçük bir yardım lütfen...

Başlatan ersangundogdu, 10 Ağustos 2014, 10:15:49

BİDİL

#15
Sanırım ısı değişkeni ile birlikte sayaç değişkenini de transfer etmen gerekecek
SAYAC VAR BYTE

SAYAC_KONTROL:         
    IF SEC=0 THEN SAYAC=SAYAC+1
    IF SAYAC>3 THEN SAYAC=1
    WHILE SEC=0:WEND
    PAUSE 50
   
IF SAYAC=1 THEN Lcdout $FE, 1,"1.KADEME"   
IF SAYAC=2 THEN Lcdout $FE, 1,"2.KADEME"
IF SAYAC=3 THEN Lcdout $FE, 1,"KAPALI"
GOTO SAYAC_KONTROL

F®T

"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

ersangundogdu

Çok teşekkür ederim Ferit abi. Allah razı olsun...

F®T

cümlemizden kardeşim.istediğin gibi olmuştur umarım fakat ersan hiç çabalamadan bu işler her zaman istediğin gibi olmaz .gayret lazım.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

ersangundogdu

Abi bu saat oldu hala uğraşıyorum. Senin gönderdiğin kodları inceliyordum şimdi. Yapamadım bir türlü. Uğraşıyorum aslında ama bilgim yetersiz...

F®T

allah kolaylık versin.gayret....
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

ersangundogdu

Sağol abi. Allah'a emanet ol. Çok iyiliğini gördüm şimdiye kadar. Allah razı olsun...

F®T

Son olarak kademe çıkışlarını ekledim.kademe off=00 kademe 1=01 kademe 2 =10 kademe 3=11
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

ersangundogdu

Abi teşekkür ederim ancak Port.A yı nasıl kontrol ettiğini anlayamadım...

F®T

ana program döngüsünde

PORTA=SAYAC demiştim.

aslında çok basit.burda sayacın aldığı değerleri porta ya eşitledim zaten senin istediğin otomatik olarak olmuş oldu.

sayac=0 ise port a çıkışları %00000000   zaten bu ifade desimal olarak  0 a eşit
sayac=1                              %00000001                                                   1 e eşit
sayac=2                              %00000010                                                   2 ye eşit
sayac=3                              %00000011                                                   3 e eşit
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

ersangundogdu

sayac=0 ise port a çıkışları %00000000   zaten bu ifade desimal olarak  0 a eşit
sayac=1                              %00000001                                                   1 e eşit
sayac=2                              %00000010                                                   2 ye eşit
sayac=3                              %00000011                                                   3 e eşit
Abi bu komutları programın neresinde kullandın?

F®T

o komutlar zaten porta=sayac ifadesine eş.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

ersangundogdu

Hiç bir şey anlayamadım abi. Program konusunda zayıfım biliyorsun. Biraz açar mısın?

F®T

ersan porta=1 dersem porta.0 çıkışını 1 yaparım.porta=2 dersem porta.1 çıkışını 1 yaparım.porta=3 dersem porta.0 ve porta.1 çıkışı aynı anda 1 olur.
burda senin değişkenin sayac ve bir sayı değeri var bu sayı değerini porta ya eşitlersek senin sayac ifadesindeki sayı değerine göre çıkışlar eşlenir.
porta da bulunan çıkışların her birini 1 bit olarak düşünürsek porta nın porta.0 çıkışı o sayının 1. biti porta.1 çıkışı sayının 2.biti porta.2 çıkışı sayının 3.biti.............gibi gider.
sen hangi çıkışları kullanıyorsun.porta.0 ve porta.1  çıkışlarını kullanıyorsun.o zaman sayac=0 ise bunu porta=sayaç dersek porta bitlerine 0 yüklemiş oluruz.yani %00000 olur.bu ifade 0 sayısına eşit.%00000 bu ifadede en sağda bulunan 0 sayısı porta.0 çıkışına hükmeder.bu sıfır olduğu için porta.0 çıkışın 0 olur.sağdan 2. sıfır porta.1 çıkışını ifade eder.buda 0 olduğu için çıkışın sıfır olur.böyle gider.eğer sayac=1 dersek bu ifade %00001 ile aynıdır ve porta.0 çıkışının 1 olmasını dolayısı ile rölenin çekmesini sağlar.sayac=2 dersek bu ifade %00010 ile aynıdır.porta.1 çıkışını 1 yapar ve rölen çeker.sayac=3 dersek bu ifadede %00011 ile aynıdır.bu da porta.0 ve porta.1 çıkışlarını aynı anda 1 yapar ve rölelerin ikiside aynı anda çeker.
sayac=0 dediğimde porta çıkışlarını bu sayıya eşlediğimde %00000 bu ifade ile eşlemiş oluyorum.bu da 0 a eşit.
sayac=1 dediğimde porta çıkışlarını bu sayıya eşlediğimde %00001 bu ifade ile eşlemiş oluyorum.bu da 1 a eşit.
sayac=2 dediğimde porta çıkışlarını bu sayıya eşlediğimde %00010 bu ifade ile eşlemiş oluyorum.bu da 2 a eşit.
sayac=3 dediğimde porta çıkışlarını bu sayıya eşlediğimde %00011 bu ifade ile eşlemiş oluyorum.bu da 3 a eşit.

binary sayı sistemlerinde desimal dönüşüm
sayac  0= 0x2^4 + 0x2^3 + 0x2^2 + 0x2^1 + 0x2^0 = %00000
sayac  1= 0x2^4 + 0x2^3 + 0x2^2 + 0x2^1 + 1x2^0 = %00001
sayac  2= 0x2^4 + 0x2^3 + 0x2^2 + 1x2^1 + 0x2^0 = %00010
sayac  3= 0x2^4 + 0x2^3 + 0x2^2 + 1x2^1 + 1x2^0 = %00011

desimal binary ve binary desimal dönüşümünü bilirsen bu konuyu anlamış olursun.

"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

Powered by EzPortal