📄 接受.lis
字号:
.module _接受.c
.area text(rom, con, rel)
0000 .dbfile F:\915M\接受\接受.c
.area data(ram, con, rel)
0000 .dbfile F:\915M\接受\接受.c
0000 _count1::
0000 .blkb 2
.area idata
0000 0000 .word 0
.area data(ram, con, rel)
0002 .dbfile F:\915M\接受\接受.c
0002 .dbsym e count1 _count1 i
0002 _count2::
0002 .blkb 2
.area idata
0002 0000 .word 0
.area data(ram, con, rel)
0004 .dbfile F:\915M\接受\接受.c
0004 .dbsym e count2 _count2 i
0004 _speed::
0004 .blkb 2
.area idata
0004 3200 .word 50
.area data(ram, con, rel)
0006 .dbfile F:\915M\接受\接受.c
0006 .dbsym e speed _speed i
.area text(rom, con, rel)
0000 .dbfile F:\915M\接受\接受.c
0000 .dbfunc e RFXX_PORT_INIT _RFXX_PORT_INIT fV
.even
0000 _RFXX_PORT_INIT::
0000 .dbline -1
0000 .dbline 58
0000 ; #include <iom8v.h>
0000 ; #include <macros.h>
0000 ; #include <stdio.h>
0000 ; #define DDR_IN 0
0000 ; #define DDR_OUT 1
0000 ; #define PORT_SEL PORTB
0000 ; #define PIN_SEL PINB
0000 ; #define DDR_SEL DDRB
0000 ;
0000 ; #define PORT_SDI PORTB
0000 ; #define PIN_SDI PINB
0000 ; #define DDR_SDI DDRB
0000 ;
0000 ; #define PORT_SCK PORTB
0000 ; #define PIN_SCK PINB
0000 ; #define DDR_SCK DDRB
0000 ;
0000 ; #define PORT_SDO PORTB
0000 ; #define PIN_SDO PINB
0000 ; #define DDR_SDO DDRB
0000 ;
0000 ; #define PB7 7
0000 ; #define PB6 6
0000 ; #define RFXX_SCK 5
0000 ; #define RFXX_SDO 4
0000 ; #define RFXX_SDI 3
0000 ; #define RFXX_SEL 2
0000 ; #define RFXX_DATA 1
0000 ; #define PB0 0
0000 ;
0000 ; #define SEL_OUTPUT() DDR_SEL|=(1<<RFXX_SEL)
0000 ; #define HI_SEL() PORT_SEL|=(1<<RFXX_SEL)
0000 ; #define LOW_SEL() PORT_SEL&=~(1<<RFXX_SEL)
0000 ;
0000 ; #define SDI_OUTPUT() DDR_SDI|=(1<<RFXX_SDI)
0000 ; #define HI_SDI() PORT_SDI|=(1<<RFXX_SDI)
0000 ; #define LOW_SDI() PORT_SDI&=~(1<<RFXX_SDI)
0000 ;
0000 ; #define SDO_INPUT() DDR_SDO&=~(1<<RFXX_SDO)
0000 ; #define SDO_HI() PIN_SDO&=(1<<RFXX_SDO)
0000 ; #define SCK_OUTPUT() DDR_SCK|=(1<<RFXX_SCK)
0000 ; #define HI_SCK() PORT_SCK|=(1<<RFXX_SCK)
0000 ; #define LOW_SCK() PORT_SCK&=~(1<<RFXX_SCK)
0000 ;
0000 ; #define baud 19200
0000 ; #define fosc 8000000
0000 ;
0000 ; #define uchar unsigned char
0000 ; #define uint unsigned int
0000 ;
0000 ; uchar RF_RXBUF[4];
0000 ; uchar ch0,ch1,ch2,ch3; //j,k,l,m;
0000 ; uint count1=0,count2=0,speed=50;
0000 ;
0000 ;
0000 ; /*接受芯片端口初始化*/
0000 ; void RFXX_PORT_INIT(void)
0000 ; {
0000 .dbline 59
0000 ; HI_SEL();
0000 C29A sbi 0x18,2
0002 .dbline 60
0002 ; HI_SDI();
0002 C39A sbi 0x18,3
0004 .dbline 61
0004 ; LOW_SCK();
0004 C598 cbi 0x18,5
0006 .dbline 62
0006 ; SEL_OUTPUT();
0006 BA9A sbi 0x17,2
0008 .dbline 63
0008 ; SDI_OUTPUT();
0008 BB9A sbi 0x17,3
000A .dbline 64
000A ; SDO_INPUT();
000A BC98 cbi 0x17,4
000C .dbline 65
000C ; SCK_OUTPUT();
000C BD9A sbi 0x17,5
000E .dbline -2
000E L1:
000E .dbline 0 ; func end
000E 0895 ret
0010 .dbend
0010 .dbfunc e RFXX_WRT_CMD _RFXX_WRT_CMD fV
0010 ; temp -> R20,R21
0010 ; i -> R22
0010 ; aCmd -> R16,R17
.even
0010 _RFXX_WRT_CMD::
0010 00D0 rcall push_xgsetF000
0012 .dbline -1
0012 .dbline 70
0012 ; }
0012 ;
0012 ; //接受芯片命令写入
0012 ; void RFXX_WRT_CMD(uint aCmd)
0012 ; {
0012 .dbline 73
0012 ; uchar i;
0012 ; uint temp;
0012 ; LOW_SCK();
0012 C598 cbi 0x18,5
0014 .dbline 74
0014 ; LOW_SEL();
0014 C298 cbi 0x18,2
0016 .dbline 75
0016 ; for(i=0;i<16;i++)
0016 6627 clr R22
0018 12C0 rjmp L6
001A L3:
001A .dbline 76
001A ; {
001A .dbline 77
001A ; temp<<=1;
001A 440F lsl R20
001C 551F rol R21
001E .dbline 78
001E ; if(SDO_HI())
001E 86B3 in R24,0x16
0020 8071 andi R24,16
0022 86BB out 0x16,R24
0024 8823 tst R24
0026 09F0 breq L7
0028 X0:
0028 .dbline 79
0028 ; { temp|=0x0001; }
0028 .dbline 79
0028 4160 ori R20,1
002A .dbline 79
002A L7:
002A .dbline 80
002A ; LOW_SCK();
002A C598 cbi 0x18,5
002C .dbline 82
002C ;
002C ; if(aCmd&0x8000) HI_SDI();
002C 17FF sbrs R17,7
002E 02C0 rjmp L9
0030 X1:
0030 .dbline 82
0030 C39A sbi 0x18,3
0032 01C0 rjmp L10
0034 L9:
0034 .dbline 83
0034 ; else LOW_SDI();
0034 C398 cbi 0x18,3
0036 L10:
0036 .dbline 85
0036 ;
0036 ; HI_SCK();
0036 C59A sbi 0x18,5
0038 .dbline 86
0038 ; aCmd<<=1;
0038 000F lsl R16
003A 111F rol R17
003C .dbline 87
003C ; }
003C L4:
003C .dbline 75
003C 6395 inc R22
003E L6:
003E .dbline 75
003E 6031 cpi R22,16
0040 60F3 brlo L3
0042 X2:
0042 .dbline 88
0042 ; LOW_SCK();
0042 C598 cbi 0x18,5
0044 .dbline 89
0044 ; HI_SEL();
0044 C29A sbi 0x18,2
0046 .dbline -2
0046 L2:
0046 .dbline 0 ; func end
0046 00C0 rjmp pop_xgsetF000
0048 .dbsym r temp 20 i
0048 .dbsym r i 22 c
0048 .dbsym r aCmd 16 i
0048 .dbend
0048 .dbfunc e RF01_RDFIFO _RF01_RDFIFO fc
0048 ; Result -> R16
0048 ; i -> R18
.even
0048 _RF01_RDFIFO::
0048 .dbline -1
0048 .dbline 95
0048 ; // return(temp);
0048 ; }
0048 ;
0048 ; /*接受数据*/
0048 ; uchar RF01_RDFIFO(void)
0048 ; {
0048 .dbline 97
0048 ; uchar i,Result;
0048 ; LOW_SCK();
0048 C598 cbi 0x18,5
004A .dbline 98
004A ; LOW_SDI();
004A C398 cbi 0x18,3
004C .dbline 99
004C ; LOW_SEL();
004C C298 cbi 0x18,2
004E .dbline 100
004E ; for(i=0;i<16;i++)
004E 2227 clr R18
0050 05C0 rjmp L15
0052 L12:
0052 .dbline 101
0052 ; {
0052 .dbline 102
0052 ; HI_SCK();
0052 C59A sbi 0x18,5
0054 .dbline 103
0054 ; HI_SCK();
0054 C59A sbi 0x18,5
0056 .dbline 104
0056 ; LOW_SCK();
0056 C598 cbi 0x18,5
0058 .dbline 105
0058 ; LOW_SCK();
0058 C598 cbi 0x18,5
005A .dbline 106
005A ; }
005A L13:
005A .dbline 100
005A 2395 inc R18
005C L15:
005C .dbline 100
005C 2031 cpi R18,16
005E C8F3 brlo L12
0060 X3:
0060 .dbline 107
0060 ; Result=0;
0060 0027 clr R16
0062 .dbline 108
0062 ; for(i=0;i<8;i++)
0062 2227 clr R18
0064 0CC0 rjmp L19
0066 L16:
0066 .dbline 109
0066 ; {
0066 .dbline 110
0066 ; Result<<=1;
0066 000F lsl R16
0068 .dbline 111
0068 ; if(SDO_HI())
0068 86B3 in R24,0x16
006A 8071 andi R24,16
006C 86BB out 0x16,R24
006E 8823 tst R24
0070 09F0 breq L20
0072 X4:
0072 .dbline 112
0072 ; { Result|=1; }
0072 .dbline 112
0072 0160 ori R16,1
0074 .dbline 112
0074 L20:
0074 .dbline 113
0074 ; HI_SCK();
0074 C59A sbi 0x18,5
0076 .dbline 114
0076 ; HI_SCK();
0076 C59A sbi 0x18,5
0078 .dbline 115
0078 ; LOW_SCK();
0078 C598 cbi 0x18,5
007A .dbline 116
007A ; LOW_SCK();
007A C598 cbi 0x18,5
007C .dbline 117
007C ; }
007C L17:
007C .dbline 108
007C 2395 inc R18
007E L19:
007E .dbline 108
007E 2830 cpi R18,8
0080 90F3 brlo L16
0082 X5:
0082 .dbline 118
0082 ; HI_SEL();
0082 C29A sbi 0x18,2
0084 .dbline 119
0084 ; return(Result);
0084 .dbline -2
0084 L11:
0084 .dbline 0 ; func end
0084 0895 ret
0086 .dbsym r Result 16 c
0086 .dbsym r i 18 c
0086 .dbend
0086 .dbfunc e Transmit _Transmit fV
0086 ; Send_Data -> R16
.even
0086 _Transmit::
0086 .dbline -1
0086 .dbline 124
0086 ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -