Ana Tema => Forum Kuralları, Haberler ve Duyurular => Konuyu başlatan: emrecatal00 - 01 Mart 2016, 09:45:08
Başlık: 12f675 buton
Gönderen: emrecatal00 - 01 Mart 2016, 09:45:08
Herkese merhaba! sorunum butonla alakalı Örnek= buton(a) ya 1 kere basıldığı zaman animasyon_1 de ise animasyon_1 i çalıştırıp bitirecek , butonb ' ye 1 kez basıldığında ise animasyon_2 hazırda olacak birdaha buton(a) ya basıldığı zaman animasyon_2 yi çalıştıracak ve bitirecek. Butonlama olayını tam yapamadım kafam iyice bir karıştı yardımcı olursanız sevinirim..
12F675 de porta değer vermek için GPIO registeri kullanılır. Emre TRISIO yu kullanmış ersan da aynı yanlışı tekrarlamış. TRIS registeri giriş çıkış pinlerini ayarlayan registerdir PORT registeri değildir. Bunu unutmayın. Programın başına ; TRISIO=%00110000 komutu eklenmeli. Bu komut ButonA ile ButonB pinlerini giriş olarak ayarlayacaktır. Select Case kısmında ise TRISIO=%111110 komutları yerine GPIO=%00111110 şeklinde komutlar verilmesi gerekir.
Hem programı düzeltelim hemde sistemi n çalışmasına açıklık getirelim istedim. Tarife bakılırsa Ersan da doğrusunu yapmamış gözüküyor. Zira,
Programda 3 adet animasyon var ise ve ButonB yalnızca ikinci animasyonu sıraya sokacak ise sistemi şöyle özetlemek mümkün. BUTONA sıradaki animasyonu çalıştıracak. Her basışta sırayı bir sonraki animasyona eşitleyecek. BUTONB ise yalnızca Animasyon-2 yi sıraya alacak. Başlangıçta sıra=0 olacağı için ButonA ya basılırsa Animasyon-1 çalışacak. Ardından Sıra=Sıra+1 yapacak. Yeniden ButonA ya basarsam sırada Animasyon-2 olduğu için o çalışacak ve SIra=Sıra+1 yapılıp sıraya Animasyon-3 alınmış olacaktır. Yeniden butonA ya basarsam bu sefer Animasyon-3 çalışacak ve Sıra tekrar sıfırlanacak ve animasyon-1 sıraya girmiş olacak. Arada ButonB ye basarsam Sıra ne olursa olsun Sıra=1 olacak yani Animasyon-2 sırası.
Şimdi bu senaryoya göre programı verirsek aşağıdaki gibi olmalı,
Hocam cevabınız için teşekkürler , en basit olarak şöyle a butonu animasyon değiştirecek b butonu hangi animasyondaysa onu çalıştıracak mesela animasyon 1 de a butonuna bastım çalıştı ve bitti birdaha basarsam yine animasyon 1 çalışacak sonra b butonuna bastım 2. animasyona geçti a butonuna bastığımda 2. animasyon çalışacak bitecek ben birdaha a butonuna basarsam yine 2. animasyon çalışacak , animasyon değiştirmediğim sürece yani b butonuna basmadığım sürece animasyon aynı kalacak teşekkürler yardımlarınız için tekrardan
Hocam nasıl aciklayacagimi bilemedim o nedenle açıklamayı sonradan uzun tuttum kusura bakmayın lisede mikro işlemciler dersi kaldırıldığı için kendi cabalarimla ve sizin derslerinizle birşeyler yapmaya çalışıyorum bu yüzdende fazla aciklayamadim galiba fakat dediğim gibi b butonuna basılınca hangi animasyondaysa çalışacak a butonuna basıldığında ise 1. animasyondaysa 2. animasyona yine basılırsa 3. animasyona gibi gidecek ama b butonu örnek 3. animasyonda b ye bastığım zaman 3. animasyon çalışacak yine bastım yine çalışacak sonra a ya bastım 1. animasyona geçti b ye bastığımda 1. animasyonu çalıştıracak teşekkürler kusurum varsa affola..