CCP1 portundan Pals Üretme ve Üretilen palsleri LCD de gösterme

Başlatan axionvb, 03 Nisan 2011, 01:41:34

axionvb

Ekteki dosyada hazırladığım projem var. Fakat bazı sorunlar var. Bu sorunları aşmak için yardımlarınıza ihtiyacım var. float sayının dahili eproma yazılması ve okunması ile alakalı problemlerin bir kısmı sayın Klein ve sayın JKramer in verdiği bilgilerle giderilmeye çalışıldı. Problemleri aşağıda maddeler halinde yazdım.

1- Eproma yazma ve okuma ile ilgili ve bu değerin LCD de gösterilmesi için LCD menusunde AYARLAR > HF=M3 DEGERI GIR menusu aracılığı ile ekranda ARTI ve EKSI butonları kullanılarak oluşturuluyor ve bu değer float olarak eproma kaydediliyor. 8196.24 şeklinde verince doğru 20496.24 şeklinde girince hatalı deger çıkıyor.

2- ANA MENU > PALS SIM. YAP > HF SIM. BASLAT menusunu izleyerek başlattığım simulasyon işleminde CCP1 portunda üretilen palsleri bağladığım counter/frekans ölçer ile ölçüyorum ve üretilen bu palsleri de gerçek zamanlı olarak LCD ekranda göstermek istiyorum. Fakat programı incelerseniz göreceksiniz. üretilen pals değerini LCD 1. satırda HF:xxxxxx, 2. satırda da M3:xx  ST:xxx şeklinde gösteriyorum burada amacım LF=M3 DEGERI GIR ekranında girilen değer ile M3 SET GIR ekranında girilen değeri çarparak sınır değer elde ediyorum ve üretilen pals bu sınır değere eşit olunca pals üretme işleminin durmasını ve HF, M3 ve SET değerlerinin ekranda gösterilmesini istiyorum.

Örnek :  LF=M3 DEGERI GIR den 1.0 , M3 SET GIR den 5.0, HF=M3 DEGERI GIR den 8196.24 giriyorum sınır değeri 8196.24 x 5 = 40981.20 oluyor. CCP1 den üretilen pals 40981 e eşit olunca pals üretme işlemi dursun. Sayma işlemi devam ederkende gerçek zamanlı olarak üretilen pals değeri de ekrana yazılsın istiyorum. Fakat simulasyonda üretilen pals değeri 40981 den büyük yada eşittir şartı oluştuğunda pals üretme duruyor ama ekrana yazılan değer ile frekansmterenin gösterdiği değer farklı görünüyor. Bu şartı 40981 eşit olunca dursun dediğimde de pals üretme durmuyor ve 40981 değerini geçip artarak devam ediyor.


MENU bölümü umarım diğer arkadaşların da işine yarar.

Yardımlarınız için şimdiden teşekkür ederim.
http://hotfile.com/dl/113102649/8a46f87/Palsmetre_X.rar.html
http://rapidshare.com/files/455622800/Palsmetre_X.rar

axionvb

Arkadaşlar,

18F452 nin RC2/CCP1 pininde ürettiğim 2.5kHz pals çıkışının örneğin 40981 olunca durmasını ve sıfırdan 40981 e kadar e kadar üretilen palslerin ile aynı anda LCD ekranda gösterilmesini nasıl sağlarım. Ekteki örnekte çıkışa bağladığım frekansmetre nin count modundaki gibi aynı anda LCD ekranda gösterilmesini istiyorum tabii bu sayı 40981 olunca durmalı ve hem frekansmetre deki hem de LCD ekrandaki değer aynı olmalı ben bunu sağlayamadım.