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

📄 adcboardexample.asm

📁 adc implementation board embedded shows adc development with microcontroller
💻 ASM
📖 第 1 页 / 共 2 页
字号:
	CALL	delays_delay_50us
	MOVLW	0
	MOVWF	INDF
	BSF	INDF,___ENABLE
	CALL	delays_delay_1us
	BCF	INDF,___ENABLE
	BSF	INDF,___DB7
	BSF	INDF,___DB6
	BSF	INDF,___DB5
	BSF	INDF,___DB4
	BSF	INDF,___ENABLE
	CALL	delays_delay_1us
	BCF	INDF,___ENABLE
	CALL	delays_delay_50us
	MOVLW	0
	MOVWF	INDF
	BSF	INDF,___ENABLE
	CALL	delays_delay_1us
	BCF	INDF,___ENABLE
	BSF	INDF,___DB4
	BSF	INDF,___ENABLE
	CALL	delays_delay_1us
	BCF	INDF,___ENABLE
	CALL	delays_delay_8ms
	MOVLW	0
	MOVWF	INDF
	BSF	INDF,___ENABLE
	CALL	delays_delay_1us
	BCF	INDF,___ENABLE
	BSF	INDF,___DB6
	BSF	INDF,___DB5
	BSF	INDF,___ENABLE
	CALL	delays_delay_1us
	BCF	INDF,___ENABLE
	CALL	delays_delay_50us
	MOVLW	1
	MOVWF	lcd_main_global_cmd
	RETURN
	;---endproc---
  ;--- procedure lcd_lcd_out ---
lcd_lcd_out:
	MOVLW	1
	BCF	STATUS,RP1
	BCF	STATUS,RP0
	SUBWF	lcd_lcd_out_param_row,W
	BTFSS	STATUS,Z
	GOTO	L_lcd_21
	MOVLW	128
	MOVWF	lcd_lcd_out_param_row
	GOTO	L_lcd_20
	L_lcd_21:
	MOVLW	2
	SUBWF	lcd_lcd_out_param_row,W
	BTFSS	STATUS,Z
	GOTO	L_lcd_22
	MOVLW	192
	MOVWF	lcd_lcd_out_param_row
	GOTO	L_lcd_20
	L_lcd_22:
	MOVLW	3
	SUBWF	lcd_lcd_out_param_row,W
	BTFSS	STATUS,Z
	GOTO	L_lcd_23
	MOVLW	148
	MOVWF	lcd_lcd_out_param_row
	GOTO	L_lcd_20
	L_lcd_23:
	MOVLW	4
	SUBWF	lcd_lcd_out_param_row,W
	BTFSS	STATUS,Z
	GOTO	L_lcd_24
	MOVLW	212
	MOVWF	lcd_lcd_out_param_row
	GOTO	L_lcd_20
	L_lcd_24:
	MOVLW	128
	MOVWF	lcd_lcd_out_param_row
	L_lcd_20:
	MOVF	lcd_lcd_out_param_column,W
	ADDWF	lcd_lcd_out_param_row,W
	MOVWF	STACK_0
	MOVLW	1
	SUBWF	STACK_0,F
	MOVF	STACK_0,W
	MOVWF	lcd_lcd_out_param_row
	MOVF	lcd_lcd_out_param_row,W
	MOVWF	lcd_lcd_cmd_param_out_char
	CALL	lcd_lcd_cmd
	CLRF	lcd_main_global_cmd
	MOVLW	1
	MOVWF	lcd_lcd_out_local_i
	L_lcd_25:
	MOVF	lcd_lcd_out_param_text,W
	MOVWF	FSR
	MOVF	INDF,W
	MOVWF	STACK_1
	MOVF	lcd_lcd_out_local_i,W
	SUBWF	STACK_1,W
	BTFSS	STATUS,C
	GOTO	L_lcd_26
	MOVF	lcd_lcd_out_param_text,W
	MOVWF	FSR
	MOVF	lcd_lcd_out_local_i,W
	ADDWF	FSR,F
	MOVF	INDF,W
	MOVWF	lcd_lcd_cmd_param_out_char
	CALL	lcd_lcd_cmd
	L_lcd_27:
	CLRF	STACK_2
	INCF	STACK_2,F
	MOVF	lcd_lcd_out_local_i,W
	ADDWF	STACK_2,W
	MOVWF	lcd_lcd_out_local_i
	GOTO	L_lcd_25
	L_lcd_26:
	MOVLW	1
	MOVWF	lcd_main_global_cmd
	RETURN
	;---endproc---
  ;--- procedure SPIlib_S_A_spi_init_advanced ---
SPIlib_S_A_spi_init_advanced:
	MOVLW	215
	BCF	STATUS,RP1
	BSF	STATUS,RP0
	MOVWF	TRISC
	BCF	STATUS,RP0
	CLRF	SSPCON
	MOVF	SPIlib_S_A_spi_init_advanced_param_master,W
	IORWF	SSPCON,W
	MOVWF	SSPCON
	MOVF	SPIlib_S_A_spi_init_advanced_param_clock_idle,W
	IORWF	SSPCON,W
	MOVWF	SSPCON
	MOVF	SPIlib_S_A_spi_init_advanced_param_data_sample,W
	BSF	STATUS,RP0
	IORWF	SSPSTAT,W
	MOVWF	SSPSTAT
	MOVLW	0
	BCF	STATUS,RP0
	SUBWF	SPIlib_S_A_spi_init_advanced_param_clock_idle,W
	BTFSC	STATUS,Z
	GOTO	L_SPIlib_S_A_1
	L_SPIlib_S_A_0:
	MOVLW	0
	SUBWF	SPIlib_S_A_spi_init_advanced_param_low_to_high,W
	BTFSS	STATUS,Z
	GOTO	L_SPIlib_S_A_5
	L_SPIlib_S_A_4:
	BSF	STATUS,RP0
	BSF	sspstat,6
	GOTO	L_SPIlib_S_A_6
	L_SPIlib_S_A_5:
	L_SPIlib_S_A_6:
	BCF	STATUS,RP1
	BSF	STATUS,RP0
	GOTO	L_SPIlib_S_A_2
	L_SPIlib_S_A_1:
	MOVLW	1
	BCF	STATUS,RP0
	SUBWF	SPIlib_S_A_spi_init_advanced_param_low_to_high,W
	BTFSS	STATUS,Z
	GOTO	L_SPIlib_S_A_9
	L_SPIlib_S_A_8:
	BSF	STATUS,RP0
	BSF	sspstat,6
	GOTO	L_SPIlib_S_A_10
	L_SPIlib_S_A_9:
	L_SPIlib_S_A_10:
	L_SPIlib_S_A_2:
	BCF	STATUS,RP1
	BSF	STATUS,RP0
	BCF	STATUS,RP0
	BSF	sspcon,5
	RETURN
	;---endproc---
  ;--- function SPIlib_S_A_spi_read ---
SPIlib_S_A_spi_read:
	BCF	STATUS,RP1
	BCF	STATUS,RP0
	MOVF	SPIlib_S_A_spi_read_param_input,W
	MOVWF	SSPBUF
	L_SPIlib_S_A_16:
	CLRF	STACK_0
	BSF	STATUS,RP0
	BTFSC	sspstat,0
	INCF	STACK_0,F
	MOVLW	0
	SUBWF	STACK_0,W
	BTFSS	STATUS,Z
	GOTO	L_SPIlib_S_A_17
	L_SPIlib_S_A_15:
	nop
	GOTO	L_SPIlib_S_A_16
	L_SPIlib_S_A_17:
	BCF	STATUS,RP0
	MOVF	SSPBUF,W
	MOVWF	SPIlib_S_A_spi_read_result
	RETURN
	;---endproc---
  ;--- procedure SPIlib_S_A_spi_write ---
SPIlib_S_A_spi_write:
	BCF	STATUS,RP1
	BCF	STATUS,RP0
	MOVF	SPIlib_S_A_spi_write_param_data,W
	MOVWF	SSPBUF
	L_SPIlib_S_A_13:
	CLRF	STACK_0
	BSF	STATUS,RP0
	BTFSC	sspstat,0
	INCF	STACK_0,F
	MOVLW	0
	SUBWF	STACK_0,W
	BTFSS	STATUS,Z
	GOTO	L_SPIlib_S_A_14
	L_SPIlib_S_A_12:
	nop
	GOTO	L_SPIlib_S_A_13
	L_SPIlib_S_A_14:
	BCF	STATUS,RP0
	MOVF	SSPBUF,W
	MOVWF	SPIlib_S_A_spi_write_local_temp
	RETURN
	;---endproc---
  ;--- function ADCBoardExample_getadc ---
ADCBoardExample_getadc:
	BCF	STATUS,RP1
	BCF	STATUS,RP0
	BCF	portc,0
	MOVLW	6
	MOVWF	SPIlib_S_A_spi_write_param_data
	CALL	SPIlib_S_A_spi_write
	MOVF	ADCBoardExample_getadc_param_channel,W
	MOVWF	STACK_0
	MOVLW	6
	MOVWF	STACK_1
	L_ADCBoardExample_2:
	MOVF	STACK_1,W
	BTFSC	STATUS,Z
	GOTO	L_ADCBoardExample_3
	RLF	STACK_0,F
	BCF	STACK_0,0
	DECFSZ	STACK_1,F
	GOTO	L_ADCBoardExample_2
	L_ADCBoardExample_3:
	MOVF	STACK_0,W
	MOVWF	ADCBoardExample_getadc_param_channel
	MOVF	ADCBoardExample_getadc_param_channel,W
	MOVWF	SPIlib_S_A_spi_read_param_input
	CALL	SPIlib_S_A_spi_read
	MOVLW	15
	ANDWF	SPIlib_S_A_spi_read_result,W
	MOVWF	STACK_0
	CLRF	STACK_1
	MOVF	STACK_0,W
	MOVWF	ADCBoardExample_getadc_local_tmp_1
	MOVLW	8
	MOVWF	STACK_4
	MOVF	STACK_1,W
	MOVWF	ADCBoardExample_getadc_local_tmp_2
	L_ADCBoardExample_4:
	MOVF	STACK_4,W
	BTFSC	STATUS,Z
	GOTO	L_ADCBoardExample_5
	RLF	ADCBoardExample_getadc_local_tmp_1,F
	RLF	ADCBoardExample_getadc_local_tmp_2,F
	BCF	ADCBoardExample_getadc_local_tmp_1,0
	DECFSZ	STACK_4,F
	GOTO	L_ADCBoardExample_4
	L_ADCBoardExample_5:
	MOVLW	0
	MOVWF	SPIlib_S_A_spi_read_param_input
	CALL	SPIlib_S_A_spi_read
	CLRF	STACK_2
	MOVF	SPIlib_S_A_spi_read_result,W
	IORWF	ADCBoardExample_getadc_local_tmp_1,W
	MOVWF	ADCBoardExample_getadc_result_1
	MOVF	STACK_2,W
	IORWF	ADCBoardExample_getadc_local_tmp_2,W
	MOVWF	ADCBoardExample_getadc_result_2
	BSF	portc,0
	RETURN
	;---endproc---
  ;--- procedure ADCBoardExample_init ---
ADCBoardExample_init:
	BCF	STATUS,RP1
	BSF	STATUS,RP0
	CLRF	TRISB
	BCF	STATUS,RP0
	MOVLW	PORTB,W
	MOVWF	lcd_lcd_init_param_port
	CALL	lcd_lcd_init
	MOVLW	1
	MOVWF	lcd_lcd_cmd_param_out_char
	CALL	lcd_lcd_cmd
	MOVLW	12
	MOVWF	lcd_lcd_cmd_param_out_char
	CALL	lcd_lcd_cmd
	MOVLW	11
	MOVWF	main_global_txt_0
	MOVLW	65
	MOVWF	main_global_txt_1
	MOVLW	68
	MOVWF	main_global_txt_2
	MOVLW	67
	MOVWF	main_global_txt_3
	MOVLW	32
	MOVWF	main_global_txt_4
	MOVLW	118
	MOVWF	main_global_txt_5
	MOVLW	97
	MOVWF	main_global_txt_6
	MOVLW	108
	MOVWF	main_global_txt_7
	MOVLW	117
	MOVWF	main_global_txt_8
	MOVLW	101
	MOVWF	main_global_txt_9
	MOVLW	32
	MOVWF	main_global_txt_10
	MOVLW	58
	MOVWF	main_global_txt_11
	MOVLW	1
	MOVWF	main_global_LastValue_1
	CLRF	main_global_LastValue_2
	CLRF	main_global_measurement_1
	CLRF	main_global_measurement_2
	MOVLW	2
	MOVWF	SPIlib_S_A_spi_init_advanced_param_master
	MOVLW	128
	MOVWF	SPIlib_S_A_spi_init_advanced_param_data_sample
	MOVLW	0
	MOVWF	SPIlib_S_A_spi_init_advanced_param_clock_idle
	MOVLW	1
	MOVWF	SPIlib_S_A_spi_init_advanced_param_low_to_high
	CALL	SPIlib_S_A_spi_init_advanced
	BSF	portc,0
	BSF	STATUS,RP0
	BCF	trisc,0
	RETURN
	;---endproc---
  ;--- procedure ADCBoardExample_processvalue ---
ADCBoardExample_processvalue:
	BCF	STATUS,RP1
	BCF	STATUS,RP0
	MOVF	ADCBoardExample_processvalue_param_Value_2,W
	SUBWF	main_global_LastValue_2,W
	BTFSS	STATUS,Z
	GOTO	$+3
	MOVF	ADCBoardExample_processvalue_param_Value_1,W
	SUBWF	main_global_LastValue_1,W
	BTFSC	STATUS,Z
	GOTO	L_ADCBoardExample_7
	L_ADCBoardExample_6:
	MOVLW	4
	MOVWF	main_global_txt_0
	MOVLW	32
	MOVWF	main_global_txt_1
	MOVLW	32
	MOVWF	main_global_txt_2
	MOVLW	32
	MOVWF	main_global_txt_3
	MOVLW	32
	MOVWF	main_global_txt_4
	MOVLW	2
	MOVWF	lcd_lcd_out_param_row
	MOVLW	1
	MOVWF	lcd_lcd_out_param_column
	MOVLW	main_global_txt_0,W
	MOVWF	lcd_lcd_out_param_text
	CALL	lcd_lcd_out
	MOVF	main_global_measurement_1,W
	MOVWF	Conv_wordtostr_param_input_1
	MOVF	main_global_measurement_2,W
	MOVWF	Conv_wordtostr_param_input_2
	MOVLW	main_global_txt_0,W
	MOVWF	Conv_wordtostr_param_output
	CALL	Conv_wordtostr
	MOVLW	2
	MOVWF	lcd_lcd_out_param_row
	MOVLW	1
	MOVWF	lcd_lcd_out_param_column
	MOVLW	main_global_txt_0,W
	MOVWF	lcd_lcd_out_param_text
	CALL	lcd_lcd_out
	MOVF	ADCBoardExample_processvalue_param_Value_1,W
	MOVWF	main_global_LastValue_1
	MOVF	ADCBoardExample_processvalue_param_Value_2,W
	MOVWF	main_global_LastValue_2
	GOTO	L_ADCBoardExample_8
	L_ADCBoardExample_7:
	L_ADCBoardExample_8:
	RETURN
	;---endproc---
  ;--- procedure main ---
main:
	CALL	ADCBoardExample_init
	MOVLW	1
	BCF	STATUS,RP1
	BCF	STATUS,RP0
	MOVWF	lcd_lcd_out_param_row
	MOVLW	1
	MOVWF	lcd_lcd_out_param_column
	MOVLW	10
	MOVWF	main_global_temp_string_0
	MOVLW	65
	MOVWF	main_global_temp_string_1
	MOVLW	68
	MOVWF	main_global_temp_string_2
	MOVLW	67
	MOVWF	main_global_temp_string_3
	MOVLW	32
	MOVWF	main_global_temp_string_4
	MOVLW	118
	MOVWF	main_global_temp_string_5
	MOVLW	97
	MOVWF	main_global_temp_string_6
	MOVLW	108
	MOVWF	main_global_temp_string_7
	MOVLW	117
	MOVWF	main_global_temp_string_8
	MOVLW	101
	MOVWF	main_global_temp_string_9
	MOVLW	58
	MOVWF	main_global_temp_string_10
	MOVLW	main_global_temp_string_0
	MOVWF	lcd_lcd_out_param_text
	CALL	lcd_lcd_out
	L_ADCBoardExample_13:
	L_ADCBoardExample_12:
	MOVLW	0
	MOVWF	ADCBoardExample_getadc_param_channel
	CALL	ADCBoardExample_getadc
	MOVF	ADCBoardExample_getadc_result_1,W
	MOVWF	main_global_measurement_1
	MOVF	ADCBoardExample_getadc_result_2,W
	MOVWF	main_global_measurement_2
	MOVF	main_global_measurement_1,W
	MOVWF	ADCBoardExample_processvalue_param_Value_1
	MOVF	main_global_measurement_2,W
	MOVWF	ADCBoardExample_processvalue_param_Value_2
	CALL	ADCBoardExample_processvalue
	MOVLW	130
	MOVWF	STACK_1
	MOVLW	255
	MOVWF	STACK_2
	DECFSZ	STACK_1,F
	GOTO	$+2
	GOTO	$+4
	DECFSZ	STACK_2,F
	GOTO	$-1
	GOTO	$-5
	MOVLW	135
	MOVWF	STACK_1
	DECFSZ	STACK_1,F
	GOTO	$-1
	nop
	GOTO	L_ADCBoardExample_13
	L_ADCBoardExample_14:
	GOTO	$
	;---endproc---

⌨️ 快捷键说明

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