📄 adcboardexample.asm
字号:
;
; ASM code generated by mikroVirtualMachine for PIC - V. 2.0.0.0
; Date/Time: 13.10.2004 12:42:57
; Info: http://www.mikroelektronika.co.yu
;
GOTO main
;--- procedure delays_delay_1us ---
delays_delay_1us:
nop
RETURN
;---endproc---
;--- procedure delays_delay_50us ---
delays_delay_50us:
MOVLW 16
BCF STATUS,RP1
BCF STATUS,RP0
MOVWF STACK_0
DECFSZ STACK_0,F
GOTO $-1
nop
RETURN
;---endproc---
;--- procedure delays_delay_5500us ---
delays_delay_5500us:
MOVLW 8
BCF STATUS,RP1
BCF STATUS,RP0
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 30
MOVWF STACK_0
DECFSZ STACK_0,F
GOTO $-1
RETURN
;---endproc---
;--- procedure delays_delay_8ms ---
delays_delay_8ms:
MOVLW 11
BCF STATUS,RP1
BCF STATUS,RP0
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 91
MOVWF STACK_0
DECFSZ STACK_0,F
GOTO $-1
nop
RETURN
;---endproc---
;--- procedure lcd_lcd_cmd ---
lcd_lcd_cmd:
BCF STATUS,RP1
BCF STATUS,RP0
MOVF lcd_main_global_portaddress,W
BCF STATUS,IRP
MOVWF FSR
MOVF lcd_lcd_cmd_param_out_char,W
MOVWF lcd_lcd_cmd_param_out_char
CLRF INDF
BTFSC lcd_lcd_cmd_param_out_char,7
BSF INDF,___DB7
BTFSC lcd_lcd_cmd_param_out_char,6
BSF INDF,___DB6
BTFSC lcd_lcd_cmd_param_out_char,5
BSF INDF,___DB5
BTFSC lcd_lcd_cmd_param_out_char,4
BSF INDF,___DB4
MOVLW 1
SUBWF lcd_main_global_cmd,W
BTFSS STATUS,Z
GOTO L_lcd_1
L_lcd_0:
BCF INDF,___RS
GOTO L_lcd_2
L_lcd_1:
BSF INDF,___RS
L_lcd_2:
BSF INDF,___ENABLE
CALL delays_delay_1us
BCF INDF,___ENABLE
CLRF INDF
BTFSC lcd_lcd_cmd_param_out_char,3
BSF INDF,___DB7
BTFSC lcd_lcd_cmd_param_out_char,2
BSF INDF,___DB6
BTFSC lcd_lcd_cmd_param_out_char,1
BSF INDF,___DB5
BTFSC lcd_lcd_cmd_param_out_char,0
BSF INDF,___DB4
MOVLW 1
SUBWF lcd_main_global_cmd,W
BTFSS STATUS,Z
GOTO L_lcd_5
L_lcd_4:
BCF INDF,___RS
GOTO L_lcd_6
L_lcd_5:
BSF INDF,___RS
L_lcd_6:
BSF INDF,___ENABLE
CALL delays_delay_1us
BCF INDF,___ENABLE
MOVLW 1
SUBWF lcd_main_global_cmd,W
BTFSS STATUS,Z
GOTO L_lcd_9
L_lcd_8:
CALL delays_delay_5500us
GOTO L_lcd_10
L_lcd_9:
CALL delays_delay_50us
L_lcd_10:
RETURN
;---endproc---
;--- procedure math_div_16x16_u ---
math_div_16x16_u:
BCF STATUS,RP1
BCF STATUS,RP0
CLRF Math_main_Global_Remainder_1
CLRF Math_main_Global_Remainder_2
MOVLW 16
MOVWF Math_main_global_LoopCount
RLF math_main_global_X_2,W
RLF Math_main_Global_Remainder_1,F
RLF Math_main_Global_Remainder_2,F
MOVF math_main_global_Y_1,W
SUBWF Math_main_Global_Remainder_1,F
MOVF math_main_global_Y_2,W
BTFSS STATUS,C
INCFSZ math_main_global_Y_2,W
SUBWF Math_main_Global_Remainder_2,F
BTFSC STATUS,C
GOTO $+8
MOVF math_main_global_Y_1,W
ADDWF Math_main_Global_Remainder_1,F
MOVF math_main_global_Y_2,W
BTFSC STATUS,C
INCFSZ math_main_global_Y_2,W
ADDWF Math_main_Global_Remainder_2,F
BCF STATUS,C
RLF math_main_global_X_1,F
RLF math_main_global_X_2,F
DECFSZ Math_main_global_LoopCount,F
GOTO $-21
RETURN
;---endproc---
;--- procedure math_div_8x8_u ---
math_div_8x8_u:
BCF STATUS,RP1
BCF STATUS,RP0
CLRF Math_main_Global_Remainder_1,F
MOVLW 8
MOVWF Math_main_global_LoopCount
RLF math_main_global_X_1,W
RLF Math_main_Global_Remainder_1,F
MOVF math_main_global_Y_1,W
SUBWF Math_main_Global_Remainder_1,F
BTFSC STATUS,C
GOTO $+3
ADDWF Math_main_Global_Remainder_1,F
BCF STATUS,C
RLF math_main_global_X_1,F
DECFSZ Math_main_global_LoopCount,F
GOTO $-10
RETURN
;---endproc---
;--- procedure Conv_wordtostr ---
Conv_wordtostr:
MOVLW 1
BCF STATUS,RP1
BCF STATUS,RP0
MOVWF Conv_wordtostr_local_idx
MOVLW 39
MOVWF Math_main_global_Y_2
MOVLW 16
MOVWF Math_main_global_Y_1
MOVF Conv_wordtostr_param_input_2,W
MOVWF Math_main_global_X_2
MOVF Conv_wordtostr_param_input_1,W
MOVWF Math_main_global_X_1
CALL Math_Div_16X16_U
MOVF Math_main_global_X_1,W
MOVWF Conv_wordtostr_local_tt
MOVLW 0
SUBWF Conv_wordtostr_local_tt,W
BTFSC STATUS,Z
GOTO L_Conv_9
L_Conv_8:
MOVF Conv_wordtostr_param_output,W
MOVWF FSR
MOVF Conv_wordtostr_local_idx,W
ADDWF FSR,F
MOVF FSR,W
MOVWF STACK_1
MOVF Conv_wordtostr_local_tt,W
ADDLW 48
MOVWF STACK_2
MOVF STACK_1,W
MOVWF FSR
MOVF STACK_2,W
MOVWF INDF
MOVLW 1
ADDWF Conv_wordtostr_local_idx,W
MOVWF Conv_wordtostr_local_idx
GOTO L_Conv_10
L_Conv_9:
L_Conv_10:
MOVLW 3
MOVWF Math_main_global_Y_2
MOVLW 232
MOVWF Math_main_global_Y_1
MOVF Conv_wordtostr_param_input_2,W
MOVWF Math_main_global_X_2
MOVF Conv_wordtostr_param_input_1,W
MOVWF Math_main_global_X_1
CALL Math_Div_16X16_U
MOVF Math_main_global_X_1,W
MOVWF Conv_wordtostr_local_tt
MOVLW 10
MOVWF Math_main_global_Y_1
MOVF Conv_wordtostr_local_tt,W
MOVWF Math_main_global_X_1
CALL Math_Div_8X8_U
MOVF Math_main_Global_Remainder_1,W
MOVWF Conv_wordtostr_local_tt
MOVF Conv_wordtostr_param_input_2,W
SUBLW 3
BTFSS STATUS,Z
GOTO $+3
MOVF Conv_wordtostr_param_input_1,W
SUBLW 231
BTFSC STATUS,C
GOTO L_Conv_13
L_Conv_12:
MOVF Conv_wordtostr_param_output,W
MOVWF FSR
MOVF Conv_wordtostr_local_idx,W
ADDWF FSR,F
MOVF FSR,W
MOVWF STACK_1
MOVF Conv_wordtostr_local_tt,W
ADDLW 48
MOVWF STACK_2
MOVF STACK_1,W
MOVWF FSR
MOVF STACK_2,W
MOVWF INDF
MOVLW 1
ADDWF Conv_wordtostr_local_idx,W
MOVWF Conv_wordtostr_local_idx
GOTO L_Conv_14
L_Conv_13:
L_Conv_14:
MOVLW 0
MOVWF Math_main_global_Y_2
MOVLW 100
MOVWF Math_main_global_Y_1
MOVF Conv_wordtostr_param_input_2,W
MOVWF Math_main_global_X_2
MOVF Conv_wordtostr_param_input_1,W
MOVWF Math_main_global_X_1
CALL Math_Div_16X16_U
MOVF Math_main_global_X_1,W
MOVWF STACK_0
MOVF Math_main_global_X_2,W
MOVWF STACK_1
MOVLW 0
MOVWF Math_main_global_Y_2
MOVLW 10
MOVWF Math_main_global_Y_1
MOVF STACK_1,W
MOVWF Math_main_global_X_2
MOVF STACK_0,W
MOVWF Math_main_global_X_1
CALL Math_Div_16X16_U
MOVF Math_main_Global_Remainder_1,W
MOVWF Conv_wordtostr_local_tt
MOVLW 0
MOVWF STACK_1
MOVF Conv_wordtostr_param_input_2,W
SUBWF STACK_1,W
BTFSS STATUS,Z
GOTO $+3
MOVF Conv_wordtostr_param_input_1,W
SUBLW 99
BTFSC STATUS,C
GOTO L_Conv_17
L_Conv_16:
MOVF Conv_wordtostr_param_output,W
MOVWF FSR
MOVF Conv_wordtostr_local_idx,W
ADDWF FSR,F
MOVF FSR,W
MOVWF STACK_1
MOVF Conv_wordtostr_local_tt,W
ADDLW 48
MOVWF STACK_2
MOVF STACK_1,W
MOVWF FSR
MOVF STACK_2,W
MOVWF INDF
MOVLW 1
ADDWF Conv_wordtostr_local_idx,W
MOVWF Conv_wordtostr_local_idx
GOTO L_Conv_18
L_Conv_17:
L_Conv_18:
MOVLW 0
MOVWF Math_main_global_Y_2
MOVLW 10
MOVWF Math_main_global_Y_1
MOVF Conv_wordtostr_param_input_2,W
MOVWF Math_main_global_X_2
MOVF Conv_wordtostr_param_input_1,W
MOVWF Math_main_global_X_1
CALL Math_Div_16X16_U
MOVF Math_main_global_X_1,W
MOVWF STACK_0
MOVF Math_main_global_X_2,W
MOVWF STACK_1
MOVLW 0
MOVWF Math_main_global_Y_2
MOVLW 10
MOVWF Math_main_global_Y_1
MOVF STACK_1,W
MOVWF Math_main_global_X_2
MOVF STACK_0,W
MOVWF Math_main_global_X_1
CALL Math_Div_16X16_U
MOVF Math_main_Global_Remainder_1,W
MOVWF Conv_wordtostr_local_tt
MOVLW 0
MOVWF STACK_1
MOVF Conv_wordtostr_param_input_2,W
SUBWF STACK_1,W
BTFSS STATUS,Z
GOTO $+3
MOVF Conv_wordtostr_param_input_1,W
SUBLW 9
BTFSC STATUS,C
GOTO L_Conv_21
L_Conv_20:
MOVF Conv_wordtostr_param_output,W
MOVWF FSR
MOVF Conv_wordtostr_local_idx,W
ADDWF FSR,F
MOVF FSR,W
MOVWF STACK_1
MOVF Conv_wordtostr_local_tt,W
ADDLW 48
MOVWF STACK_2
MOVF STACK_1,W
MOVWF FSR
MOVF STACK_2,W
MOVWF INDF
MOVLW 1
ADDWF Conv_wordtostr_local_idx,W
MOVWF Conv_wordtostr_local_idx
GOTO L_Conv_22
L_Conv_21:
L_Conv_22:
MOVLW 0
MOVWF Math_main_global_Y_2
MOVLW 10
MOVWF Math_main_global_Y_1
MOVF Conv_wordtostr_param_input_2,W
MOVWF Math_main_global_X_2
MOVF Conv_wordtostr_param_input_1,W
MOVWF Math_main_global_X_1
CALL Math_Div_16X16_U
MOVF Math_main_Global_Remainder_1,W
MOVWF Conv_wordtostr_local_tt
MOVF Conv_wordtostr_param_output,W
MOVWF FSR
MOVF Conv_wordtostr_local_idx,W
ADDWF FSR,F
MOVF FSR,W
MOVWF STACK_0
MOVF Conv_wordtostr_local_tt,W
ADDLW 48
MOVWF STACK_1
MOVF STACK_0,W
MOVWF FSR
MOVF STACK_1,W
MOVWF INDF
MOVF Conv_wordtostr_param_output,W
MOVWF FSR
MOVF FSR,W
MOVWF STACK_0
MOVWF FSR
MOVF Conv_wordtostr_local_idx,W
MOVWF INDF
RETURN
;---endproc---
;--- procedure lcd_lcd_init ---
lcd_lcd_init:
CALL delays_delay_5500us
CALL delays_delay_5500us
CALL delays_delay_5500us
BCF STATUS,RP1
BCF STATUS,RP0
MOVF lcd_lcd_init_param_port,W
MOVWF FSR
MOVLW 0
MOVWF INDF
MOVF lcd_lcd_init_param_port,w
MOVWF lcd_main_global_portaddress
MOVWF FSR
BSF FSR,7
CLRF INDF
BCF FSR,7
CALL delays_delay_8ms
BSF INDF,___DB5
BSF INDF,___DB4
BSF INDF,___ENABLE
CALL delays_delay_1us
BCF INDF,___ENABLE
CALL delays_delay_8ms
BSF INDF,___DB5
BSF INDF,___DB4
BSF INDF,___ENABLE
CALL delays_delay_1us
BCF INDF,___ENABLE
CALL delays_delay_50us
CALL delays_delay_50us
BSF INDF,___DB5
BSF INDF,___DB4
BSF INDF,___ENABLE
CALL delays_delay_1us
BCF INDF,___ENABLE
CALL delays_delay_8ms
BSF INDF,___DB5
BCF INDF,___DB4
BSF INDF,___ENABLE
CALL delays_delay_1us
BCF INDF,___ENABLE
CALL delays_delay_50us
BSF INDF,___DB5
BCF INDF,___DB4
BSF INDF,___ENABLE
CALL delays_delay_1us
BCF INDF,___ENABLE
BSF INDF,___DB7
BCF INDF,___DB6
BSF INDF,___ENABLE
CALL delays_delay_1us
BCF INDF,___ENABLE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -