16F877 buton

Başlatan vale9, 23 Ağustos 2007, 08:15:29

vale9

Arkadaşlar 16F877'nin bir çok pinini buton girişi olarak kullanıyorum. Butonların hepsi seri olarak 330R ile vcc'ye bağlı, butonların diğer uçları da pinlere giriyor. Butona basıldığında 330R üzerinden lojik_1 görüyorum, sorun yok.

Bu dirençleri hiç kullanmadan, butonu direk vcc'ye bağlasam, butona basınca pic'in pinine direk vcc versem bi zararı olur mu?
Hayat 1'ler ve 0'lardan ibarettir.

XX_CİHAN_XX

Hayır tabiiki olmaz.Yanlız picin buton bağlı(giriş olan) pinlerini 10k gibi bir direnç ile gnd yeçekmen gerekir.Bu sayede butona basılmadığı sürece pice lojik 0 (gnd), basılınca ise lojik 1(vcc) gelecektir.
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

remzi

Senin bağladığın şekilde pin uçları boşta kaldığı için devren iyi çalışmayabilir. pin uçları mutlaka  bir yerlere bağlı olmalı.  1k-10k arası bir dirençle pini ya Vcc ye yada Gnd ye bağlamalısın.

Mesela dirençle pini Vcc ye bağladın ise Butonuda pinle Gnd arasına bağlamalısın...

kolay gelsin...

arslan74

Merhaba,

PortB ucların PullUp özelliği var. Yani yazılımla bu bacakları beslemeye bağlayan direnc ekleyebiliyorsun. Bu sayede butonu direkt pinlere bağlayıb şaseye cekebilirsin.

Selamlar

mustafa_cmbz

bunu yapmak için ayriyeten bir kod gereklımı yazılım için....

arslan74

Merhaba,

"OPTION" Registerinde pullup bittini sıfır etmelisin. 877'nin datasheetini incele görürsün.

Alıntı YapOPTION_REG REGISTER (ADDRESS 81h, 181h)                    

: PORTB Pull-up Enable bit
bit 7 RBPU
1 = PORTB pull-ups are disabled
0 = PORTB pull-ups are enabled by individual port latch values

bit 6 INTEDG: Interrupt Edge Select bit
1 = Interrupt on rising edge of RB0/INT pin
0 = Interrupt on falling edge of RB0/INT pin

bit 5 T0CS: TMR0 Clock Source Select bit
1 = Transition on RA4/T0CKI pin
0 = Internal instruction cycle clock (CLKOUT)

bit 4 T0SE: TMR0 Source Edge Select bit
1 = Increment on high-to-low transition on RA4/T0CKI pin
0 = Increment on low-to-high transition on RA4/T0CKI pin

bit 3 PSA: Prescaler Assignment bit
1 = Prescaler is assigned to the WDT
0 = Prescaler is assigned to the Timer0 module

bit 2-0 PS2:PS0: Prescaler Rate Select bits
Bit ValueTMR0 RateWDT Rate

Selamlar

stlg

Sevgili arslan74 kardesimizin dedigi gibi yapabilirsin portb yeterli gelmiyorsa harici direnclerle pullup yap butonlarıda gnd pin arasına bagla pratikte genellikle bu sekilde yapılır kolay gelsin
ALLAHA EMANET OLUNUZ Hoştur bana senden gelen,  Ya gonca gül yahut diken,  Ya kaftandır yahut kefen,  Kereminde hoş lütfunda hoş.

mech

option_reg.7=0 demen yeterli
Bilginin Efendisi Olmak İçin Çalışmanın Kölesi Olmak Şarttır