📄 owarray1.asm
字号:
MOVLW 48
ADDWF OwArray_int2hex_local_low,W
MOVWF OwArray_int2hex_local_low
MOVF OwArray_int2hex_local_low,W
SUBLW 57
BTFSC STATUS,C
GOTO L_OwArray_7
L_OwArray_6:
MOVLW 7
ADDWF OwArray_int2hex_local_low,W
MOVWF OwArray_int2hex_local_low
GOTO L_OwArray_8
L_OwArray_7:
L_OwArray_8:
MOVF OwArray_int2hex_param_row,W
MOVWF lcd_lcd_chr_param_row
MOVF OwArray_int2hex_param_start_x,W
MOVWF lcd_lcd_chr_param_column
MOVF OwArray_int2hex_local_high,W
MOVWF lcd_lcd_chr_param_out_char
CALL lcd_lcd_chr
MOVF OwArray_int2hex_param_row,W
MOVWF lcd_lcd_chr_param_row
MOVLW 1
ADDWF OwArray_int2hex_param_start_x,W
MOVWF lcd_lcd_chr_param_column
MOVF OwArray_int2hex_local_low,W
MOVWF lcd_lcd_chr_param_out_char
CALL lcd_lcd_chr
RETURN
;---endproc---
;--- procedure OwArray_ow_read_serial ---
OwArray_ow_read_serial:
BCF STATUS,RP1
BCF STATUS,RP0
CLRF OwArray_ow_read_serial_local_i
L_OwArray_11:
MOVF OwArray_ow_read_serial_local_i,W
SUBLW 7
BTFSS STATUS,C
GOTO L_OwArray_12
L_OwArray_10:
MOVF OwArray_ow_read_serial_param_PORT,W
MOVWF owlib_ow_read_param_port
MOVF OwArray_ow_read_serial_param_pin,W
MOVWF owlib_ow_read_param_pin
CALL owlib_ow_read
MOVF owlib_ow_read_result,W
MOVWF OwArray_ow_read_serial_local_tmpRead
MOVF OwArray_ow_read_serial_param_out,W
MOVWF FSR
MOVF OwArray_ow_read_serial_local_i,W
ADDWF FSR,F
MOVF FSR,W
MOVWF STACK_1
MOVWF FSR
MOVF OwArray_ow_read_serial_local_tmpRead,W
MOVWF INDF
INCF OwArray_ow_read_serial_local_i,F
GOTO L_OwArray_11
L_OwArray_12:
RETURN
;---endproc---
;--- function owlib_ow_reset ---
owlib_ow_reset:
BCF STATUS,RP1
BCF STATUS,RP0
MOVF owlib_ow_reset_param_port,W
MOVWF FSR
MOVLW 254
MOVWF STACK_0
MOVF owlib_ow_reset_param_pin,W
MOVWF STACK_1
BTFSC STATUS,Z
GOTO $+5
RLF STACK_0,F
BSF STACK_0,0
DECFSZ STACK_1,F
GOTO $-5
MOVF STACK_0,W
ANDWF INDF,F
bsf fsr,7
MOVLW 254
MOVWF STACK_0
MOVF owlib_ow_reset_param_pin,W
MOVWF STACK_1
BTFSC STATUS,Z
GOTO $+5
RLF STACK_0,F
BSF STACK_0,0
DECFSZ STACK_1,F
GOTO $-5
MOVF STACK_0,W
ANDWF INDF,F
CALL delays_delay_500us
MOVLW 1
MOVWF STACK_0
MOVF owlib_ow_reset_param_pin,W
MOVWF STACK_1
BTFSC STATUS,Z
GOTO $+5
RLF STACK_0,F
BCF STACK_0,0
DECFSZ STACK_1,F
GOTO $-5
MOVF STACK_0,W
IORWF INDF,F
bcf fsr,7
CALL delays_delay_80us
MOVLW 1
MOVWF STACK_1
MOVF owlib_ow_reset_param_pin,W
MOVWF STACK_2
BTFSC STATUS,Z
GOTO $+5
RLF STACK_1,F
BCF STACK_1,0
DECFSZ STACK_2,F
GOTO $-5
MOVF STACK_1,W
CLRF STACK_0
ANDWF INDF,W
BTFSS STATUS,Z
INCF STACK_0,F
MOVLW 0
SUBWF STACK_0,W
BTFSC STATUS,Z
GOTO L_owlib_1
L_owlib_0:
MOVLW 1
MOVWF owlib_ow_reset_result
GOTO L_owlib_2
L_owlib_1:
CLRF owlib_ow_reset_result
L_owlib_2:
CALL delays_delay_500us
RETURN
;---endproc---
;--- procedure owlib_ow_write ---
owlib_ow_write:
MOVLW 1
BCF STATUS,RP1
BCF STATUS,RP0
MOVWF owlib_ow_write_local_tet
MOVF owlib_ow_write_param_pin,W
MOVWF STACK_0
L_owlib_15:
MOVF STACK_0,W
BTFSC STATUS,Z
GOTO L_owlib_16
RLF owlib_ow_write_local_tet,F
BCF owlib_ow_write_local_tet,0
DECFSZ STACK_0,F
GOTO L_owlib_15
L_owlib_16:
CLRF owlib_ow_write_local_i
L_owlib_17:
MOVLW 7
MOVWF STACK_1
MOVF owlib_ow_write_local_i,W
SUBWF STACK_1,W
BTFSS STATUS,C
GOTO L_owlib_18
MOVF owlib_ow_write_param_par,W
MOVWF owlib_ow_write_local_j
MOVF owlib_ow_write_local_i,W
MOVWF STACK_2
L_owlib_20:
MOVF STACK_2,W
BTFSC STATUS,Z
GOTO L_owlib_21
RRF owlib_ow_write_local_j,F
BCF owlib_ow_write_local_j,7
DECFSZ STACK_2,F
GOTO L_owlib_20
L_owlib_21:
MOVLW 1
ANDWF owlib_ow_write_local_j,W
MOVWF owlib_ow_write_local_j
COMF owlib_ow_write_local_tet,W
ANDWF INDF,W
MOVWF INDF
bsf fsr,7
COMF owlib_ow_write_local_tet,W
ANDWF INDF,W
MOVWF INDF
bcf fsr,7
MOVLW 0
SUBWF owlib_ow_write_local_j,W
BTFSC STATUS,Z
GOTO L_owlib_23
L_owlib_22:
bsf fsr,7
MOVF owlib_ow_write_local_tet,W
IORWF INDF,W
MOVWF INDF
bcf fsr,7
GOTO L_owlib_24
L_owlib_23:
L_owlib_24:
CALL delays_delay_80us
bsf fsr,7
MOVF owlib_ow_write_local_tet,W
IORWF INDF,W
MOVWF INDF
bcf fsr,7
L_owlib_19:
CLRF STACK_2
INCF STACK_2,F
MOVF owlib_ow_write_local_i,W
ADDWF STACK_2,W
MOVWF owlib_ow_write_local_i
GOTO L_owlib_17
L_owlib_18:
CALL delays_delay_50us
CALL delays_delay_50us
RETURN
;---endproc---
;--- procedure main ---
main:
BCF STATUS,RP1
BCF STATUS,RP0
CLRF PORTB
BSF STATUS,RP0
CLRF TRISB
MOVLW 14
BCF STATUS,RP0
MOVWF main_global_text1_0
MOVLW 109
MOVWF main_global_text1_1
MOVLW 105
MOVWF main_global_text1_2
MOVLW 107
MOVWF main_global_text1_3
MOVLW 114
MOVWF main_global_text1_4
MOVLW 111
MOVWF main_global_text1_5
MOVLW 32
MOVWF main_global_text1_6
MOVLW 105
MOVWF main_global_text1_7
MOVLW 66
MOVWF main_global_text1_8
MOVLW 117
MOVWF main_global_text1_9
MOVLW 116
MOVWF main_global_text1_10
MOVLW 116
MOVWF main_global_text1_11
MOVLW 111
MOVWF main_global_text1_12
MOVLW 110
MOVWF main_global_text1_13
MOVLW 58
MOVWF main_global_text1_14
MOVLW 16
MOVWF main_global_text2_0
MOVLW 110
MOVWF main_global_text2_1
MOVLW 111
MOVWF main_global_text2_2
MOVLW 116
MOVWF main_global_text2_3
MOVLW 32
MOVWF main_global_text2_4
MOVLW 112
MOVWF main_global_text2_5
MOVLW 114
MOVWF main_global_text2_6
MOVLW 101
MOVWF main_global_text2_7
MOVLW 115
MOVWF main_global_text2_8
MOVLW 101
MOVWF main_global_text2_9
MOVLW 110
MOVWF main_global_text2_10
MOVLW 116
MOVWF main_global_text2_11
MOVLW 32
MOVWF main_global_text2_12
MOVLW 32
MOVWF main_global_text2_13
MOVLW 32
MOVWF main_global_text2_14
MOVLW 32
MOVWF main_global_text2_15
MOVLW 32
MOVWF main_global_text2_16
MOVLW PORTB,W
MOVWF lcd_lcd_init_param_port
CALL lcd_lcd_init
MOVLW 12
MOVWF lcd_lcd_cmd_param_out_char
CALL lcd_lcd_cmd
MOVLW 1
MOVWF lcd_lcd_out_param_row
MOVLW 1
MOVWF lcd_lcd_out_param_column
MOVLW main_global_text1_0,W
MOVWF lcd_lcd_out_param_text
CALL lcd_lcd_out
main__loop:
MOVLW PORTC,W
MOVWF owlib_ow_reset_param_port
MOVLW 2
MOVWF owlib_ow_reset_param_pin
CALL owlib_ow_reset
MOVLW PORTC,W
MOVWF owlib_ow_write_param_port
MOVLW 2
MOVWF owlib_ow_write_param_pin
MOVLW 51
MOVWF owlib_ow_write_param_par
CALL owlib_ow_write
MOVLW 39
MOVWF STACK_0
DECFSZ STACK_0,F
GOTO $-1
nop
nop
MOVLW PORTC,W
MOVWF OwArray_ow_read_serial_param_PORT
MOVLW 2
MOVWF OwArray_ow_read_serial_param_pin
MOVLW main_global_Js_1,W
MOVWF OwArray_ow_read_serial_param_out
CALL OwArray_ow_read_serial
MOVLW main_global_Js_1
MOVWF FSR
MOVF INDF,W
MOVWF STACK_0
MOVLW main_global_Js_1
MOVWF FSR
INCF FSR,F
MOVF INDF,W
ANDWF STACK_0,W
MOVWF main_global_presence_check
MOVLW main_global_Js_1
MOVWF FSR
MOVLW 2
ADDWF FSR,F
MOVF INDF,W
ANDWF main_global_presence_check,W
MOVWF main_global_presence_check
MOVLW main_global_Js_1
MOVWF FSR
MOVLW 3
ADDWF FSR,F
MOVF INDF,W
ANDWF main_global_presence_check,W
MOVWF main_global_presence_check
MOVLW main_global_Js_1
MOVWF FSR
MOVLW 4
ADDWF FSR,F
MOVF INDF,W
ANDWF main_global_presence_check,W
MOVWF main_global_presence_check
MOVLW main_global_Js_1
MOVWF FSR
MOVLW 5
ADDWF FSR,F
MOVF INDF,W
ANDWF main_global_presence_check,W
MOVWF main_global_presence_check
MOVLW main_global_Js_1
MOVWF FSR
MOVLW 6
ADDWF FSR,F
MOVF INDF,W
ANDWF main_global_presence_check,W
MOVWF main_global_presence_check
MOVLW main_global_Js_1
MOVWF FSR
MOVLW 7
ADDWF FSR,F
MOVF INDF,W
ANDWF main_global_presence_check,W
MOVWF main_global_presence_check
MOVLW 255
SUBWF main_global_presence_check,W
BTFSS STATUS,Z
GOTO L_OwArray_18
L_OwArray_17:
MOVLW 2
MOVWF lcd_lcd_out_param_row
MOVLW 1
MOVWF lcd_lcd_out_param_column
MOVLW main_global_text2_0,W
MOVWF lcd_lcd_out_param_text
CALL lcd_lcd_out
GOTO L_OwArray_19
L_OwArray_18:
MOVLW 2
MOVWF OwArray_int2hex_param_row
MOVLW 1
MOVWF OwArray_int2hex_param_start_x
MOVLW main_global_Js_1
MOVWF FSR
MOVLW 7
ADDWF FSR,F
MOVF INDF,W
MOVWF OwArray_int2hex_param_number
CALL OwArray_int2hex
MOVLW 2
MOVWF OwArray_int2hex_param_row
MOVLW 3
MOVWF OwArray_int2hex_param_start_x
MOVLW main_global_Js_1
MOVWF FSR
MOVLW 6
ADDWF FSR,F
MOVF INDF,W
MOVWF OwArray_int2hex_param_number
CALL OwArray_int2hex
MOVLW 2
MOVWF OwArray_int2hex_param_row
MOVLW 5
MOVWF OwArray_int2hex_param_start_x
MOVLW main_global_Js_1
MOVWF FSR
MOVLW 5
ADDWF FSR,F
MOVF INDF,W
MOVWF OwArray_int2hex_param_number
CALL OwArray_int2hex
MOVLW 2
MOVWF OwArray_int2hex_param_row
MOVLW 7
MOVWF OwArray_int2hex_param_start_x
MOVLW main_global_Js_1
MOVWF FSR
MOVLW 4
ADDWF FSR,F
MOVF INDF,W
MOVWF OwArray_int2hex_param_number
CALL OwArray_int2hex
MOVLW 2
MOVWF OwArray_int2hex_param_row
MOVLW 9
MOVWF OwArray_int2hex_param_start_x
MOVLW main_global_Js_1
MOVWF FSR
MOVLW 3
ADDWF FSR,F
MOVF INDF,W
MOVWF OwArray_int2hex_param_number
CALL OwArray_int2hex
MOVLW 2
MOVWF OwArray_int2hex_param_row
MOVLW 11
MOVWF OwArray_int2hex_param_start_x
MOVLW main_global_Js_1
MOVWF FSR
MOVLW 2
ADDWF FSR,F
MOVF INDF,W
MOVWF OwArray_int2hex_param_number
CALL OwArray_int2hex
MOVLW 2
MOVWF OwArray_int2hex_param_row
MOVLW 13
MOVWF OwArray_int2hex_param_start_x
MOVLW main_global_Js_1
MOVWF FSR
INCF FSR,F
MOVF INDF,W
MOVWF OwArray_int2hex_param_number
CALL OwArray_int2hex
MOVLW 2
MOVWF OwArray_int2hex_param_row
MOVLW 15
MOVWF OwArray_int2hex_param_start_x
MOVLW main_global_Js_1
MOVWF FSR
MOVF INDF,W
MOVWF OwArray_int2hex_param_number
CALL OwArray_int2hex
GOTO L_OwArray_19
L_OwArray_19:
MOVLW 3
MOVWF STACK_0
MOVLW 255
MOVWF STACK_1
MOVLW 255
MOVWF STACK_2
DECFSZ STACK_0,F
GOTO $+2
GOTO $+8
DECFSZ STACK_1,F
GOTO $+2
GOTO $+4
DECFSZ STACK_2,F
GOTO $-1
GOTO $-5
GOTO $-9
MOVLW 140
MOVWF STACK_0
MOVLW 255
MOVWF STACK_1
DECFSZ STACK_0,F
GOTO $+2
GOTO $+4
DECFSZ STACK_1,F
GOTO $-1
GOTO $-5
MOVLW 161
MOVWF STACK_0
DECFSZ STACK_0,F
GOTO $-1
nop
GOTO main__loop
GOTO $
;---endproc---
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -