Bir asm kodda :
gecikme_10US
goto $+1
goto $+1
return
şeklinde gecikme alt programı kullanılmış.
Programda $+1 şeklinde bir etiket yok´ goto $+1 özel bir komut şeklimidir ? Devrede 4Mhz osc kullanılıyor
$ komutun olduğu adres demektir.
goto $+1 ile de bir sonraki satıra git demiş. bu sayede 2cyclelık geçimesağlanmış olunur. benzer şekilde goto $-1 de bir önceki satır demektir.
Alıntı yapılan: "zenze"Bir asm kodda :
gecikme_10US
goto $+1
goto $+1
return
şeklinde gecikme alt programı kullanılmış.
Programda $+1 şeklinde bir etiket yok´ goto $+1 özel bir komut şeklimidir ? Devrede 4Mhz osc kullanılıyor
Merhaba,
Burada "$" işareti anlamı kodun bulundu adesi ifade eder.
"$+1" ise bulunduğun adesin bir ileri adesini gösteriyor.
goto $+1 ; alt satıra git
goto $+1 ; alt satıra git
return ; geri dön.
Selamlar
Genelde hassas zaman ayarları yapılan gecikme alt programlarında kullanılan bir mantıktır. 4 MHz lik osilatör kullanılan bir picde bir program çevrimi 1 us lik gecikme yaratır. Bu komut (goto komutu) ile 1 us ile ve (+1) ilede ilave 1 us olmak üzere 2 us lik bir gecikme yaratılır. Tabiiki her bir komutun anlamlı olması gerekir. Bununda anlamı komutun yazıldığı satırdan bir sonraki komuta atla şeklindedir. Aslında bu komutu yazmasanızda program tabii akışı içerisinde bir sonraki satır atlayacaktır. Ancak burada amaç bir gecikme yaratmak olduğu için bu işlem 2 us lik bir gecikme ile yapılmış olacaktır.
Ete
CALL gecikme _10US (2)
*
*
gecikme_10US ETİKETİN İŞLENMESİ KAÇ CLOCK FİKRİM YOK
goto $+1 (2)
goto $+1 (2)
return (2)
TOPLAM 8 + ?(2) clock .1us den toplam 8+? us gecikme oluyor sanıyorum. ? kayıp iki clock da etiket yada başka bir şey.
Etikette kayıp olmaz, çünkü zaten gerçekte etiket diye birşey yoktur. Bence 1 tane "goto $+1" eksik yazılmış. Veya belki de bu bölüm başka bir page'dedir ve çağrılmadan önce pageselw gibi birşey yapılıyordur ama pek sanmıyorum...
hepinize teşekkür ederim