PROTON BASIC 7 segment projede buton basıldığı an displayler gözükmüyor

Başlatan fatihbaysu, 16 Şubat 2018, 19:33:53

fatihbaysu

Arkadaşlar,

Bir üniversite de bir hocamızın devre tasarımı yapılmış yazılım için yardım istediler.
projede 9 digit 7 segment displey var
ilk display zaman sayan x digit
ikinci display alt raf ısı bilgisi  x 3 digit
üçüncü display üst raf ısı bilgisi  x 3 digit
devreyi kısmen breatbord da dizdim ana hatlarını çalıştırdım ilk defa timer kesmesi kullandım, pic 16F887 entegre
portlar biraz karışık olmuş B portlarından role çıkışları almış,
C.0,C.1,C.2 ve D.6 portlarından 74LS145 entegresi ile port çogullanıp buton girişi yapılmış
int osc 4 Mhz ayarlı
E.1 ve A.7 portları direkt giriyor

SORUNUM:
Zaman doğru saymakta ısılar şimdilik voltaj okumakta butonlardan birine bastığımda 7segment dispileyler kayboluyor.
arka planda zaman çalışmaya devam ediyor, butonu bıraktığımda kaldığı yerden devam ediyor. Ben butonlarla ısılar ve zamanı ayarlamak istiyorum ayrıca sistemin aydınlatması, buhar ve fan kontrolü yapmak istiyorum isis  dosyası malesef yok.
Selam ve teşekkürler.

Hattuşa

Alıntı Yap
SORUNUM:
Zaman doğru saymakta ısılar şimdilik voltaj okumakta butonlardan birine bastığımda 7segment dispileyler kayboluyor.
arka planda zaman çalışmaya devam ediyor, butonu bıraktığımda kaldığı yerden devam ediyor. Ben butonlarla ısılar ve zamanı ayarlamak istiyorum ayrıca sistemin aydınlatması, buhar ve fan kontrolü yapmak istiyorum isis  dosyası malesef yok.

text formatındaki  yazılımınızı inceledim.  butonlara bastığınızda segmentlerin görüntülerinin kaybolması oldukça normal.
aslında sorununuzun cevabını kendi yazılarınızda saklı. siz segmentlerin görüntü yenileme işlemini başka bir timer açarak interrupt içinde yaparsanız, yani zamanı saydırdığınız gibi bağımsız bir segment görüntü yenileme zamanı oluşturursanız. buton ve diğer işlemlerinizi rahatlıkla yaparsınız.

mesela;
zamanı oluşturmak için timer2 yi kullanmışsınız. ben olsaydım. şayet.
bir interrupt açar. bu interrupt içinde timer0 ı 100mS de bir kesme oluşacak şekilde ayarlar o kesmenin içinde segmentlerin görüntü yenilemesi işlemini gerçekleştirirdim. ayrıca interrupt içinde timer1 ile de zamanı oluştururdum. bu sayede ana programında yapmak istediğimi yapar. hem zamanımı hemde displaylarımı rahatca kontrol ederdim.

fatihbaysu

Sayın Pro-TR,

       İlgi ve desteğiniz için çok teşekkürler, aslında uzunca bir zamandır arada bir proton basic de bir, iki proje yapsamda elektronik temelim ve eskiden kalma PC üzerinde Basic tarzı yazılım bilgim olmakla beraber Pic ile halen çok acemiyim, internetten bulduğum saat örneklerinden yapmaya çalıştım birde PORTB nin donanımsal kesmesi olduğundan aslında tuş takımı için pulup dirençleri ile daha doğru, ama devre çizim olarak tamamlanmış sıkıntı olur derseniz devrede B.0 ve B.1 girişleri ısı ölçümü için kullanılmakta diğer butonlarıda PORTB ye taşıttırayım mı. Birde önerdiğiniz Tmr0 ve Tmr1 için kod için nasıl yazmalıyım önereceğiniz kaynak varmıdır. Yardımarınız içi size ve ETE hocamızın site yolu ile bizlere verdiği destek için çok teşekkürler. Selamlar.
Fatih Bayşu

Hattuşa

arkadaşım tamam size bir kod yazayımda, kodu yazacağımız en azından bir simülasyon dosyası olsa, neyin ne girişi-çıkışı olduğunu bilsek,sürdüğünüz dotmatrixleri neyle sürdüğünüzü bilsek yardımcı olabilirdik. bu hali ile ancak hazırcılık olur ki bu sitede kimse hazır birşeyler vermek istemez

fatihbaysu

Sayın Pro-TR,

      Hızlı dönüşünüz için tekrar tekrar çok teşekkür ederim, yanlış anlaşıldığım için sizden özür dilerim benim timer kesmeleri ile ilgili hiç deneyim olmadı genel olarak önerebileceğiniz bir site, kitap vs olarak sormuştum yeterince bilgi verip yardımcı oldunuz zaten ekte bir şeması var işinize yararmı bilemiyorum. Saygılarımla,

fatihbaysu


fatihbaysu

Sayın Pro-TR,

     Biraz önce excel ekini jpg yapıp göndermeye çalıştığım uzunca yazdığım yanıtım sanırım bir sorun olmuş gönderememişim.
A.0 - A.3 arası CD4511 ile 7 segmenti sürmekteyim,
D.0-D.3 portlarından LS145 entegresi ile toplam 9 adet display sürmekteyim.
HC147 entegresi ile 8 adet butonu girmekteyim butonlar 3 adet röleyi çektiren (BUHAR, FAN, FIRIN İÇ LAMBA) kalan 5 butonla (zaman, üst ısı ve alt ısı için setup a almak ve A.7 ye bağlı Yukarı E.1 bağlı aşağı butonuyla setup içinde değer ayarlayıp eprom a kayıt edeceğim bu kısımları yapmaya çalışırım ama aynı anda Tmr0, ve Tmr1 ayarlarını nasıl yapabilirim ve kesme adımında her ikisini nasıl kontraol etmem gerekir. İyi geceler dilerim.

fatihbaysu

Sayın Pro-TR,

Henüz pcb basılmadı sadece preteus da çizildi değişiklik gerekirse yaptırabilirim.

fatihbaysu


fatihbaysu

Sayın Pro-TR,

Displayler 3lü gurup ortak katot, bu arada eski Çorum belediyesinin yanındaki pasajda rahmetli amcamın Bayşu Spor mağazası vardı yani bende Kahraman Çorumluyum...  Size ve memleketime selamlar...

Hattuşa

sanırım istediğiniz çizim bu şekilde olacak

not :(isisde 3 lü segment olmadığı için 4 lü kullandım her segmentin soldan ilk hanesi kullanılmayacak bu şekilde 9 tane segment sürülecek)

fatihbaysu

Pro-TR,

     Elinize sağlık, bu arada butonları portB ye taşımak gerekirmi sizce, timerlar düzelince sorun olmazsa böyle kalsınmı.
Selamlar.

Hattuşa

fatih abi bunu bir inceleyin.
abi program şöyle;
10mS de bir kesme oluşturdum. oluşturulan 10mS den
100 e kadar saydırıp saniye,dakika,saati oluşturdum
ayrıca 9 digit +1 nokta ile toplam 10 yenilieme ile ekranı sürdüm buraya kadar problem yok.
ben mcunun dahili OSC si ile 8mhz de çalışıyorum. isis ekranında titreme oluyor. gerçekte digitler titrermi bilmiyorum. eğer titreme yaparsa bizde kesmeyi 10ms den 5ms yeye hatta daha da aşağı çekebiliriz. ben simülasyonda 32mhz gösterdim titreme kayboluyor.
siz gerçekte bir deneyin eğer titreme yoksa 10ms lik kesme süresi ile devam ederiz. yok titreme oluyorsa kesmenin süresini kısaltabiliriz.
ana programa hiç bişey yazmadım. bu yaptıklarımız ana programdan bağımsız çalışacak. kalan işlerinizi ana programda yapabilirsiniz
bir sıkıntı olursa bildirin

edit :bahsettiğin 3 butonu da aktif ettim. bu 3 buton ile ilgili ledleri ve roleleri kontrol ediyor

Powered by EzPortal