At kod-hiba2
Frei László
bsoft at elender.hu
Tue Sep 3 21:23:02 CEST 2002
(tudom, hogy rövidebben is meglehetett
volna írni a progit, de így jobban szűrhető a hiba. Oszt majd átírom...)
LIST P=18F252
#include "P18F252.INC"
#DEFINE ADAT PORTB,1 ;AT ADAT JEL
#DEFINE CLOCK PORTB,0 ;AT CLOCK JEL
#DEFINE SETD PORTA,0 ;DATA BEHÚZÓ
#DEFINE SETC PORTA,1 ;CLOCK BEHÚZÓ
#DEFINE RS PORTB,2 ;LCD RS BIT
#DEFINE RW PORTB,3 ;LCD RW BIT
#DEFINE E PORTB,4 ;LCD E BIT
#DEFINE LCD PORTC ;LCD UTASÍTÁS-KIMENET
#DEFINE FLAG FLAGVECT,0 ;FLAG JELZOBIT
#DEFINE INT INTCON,INT0IE ;INT0 KAPCSOLÁS
#DEFINE DIR INTCON2,6 ;DETECT-IRÁNY
cblock
DATAIN ;TÁROLÓ
TEMP0 ;ÁLTALÁNOS TÁROLÓ
TEMP1 ;ÁLTALÁNOS TÁROLÓ
TEMP2 ;ÁLTALÁNOS TÁROLÓ
PARITY ;PARITÁS BIT SZÁMOLÁSÁHOZ
TIMER1 ;IDOZÍTO TÁROLÓ
TIMER2 ;IDOZÍTO TÁROLÓ
FLAGVECT ;FLAGEK TÁROLÓREGISZTERE
endc
ORG 00H ;START CÍM
NOP
GOTO MAIN
ORG 08H ;HIGH INTERRUPT VECTOR
BSF FLAG
BCF INTCON,INT0IF
RETFIE
ORG 18H ;LOW INTERRUPT VECTOR
BSF FLAG ;BIZTONSÁG KEDVÉÉRT
BCF INTCON,INT0IF
RETFIE
INIT
MOVLW B'11000011' ;BEÁLLÍTÁSOK
MOVWF TRISB
CLRF TRISC
CLRF TRISA
CLRF PORTA
CLRF PORTB
CLRF PORTC
BCF RW
BCF RS
BCF E
MOVLW B'00001111' ;LCD BEÁLLÍTÁS
CALL UTASIT
MOVLW B'00111100'
CALL UTASIT
MOVLW B'00000011'
CALL UTASIT
CLRF INTCON3 ;INTERRUPT BEÁLLÍTÁS
CLRF RCON
MOVLW B'10000000' ;6.BIT:RISE/FALL
MOVWF INTCON2
MOVLW B'11000000'
MOVWF INTCON
RETURN
UTASIT ;LCD UTASÍTÁS-RUTIN
MOVWF LCD
BSF E
CALL WAIT
BCF E
RETURN
SZOVEGEL
BSF RS ;LCD KARAKTER-RUTIN
MOVWF LCD
BSF E
CALL WAIT
BCF E
BCF RS
RETURN
WAIT ;LCD IDOZÍTO
CLRF TIMER1
LOOP
DECFSZ TIMER1,F
GOTO LOOP
RETURN
;-----------------------------------------------
;Tényleges program kezdete
;-----------------------------------------------
START
CLRF DATAIN
CALL DETECTL
BTFSC ADAT
GOTO START
CALL DETECTF
BIT0
CALL DETECTL
BTFSC ADAT
BSF DATAIN,0
CALL DETECTF
BIT1
CALL DETECTL
BTFSC ADAT
BSF DATAIN,1
CALL DETECTF
BIT2
CALL DETECTL
BTFSC ADAT
BSF DATAIN,2
CALL DETECTF
BIT3
CALL DETECTL
BTFSC ADAT
BSF DATAIN,3
CALL DETECTF
BIT4
CALL DETECTL
BTFSC ADAT
BSF DATAIN,4
CALL DETECTF
BIT5
CALL DETECTL
BTFSC ADAT
BSF DATAIN,5
CALL DETECTF
BIT6
CALL DETECTL
BTFSC ADAT
BSF DATAIN,6
CALL DETECTF
BIT7
CALL DETECTL
BTFSC ADAT
BSF DATAIN,7
CALL DETECTF
PAR ;EZT MAJD KESOBB MEGOLDOM
CALL DETECTL
NOP
NOP
NOP
NOP
NOP
CALL DETECTF
STOP ;EZT IS
CALL DETECTL
NOP
CALL DETECTF
RETURN
DETECTL
BCF DIR
BSF INT
BTFSS FLAG
GOTO DETECTL
BCF INT
BCF FLAG
RETURN
DETECTF
BSF DIR
BSF INT
BTFSS FLAG
GOTO DETECTF
BCF INT
BCF FLAG
RETURN
MAIN
CALL INIT
MLOOP
CALL START
MOVF DATAIN,W
CALL SZOVEGEL
CLRF DATAIN
GOTO MLOOP
END
More information about the Elektro
mailing list