trisA yardım

Başlatan burctankal, 12 Kasım 2014, 17:16:34

burctankal

Kullandığım 16f684 pic'inde pin giriş-çıkış ayarlarında takıldım. Projemde timer1 interrupt'ı kullanıcağım. C portunun tamamı çıkış, A portunun ise RA5 çıkış diğerlerinin giriş olması gerekmekte. Adc girişlerinden RA0 ve RA1 Analog diğerlerinin ise digital olarak ayarlanması gerekmektedir.
void interrupt(){//do somethingintcon.t0if=0;}void main(){cmcon0=7;ansel=0b00000011;trisa=0b011111;porta=0;trisc=0;portc=0;option_reg    = 0x00;intcon.gie    = 1;intcon.t0ie = 1;}


Yukarıdaki ayarlardan sonra  isis similasyonda resimdeki gibi bir sonuç alıyorum. PortA'daki 2 pin kendiliğinden çıkış oluyor. Ansel yazmacı satırını sildiğimde ve ya interrupt'u kaldırdığımda A portu düzeliyor.

RA0 > Analog - In
RA1 > Analog - In
RA2 > Digital  - In
RA3 > Digital  - In
RA4 > Digital  - In
RA5 > Digital  - Out

RC0 - RC5 > digital - Out

olacak şekilde yazmaçları nasıl düzenleyebilirim.

bymerag

ansel=0b00000011 //bu şekilde ra0 ve ra1 analog diğerleri dijital çıkış
trisa=0b00011111 // ra5 çıkış  ra0-ra4 giriş

porta nın 3. bacağı mclr olduğundan daimi inputtur.

yalnız katalogda şöyle bir not var
Note 1: TRISA<3> always reads '1'.
2: TRISA<5:4> always reads '1' in XT, HS and LP OSC modes.

bu şekilde denermisin

Powered by EzPortal