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 something
intcon.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