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
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
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.
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.