Proton komut süreleri?

Başlatan Andromeda, 20 Mayıs 2021, 13:28:38

Andromeda

Proton basic de komut süreleri yaklaşık ne kadar sürüyor acaba?
Örneğin print komutu ile 4 rakamlı bir sayının 2x16 lcd ye gönderilmesi ve diğer komuta geçilmesi kaç ms sürer..
şöyle bir program yazdım;
Device = 16F877
Cls
Print "HELLO WORLD"

sonra asm dosyasına baktim ama birşey çıkaramadım..
aşağıdakide hex dosyası..
bu hex dosyadan yaklaşık olarak ne diyebiliriz..?

1000200086118316061186110F3086058312280863
:10003000A01838283E30A60080307B203330A7003F
:100040004C201330A60088307B204C2064307A206E
:100050004C2064307A202230A7004C2028303720F2
:100060000C30372006303720A014280838282014F8
:10007000A700201C46288611033C031C4B284B205C
:100080000730A600D0307B20031408002014FE3C6B
:10009000031959288615201C201006150F308605D7
:1000A0002708F03986040611A70E20184C28323094
:1000B0007A2028088F28A11B0E280800A300A2017F
:1000C000230803178D000313240803178F007120E2
:1000D00003198F285B20A30A0319A40AA20F602822
:1000E0008F28831603178C170C140000000083124E
:1000F0000C088F28A601E83EA500A609FC30031CC9
:100100008428A50703188128A5070000A60F8128C9
:1001100025188A28A51C8E2800008E280800831325
:100120008312031308008301A0018A010420803098
:10013000A1000030A400A0308A015E208A019E2820
:10014000480045004C004C004F00200057004F0075
:0801500052004C0044000000C5
:02400E00323F3F
:00000001FF

" Tanrı, iradesini hakim kılmak için yeryüzündeki iyi insanları kullanır, yeryüzündeki kötü insanlar ise kendi iradelerini hakim kılmak için Tanrı'yı kullanırlar." ..." Tanrı'dan mesaj gelmiyor, biz Tanrı'ya mesaj gönderiyoruz"

power20

#1
hex dosyada komut süresi yaklaşık 1ms.  Bu civarda seyreder  Bazen 1 saniyeyi bulur?


Komut başlarken bir pin 1 olsun
Bittiği zaman da 0 olsun.

Proteus'ta lojik analizör ile hassas olarak ölçülebilir. Hassasiyeti ayarlamak şart. Aksi halde kabaca gösterir.

Gerçek ortamda sürekli döngü yapılır istenen komut işletildiğinde pin durumu değiştirilir. 1..0.. frekansmetre ile ölçeriz periyodun yarısı, komut işletim süresidir

yas

Yukarıda söylendiğin gibi Proteus ta ölçebilirisin, lojik analizör kullanmada gerek yok aslında. Proteus direkt proton bas dosyayı debug edebiliyor. Komutun başladığı ve bittiği yerlere break point koyup süreyi direkt okuyabilirsin. Ayrıca verdiğiniz örnek için herhangi bir hız söylemek mümkün değil tamamen mcu clock frekansıyla alakalı olarak değişir.

yas

4 mhz. de kodun tamamı. 55,53 ms. "HELLO WORLD" yazması 1,593 ms.

20 mhz. de kodun tamamı. 54,441 ms. "HELLO WORLD" yazması 767,4 us sürüyor.

Başlangıçtaki 50ms civarındaki gecikme 4 ve 20 mhz de de aynı, muhtemelen LCD clear edilirken ki strobe süresi default 50ms olduğu içindir. Derlerken değiştirirsen süre değişecektir. Declare LCD_CommandUs ve Declare LCD_DataUs atmaları bu süreleri değiştriecektir.