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

📄 usart_tx_irda2.lst

📁 irda 2 example implementation with microcontroller
💻 LST
📖 第 1 页 / 共 2 页
字号:
***************************
21.10.2004 17:55:12
***************************
**********************
***   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---
  ;--- procedure USARTlib_U_A_usart_init ---
0104	USARTlib_U_A_usart_init:
0104	BCF	STATUS,RP1
0105	BSF	STATUS,RP0
0106	BSF	txsta,5
0107	MOVLW	144
0108	BCF	STATUS,RP0
0109	MOVWF	RCSTA
010A	BSF	STATUS,RP0
010B	BSF	trisc,7
010C	BCF	trisc,6
010D	L_USARTlib_U_A_1:
010D	CLRF	STACK_0
010E	BCF	STATUS,RP0
010F	BTFSC	pir1,5
0110	INCF	STACK_0,F
0111	MOVLW	1
0112	SUBWF	STACK_0,W
0113	BTFSS	STATUS,Z
0114	GOTO	L_USARTlib_U_A_2
0115	L_USARTlib_U_A_0:
0115	MOVF	RCREG,W
0116	MOVWF	USARTlib_U_A_usart_init_local_i
0117	GOTO	L_USARTlib_U_A_1
0118	L_USARTlib_U_A_2:
0118	RETURN
0119	;---endproc---
  ;--- procedure USARTlib_U_A_usart_write ---
0119	USARTlib_U_A_usart_write:
0119	L_USARTlib_U_A_4:
0119	BCF	STATUS,RP1
011A	BCF	STATUS,RP0
011B	CLRF	STACK_0
011C	BSF	STATUS,RP0
011D	BTFSC	txsta,1
011E	INCF	STACK_0,F
011F	MOVLW	0
0120	SUBWF	STACK_0,W
0121	BTFSS	STATUS,Z
0122	GOTO	L_USARTlib_U_A_5
0123	L_USARTlib_U_A_3:
0123	nop
0124	GOTO	L_USARTlib_U_A_4
0125	L_USARTlib_U_A_5:
0125	BCF	STATUS,RP0
0126	MOVF	USARTlib_U_A_usart_write_param_data,W
0127	MOVWF	TXREG
0128	RETURN
0129	;---endproc---
  ;--- procedure USART_Tx_IrDA2_initall ---
0129	USART_Tx_IrDA2_initall:
0129	BCF	STATUS,RP1
012A	BCF	STATUS,RP0
012B	CLRF	main_global_ind
012C	MOVLW	1
012D	MOVWF	main_global_rxIndex
012E	MOVLW	16
012F	MOVWF	main_global_outTxt_0
0130	MOVLW	109
0131	MOVWF	main_global_outTxt_1
0132	MOVLW	105
0133	MOVWF	main_global_outTxt_2
0134	MOVLW	107
0135	MOVWF	main_global_outTxt_3
0136	MOVLW	114
0137	MOVWF	main_global_outTxt_4
0138	MOVLW	111
0139	MOVWF	main_global_outTxt_5
013A	MOVLW	101
013B	MOVWF	main_global_outTxt_6
013C	MOVLW	108
013D	MOVWF	main_global_outTxt_7
013E	MOVLW	101
013F	MOVWF	main_global_outTxt_8
0140	MOVLW	107
0141	MOVWF	main_global_outTxt_9
0142	MOVLW	116
0143	MOVWF	main_global_outTxt_10
0144	MOVLW	114
0145	MOVWF	main_global_outTxt_11
0146	MOVLW	111
0147	MOVWF	main_global_outTxt_12
0148	MOVLW	110
0149	MOVWF	main_global_outTxt_13
014A	MOVLW	105
014B	MOVWF	main_global_outTxt_14
014C	MOVLW	107
014D	MOVWF	main_global_outTxt_15
014E	MOVLW	97
014F	MOVWF	main_global_outTxt_16
0150	BSF	STATUS,RP0
0151	CLRF	TRISB
0152	BCF	STATUS,RP0
0153	MOVLW	PORTB,W
0154	MOVWF	lcd_lcd_init_param_port
0155	CALL	lcd_lcd_init
0156	MOVLW	1
0157	MOVWF	lcd_lcd_cmd_param_out_char
0158	CALL	lcd_lcd_cmd
0159	MOVLW	12
015A	MOVWF	lcd_lcd_cmd_param_out_char
015B	CALL	lcd_lcd_cmd
015C	MOVLW	12
015D	BSF	STATUS,RP0
015E	MOVWF	SPBRG
015F	BSF	TXSTA, BRGH	; HI speed
0160	CALL	USARTlib_U_A_usart_init
0161	RETURN
0162	;---endproc---
  ;--- procedure USART_Tx_IrDA2_shiftout ---
0162	USART_Tx_IrDA2_shiftout:
0162	MOVLW	0
0163	BCF	STATUS,RP1
0164	BCF	STATUS,RP0
0165	SUBWF	main_global_ind,W
0166	BTFSS	STATUS,Z
0167	GOTO	L_USART_Tx_IrDA2_3
0168	MOVLW	6
0169	MOVWF	main_global_outTxt_0
016A	MOVLW	97
016B	MOVWF	main_global_outTxt_1
016C	MOVLW	97
016D	MOVWF	main_global_outTxt_2

⌨️ 快捷键说明

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