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

📄 rx.asm

📁 Firmware of the Cradle I have made
💻 ASM
字号:
;  ASM code generated by mikroVirtualMachine for PIC - V. 5.0.0.3
;  Date/Time: 10/6/2007 5:55:59 AM
;  Info: http://www.mikroelektronika.co.yu


; ADDRESS	OPCODE	ASM
; ----------------------------------------------
$0000	$28EE			GOTO	_main
$0004	$	_Delay_10us:
;delays.c,6 :: 		void Delay_10us() {
;delays.c,7 :: 		Delay_us(10);
$0004	$3003			MOVLW	3
$0005	$1303			BCF	STATUS, RP1
$0006	$1283			BCF	STATUS, RP0
$0007	$00FA			MOVWF	STACK_10
$0008	$0BFA			DECFSZ	STACK_10, F
$0009	$2808			GOTO	$-1
;delays.c,8 :: 		}
$000A	$0008			RETURN
$000B	$	_Man_Synchro:
$000B	$1303			BCF	STATUS, RP1
$000C	$1283			BCF	STATUS, RP0
$000D	$01A8			CLRF	Man_Synchro_m1_L0, 1
$000E	$01A9			CLRF	Man_Synchro_m2_L0, 1
$000F	$01AA			CLRF	Man_Synchro_m4_L0, 1
$0010	$0820			MOVF	_imgport, 0
$0011	$0084			MOVWF	FSR
$0012	$1B80			BTFSC	INDF, MANRXPIN
$0013	$2812			GOTO	$-1
$0014	$1F80			BTFSS	INDF, MANRXPIN
$0015	$2814			GOTO	$-1
$0016	$	MyL_Man_Synchro_0:
$0016	$0AA8			INCF	Man_Synchro_m1_L0, 1
$0017	$2004			CALL	_Delay_10us
$0018	$0000			NOP
$0019	$1B80			BTFSC	INDF, MANRXPIN
$001A	$2816			GOTO	MyL_Man_Synchro_0
$001B	$1F80			BTFSS	INDF, MANRXPIN
$001C	$281B			GOTO	$-1
$001D	$	MyL_Man_Synchro_1:
$001D	$0AA9			INCF	Man_Synchro_m2_L0, 1
$001E	$2004			CALL	_Delay_10us
$001F	$0000			NOP
$0020	$1B80			BTFSC	INDF, MANRXPIN
$0021	$281D			GOTO	MyL_Man_Synchro_1
$0022	$0828			MOVF	Man_Synchro_m1_L0, 0
$0023	$00F1			MOVWF	STACK_1
$0024	$0CF1			RRF	STACK_1, 1
$0025	$13F1			BCF	STACK_1, 7
$0026	$0CF1			RRF	STACK_1, 1
$0027	$13F1			BCF	STACK_1, 7
$0028	$0829			MOVF	Man_Synchro_m2_L0, 0
$0029	$00AA			MOVWF	Man_Synchro_m4_L0
$002A	$0CAA			RRF	Man_Synchro_m4_L0, 1
$002B	$13AA			BCF	Man_Synchro_m4_L0, 7
$002C	$0CAA			RRF	Man_Synchro_m4_L0, 1
$002D	$13AA			BCF	Man_Synchro_m4_L0, 7
$002E	$0828			MOVF	Man_Synchro_m1_L0, 0
$002F	$07F1			ADDWF	STACK_1, 1
$0030	$01F2			CLRF	STACK_1+1
$0031	$1803			BTFSC	STATUS, C
$0032	$0AF2			INCF	STACK_1+1, 1
$0033	$3080			MOVLW	128
$0034	$0672			XORWF	STACK_1+1, 0
$0035	$00F0			MOVWF	STACK_0
$0036	$3080			MOVLW	128
$0037	$0270			SUBWF	STACK_0, 0
$0038	$1D03			BTFSS	STATUS, Z
$0039	$283C			GOTO	L_Man_Synchro_33
$003A	$0829			MOVF	Man_Synchro_m2_L0, 0
$003B	$0271			SUBWF	STACK_1, 0
$003C	$	L_Man_Synchro_33:
$003C	$1803			BTFSC	STATUS, C
$003D	$285C			GOTO	L_Man_Synchro_0
$003E	$0828			MOVF	Man_Synchro_m1_L0, 0
$003F	$3C00			SUBLW	0
$0040	$1803			BTFSC	STATUS, C
$0041	$2845			GOTO	L_Man_Synchro_1
$0042	$0828			MOVF	Man_Synchro_m1_L0, 0
$0043	$00A1			MOVWF	_HalfbitS
$0044	$285C			GOTO	L_Man_Synchro_2
$0045	$	L_Man_Synchro_1:
$0045	$082A			MOVF	Man_Synchro_m4_L0, 0
$0046	$0729			ADDWF	Man_Synchro_m2_L0, 0
$0047	$00F1			MOVWF	STACK_1
$0048	$01F2			CLRF	STACK_1+1
$0049	$1803			BTFSC	STATUS, C
$004A	$0AF2			INCF	STACK_1+1, 1
$004B	$3080			MOVLW	128
$004C	$0672			XORWF	STACK_1+1, 0
$004D	$00F0			MOVWF	STACK_0
$004E	$3080			MOVLW	128
$004F	$0270			SUBWF	STACK_0, 0
$0050	$1D03			BTFSS	STATUS, Z
$0051	$2854			GOTO	L_Man_Synchro_34
$0052	$0828			MOVF	Man_Synchro_m1_L0, 0
$0053	$0271			SUBWF	STACK_1, 0
$0054	$	L_Man_Synchro_34:
$0054	$1803			BTFSC	STATUS, C
$0055	$285C			GOTO	L_Man_Synchro_3
$0056	$0829			MOVF	Man_Synchro_m2_L0, 0
$0057	$3C00			SUBLW	0
$0058	$1803			BTFSC	STATUS, C
$0059	$285C			GOTO	L_Man_Synchro_4
$005A	$0829			MOVF	Man_Synchro_m2_L0, 0
$005B	$00A1			MOVWF	_HalfbitS
$005C	$	L_Man_Synchro_4:
$005C	$	L_Man_Synchro_3:
$005C	$	L_Man_Synchro_2:
$005C	$	L_Man_Synchro_0:
$005C	$0821			MOVF	_HalfbitS, 0
$005D	$00A2			MOVWF	_FullBits
$005E	$0DA2			RLF	_FullBits, 1
$005F	$1022			BCF	_FullBits, 0
$0060	$0821			MOVF	_HalfbitS, 0
$0061	$00F0			MOVWF	STACK_0
$0062	$0008			RETURN
$0063	$	_Man_Receive:
$0063	$1303			BCF	STATUS, RP1
$0064	$1283			BCF	STATUS, RP0
$0065	$0825			MOVF	FARG_Man_Receive+0, 0
$0066	$0084			MOVWF	FSR
$0067	$3001			MOVLW	1
$0068	$0080			MOVWF	INDF
$0069	$01A6			CLRF	Man_Receive_cnt_L0, 1
$006A	$0826			MOVF	Man_Receive_cnt_L0, 0
$006B	$00A7			MOVWF	Man_Receive_result_L0
$006C	$0820			MOVF	_imgport, 0
$006D	$0084			MOVWF	FSR
$006E	$1B80			BTFSC	INDF, MANRXPIN
$006F	$286E			GOTO	$-1
$0070	$1F80			BTFSS	INDF, MANRXPIN
$0071	$2870			GOTO	$-1
$0072	$0821			MOVF	_HalfbitS, 0
$0073	$00F0			MOVWF	STACK_0
$0074	$0CF0			RRF	STACK_0, 1
$0075	$13F0			BCF	STACK_0, 7
$0076	$0870			MOVF	STACK_0, 0
$0077	$00A6			MOVWF	Man_Receive_cnt_L0
$0078	$	L_Man_Receive_5:
$0078	$2004			CALL	_Delay_10us
$0079	$03A6			DECF	Man_Receive_cnt_L0, 1
$007A	$0826			MOVF	Man_Receive_cnt_L0, 0
$007B	$1D03			BTFSS	STATUS, Z
$007C	$2878			GOTO	L_Man_Receive_5
$007D	$	L_Man_Receive_6:
$007D	$1F80			BTFSS	INDF, MANRXPIN
$007E	$0008			RETURN
$007F	$0822			MOVF	_FullBits, 0
$0080	$00A6			MOVWF	Man_Receive_cnt_L0
$0081	$	L_Man_Receive_7:
$0081	$2004			CALL	_Delay_10us
$0082	$03A6			DECF	Man_Receive_cnt_L0, 1
$0083	$0826			MOVF	Man_Receive_cnt_L0, 0
$0084	$1D03			BTFSS	STATUS, Z
$0085	$2881			GOTO	L_Man_Receive_7
$0086	$	L_Man_Receive_8:
$0086	$1F80			BTFSS	INDF, MANRXPIN
$0087	$0008			RETURN
$0088	$0822			MOVF	_FullBits, 0
$0089	$00A6			MOVWF	Man_Receive_cnt_L0
$008A	$	L_Man_Receive_9:
$008A	$2004			CALL	_Delay_10us
$008B	$03A6			DECF	Man_Receive_cnt_L0, 1
$008C	$0826			MOVF	Man_Receive_cnt_L0, 0
$008D	$1D03			BTFSS	STATUS, Z
$008E	$288A			GOTO	L_Man_Receive_9
$008F	$	L_Man_Receive_10:
$008F	$1B80			BTFSC	INDF, MANRXPIN
$0090	$0008			RETURN
$0091	$01A7			CLRF	Man_Receive_result_L0, 1
$0092	$0820			MOVF	_imgport, 0
$0093	$0084			MOVWF	FSR
$0094	$0822			MOVF	_FullBits, 0
$0095	$00A6			MOVWF	Man_Receive_cnt_L0
$0096	$	L_Man_Receive_11:
$0096	$2004			CALL	_Delay_10us
$0097	$03A6			DECF	Man_Receive_cnt_L0, 1
$0098	$0826			MOVF	Man_Receive_cnt_L0, 0
$0099	$1D03			BTFSS	STATUS, Z
$009A	$2896			GOTO	L_Man_Receive_11
$009B	$	L_Man_Receive_12:
$009B	$01A7			CLRF	Man_Receive_result_L0, 1
$009C	$1B80			BTFSC	INDF, MANRXPIN
$009D	$17A7			BSF	FLOC_Man_Receive+1, 7
$009E	$0822			MOVF	_FullBits, 0
$009F	$00A6			MOVWF	Man_Receive_cnt_L0
$00A0	$	L_Man_Receive_13:
$00A0	$2004			CALL	_Delay_10us
$00A1	$03A6			DECF	Man_Receive_cnt_L0, 1
$00A2	$0826			MOVF	Man_Receive_cnt_L0, 0
$00A3	$1D03			BTFSS	STATUS, Z
$00A4	$28A0			GOTO	L_Man_Receive_13
$00A5	$	L_Man_Receive_14:
$00A5	$1B80			BTFSC	INDF, MANRXPIN
$00A6	$1727			BSF	FLOC_Man_Receive+1, 6
$00A7	$0822			MOVF	_FullBits, 0
$00A8	$00A6			MOVWF	Man_Receive_cnt_L0
$00A9	$	L_Man_Receive_15:
$00A9	$2004			CALL	_Delay_10us
$00AA	$03A6			DECF	Man_Receive_cnt_L0, 1
$00AB	$0826			MOVF	Man_Receive_cnt_L0, 0
$00AC	$1D03			BTFSS	STATUS, Z
$00AD	$28A9			GOTO	L_Man_Receive_15
$00AE	$	L_Man_Receive_16:
$00AE	$1B80			BTFSC	INDF, MANRXPIN
$00AF	$16A7			BSF	FLOC_Man_Receive+1, 5
$00B0	$0822			MOVF	_FullBits, 0
$00B1	$00A6			MOVWF	Man_Receive_cnt_L0
$00B2	$	L_Man_Receive_17:
$00B2	$2004			CALL	_Delay_10us
$00B3	$03A6			DECF	Man_Receive_cnt_L0, 1
$00B4	$0826			MOVF	Man_Receive_cnt_L0, 0
$00B5	$1D03			BTFSS	STATUS, Z
$00B6	$28B2			GOTO	L_Man_Receive_17
$00B7	$	L_Man_Receive_18:
$00B7	$1B80			BTFSC	INDF, MANRXPIN
$00B8	$1627			BSF	FLOC_Man_Receive+1, 4
$00B9	$0822			MOVF	_FullBits, 0
$00BA	$00A6			MOVWF	Man_Receive_cnt_L0
$00BB	$	L_Man_Receive_19:
$00BB	$2004			CALL	_Delay_10us
$00BC	$03A6			DECF	Man_Receive_cnt_L0, 1
$00BD	$0826			MOVF	Man_Receive_cnt_L0, 0
$00BE	$1D03			BTFSS	STATUS, Z
$00BF	$28BB			GOTO	L_Man_Receive_19
$00C0	$	L_Man_Receive_20:
$00C0	$1B80			BTFSC	INDF, MANRXPIN
$00C1	$15A7			BSF	FLOC_Man_Receive+1, 3
$00C2	$0822			MOVF	_FullBits, 0
$00C3	$00A6			MOVWF	Man_Receive_cnt_L0
$00C4	$	L_Man_Receive_21:
$00C4	$2004			CALL	_Delay_10us
$00C5	$03A6			DECF	Man_Receive_cnt_L0, 1
$00C6	$0826			MOVF	Man_Receive_cnt_L0, 0
$00C7	$1D03			BTFSS	STATUS, Z
$00C8	$28C4			GOTO	L_Man_Receive_21
$00C9	$	L_Man_Receive_22:
$00C9	$1B80			BTFSC	INDF, MANRXPIN
$00CA	$1527			BSF	FLOC_Man_Receive+1, 2
$00CB	$0822			MOVF	_FullBits, 0
$00CC	$00A6			MOVWF	Man_Receive_cnt_L0
$00CD	$	L_Man_Receive_23:
$00CD	$2004			CALL	_Delay_10us
$00CE	$03A6			DECF	Man_Receive_cnt_L0, 1
$00CF	$0826			MOVF	Man_Receive_cnt_L0, 0
$00D0	$1D03			BTFSS	STATUS, Z
$00D1	$28CD			GOTO	L_Man_Receive_23
$00D2	$	L_Man_Receive_24:
$00D2	$1B80			BTFSC	INDF, MANRXPIN
$00D3	$14A7			BSF	FLOC_Man_Receive+1, 1
$00D4	$0822			MOVF	_FullBits, 0
$00D5	$00A6			MOVWF	Man_Receive_cnt_L0
$00D6	$	L_Man_Receive_25:
$00D6	$2004			CALL	_Delay_10us
$00D7	$03A6			DECF	Man_Receive_cnt_L0, 1
$00D8	$0826			MOVF	Man_Receive_cnt_L0, 0
$00D9	$1D03			BTFSS	STATUS, Z
$00DA	$28D6			GOTO	L_Man_Receive_25
$00DB	$	L_Man_Receive_26:
$00DB	$1B80			BTFSC	INDF, MANRXPIN
$00DC	$1427			BSF	FLOC_Man_Receive+1, 0
$00DD	$0825			MOVF	FARG_Man_Receive+0, 0
$00DE	$0084			MOVWF	FSR
$00DF	$0180			CLRF	INDF, 1
$00E0	$0827			MOVF	Man_Receive_result_L0, 0
$00E1	$00F0			MOVWF	STACK_0
$00E2	$0008			RETURN
$00E3	$	_Man_Receive_Init:
$00E3	$1303			BCF	STATUS, RP1
$00E4	$1283			BCF	STATUS, RP0
$00E5	$0825			MOVF	FARG_Man_Receive_Init+0, 0
$00E6	$0084			MOVWF	FSR
$00E7	$0000			NOP
$00E8	$0804			MOVF	FSR, 0
$00E9	$00A0			MOVWF	_imgport
$00EA	$1784			BSF	FSR, 7
$00EB	$1780			BSF	INDF, MANRXPIN
$00EC	$200B			CALL	_Man_Synchro
$00ED	$0008			RETURN
$00EE	$	_main:
;Rx.c,3 :: 		main ()
;Rx.c,5 :: 		TRISB = 0;
$00EE	$1303			BCF	STATUS, RP1
$00EF	$1683			BSF	STATUS, RP0
$00F0	$0186			CLRF	TRISB, 1
;Rx.c,6 :: 		PORTB = 0;
$00F1	$1283			BCF	STATUS, RP0
$00F2	$0186			CLRF	PORTB, 1
;Rx.c,7 :: 		TRISD = 0x80;
$00F3	$3080			MOVLW	128
$00F4	$1683			BSF	STATUS, RP0
$00F5	$0088			MOVWF	TRISD
;Rx.c,8 :: 		PORTD = 0;
$00F6	$1283			BCF	STATUS, RP0
$00F7	$0188			CLRF	PORTD, 1
;Rx.c,9 :: 		Man_Receive_Config(&PORTD, 7);           // Configure and synchronize receiver
$00F8	$3008			MOVLW	PORTD
$00F9	$00A5			MOVWF	FARG_Man_Receive_Init+0
$00FA	$20E3			CALL	_Man_Receive_Init
;Rx.c,10 :: 		while (1)
$00FB	$	L_main_0:
;Rx.c,12 :: 		temp = Man_Receive(error);
$00FB	$0824			MOVF	_error, 0
$00FC	$00A5			MOVWF	FARG_Man_Receive+0
$00FD	$2063			CALL	_Man_Receive
$00FE	$0870			MOVF	STACK_0, 0
$00FF	$00A3			MOVWF	_temp
;Rx.c,13 :: 		if (temp == 0x53)
$0100	$0870			MOVF	STACK_0, 0
$0101	$3A53			XORLW	83
$0102	$1D03			BTFSS	STATUS, Z
$0103	$2918			GOTO	L_main_2
;Rx.c,16 :: 		temp = Man_Receive(error);
$0104	$0824			MOVF	_error, 0
$0105	$00A5			MOVWF	FARG_Man_Receive+0
$0106	$2063			CALL	_Man_Receive
$0107	$0870			MOVF	STACK_0, 0
$0108	$00A3			MOVWF	_temp
;Rx.c,17 :: 		if (temp == 0x22)
$0109	$0870			MOVF	STACK_0, 0
$010A	$3A22			XORLW	34
$010B	$1D03			BTFSS	STATUS, Z
$010C	$2918			GOTO	L_main_3
;Rx.c,20 :: 		temp = Man_Receive(error);
$010D	$0824			MOVF	_error, 0
$010E	$00A5			MOVWF	FARG_Man_Receive+0
$010F	$2063			CALL	_Man_Receive
$0110	$0870			MOVF	STACK_0, 0
$0111	$00A3			MOVWF	_temp
;Rx.c,21 :: 		if (temp == 0x69)
$0112	$0870			MOVF	STACK_0, 0
$0113	$3A69			XORLW	105
$0114	$1D03			BTFSS	STATUS, Z
$0115	$2918			GOTO	L_main_4
;Rx.c,23 :: 		PORTB = 1;
$0116	$3001			MOVLW	1
$0117	$0086			MOVWF	PORTB
;Rx.c,25 :: 		}
$0118	$	L_main_4:
;Rx.c,26 :: 		}
$0118	$	L_main_3:
;Rx.c,27 :: 		}
$0118	$	L_main_2:
;Rx.c,28 :: 		Delay_ms(1000);
$0118	$3006			MOVLW	6
$0119	$00FC			MOVWF	STACK_12
$011A	$30FF			MOVLW	255
$011B	$00FB			MOVWF	STACK_11
$011C	$30FF			MOVLW	255
$011D	$00FA			MOVWF	STACK_10
$011E	$0BFC			DECFSZ	STACK_12, F
$011F	$2921			GOTO	$+2
$0120	$2928			GOTO	$+8
$0121	$0BFB			DECFSZ	STACK_11, F
$0122	$2924			GOTO	$+2
$0123	$2927			GOTO	$+4
$0124	$0BFA			DECFSZ	STACK_10, F
$0125	$2924			GOTO	$-1
$0126	$2921			GOTO	$-5
$0127	$291E			GOTO	$-9
$0128	$301A			MOVLW	26
$0129	$00FB			MOVWF	STACK_11
$012A	$30FF			MOVLW	255
$012B	$00FA			MOVWF	STACK_10
$012C	$0BFB			DECFSZ	STACK_11, F
$012D	$292F			GOTO	$+2
$012E	$2932			GOTO	$+4
$012F	$0BFA			DECFSZ	STACK_10, F
$0130	$292F			GOTO	$-1
$0131	$292C			GOTO	$-5
$0132	$3042			MOVLW	66
$0133	$00FA			MOVWF	STACK_10
$0134	$0BFA			DECFSZ	STACK_10, F
$0135	$2934			GOTO	$-1
;Rx.c,29 :: 		PORTB = 0;
$0136	$0186			CLRF	PORTB, 1
;Rx.c,30 :: 		}
$0137	$28FB			GOTO	L_main_0
;Rx.c,31 :: 		}
$0138	$2938			GOTO	$

⌨️ 快捷键说明

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