http://sdrv.ms/Z5SkeE (http://sdrv.ms/Z5SkeE) proje dosyaları burada.
INCLUDE "modedefs.bas"
DEFINE ADC_BITS 10
DEFINE ADC_CLOCK 3
DEFINE ADC_SAMPLEUS 50
Tsample VAR Word
Mode VAR Byte
Dummy VAR Byte
D VAR Byte
Res Var Word
Temp1 Var Word
Temp2 Var Word
dur var word
LM35 Var Word
Temp Var Byte
A0 VAR BYTE
A1 VAR BYTE
A2 VAR BYTE
A3 VAR BYTE
A4 VAR BYTE
A5 VAR BYTE
C0 VAR BYTE
C1 VAR BYTE
C2 VAR BYTE
C3 VAR BYTE
C4 VAR BYTE
C5 VAR BYTE
E0 VAR BYTE
E1 VAR BYTE
E2 VAR BYTE
SI VAR PORTC.7
SO VAR PORTC.6
SOR VAR BYTE
PORTA=0
PORTB=0
PORTC=0
PORTD=0
PORTE=0
PAUSE 10
;inicio conversion
ADCON1 = %10001110
ADCON0 = %01000001
dongu:
if temp2 = temp1 then
else
temp2=temp1
SEROUT so,2400,[#Temp1,D,10,13]
endif
D ="C"
ADCIN 0,Res
Temp1 = 49*Res
Temp1 = Temp1/100
'_Giriş Kontroller______________________________
'PORTA GİRİŞ KONTROL
'___________________________________________
'IF PORTA.0=1 THEN
'IF A0=1 THEN
'SEROUT SO,T2400,["RA01",10,13]
'A0=0
'ENDIF
'ENDIF
IF PORTA.1=0 THEN
IF A1=0 THEN
SEROUT SO,T2400,["RA10",10,13]
A1=1
ENDIF
elseIF PORTA.1=1 THEN
IF A1=1 THEN
SEROUT SO,T2400,["RA11",10,13]
A1=0
ENDIF
ENDIF
IF PORTA.2=0 THEN
IF A2=0 THEN
SEROUT SO,T2400,["RA20",10,13]
A2=1
ENDIF
elseIF PORTA.2=1 THEN
IF A2=1 THEN
SEROUT SO,T2400,["RA21",10,13]
A2=0
ENDIF
ENDIF
IF PORTA.3=0 THEN
IF A3=0 THEN
SEROUT SO,T2400,["RA30",10,13]
A3=1
ENDIF
elseIF PORTA.3=1 THEN
IF A3=1 THEN
SEROUT SO,T2400,["RA31",10,13]
A3=0
ENDIF
ENDIF
IF PORTA.4=0 THEN
IF A4=0 THEN
SEROUT SO,T2400,["RA40",10,13]
A4=1
ENDIF
elseIF PORTA.4=1 THEN
IF A4=1 THEN
SEROUT SO,T2400,["RA41",10,13]
A4=0
ENDIF
ENDIF
IF PORTA.5=0 THEN
IF A5=0 THEN
SEROUT SO,T2400,["RA50",10,13]
A5=1
ENDIF
elseIF PORTA.5=1 THEN
IF A5=1 THEN
SEROUT SO,T2400,["RA51",10,13]
A5=0
ENDIF
ENDIF
'__________________________________________________
'PORTC GİRİŞ KONTROL
'_________________________________________________
IF PORTC.0=0 THEN
IF C0=0 THEN
SEROUT SO,T2400,["RC00",10,13]
C0=1
ENDIF
elseIF PORTC.0=1 THEN
IF C0=1 THEN
SEROUT SO,T2400,["RC01",10,13]
C0=0
ENDIF
ENDIF
IF PORTC.1=0 THEN
IF C1=0 THEN
SEROUT SO,T2400,["RC10",10,13]
C1=1
ENDIF
elseIF PORTC.1=1 THEN
IF C1=1 THEN
SEROUT SO,T2400,["RC11",10,13]
C1=0
ENDIF
ENDIF
IF PORTC.2=0 THEN
IF C2=0 THEN
SEROUT SO,T2400,["RC20",10,13]
C2=1
ENDIF
elseIF PORTC.2=1 THEN
IF C2=1 THEN
SEROUT SO,T2400,["RC21",10,13]
C2=0
ENDIF
ENDIF
IF PORTC.3=0 THEN
IF C3=0 THEN
SEROUT SO,T2400,["RC30",10,13]
C3=1
ENDIF
elseIF PORTC.3=1 THEN
IF C3=1 THEN
SEROUT SO,T2400,["RC31",10,13]
C3=0
ENDIF
ENDIF
IF PORTC.4=0 THEN
IF C4=0 THEN
SEROUT SO,T2400,["RC40",10,13]
C4=1
ENDIF
elseIF PORTC.4=1 THEN
IF C4=1 THEN
SEROUT SO,T2400,["RC41",10,13]
C4=0
ENDIF
ENDIF
IF PORTC.5=0 THEN
IF C5=0 THEN
SEROUT SO,T2400,["RC50",10,13]
C5=1
ENDIF
elseIF PORTC.5=1 THEN
IF C5=1 THEN
SEROUT SO,T2400,["RC51",10,13]
C5=0
ENDIF
ENDIF
'______________________________________________________
'PORTE GİRİŞ KONTROL
'______________________________________________________
IF PORTE.0=0 THEN
IF E0=0 THEN
SEROUT SO,T2400,["RE00",10,13]
E0=1
ENDIF
elseIF PORTE.0=1 THEN
IF E0=1 THEN
SEROUT SO,T2400,["RE01",10,13]
E0=0
ENDIF
ENDIF
IF PORTE.1=0 THEN
IF E1=0 THEN
SEROUT SO,T2400,["RE10",10,13]
E1=1
ENDIF
elseIF PORTE.1=1 THEN
IF E1=1 THEN
SEROUT SO,T2400,["RE11",10,13]
E1=0
ENDIF
ENDIF
IF PORTE.2=0 THEN
IF E2=0 THEN
SEROUT SO,T2400,["RE20",10,13]
E2=1
ENDIF
elseIF PORTE.2=1 THEN
IF E2=1 THEN
SEROUT SO,T2400,["RE21",10,13]
E2=0
ENDIF
ENDIF
'______________________________________________________
'___________________________________________________________
'PC Veri Alma Ve Çıkışlar______________________________
'_______________________________________________________________
Serin SI,T2400,SOR
IF SOR>0 THEN
'PORTA İŞLEM
IF (SOR="A") THEN
PORTB.0=0
ELSEIF (SOR="B") THEN
PORTB.0=1
ELSEIF (SOR="C") THEN
PORTB.1=0
ELSEIF (SOR="D") THEN
PORTB.1=1
ELSEIF (SOR="E") THEN
PORTB.2=0
ELSEIF (SOR="F") THEN
PORTB.2=1
ELSEIF (SOR="G") THEN
PORTB.3=0
ELSEIF (SOR="I") THEN
PORTB.3=1
ELSEIF (SOR="J") THEN
PORTB.4=0
ELSEIF (SOR="K") THEN
PORTB.4=1
ELSEIF (SOR="L") THEN
PORTB.5=0
ELSEIF (SOR="M") THEN
PORTB.5=1
ELSEIF (SOR="N") THEN
PORTB.6=0
ELSEIF (SOR="O") THEN
PORTB.6=1
ELSEIF (SOR="P") THEN
PORTB.7=0
ELSEIF (SOR="Q") THEN
PORTB.7=1
'PORTA İŞLEM SONU
'____________________________
'PORTD İŞLEM
ELSEIF (SOR="R") THEN
PORTD.0=0
ELSEIF (SOR="S") THEN
PORTD.0=1
ELSEIF (SOR="T") THEN
PORTD.1=0
ELSEIF (SOR="U") THEN
PORTD.1=1
ELSEIF (SOR="V") THEN
PORTD.2=0
ELSEIF (SOR="W") THEN
PORTD.2=1
ELSEIF (SOR="Y") THEN
PORTD.3=0
ELSEIF (SOR="Z") THEN
PORTD.3=1
ELSEIF (SOR="1") THEN
PORTD.4=0
ELSEIF (SOR="2") THEN
PORTD.4=1
ELSEIF (SOR="3") THEN
PORTD.5=0
ELSEIF (SOR="4") THEN
PORTD.5=1
ELSEIF (SOR="5") THEN
PORTD.6=0
ELSEIF (SOR="6") THEN
PORTD.6=1
ELSEIF (SOR="7") THEN
PORTD.7=0
ELSEIF (SOR="8") THEN
PORTD.7=1
ENDIF
ENDIF
GOTO DONGU
END
Programın amacı A1 den sıcaklık kontrolü yapıp pc ye döndericek, A,E,C portlerından gelen bilgiyi pc ye göndericek. Pc den gelen bilgiye göre B,D portları çıkış vericek. Ama veri alma işlemini yaptıramadım. Programı bayağı bi kurcaladım artık derlemesinide yapmıyor. İstediği yerleri silincede program derleniyor ama çalışmıyor. Yardımınızı bekliyorum.