Beruflich Dokumente
Kultur Dokumente
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_ON & _PWRTE_OFF & _XT_OSC & _WRT_OFF &
_LVP_OFF & _CPD_OFF
;******************************************************************
endc
;**********************************************************************
ORG 0x000 ; processor reset vector
clrf PCLATH
nop ; nop required for icd
goto start ; go to beginning of program
start
banksel TRISC
movlw 0xFF
movwf TRISC
banksel TRISB
movlw 0x00
movwf TRISB
banksel TRISD
movlw 0x00
movwf TRISD
banksel TRISA ;assembler directive to select bank
movlw 0x00
movwf TRISA ;set all PORTA pins as inputs
banksel ADCON1
movlw 0x06
MOVWF ADCON1
BANKSEL TRISE
MOVLW 0x00
movwf TRISE
banksel ch
movlw 0x00
movwf PORTB
movwf PORTD
movwf PORTE
call initlcd
main
banksel ch
;GOTO main
up
BANKSEL MH
call tenms
movf PORTC,W
movwf ip1
movwf ip2 ; I/P RECIVER DATA
;swapf inp1,w
;;;;MOVWF PORTB
; call ldly
call tenms
;call main1
;goto main
;up
call tenms
movlw 0x01 ; comparision of I/P data
XORWF ip2,0
BTFSC STATUS,Z
goto p1 ; data0
;call tenms
;BTFSC ip2,0
movlw 0x03 ; comparision of I/P data
XORWF ip2,0
BTFSC STATUS,Z
goto p3 ; data1
;call tenms
main1
banksel ch
;bsf PORTE,2
call initlcd
;here goto here
call ldly
call ldly
; bcf PORTE,2
return
p1
banksel ch
CLRF PORTB
movf ip2,w
movwf PORTB
;bsf PORTE,2
CALL ldly
bcf PORTE,2
call lcd1
call tenms
call ldly
bcf PORTE,2
goto up
p2
banksel ch
CLRF PORTB
movf ip2,w
movwf PORTB
bsf PORTE,2
call ldly
;bcf PORTE,2
call lcd2
call tenms
call ldly
bcf PORTE,2
goto up
;----
p3
banksel ch
CLRF PORTB
movf ip2,w; O.K
movwf PORTB
bsf PORTE,2
call ldly
bcf PORTE,2
bcf PORTE,2
call lcd3
call tenms
call ldly
bcf PORTE,2
goto up
p4
banksel ch
CLRF PORTB
movf ip2,w
movwf PORTB
;bsf PORTE,2
call ldly
bcf PORTE,2
call lcd4
call tenms
call ldly
bcf PORTE,2
goto up
p5
banksel ch
CLRF PORTB
movf ip2,w
movwf PORTB
bsf PORTE,2
call lcd5
call tenms
call ldly
bcf PORTE,2
goto up
p6
banksel ch
CLRF PORTB
movf ip2,w
movwf PORTB
;bsf PORTE,2
call lcd6
call tenms
call ldly
bcf PORTE,2
goto up
p7
banksel ch
CLRF PORTB
movf ip2,w
movwf PORTB
; bsf PORTE,2
call lcd7
call tenms
call ldly
bcf PORTE,2
goto up
p8
banksel ch
CLRF PORTB
movf ip2,w
movwf PORTB
; bsf PORTE,2
call lcd8
call tenms
call ldly
bcf PORTE,2
goto up
p9
banksel ch
CLRF PORTB
movf ip2,w
movwf PORTB
;bsf PORTE,2
call lcd9
call tenms
call ldly
bcf PORTE,2
goto up
p10
banksel ch
CLRF PORTB
movf ip2,w
movwf PORTB
; bsf PORTE,2
call lcd10
call tenms
call ldly
bcf PORTE,2
goto up
p11
banksel ch
CLRF PORTB
movf ip2,w
movwf PORTB
;bsf PORTE,2
call lcd11
call tenms
call ldly
bcf PORTE,2
goto up
p12
banksel ch
CLRF PORTB
movf ip2,w
movwf PORTB
;bsf PORTE,2
call lcd12
call tenms
call ldly
bcf PORTE,2
goto up
p23
banksel ch
CLRF PORTB
movf ip2,w
movwf PORTB
; bsf PORTE,2
call lcd23
call tenms
call ldly
bcf PORTE,2
goto up
p24
banksel ch
CLRF PORTB
movf ip2,w
movwf PORTB
; bsf PORTE,2
call lcd24
call tenms
call ldly
bcf PORTE,2
goto up
initlcd
call tenms
call tenms
call tenms
call tenms
movlw 0x30
call lcdout
call tenms
call tenms
movlw 0x30
call lcdout
call tenms
movlw 0x30
call lcdout
call tenms
; movlw 0x30
; call lcdout
;call tenms
movlw 0x3C
call lcdout
call tenms
movlw 0x0E
call lcdout
call tenms
movlw 0x06
call lcdout
call tenms
movlw 0x01
call lcdout
call tenms
LCDA
movlw 0x80 ; ADDRESS OF RAM LOCATION OF LCD
call lcdout ; ( STARTING ADDRESS = 80 )
call tenms
movlw 'P' ; U
call asc
call tenms
movlw 'C' ; F 86 R
call asc
call tenms
movlw 'B' ; O 87
call asc
call tenms
movlw 'A' ; O
call asc
call tenms
movlw 'F' ; L 8C
call asc
call tenms
movlw 0x20 ; E 8D
call asc
call tenms
;;;;;;;;;;;;;;;;;;;;;;;;;;
movlw 'G' ;
call asc
call tenms
movlw 0x20 ;
call asc
call tenms
movlw 'T' ; C7
call asc
call tenms
movlw 0x20 ; A
call asc
call tenms
movlw 0x20;
call asc
call tenms
movlw 'O' ; CC
call asc
call tenms
movlw 'L' ;
call asc
call tenms
movlw 0x20 ;
call asc
call tenms
return
;------------
tenms
nop
movlw .13
movwf COUNTH
movlw .245
movwf COUNTL
ten
decfsz COUNTL,F
goto ten
decfsz COUNTH,F
goto ten
return
tenms1
nop
movlw .19
movwf COUNTH1
movlw .245
movwf COUNTL1
ten1
decfsz COUNTL,F
goto ten1
decfsz COUNTH,F
goto ten1
return
ldly
call tenms
call tenms
call tenms
call tenms
call tenms
call tenms
call tenms
call tenms
call tenms
;call tenms
; call tenms
; call tenms
; call tenms
; call tenms
;;call tenms
;call tenms
; call tenms
;call tenms
;call tenms
;call tenms
;call tenms
;call tenms
; call tenms
;call tenms
;call tenms
; call tenms
; call tenms
; call tenms
;call tenms
;call tenms
return
lcd1
BANKSEL MH
movlw 'P' ; U
call asc
call tenms
movlw 'O' ; R
call asc
call tenms
movlw 'k' ; A
call asc
call tenms
RETURN
lcd2
BANKSEL MH
movlw 'P' ; U
call asc
call tenms
movlw 'e' ; R
call asc
call tenms
movlw 'r' ; A
call asc
call tenms
RETURN
lcd3
BANKSEL MH
movlw 'o' ; R
call asc
call tenms
movlw 'k' ; A
call asc
call tenms
RETURN
lcd4
BANKSEL MH
movlw 'e' ; R
call asc
call tenms
movlw 'r' ; A
call asc
call tenms
RETURN
lcd5
BANKSEL MH
movlw 'O' ; R
call asc
call tenms
movlw 'k' ; A
call asc
call tenms
; movlw 'L' ; A
; call asc
; call tenms
RETURN
lcd6
BANKSEL MH
movlw 'e' ; R
call asc
call tenms
movlw 'r' ; A
call asc
call tenms
; movlw 'L' ; A
; call asc
; call tenms
RETURN
lcd7
BANKSEL MH
movlw 'k' ; A
call asc
call tenms
;'movlw 'g' ; A
; 'call asc
;'call tenms
RETURN
lcd8
BANKSEL MH
movlw 'e' ; R NOT GATE ERR I/P PIN == 13 & O/P = 12 CHECK
NOT GATE
call asc
call tenms
movlw 'r' ; A
call asc
call tenms
RETURN
lcd9
BANKSEL MH
movlw 'o' ; R
call asc
call tenms
movlw 'k' ; A
call asc
call tenms
RETURN
lcd10
BANKSEL MH
movlw 'e' ; R
call asc
call tenms
movlw 'r' ; A
call asc
call tenms
RETURN
lcd11
BANKSEL MH
; movlw 'w' ; A
;call asc
;call tenms
RETURN
lcd12
BANKSEL MH
movlw 'n' ; R
call asc
call tenms
; movlw 'd' ; A
;call asc
;call tenms
RETURN
lcd23
BANKSEL MH
movlw 'F' ; U
call asc
call tenms
movlw 'o' ; R
call asc
call tenms
movlw 'k' ; A
call asc
call tenms
RETURN
lcd24
BANKSEL MH
movlw 'F' ; U
call asc
call tenms
movlw 'e' ; R
call asc
call tenms
movlw 'r' ; A
call asc
call tenms
RETURN
;----------------------------------------------------
;------------------------------------------------------
p0
; bsf PORTE,2
movf ip2,w
movwf PORTB
;call lcd0
call ldly
;call ldly
; call ldly
bcf PORTE,2
call tenms
clrf PORTB
goto up
lcdout
movwf PORTD
bcf PORTE,0 ; 2 - PORTC
bsf PORTE,1 ; 3 - PORTC
bcf PORTE,1 ; 3 - PORTC
call tenms
bsf PORTE,0 ; 2 - PORTC
return
asc
movwf PORTD
bsf PORTE,0 ; 2 - PORTC
bsf PORTE,1 ; 3 - PORTC
bcf PORTE,1 ; 3 - PORTC
call tenms
bcf PORTE,0 ; 2 - PORTC
return
ldly2
call ldly
call ldly
call ldly
call ldly
call ldly
call ldly
call ldly
call ldly
call ldly
call ldly
call ldly
return