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

📄 lcd8bitdemo.asm

📁 8 bit lcd interface in c++ for embedded microcotrollers
💻 ASM
字号:
;  
;  ASM code generated by mikroVirtualMachine for PIC - V. 2.0.0.0
;  Date/Time: 13.10.2004 17:57:49
;  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 lcd8bitdemodriver_lcd8_cmd_demo ---
lcd8bitdemodriver_lcd8_cmd_demo:
	BCF	STATUS,RP1
	BCF	STATUS,RP0
	MOVF	lcd8bitdemodriver_main_global_DataAddress,W
	BCF	STATUS,IRP
	MOVWF	FSR
	CLRF	INDF
	BTFSC    lcd8bitdemodriver_Lcd8_Cmd_Demo_param_out_char,7
	    BSF      INDF,__LCD8_DB7
	BTFSC    lcd8bitdemodriver_Lcd8_Cmd_Demo_param_out_char,6
	    BSF      INDF,__LCD8_DB6
	BTFSC    lcd8bitdemodriver_Lcd8_Cmd_Demo_param_out_char,5
	    BSF      INDF,__LCD8_DB5
	BTFSC    lcd8bitdemodriver_Lcd8_Cmd_Demo_param_out_char,4
	    BSF      INDF,__LCD8_DB4
	BTFSC    lcd8bitdemodriver_Lcd8_Cmd_Demo_param_out_char,3
	    BSF      INDF,__LCD8_DB3
	BTFSC    lcd8bitdemodriver_Lcd8_Cmd_Demo_param_out_char,2
	    BSF      INDF,__LCD8_DB2
	BTFSC    lcd8bitdemodriver_Lcd8_Cmd_Demo_param_out_char,1
	    BSF      INDF,__LCD8_DB1
	BTFSC    lcd8bitdemodriver_Lcd8_Cmd_Demo_param_out_char,0
	    BSF      INDF,__LCD8_DB0
	MOVF	lcd8bitdemodriver_main_global_CtrlAddress,W
	MOVWF	FSR
	BSF      INDF, __LCD8_RS
	MOVLW	1
	SUBWF	lcd8bitdemodriver_main_global_cmd,W
	BTFSS	STATUS,Z
	GOTO	L_lcd8bitdemodriver_1
	L_lcd8bitdemodriver_0:
	BCF      INDF, __LCD8_RS
	GOTO	L_lcd8bitdemodriver_2
	L_lcd8bitdemodriver_1:
	L_lcd8bitdemodriver_2:
	BSF      INDF, __LCD8_ENABLE
	CALL	delays_delay_1us
	BCF      INDF, __LCD8_ENABLE
	MOVLW	1
	SUBWF	lcd8bitdemodriver_main_global_cmd,W
	BTFSS	STATUS,Z
	GOTO	L_lcd8bitdemodriver_5
	L_lcd8bitdemodriver_4:
	CALL	delays_delay_5500us
	GOTO	L_lcd8bitdemodriver_6
	L_lcd8bitdemodriver_5:
	CALL	delays_delay_50us
	GOTO	L_lcd8bitdemodriver_6
	L_lcd8bitdemodriver_6:
	RETURN
	;---endproc---
  ;--- procedure lcd8bitdemodriver_lcd8_chr_demo ---
lcd8bitdemodriver_lcd8_chr_demo:
	MOVLW	1
	BCF	STATUS,RP1
	BCF	STATUS,RP0
	SUBWF	lcd8bitdemodriver_lcd8_chr_demo_param_Row,W
	BTFSS	STATUS,Z
	GOTO	L_lcd8bitdemodriver_9
	MOVLW	128
	MOVWF	lcd8bitdemodriver_lcd8_chr_demo_param_Row
	GOTO	L_lcd8bitdemodriver_8
	L_lcd8bitdemodriver_9:
	MOVLW	2
	SUBWF	lcd8bitdemodriver_lcd8_chr_demo_param_Row,W
	BTFSS	STATUS,Z
	GOTO	L_lcd8bitdemodriver_10
	MOVLW	192
	MOVWF	lcd8bitdemodriver_lcd8_chr_demo_param_Row
	GOTO	L_lcd8bitdemodriver_8
	L_lcd8bitdemodriver_10:
	MOVLW	3
	SUBWF	lcd8bitdemodriver_lcd8_chr_demo_param_Row,W
	BTFSS	STATUS,Z
	GOTO	L_lcd8bitdemodriver_11
	MOVLW	148
	MOVWF	lcd8bitdemodriver_lcd8_chr_demo_param_Row
	GOTO	L_lcd8bitdemodriver_8
	L_lcd8bitdemodriver_11:
	MOVLW	4
	SUBWF	lcd8bitdemodriver_lcd8_chr_demo_param_Row,W
	BTFSS	STATUS,Z
	GOTO	L_lcd8bitdemodriver_12
	MOVLW	212
	MOVWF	lcd8bitdemodriver_lcd8_chr_demo_param_Row
	GOTO	L_lcd8bitdemodriver_8
	L_lcd8bitdemodriver_12:
	MOVLW	128
	MOVWF	lcd8bitdemodriver_lcd8_chr_demo_param_Row
	GOTO	L_lcd8bitdemodriver_8
	L_lcd8bitdemodriver_8:
	MOVF	lcd8bitdemodriver_lcd8_chr_demo_param_Column,W
	ADDWF	lcd8bitdemodriver_lcd8_chr_demo_param_Row,W
	MOVWF	STACK_0
	MOVLW	1
	SUBWF	STACK_0,W
	MOVWF	lcd8bitdemodriver_lcd8_chr_demo_param_Row
	MOVF	lcd8bitdemodriver_lcd8_chr_demo_param_Row,W
	MOVWF	lcd8bitdemodriver_lcd8_cmd_demo_param_Out_Char
	CALL	lcd8bitdemodriver_lcd8_cmd_demo
	CLRF	lcd8bitdemodriver_main_global_cmd
	MOVF	lcd8bitdemodriver_lcd8_chr_demo_param_Out_Char,W
	MOVWF	lcd8bitdemodriver_lcd8_cmd_demo_param_Out_Char
	CALL	lcd8bitdemodriver_lcd8_cmd_demo
	MOVLW	1
	MOVWF	lcd8bitdemodriver_main_global_cmd
	RETURN
	;---endproc---
  ;--- procedure lcd8bitdemodriver_lcd8_init_demo ---
lcd8bitdemodriver_lcd8_init_demo:
	CALL	delays_delay_5500us
	CALL	delays_delay_5500us
	CALL	delays_delay_5500us
	BCF	STATUS,RP1
	BCF	STATUS,RP0
	MOVF	lcd8bitdemodriver_lcd8_init_demo_param_portDATA,W
	MOVWF	FSR
	MOVF	INDF,W
	MOVWF	STACK_1
	MOVF	lcd8bitdemodriver_lcd8_init_demo_param_portDATA,W
	MOVWF	FSR
	MOVF	STACK_1,W
	MOVWF	INDF
	MOVF    lcd8bitdemodriver_lcd8_init_demo_param_portdata,W
	    MOVWF   lcd8bitdemodriver_main_global_dataaddress
	BSF	fsr,7
	CLRF	INDF
	MOVF	lcd8bitdemodriver_lcd8_init_demo_param_portCTRL,W
	MOVWF	FSR
	MOVF	INDF,W
	MOVWF	STACK_1
	MOVF	lcd8bitdemodriver_lcd8_init_demo_param_portCTRL,W
	MOVWF	FSR
	MOVF	STACK_1,W
	MOVWF	INDF
	MOVF    lcd8bitdemodriver_lcd8_init_demo_param_portctrl,W
	    MOVWF   lcd8bitdemodriver_main_global_ctrladdress
	BSF	fsr,7
	BCF   INDF,__LCD8_RS
	    BCF   INDF,__LCD8_RW
	    BCF   INDF,__LCD8_ENABLE
	BCF	fsr,7
	MOVLW	1
	MOVWF	lcd8bitdemodriver_main_global_cmd
	MOVLW	48
	MOVWF	lcd8bitdemodriver_lcd8_cmd_demo_param_Out_Char
	CALL	lcd8bitdemodriver_lcd8_cmd_demo
	MOVLW	48
	MOVWF	lcd8bitdemodriver_lcd8_cmd_demo_param_Out_Char
	CALL	lcd8bitdemodriver_lcd8_cmd_demo
	MOVLW	48
	MOVWF	lcd8bitdemodriver_lcd8_cmd_demo_param_Out_Char
	CALL	lcd8bitdemodriver_lcd8_cmd_demo
	MOVLW	56
	MOVWF	lcd8bitdemodriver_lcd8_cmd_demo_param_Out_Char
	CALL	lcd8bitdemodriver_lcd8_cmd_demo
	MOVLW	8
	MOVWF	lcd8bitdemodriver_lcd8_cmd_demo_param_Out_Char
	CALL	lcd8bitdemodriver_lcd8_cmd_demo
	MOVLW	1
	MOVWF	lcd8bitdemodriver_lcd8_cmd_demo_param_Out_Char
	CALL	lcd8bitdemodriver_lcd8_cmd_demo
	MOVLW	6
	MOVWF	lcd8bitdemodriver_lcd8_cmd_demo_param_Out_Char
	CALL	lcd8bitdemodriver_lcd8_cmd_demo
	MOVLW	12
	MOVWF	lcd8bitdemodriver_lcd8_cmd_demo_param_Out_Char
	CALL	lcd8bitdemodriver_lcd8_cmd_demo
	RETURN
	;---endproc---
  ;--- procedure lcd8bitdemodriver_lcd8_out_demo ---
lcd8bitdemodriver_lcd8_out_demo:
	MOVLW	1
	BCF	STATUS,RP1
	BCF	STATUS,RP0
	MOVWF	lcd8bitdemodriver_lcd8_out_demo_local_i
	L_lcd8bitdemodriver_14:
	MOVF	lcd8bitdemodriver_lcd8_out_demo_param_text,W
	MOVWF	FSR
	MOVF	INDF,W
	MOVWF	STACK_0
	MOVF	lcd8bitdemodriver_lcd8_out_demo_local_i,W
	SUBWF	STACK_0,W
	BTFSS	STATUS,C
	GOTO	L_lcd8bitdemodriver_15
	MOVF	lcd8bitdemodriver_lcd8_out_demo_param_Row,W
	MOVWF	lcd8bitdemodriver_lcd8_chr_demo_param_Row
	MOVF	lcd8bitdemodriver_lcd8_out_demo_local_i,W
	ADDWF	lcd8bitdemodriver_lcd8_out_demo_param_Column,W
	MOVWF	STACK_2
	MOVLW	1
	SUBWF	STACK_2,W
	MOVWF	lcd8bitdemodriver_lcd8_chr_demo_param_Column
	MOVF	lcd8bitdemodriver_lcd8_out_demo_param_text,W
	MOVWF	FSR
	MOVF	lcd8bitdemodriver_lcd8_out_demo_local_i,W
	ADDWF	FSR,F
	MOVF	INDF,W
	MOVWF	lcd8bitdemodriver_lcd8_chr_demo_param_Out_Char
	CALL	lcd8bitdemodriver_lcd8_chr_demo
	L_lcd8bitdemodriver_16:
	MOVLW	1
	ADDWF	lcd8bitdemodriver_lcd8_out_demo_local_i,F
	GOTO	L_lcd8bitdemodriver_14
	L_lcd8bitdemodriver_15:
	RETURN
	;---endproc---
  ;--- procedure main ---
main:
	BCF	STATUS,RP1
	BCF	STATUS,RP0
	CLRF	PORTB
	CLRF	PORTD
	BSF	STATUS,RP0
	CLRF	TRISB
	CLRF	TRISD
	BCF	STATUS,RP0
	MOVLW	PORTB,W
	MOVWF	lcd8bitdemodriver_lcd8_init_demo_param_portCTRL
	MOVLW	PORTD,W
	MOVWF	lcd8bitdemodriver_lcd8_init_demo_param_portDATA
	CALL	lcd8bitdemodriver_lcd8_init_demo
	MOVLW	1
	MOVWF	lcd8bitdemodriver_lcd8_cmd_demo_param_Out_Char
	CALL	lcd8bitdemodriver_lcd8_cmd_demo
	MOVLW	12
	MOVWF	lcd8bitdemodriver_lcd8_cmd_demo_param_Out_Char
	CALL	lcd8bitdemodriver_lcd8_cmd_demo
	MOVLW	1
	MOVWF	lcd8bitdemodriver_lcd8_out_demo_param_Row
	MOVLW	1
	MOVWF	lcd8bitdemodriver_lcd8_out_demo_param_Column
	MOVLW	16
	MOVWF	main_global_temp_string_0
	MOVLW	109
	MOVWF	main_global_temp_string_1
	MOVLW	105
	MOVWF	main_global_temp_string_2
	MOVLW	107
	MOVWF	main_global_temp_string_3
	MOVLW	114
	MOVWF	main_global_temp_string_4
	MOVLW	111
	MOVWF	main_global_temp_string_5
	MOVLW	69
	MOVWF	main_global_temp_string_6
	MOVLW	108
	MOVWF	main_global_temp_string_7
	MOVLW	101
	MOVWF	main_global_temp_string_8
	MOVLW	107
	MOVWF	main_global_temp_string_9
	MOVLW	116
	MOVWF	main_global_temp_string_10
	MOVLW	114
	MOVWF	main_global_temp_string_11
	MOVLW	111
	MOVWF	main_global_temp_string_12
	MOVLW	110
	MOVWF	main_global_temp_string_13
	MOVLW	105
	MOVWF	main_global_temp_string_14
	MOVLW	107
	MOVWF	main_global_temp_string_15
	MOVLW	97
	MOVWF	main_global_temp_string_16
	MOVLW	main_global_temp_string_0
	MOVWF	lcd8bitdemodriver_lcd8_out_demo_param_text
	CALL	lcd8bitdemodriver_lcd8_out_demo
	MOVLW	2
	MOVWF	lcd8bitdemodriver_lcd8_out_demo_param_Row
	MOVLW	1
	MOVWF	lcd8bitdemodriver_lcd8_out_demo_param_Column
	MOVLW	16
	MOVWF	main_global_temp_string_0
	MOVLW	76
	MOVWF	main_global_temp_string_1
	MOVLW	67
	MOVWF	main_global_temp_string_2
	MOVLW	68
	MOVWF	main_global_temp_string_3
	MOVLW	32
	MOVWF	main_global_temp_string_4
	MOVLW	56
	MOVWF	main_global_temp_string_5
	MOVLW	45
	MOVWF	main_global_temp_string_6
	MOVLW	98
	MOVWF	main_global_temp_string_7
	MOVLW	105
	MOVWF	main_global_temp_string_8
	MOVLW	116
	MOVWF	main_global_temp_string_9
	MOVLW	32
	MOVWF	main_global_temp_string_10
	MOVLW	100
	MOVWF	main_global_temp_string_11
	MOVLW	101
	MOVWF	main_global_temp_string_12
	MOVLW	109
	MOVWF	main_global_temp_string_13
	MOVLW	111
	MOVWF	main_global_temp_string_14
	MOVLW	32
	MOVWF	main_global_temp_string_15
	MOVLW	32
	MOVWF	main_global_temp_string_16
	MOVLW	main_global_temp_string_0
	MOVWF	lcd8bitdemodriver_lcd8_out_demo_param_text
	CALL	lcd8bitdemodriver_lcd8_out_demo
	GOTO	$
	;---endproc---

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -