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

📄 usart_rx_irda2.lst

📁 irda 2 example implementation with microcontroller
💻 LST
📖 第 1 页 / 共 2 页
字号:
***************************
21.10.2004 17:55:19
***************************
**********************
***   ROM memory   ***
**********************
Address      Instruction
------------------------
0000	GOTO	main
  ;--- procedure delays_delay_1us ---
0004	delays_delay_1us:
0004	nop
0005	RETURN
0006	;---endproc---
  ;--- procedure delays_delay_50us ---
0006	delays_delay_50us:
0006	MOVLW	16
0007	BCF	STATUS,RP1
0008	BCF	STATUS,RP0
0009	MOVWF	STACK_0
000A	DECFSZ	STACK_0,F
000B	GOTO	$-1
000C	nop
000D	RETURN
000E	;---endproc---
  ;--- procedure delays_delay_5500us ---
000E	delays_delay_5500us:
000E	MOVLW	8
000F	BCF	STATUS,RP1
0010	BCF	STATUS,RP0
0011	MOVWF	STACK_0
0012	MOVLW	255
0013	MOVWF	STACK_1
0014	DECFSZ	STACK_0,F
0015	GOTO	$+2
0016	GOTO	$+4
0017	DECFSZ	STACK_1,F
0018	GOTO	$-1
0019	GOTO	$-5
001A	MOVLW	30
001B	MOVWF	STACK_0
001C	DECFSZ	STACK_0,F
001D	GOTO	$-1
001E	RETURN
001F	;---endproc---
  ;--- procedure delays_delay_8ms ---
001F	delays_delay_8ms:
001F	MOVLW	11
0020	BCF	STATUS,RP1
0021	BCF	STATUS,RP0
0022	MOVWF	STACK_0
0023	MOVLW	255
0024	MOVWF	STACK_1
0025	DECFSZ	STACK_0,F
0026	GOTO	$+2
0027	GOTO	$+4
0028	DECFSZ	STACK_1,F
0029	GOTO	$-1
002A	GOTO	$-5
002B	MOVLW	91
002C	MOVWF	STACK_0
002D	DECFSZ	STACK_0,F
002E	GOTO	$-1
002F	nop
0030	RETURN
0031	;---endproc---
  ;--- procedure lcd_lcd_cmd ---
0031	lcd_lcd_cmd:
0031	BCF	STATUS,RP1
0032	BCF	STATUS,RP0
0033	MOVF	lcd_main_global_portaddress,W
0034	BCF	STATUS,IRP
0035	MOVWF	FSR
0036	MOVF	lcd_lcd_cmd_param_out_char,W
0037	MOVWF	lcd_lcd_cmd_param_out_char
0038	CLRF INDF
0039	BTFSC lcd_lcd_cmd_param_out_char,7
003A	BSF INDF,___DB7
003B	BTFSC lcd_lcd_cmd_param_out_char,6
003C	BSF INDF,___DB6
003D	BTFSC lcd_lcd_cmd_param_out_char,5
003E	BSF INDF,___DB5
003F	BTFSC lcd_lcd_cmd_param_out_char,4
0040	BSF INDF,___DB4
0041	MOVLW	1
0042	SUBWF	lcd_main_global_cmd,W
0043	BTFSS	STATUS,Z
0044	GOTO	L_lcd_1
0045	L_lcd_0:
0045	BCF INDF,___RS
0046	GOTO	L_lcd_2
0047	L_lcd_1:
0047	BSF INDF,___RS
0048	L_lcd_2:
0048	BSF INDF,___ENABLE
0049	CALL	delays_delay_1us
004A	BCF INDF,___ENABLE
004B	CLRF INDF
004C	BTFSC lcd_lcd_cmd_param_out_char,3
004D	BSF INDF,___DB7
004E	BTFSC lcd_lcd_cmd_param_out_char,2
004F	BSF INDF,___DB6
0050	BTFSC lcd_lcd_cmd_param_out_char,1
0051	BSF INDF,___DB5
0052	BTFSC lcd_lcd_cmd_param_out_char,0
0053	BSF INDF,___DB4
0054	MOVLW	1
0055	SUBWF	lcd_main_global_cmd,W
0056	BTFSS	STATUS,Z
0057	GOTO	L_lcd_5
0058	L_lcd_4:
0058	BCF INDF,___RS
0059	GOTO	L_lcd_6
005A	L_lcd_5:
005A	BSF INDF,___RS
005B	L_lcd_6:
005B	BSF INDF,___ENABLE
005C	CALL	delays_delay_1us
005D	BCF INDF,___ENABLE
005E	MOVLW	1
005F	SUBWF	lcd_main_global_cmd,W
0060	BTFSS	STATUS,Z
0061	GOTO	L_lcd_9
0062	L_lcd_8:
0062	CALL	delays_delay_5500us
0063	GOTO	L_lcd_10
0064	L_lcd_9:
0064	CALL	delays_delay_50us
0065	L_lcd_10:
0065	RETURN
0066	;---endproc---
  ;--- procedure lcd_lcd_init ---
0066	lcd_lcd_init:
0066	CALL	delays_delay_5500us
0067	CALL	delays_delay_5500us
0068	CALL	delays_delay_5500us
0069	BCF	STATUS,RP1
006A	BCF	STATUS,RP0
006B	MOVF	lcd_lcd_init_param_port,W
006C	MOVWF	FSR
006D	MOVLW	0
006E	MOVWF	INDF
006F	MOVF   lcd_lcd_init_param_port,w
0070	MOVWF  lcd_main_global_portaddress
0071	MOVWF  FSR
0072	BSF    FSR,7
0073	CLRF   INDF
0074	BCF    FSR,7
0075	CALL	delays_delay_8ms
0076	BSF	INDF,___DB5
0077	BSF	INDF,___DB4
0078	BSF	INDF,___ENABLE
0079	CALL	delays_delay_1us
007A	BCF	INDF,___ENABLE
007B	CALL	delays_delay_8ms
007C	BSF	INDF,___DB5
007D	BSF	INDF,___DB4
007E	BSF	INDF,___ENABLE
007F	CALL	delays_delay_1us
0080	BCF	INDF,___ENABLE
0081	CALL	delays_delay_50us
0082	CALL	delays_delay_50us
0083	BSF	INDF,___DB5
0084	BSF	INDF,___DB4
0085	BSF	INDF,___ENABLE
0086	CALL	delays_delay_1us
0087	BCF	INDF,___ENABLE
0088	CALL	delays_delay_8ms
0089	BSF	INDF,___DB5
008A	BCF	INDF,___DB4
008B	BSF	INDF,___ENABLE
008C	CALL	delays_delay_1us
008D	BCF	INDF,___ENABLE
008E	CALL	delays_delay_50us
008F	BSF	INDF,___DB5
0090	BCF	INDF,___DB4
0091	BSF	INDF,___ENABLE
0092	CALL	delays_delay_1us
0093	BCF	INDF,___ENABLE
0094	BSF	INDF,___DB7
0095	BCF	INDF,___DB6
0096	BSF	INDF,___ENABLE
0097	CALL	delays_delay_1us
0098	BCF	INDF,___ENABLE
0099	CALL	delays_delay_50us
009A	MOVLW	0
009B	MOVWF	INDF
009C	BSF	INDF,___ENABLE
009D	CALL	delays_delay_1us
009E	BCF	INDF,___ENABLE
009F	BSF	INDF,___DB7
00A0	BSF	INDF,___DB6
00A1	BSF	INDF,___DB5
00A2	BSF	INDF,___DB4
00A3	BSF	INDF,___ENABLE
00A4	CALL	delays_delay_1us
00A5	BCF	INDF,___ENABLE
00A6	CALL	delays_delay_50us
00A7	MOVLW	0
00A8	MOVWF	INDF
00A9	BSF	INDF,___ENABLE
00AA	CALL	delays_delay_1us
00AB	BCF	INDF,___ENABLE
00AC	BSF	INDF,___DB4
00AD	BSF	INDF,___ENABLE
00AE	CALL	delays_delay_1us
00AF	BCF	INDF,___ENABLE
00B0	CALL	delays_delay_8ms
00B1	MOVLW	0
00B2	MOVWF	INDF
00B3	BSF	INDF,___ENABLE
00B4	CALL	delays_delay_1us
00B5	BCF	INDF,___ENABLE
00B6	BSF	INDF,___DB6
00B7	BSF	INDF,___DB5
00B8	BSF	INDF,___ENABLE
00B9	CALL	delays_delay_1us
00BA	BCF	INDF,___ENABLE
00BB	CALL	delays_delay_50us
00BC	MOVLW	1
00BD	MOVWF	lcd_main_global_cmd
00BE	RETURN
00BF	;---endproc---
  ;--- procedure lcd_lcd_out ---
00BF	lcd_lcd_out:
00BF	MOVLW	1
00C0	BCF	STATUS,RP1
00C1	BCF	STATUS,RP0
00C2	SUBWF	lcd_lcd_out_param_row,W
00C3	BTFSS	STATUS,Z
00C4	GOTO	L_lcd_21
00C5	MOVLW	128
00C6	MOVWF	lcd_lcd_out_param_row
00C7	GOTO	L_lcd_20
00C8	L_lcd_21:
00C8	MOVLW	2
00C9	SUBWF	lcd_lcd_out_param_row,W
00CA	BTFSS	STATUS,Z
00CB	GOTO	L_lcd_22
00CC	MOVLW	192
00CD	MOVWF	lcd_lcd_out_param_row
00CE	GOTO	L_lcd_20
00CF	L_lcd_22:
00CF	MOVLW	3
00D0	SUBWF	lcd_lcd_out_param_row,W
00D1	BTFSS	STATUS,Z
00D2	GOTO	L_lcd_23
00D3	MOVLW	148
00D4	MOVWF	lcd_lcd_out_param_row
00D5	GOTO	L_lcd_20
00D6	L_lcd_23:
00D6	MOVLW	4
00D7	SUBWF	lcd_lcd_out_param_row,W
00D8	BTFSS	STATUS,Z
00D9	GOTO	L_lcd_24
00DA	MOVLW	212
00DB	MOVWF	lcd_lcd_out_param_row
00DC	GOTO	L_lcd_20
00DD	L_lcd_24:
00DD	MOVLW	128
00DE	MOVWF	lcd_lcd_out_param_row
00DF	L_lcd_20:
00DF	MOVF	lcd_lcd_out_param_column,W
00E0	ADDWF	lcd_lcd_out_param_row,W
00E1	MOVWF	STACK_0
00E2	MOVLW	1
00E3	SUBWF	STACK_0,F
00E4	MOVF	STACK_0,W
00E5	MOVWF	lcd_lcd_out_param_row
00E6	MOVF	lcd_lcd_out_param_row,W
00E7	MOVWF	lcd_lcd_cmd_param_out_char
00E8	CALL	lcd_lcd_cmd
00E9	CLRF	lcd_main_global_cmd
00EA	MOVLW	1
00EB	MOVWF	lcd_lcd_out_local_i
00EC	L_lcd_25:
00EC	MOVF	lcd_lcd_out_param_text,W
00ED	MOVWF	FSR
00EE	MOVF	INDF,W
00EF	MOVWF	STACK_1
00F0	MOVF	lcd_lcd_out_local_i,W
00F1	SUBWF	STACK_1,W
00F2	BTFSS	STATUS,C
00F3	GOTO	L_lcd_26
00F4	MOVF	lcd_lcd_out_param_text,W
00F5	MOVWF	FSR
00F6	MOVF	lcd_lcd_out_local_i,W
00F7	ADDWF	FSR,F
00F8	MOVF	INDF,W
00F9	MOVWF	lcd_lcd_cmd_param_out_char
00FA	CALL	lcd_lcd_cmd
00FB	L_lcd_27:
00FB	CLRF	STACK_2
00FC	INCF	STACK_2,F
00FD	MOVF	lcd_lcd_out_local_i,W
00FE	ADDWF	STACK_2,W
00FF	MOVWF	lcd_lcd_out_local_i
0100	GOTO	L_lcd_25
0101	L_lcd_26:
0101	MOVLW	1
0102	MOVWF	lcd_main_global_cmd
0103	RETURN
0104	;---endproc---
  ;--- function USARTlib_U_A_usart_data_ready ---
0104	USARTlib_U_A_usart_data_ready:
0104	BCF	STATUS,RP1
0105	BCF	STATUS,RP0
0106	CLRF	USARTlib_U_A_usart_data_ready_result
0107	BTFSC	pir1,5
0108	INCF	USARTlib_U_A_usart_data_ready_result,F
0109	RETURN
010A	;---endproc---
  ;--- procedure USARTlib_U_A_usart_init ---
010A	USARTlib_U_A_usart_init:
010A	BCF	STATUS,RP1
010B	BSF	STATUS,RP0
010C	BSF	txsta,5
010D	MOVLW	144
010E	BCF	STATUS,RP0
010F	MOVWF	RCSTA
0110	BSF	STATUS,RP0
0111	BSF	trisc,7
0112	BCF	trisc,6
0113	L_USARTlib_U_A_1:
0113	CLRF	STACK_0
0114	BCF	STATUS,RP0
0115	BTFSC	pir1,5
0116	INCF	STACK_0,F
0117	MOVLW	1
0118	SUBWF	STACK_0,W
0119	BTFSS	STATUS,Z
011A	GOTO	L_USARTlib_U_A_2
011B	L_USARTlib_U_A_0:
011B	MOVF	RCREG,W
011C	MOVWF	USARTlib_U_A_usart_init_local_i
011D	GOTO	L_USARTlib_U_A_1
011E	L_USARTlib_U_A_2:
011E	RETURN
011F	;---endproc---
  ;--- function USARTlib_U_A_usart_read ---
011F	USARTlib_U_A_usart_read:
011F	BCF	STATUS,RP1
0120	BCF	STATUS,RP0
0121	MOVF	RCREG,W
0122	MOVWF	USARTlib_U_A_usart_read_result
0123	CLRF	STACK_0
0124	BTFSC	rcsta,1
0125	INCF	STACK_0,F
0126	MOVLW	1
0127	SUBWF	STACK_0,W
0128	BTFSS	STATUS,Z
0129	GOTO	L_USARTlib_U_A_7
012A	L_USARTlib_U_A_6:
012A	BCF	rcsta,4
012B	BSF	rcsta,4
012C	GOTO	L_USARTlib_U_A_8
012D	L_USARTlib_U_A_7:
012D	L_USARTlib_U_A_8:
012D	RETURN
012E	;---endproc---
  ;--- procedure USART_Rx_IrDA2_initall ---
012E	USART_Rx_IrDA2_initall:
012E	BCF	STATUS,RP1
012F	BCF	STATUS,RP0
0130	CLRF	main_global_ind
0131	MOVLW	1
0132	MOVWF	main_global_rxIndex
0133	CLRF	main_global_rxDone
0134	BSF	STATUS,RP0
0135	CLRF	TRISB
0136	BCF	STATUS,RP0
0137	MOVLW	PORTB,W
0138	MOVWF	lcd_lcd_init_param_port
0139	CALL	lcd_lcd_init
013A	MOVLW	1
013B	MOVWF	lcd_lcd_cmd_param_out_char
013C	CALL	lcd_lcd_cmd
013D	MOVLW	12
013E	MOVWF	lcd_lcd_cmd_param_out_char
013F	CALL	lcd_lcd_cmd
0140	MOVLW	12
0141	BSF	STATUS,RP0
0142	MOVWF	SPBRG
0143	BSF	TXSTA, BRGH	; HI speed
0144	CALL	USARTlib_U_A_usart_init
0145	RETURN
0146	;---endproc---
  ;--- procedure USART_Rx_IrDA2_rxin ---

⌨️ 快捷键说明

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