16f877A Programa ekleme yapınca bütün program kitleniyor.

Başlatan cbirlik7, 25 Mart 2013, 18:57:53

cbirlik7

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.