⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 owarray1.asm

📁 ibutton from dallas implementation with microcontroller
💻 ASM
📖 第 1 页 / 共 2 页
字号:
	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 + -