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

📄 cc1100.lis

📁 主要是通过AMEGAL88 来控制cc1100
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 0050           L27:
 0050                   .dbline 0 ; func end
 0050 0895              ret
 0052                   .dbend
 0052                   .dbfunc e spiReadReg _spiReadReg fc
 0052           ;              x -> R20
 0052           ;           addr -> R16
                        .even
 0052           _spiReadReg::
 0052 00D0              rcall push_gset1
 0054                   .dbline -1
 0054                   .dbline 93
 0054           ;   
 0054           ;   
 0054           ; }
 0054           ;       
 0054           ; BYTE spiReadReg(BYTE addr) 
 0054           ; {
 0054                   .dbline 95
 0054           ;     UINT8 x;
 0054           ;     SPI_ON(); 
 0054 2A98              cbi 0x5,2
 0056           L29:
 0056                   .dbline 97
 0056           L30:
 0056                   .dbline 97
 0056           ;     
 0056           ;     while((PORT_SPI & 1<<MISO));
 0056 2C99              sbic 0x5,4
 0058 FECF              rjmp L29
 005A                   .dbline 98
 005A           ;     NOP();
 005A 0000              nop
 005C           L32:
 005C                   .dbline 99
 005C                   .dbline 99
 005C 802F              mov R24,R16
 005E 8068              ori R24,128
 0060 8EBD              out 0x2e,R24
 0062                   .dbline 99
 0062           L38:
 0062                   .dbline 99
 0062           L39:
 0062                   .dbline 99
 0062 2DB4              in R2,0x2d
 0064 27FE              sbrs R2,7
 0066 FDCF              rjmp L38
 0068                   .dbline 99
 0068           L36:
 0068                   .dbline 99
 0068                   .dbline 99
 0068           L33:
 0068                   .dbline 99
 0068           ;     SPI_TX(addr | READ_SINGLE);
 0068           L41:
 0068                   .dbline 100
 0068                   .dbline 100
 0068 2224              clr R2
 006A 2EBC              out 0x2e,R2
 006C                   .dbline 100
 006C           L47:
 006C                   .dbline 100
 006C           L48:
 006C                   .dbline 100
 006C 2DB4              in R2,0x2d
 006E 27FE              sbrs R2,7
 0070 FDCF              rjmp L47
 0072                   .dbline 100
 0072           L45:
 0072                   .dbline 100
 0072                   .dbline 100
 0072 4EB5              in R20,0x2e
 0074                   .dbline 100
 0074           L42:
 0074                   .dbline 100
 0074           ;     SPI_RX(x);
 0074                   .dbline 102
 0074           ;         
 0074           ;     SPI_OFF();    
 0074 2A9A              sbi 0x5,2
 0076                   .dbline 103
 0076           ;     return x;
 0076 042F              mov R16,R20
 0078                   .dbline -2
 0078           L28:
 0078 00D0              rcall pop_gset1
 007A                   .dbline 0 ; func end
 007A 0895              ret
 007C                   .dbsym r x 20 c
 007C                   .dbsym r addr 16 c
 007C                   .dbend
 007C                   .dbfunc e spiReadStatus _spiReadStatus fc
 007C           ;              x -> R20
 007C           ;           addr -> R16
                        .even
 007C           _spiReadStatus::
 007C 00D0              rcall push_gset1
 007E                   .dbline -1
 007E                   .dbline 107
 007E           ; }     
 007E           ; 
 007E           ; BYTE spiReadStatus(BYTE addr)
 007E           ; {
 007E                   .dbline 110
 007E           ;     UINT8 x;
 007E           ;   
 007E           ;     SPI_ON(); 
 007E 2A98              cbi 0x5,2
 0080                   .dbline 111
 0080           ;     NOP();
 0080 0000              nop
 0082           L51:
 0082                   .dbline 112
 0082           L52:
 0082                   .dbline 112
 0082           ;     while(PORT_SPI&1<<MISO);
 0082 2C99              sbic 0x5,4
 0084 FECF              rjmp L51
 0086                   .dbline 113
 0086           ;     NOP();
 0086 0000              nop
 0088           L54:
 0088                   .dbline 114
 0088                   .dbline 114
 0088 802F              mov R24,R16
 008A 806C              ori R24,192
 008C 8EBD              out 0x2e,R24
 008E                   .dbline 114
 008E           L60:
 008E                   .dbline 114
 008E           L61:
 008E                   .dbline 114
 008E 2DB4              in R2,0x2d
 0090 27FE              sbrs R2,7
 0092 FDCF              rjmp L60
 0094                   .dbline 114
 0094           L58:
 0094                   .dbline 114
 0094                   .dbline 114
 0094           L55:
 0094                   .dbline 114
 0094           ;     SPI_TX(addr | READ_BURST);
 0094           L63:
 0094                   .dbline 115
 0094                   .dbline 115
 0094 2224              clr R2
 0096 2EBC              out 0x2e,R2
 0098                   .dbline 115
 0098           L69:
 0098                   .dbline 115
 0098           L70:
 0098                   .dbline 115
 0098 2DB4              in R2,0x2d
 009A 27FE              sbrs R2,7
 009C FDCF              rjmp L69
 009E                   .dbline 115
 009E           L67:
 009E                   .dbline 115
 009E                   .dbline 115
 009E 4EB5              in R20,0x2e
 00A0                   .dbline 115
 00A0           L64:
 00A0                   .dbline 115
 00A0           ;     SPI_RX(x);
 00A0                   .dbline 116
 00A0           ;     NOP();
 00A0 0000              nop
 00A2                   .dbline 117
 00A2           ;     SPI_OFF(); 
 00A2 2A9A              sbi 0x5,2
 00A4                   .dbline 118
 00A4           ;     return x;
 00A4 042F              mov R16,R20
 00A6                   .dbline -2
 00A6           L50:
 00A6 00D0              rcall pop_gset1
 00A8                   .dbline 0 ; func end
 00A8 0895              ret
 00AA                   .dbsym r x 20 c
 00AA                   .dbsym r addr 16 c
 00AA                   .dbend
 00AA                   .dbfunc e spiReadBurstReg _spiReadBurstReg fV
 00AA           ;              i -> R20
 00AA           ;          count -> R22
 00AA           ;         buffer -> R18,R19
 00AA           ;           addr -> R16
                        .even
 00AA           _spiReadBurstReg::
 00AA 00D0              rcall push_gset2
 00AC 6C81              ldd R22,y+4
 00AE                   .dbline -1
 00AE                   .dbline 122
 00AE           ; }
 00AE           ; 
 00AE           ; void spiReadBurstReg(BYTE addr, BYTE *buffer, BYTE count) 
 00AE           ; {
 00AE                   .dbline 124
 00AE           ;     UINT8 i;
 00AE           ;     SPI_ON(); 
 00AE 2A98              cbi 0x5,2
 00B0           L73:
 00B0                   .dbline 125
 00B0           L74:
 00B0                   .dbline 125
 00B0           ;     while(PORT_SPI&1<<MISO);
 00B0 2C99              sbic 0x5,4
 00B2 FECF              rjmp L73
 00B4                   .dbline 126
 00B4           ;     NOP();
 00B4 0000              nop
 00B6           L76:
 00B6                   .dbline 127
 00B6                   .dbline 127
 00B6 802F              mov R24,R16
 00B8 806C              ori R24,192
 00BA 8EBD              out 0x2e,R24
 00BC                   .dbline 127
 00BC           L82:
 00BC                   .dbline 127
 00BC           L83:
 00BC                   .dbline 127
 00BC 2DB4              in R2,0x2d
 00BE 27FE              sbrs R2,7
 00C0 FDCF              rjmp L82
 00C2                   .dbline 127
 00C2           L80:
 00C2                   .dbline 127
 00C2                   .dbline 127
 00C2           L77:
 00C2                   .dbline 127
 00C2           ;     SPI_TX(addr | READ_BURST);
 00C2                   .dbline 128
 00C2           ;     for (i = 0; i < count; i++) 
 00C2 4427              clr R20
 00C4 0CC0              rjmp L88
 00C6           L85:
 00C6                   .dbline 129
 00C6           ;     {
 00C6           L89:
 00C6                   .dbline 130
 00C6                   .dbline 130
 00C6 2224              clr R2
 00C8 2EBC              out 0x2e,R2
 00CA                   .dbline 130
 00CA           L95:
 00CA                   .dbline 130
 00CA           L96:
 00CA                   .dbline 130
 00CA 2DB4              in R2,0x2d
 00CC 27FE              sbrs R2,7
 00CE FDCF              rjmp L95
 00D0                   .dbline 130
 00D0           L93:
 00D0                   .dbline 130
 00D0                   .dbline 130
 00D0 E42F              mov R30,R20
 00D2 FF27              clr R31
 00D4 E20F              add R30,R18
 00D6 F31F              adc R31,R19
 00D8 2EB4              in R2,0x2e
 00DA 2082              std z+0,R2
 00DC                   .dbline 130
 00DC           L90:
 00DC                   .dbline 130
 00DC                   .dbline 131
 00DC           L86:
 00DC                   .dbline 128
 00DC 4395              inc R20
 00DE           L88:
 00DE                   .dbline 128
 00DE 4617              cp R20,R22
 00E0 90F3              brlo L85
 00E2                   .dbline 132
 00E2           ;       SPI_RX(buffer[i]);
 00E2           ;     }
 00E2           ;     NOP(); 
 00E2 0000              nop
 00E4                   .dbline 133
 00E4           ;     SPI_OFF(); 
 00E4 2A9A              sbi 0x5,2
 00E6                   .dbline -2
 00E6           L72:
 00E6 00D0              rcall pop_gset2
 00E8                   .dbline 0 ; func end
 00E8 0895              ret
 00EA                   .dbsym r i 20 c
 00EA                   .dbsym r count 22 c
 00EA                   .dbsym r buffer 18 pc
 00EA                   .dbsym r addr 16 c
 00EA                   .dbend
 00EA                   .dbfunc e spiStrobe _spiStrobe fV
 00EA           ;         strobe -> R16
                        .even
 00EA           _spiStrobe::
 00EA                   .dbline -1
 00EA                   .dbline 138
 00EA           ;     //buffer[i] = 0;          // add a terminal char
 00EA           ; }
 00EA           ; 
 00EA           ; void spiStrobe(BYTE strobe)
 00EA           ; {
 00EA                   .dbline 140
 00EA           ;       
 00EA           ;       SPI_ON(); 
 00EA 2A98              cbi 0x5,2
 00EC                   .dbline 141
 00EC           ;       NOP();
 00EC 0000              nop
 00EE           L99:
 00EE                   .dbline 142
 00EE           L100:
 00EE                   .dbline 142
 00EE           ;       while(PORT_SPI&1<<MISO);
 00EE 2C99              sbic 0x5,4
 00F0 FECF              rjmp L99
 00F2                   .dbline 143
 00F2           ;       NOP();
 00F2 0000              nop
 00F4           L102:
 00F4                   .dbline 144
 00F4                   .dbline 144
 00F4 0EBD              out 0x2e,R16
 00F6                   .dbline 144
 00F6           L108:
 00F6                   .dbline 144
 00F6           L109:
 00F6                   .dbline 144
 00F6 2DB4              in R2,0x2d
 00F8 27FE              sbrs R2,7
 00FA FDCF              rjmp L108
 00FC                   .dbline 144
 00FC           L106:
 00FC                   .dbline 144
 00FC                   .dbline 144
 00FC           L103:
 00FC                   .dbline 144
 00FC           ;     SPI_TX(strobe); 
 00FC                   .dbline 145
 00FC           ;       NOP();
 00FC 0000              nop
 00FE                   .dbline 146
 00FE           ;     SPI_OFF(); 
 00FE 2A9A              sbi 0x5,2
 0100                   .dbline -2
 0100           L98:
 0100                   .dbline 0 ; func end
 0100 0895              ret
 0102                   .dbsym r strobe 16 c
 0102                   .dbend
 0102                   .dbfunc e spiWriteReg _spiWriteReg fV
 0102           ;          value -> R18
 0102           ;           addr -> R16
                        .even
 0102           _spiWriteReg::
 0102                   .dbline -1
 0102                   .dbline 150
 0102           ; }
 0102           ; 
 0102           ; void spiWriteReg(BYTE addr, BYTE value) 
 0102           ; {
 0102                   .dbline 151
 0102           ;       SPI_ON(); 
 0102 2A98              cbi 0x5,2
 0104                   .dbline 152
 0104           ;       NOP();
 0104 0000              nop
 0106           L112:
 0106                   .dbline 153
 0106           L113:
 0106                   .dbline 153
 0106           ;       while(PORT_SPI&1<<MISO);
 0106 2C99              sbic 0x5,4
 0108 FECF              rjmp L112
 010A                   .dbline 154

⌨️ 快捷键说明

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