8 DIGIT EKRANDA SAYI SAYDIRMA

Başlatan nurican, 02 Haziran 2008, 21:20:57

nurican

arkadaşlar öncelikle herkese selamlar foruma yeni girdim ve bu ilk mesajım. pic ile uğraşmaya başlayalı bir kaç gün oldu bu konudaki bilgim sıfır diyebilirim. 8 dijitlik bir ekranda sayı saydırma denemesi yapmak istedim fakat beceremedim ve sonra kıçımdan uydurduğum bir programla aşağıda gördüğünüz gibi bişiler ortaya çıkardım. sonuçta istediğim sayıları saydırmayı başardım fakat kuralı bu değil anladığım kadarıyla benimki tamamen atmasyon bi yöntemle yapıldı. bu işin doğru yöntemini tavsiye edebilecek arkadaşların fikirlerini ve tavsiyelerini bekliyorum teşekkür ederim....

kullandığım derleyici: mplab ide v7.30 ile pic basic pro bilmem doğru yazdımmı :))

pic yükleme kartı biopic transfer programı usburn15.rc.1 sprut

bu işle ilgili kitap ve döküman tavsiyelerinizi bekliyorum
cahiliyetimi mazur görün lütfen...

oluşturduğum sayıların resimleri aşağıda


[/URL][/img]

[/URL][/img]

[/URL][/img]


arkadaşlar aşağıda görmüş oldunuz uyduruk programlada 9 dan geriye saydırmayı ve dijit hücrelerinin dairesel bir şekilde yanarak dönmesini sağladım aslında su anda sadece ihtiyacım olan şey beş yada altı adet buton düşünelim hangi butona basarsam ona ait rakamın yanması ve normal olarak 9 dan geriye doğru sayması bu iki işlem ayrı ayrı yapılacak. gördüğünüz gibi bu forumda yaptığım inceleme sonucu iki günde bu kadar komut öğrenebildim. yardımlarınız için şimdiden teşekkür ederim....



  A VAR PORTB.0
	B VAR PORTB.1
	C VAR PORTB.2
	D VAR PORTB.3
	E VAR PORTB.4
	F VAR PORTB.5
	G VAR PORTB.6
	N VAR PORTB.7
DONGU
	HIGH A
	HIGH B
	HIGH C
	HIGH D
	HIGH F
	HIGH G
	HIGH N
	LOW  E
	PAUSE 800
	HIGH E
	PAUSE 800
	LOW F 
	LOW G
	LOW E
	LOW D
	HIGH A
	HIGH B
	HIGH C
	PAUSE 800
	HIGH F 
	HIGH A
	HIGH G
	HIGH E
	HIGH D
	HIGH C
	LOW B
	PAUSE 800
	LOW E
	LOW B
	HIGH A
	HIGH F
	HIGH C
	HIGH D
	HIGH G
	PAUSE 800
	HIGH B
	HIGH F
	HIGH C
	HIGH G
	LOW E
	LOW D
	LOW A
	PAUSE 800
	LOW F
	LOW E
	HIGH A
	HIGH B
	HIGH C
	HIGH E
	HIGH D
	PAUSE 800
	LOW C
	LOW F
	HIGH B
	HIGH G 
	HIGH E 
	HIGH D
	HIGH A
	PAUSE 800
	HIGH C
	HIGH B
	LOW G
	LOW A
	LOW D
	LOW E 
	LOW F
	PAUSE 800
	HIGH PORTB.0
	PAUSE 80
	LOW PORTB.0
	PAUSE 20
	HIGH PORTB.1
	PAUSE 80
	LOW PORTB.1
	PAUSE 20
	HIGH PORTB.2
	PAUSE 80
	LOW PORTB.2
	PAUSE 20
	HIGH PORTB.3
	PAUSE 80
	LOW PORTB.3
	PAUSE 20
	HIGH PORTB.4
	PAUSE 80
	LOW PORTB.4
	PAUSE 20
	HIGH PORTB.5
	PAUSE 80
	LOW PORTB.5
	PAUSE 20
	HIGH PORTB.6
	PAUSE 80
	LOW PORTB.6
	PAUSE 20
	HIGH PORTB.7
	PAUSE 80
	LOW PORTB.7
	PAUSE 20
	HIGH PORTB.6
	PAUSE 80
	LOW PORTB.6
	PAUSE 20
	HIGH PORTB.5
	PAUSE 80
	LOW PORTB.5
	PAUSE 20
	HIGH PORTB.4
	PAUSE 80
	LOW PORTB.4
	PAUSE 20
	HIGH PORTB.3
	PAUSE 80
	LOW PORTB.3
	PAUSE 20
	HIGH PORTB.2
	PAUSE 80
	LOW PORTB.2
	PAUSE 20
	HIGH PORTB.1
	PAUSE 80
	LOW PORTB.1
	PAUSE 20
	HIGH PORTB.0
	PAUSE 80
	LOW PORTB.0
	PAUSE 20
	HIGH PORTB.0
	PAUSE 800
	LOW PORTB.0
	HIGH PORTB.1
	PAUSE 800
	LOW PORTB.1
	HIGH PORTB.2
	PAUSE 800
	LOW PORTB.2
	HIGH PORTB.3
	PAUSE 800
	LOW PORTB.3
	HIGH PORTB.4
	PAUSE 800
	LOW PORTB.4
	HIGH PORTB.5
	PAUSE 800
	LOW PORTB.5
	HIGH PORTB.6
	PAUSE 800
	LOW PORTB.6
	HIGH PORTB.7
	PAUSE 800
	LOW PORTB.7
	PAUSE 800
	HIGH PORTB.0
	PAUSE 80
	LOW PORTB.0
	PAUSE 20
	HIGH PORTB.1
	PAUSE 80
	LOW PORTB.1
	PAUSE 20
	HIGH PORTB.2
	PAUSE 80
	LOW PORTB.2
	PAUSE 20
	HIGH PORTB.3
	PAUSE 80
	LOW PORTB.3
	PAUSE 20
	HIGH PORTB.4
	PAUSE 80
	LOW PORTB.4
	PAUSE 20
	HIGH PORTB.5
	PAUSE 80
	LOW PORTB.5
	PAUSE 20
	HIGH PORTB.6
	PAUSE 80
	LOW PORTB.6
	PAUSE 20
	HIGH PORTB.7
	PAUSE 80
	LOW PORTB.7
	PAUSE 20
	HIGH PORTB.6
	PAUSE 80
	LOW PORTB.6
	PAUSE 20
	HIGH PORTB.5
	PAUSE 80
	LOW PORTB.5
	PAUSE 20
	HIGH PORTB.4
	PAUSE 80
	LOW PORTB.4
	PAUSE 20
	HIGH PORTB.3
	PAUSE 80
	LOW PORTB.3
	PAUSE 20
	HIGH PORTB.2
	PAUSE 80
	LOW PORTB.2
	PAUSE 20
	HIGH PORTB.1
	PAUSE 80
	LOW PORTB.1
	PAUSE 20
	HIGH PORTB.0
	PAUSE 80
	LOW PORTB.0
	PAUSE 20

	GOTO DONGU

	END
Bir yerde küçük insanların büyük gölgeleri oluşuyorsa orada güneş batıyor demektir.....

mustafa_cmbz

aslında su anda sadece ihtiyacım olan şey beş yada altı adet buton düşünelim hangi butona basarsam ona ait rakamın yanması ve normal olarak 9 dan geriye doğru sayması bu iki işlem ayrı ayrı yapılacak.


burada tam olarak ne demek istedin anlamadım.

yani butonlara basılınca ilk önce displayde hangi butona basıldıysa o rakam çıkacak sonrada 9'dan geriyemi sayacak? yada 2 adet display olacak 1.'de hangi butona basıldığı 2.sinde de 9'dan geriye mi saydıracak...

yani kısaca ne yapmak istediğini anlat derman bulalım...sorunun çok basit aslında ama öğreterek cvp vereceğim...

nurican

sağolasın kardeşim oradaki hatamı sen yazdığında fark ettim. aslında iki farklı proje yapmak istiyorum biri seninde anladığın gibi hangi butona basarsam dijitte ona ait rakam görünecek diğer proje ise pic e enerji verdiğimde 9 dan geriye doğru sayacak. aslında bunların hiç bi amacıda yok tek istediğim bu konuda kendimi geliştirmek. benim mesleğim makina imalatı. makina imalatında otomasyon işin en önemli kısmı haline geldi ve artık bende elektronik otomasyon konusunda ve pic üzerinde kendimi geliştirmek istiyorum. yakın zamanda yapmak istediğim bir makina projesi var bu makinanın elektronik kontrolunü tam anlamıyla pic ve lcd ekran ve diğer komponentlerden (servo motor lineer posisyon cetveli v.s. ) oluşturabileceğim bir konrol kartı ile yapmak istiyorum. şu an yaptıklarım sadece öğrenme amaçlı. bilmem doğru yoldamıyım. :D :D

yardımın için çok teşekkür ederim...
Bir yerde küçük insanların büyük gölgeleri oluşuyorsa orada güneş batıyor demektir.....

aslan_korhan

PIC ile Display arasına direnç bağlamamışsın. Bir daha sefere araya yaklaşık 470 ohm'luk direnç bağlarsan daha iyi olur. Yoksa LED'ler yanabilir. Birde Kristali PIC'den çok uzağa koymuşsun. Bunu mümkün olduğu  kadar PIC'in yakınına  koyman gerekir.
Sonra başka projelerde neden çalışmıyor yada sağlıksız çalışıyor diye uğraşma...
Dünyada 10 çeşit insan vardır. Binary bilen ve bilmeyenler.

nurican

sağolasın korhan hocam bu tavsiyelerini mutlaka değerlendireceğim bu yukarıda gördüğün iki günlük pic tecrübemle yaptığım ilk projem bundan sonra daha iyileri için çalışmaya devam edeceğim tavsiyelerin için teşekkür ederim....
Bir yerde küçük insanların büyük gölgeleri oluşuyorsa orada güneş batıyor demektir.....

mustafa_cmbz

hocam güç kaynağın varmı? yok ise sana 1-2 tiyo vereceğim birde pcb leri hangi programda çiziyorsun?..

bunların dışında sana biraz gaz vereyim eğer böyle hız kesmeden gidersen 2-3 aya kalmaz istediğin makinayı yapmak için bilgi birkimine sahip olursun ama kendini de fazla kaptırma bu piclere duyduğum kadarı ile bakırköyde yer kalmamış...ben o meselede eşikten döndüm yazda geldi biraz sosyalleşmek lazım yoksa elektronik adamı içe kapanıklığa itiyor..bunu yenmenin en iyi yolu ise insan içine karışmak öğrenciysek okuldaki sosyal aktivitelere vakit ayırmak vs. bunlar elektronik bilgisinin dışındaki ecrübelerim ama ne de olsa sonuçta insanız lazım oluyor...

herhangi bir yerde akıldığında sor elimizden geldiğince yardımcı olalım..


şimdi sorularına gelince:

mesela demişsin ya bir butona basıldığında o buton hangi rakamı temsil ediyorsa onu displayde göstermek istemişsin..aslında çok basit şöyle ki

örnek olarak;

ilk önce tuşları taratmak için böyle bir döngü kur

basla:
ıf buton1=1 then yak1a
ıf buton2=1 then yak2a
ıf buton3=1 then yak3a
goto basla
[/color]


daha sonra yak1a etiketine gelerek displayler söndür ki bundan sonra basılacak olan butonların numaraları (segmentler) bir birine karışmasın...

yak1a:

' burada display segmentlerini ilk önce hepsini södür
goto yak1


ondan sonra ;

yak1:

'segmentleri buradan gerekli komutlar ile yak

goto basla   'buradan da eğer tekrar başka tuşla basılınca aynı displayde çıkması isteniyorsa programı başa yönlendirirsin...


son olarak ta siteye eğer yazdığın kaynak kodu koyarken daha rahat okunsun diye code  çerçevesi içine alırsan çok iyi olur bende tam ismini bilmiyorum.. ama resmini koyuyorum...




diğer sayıcı progrmaınıda  öğlene doğru yazarız saat 02:55 sabah olacak nerdeyse...hadi kolay gelsin sana

nurican

güç kaynağı olarak bilgisayar power supply +5v çıkışını kullanıyorum. çizim programı konusunda henüz bir bilgim yok ama proteus isis indirdim kurdum ama incelemeye fırsat bulamadım eğer seninde bu konuda bi tavsiyen varsa çok makbule geçer çünkü ilk kullanacağım program olacak ve en doğru program olmasını istiyorum. zor yada kolay olması önemli değil. bu program örneklerinide birazdan deneyeceğim sonucu mutlaka bildiririm. yardımın için teşekkürler....
Bir yerde küçük insanların büyük gölgeleri oluşuyorsa orada güneş batıyor demektir.....

mustafa_cmbz

ares senin işini görür diye düşünüyorum...

bariseryener

Arkadaşım bütün sevent segmentlerin a-b-c-d-e-f-g uçlarını birbirine paralel le pic in portb sine gir ortak anot uçlarınıda transistörle porta ya gir sonrada seven segment tool dan sayıların karşılıklarını al porta dan istediğin seven segmenti seçerek portb den gönder binary karşılıklarını.Senin yapabileceğin en kolay yöntem bu.Tabi sayma işlermi için ister alt alta yaz istersende lookuptable oluştur ordan çek.Yani çok basit bişey bu :) gerçi hep kolay şeyler kafa karıştırıyor  :lol: