;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; display LCD 'spash' screen for 2 seconds. ~
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
radix dec
splash ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
putCmd (128+0) ; LCD line 1, htab 0 |
putStr "VAR RATE V0.01 "
putCmd (192+0) ; LCD line 2, htab 0 |
putStr "ENCODER TEST "
return ; |
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; 'putStrx' - print string embedded in-line with code. ~
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
putStrx
banksel TOSL ; bank 31 |31
movf TOSL,W ; copy return address to FSR1 |31
movwf FSR1L ; " |31
movf TOSH,W ; " |31
movwf FSR1H ; " |31
bsf FSR1H,7 ; required for program memory |31
incf TOSL,F ; bump return/string address |31
skpnz ; " |31
incf TOSH,F ; " |31
movlb 0 ; bank 00 |00
movf INDF1,W ; end-of-string (0)? |00
skpnz ; no, skip (send char), else |00
return ; exit (end-of-string) |00
call data2LCD ; send character |00
bra putStrx ; branch (next character) |00
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~