LCDSIG_0:////////////////////////subroutine to display blank data for 105 columns
movlw d'105'
movwf count341
movlw 0x00 ; column address
movwf byte_pos
movlw 0x00
movwf PORTD
call SND_CMD
movlw 0xB8 ; page address
movwf PORTD; (40h to 80h)
CALL SND_CMD
movlw 0xC0 ; line address
movwf PORTD; (40h to 80h)
CALL SND_CMD
goto LCDSIG_101
LCDSIG_101:
decf count341,1
movf count340,0
call Table_SIG0//////////subroutine of all 0s
incf byte_pos,1
movf byte_pos,0
sublw h'3C'
btfss CARRY
goto LCDSIG_102
movf count341,0
btfss ZERO
goto LCDSIG_101
return
LCDSIG_102:
movlw 0xEE ;;Read-Modify-Write OFF
movwf PORTD
call SND_CMD1
movlw 0xB8 ; page address
movwf PORTD; (40h to 80h)
CALL SND_CMD1
movlw 0x00 ; column address
movwf PORTD; (40h to 80h)
CALL SND_CMD1
movlw 0xC0 ; line address
movwf PORTD; (40h to 80h)
CALL SND_CMD1
goto LCDSIG_103
LCDSIG_104:
decf count341,1
call Table_SIG0_1//////////subroutine of all 0s
LCDSIG_103:
movf count341,0
btfss ZERO
goto LCDSIG_104
return
LCDSIG_F::////////////////////////subroutine to display data 7E ie 6 pixels high each for 105 columns
movlw d'105'
movwf count341
movlw 0x00 ; column address
movwf byte_pos
movlw 0x00
movwf PORTD
call SND_CMD
movlw 0xB8 ; page address
movwf PORTD; (40h to 80h)
CALL SND_CMD
movlw 0xC0 ; line address
movwf PORTD; (40h to 80h)
CALL SND_CMD
goto LCDSIG_1151
LCDSIG_1151:
decf count341,1
movf count340,0
;addlw 0x01
call Table_SIG15
;movwf PORTD
;call SND_DTA
;TBLRD*+
incf byte_pos,1
movf byte_pos,0
sublw h'3C'
btfss CARRY
goto LCDSIG_1152
movf count341,0
btfss ZERO
goto LCDSIG_1151
return
LCDSIG_1152:
movlw 0xEE ;;Read-Modify-Write OFF
movwf PORTD
call SND_CMD1
movlw 0xB8 ; page address
movwf PORTD; (40h to 80h)
CALL SND_CMD1
movlw 0x00 ; column address
movwf PORTD; (40h to 80h)
CALL SND_CMD1
movlw 0xC0 ; line address
movwf PORTD; (40h to 80h)
CALL SND_CMD1
goto LCDSIG_1153
LCDSIG_1154:
decf count341,1
call Table_SIG15_1
LCDSIG_1153:
movf count341,0
btfss ZERO
goto LCDSIG_1154
return
movlw d'105'
movwf count341
movlw 0x00 ; column address
movwf byte_pos
movlw 0x00
movwf PORTD
call SND_CMD
movlw 0xB8 ; page address
movwf PORTD; (40h to 80h)
CALL SND_CMD
movlw 0xC0 ; line address
movwf PORTD; (40h to 80h)
CALL SND_CMD
goto LCDSIG_101
LCDSIG_101:
decf count341,1
movf count340,0
call Table_SIG0//////////subroutine of all 0s
incf byte_pos,1
movf byte_pos,0
sublw h'3C'
btfss CARRY
goto LCDSIG_102
movf count341,0
btfss ZERO
goto LCDSIG_101
return
LCDSIG_102:
movlw 0xEE ;;Read-Modify-Write OFF
movwf PORTD
call SND_CMD1
movlw 0xB8 ; page address
movwf PORTD; (40h to 80h)
CALL SND_CMD1
movlw 0x00 ; column address
movwf PORTD; (40h to 80h)
CALL SND_CMD1
movlw 0xC0 ; line address
movwf PORTD; (40h to 80h)
CALL SND_CMD1
goto LCDSIG_103
LCDSIG_104:
decf count341,1
call Table_SIG0_1//////////subroutine of all 0s
LCDSIG_103:
movf count341,0
btfss ZERO
goto LCDSIG_104
return
LCDSIG_F::////////////////////////subroutine to display data 7E ie 6 pixels high each for 105 columns
movlw d'105'
movwf count341
movlw 0x00 ; column address
movwf byte_pos
movlw 0x00
movwf PORTD
call SND_CMD
movlw 0xB8 ; page address
movwf PORTD; (40h to 80h)
CALL SND_CMD
movlw 0xC0 ; line address
movwf PORTD; (40h to 80h)
CALL SND_CMD
goto LCDSIG_1151
LCDSIG_1151:
decf count341,1
movf count340,0
;addlw 0x01
call Table_SIG15
;movwf PORTD
;call SND_DTA
;TBLRD*+
incf byte_pos,1
movf byte_pos,0
sublw h'3C'
btfss CARRY
goto LCDSIG_1152
movf count341,0
btfss ZERO
goto LCDSIG_1151
return
LCDSIG_1152:
movlw 0xEE ;;Read-Modify-Write OFF
movwf PORTD
call SND_CMD1
movlw 0xB8 ; page address
movwf PORTD; (40h to 80h)
CALL SND_CMD1
movlw 0x00 ; column address
movwf PORTD; (40h to 80h)
CALL SND_CMD1
movlw 0xC0 ; line address
movwf PORTD; (40h to 80h)
CALL SND_CMD1
goto LCDSIG_1153
LCDSIG_1154:
decf count341,1
call Table_SIG15_1
LCDSIG_1153:
movf count341,0
btfss ZERO
goto LCDSIG_1154
return