📄 main.lis
字号:
.module main.c
.area lit(rom, con, rel)
0000 _ConfigurationTX::
0000 5820 .byte 'X,32
0002 0042 .byte 0,'B
0004 149C .byte 20,156
0006 0280 .byte 2,128
0008 8112 .byte 129,18
000A 0F48 .byte 15,'H
000C 1026 .byte 16,38
000E 8C7D .byte 140,125
0010 2B70 .byte 43,'p
0012 0100 .byte 1,0
0014 1008 .byte 16,8
0016 2504 .byte 37,4
0018 0000 .byte 0,0
001A 00 .byte 0
001B .dbfile D:\FZCCC\main.c
001B .dbsym e ConfigurationTX _ConfigurationTX A[27:27]kc
001B _ConfigurationRX::
001B 5820 .byte 'X,32
001D 0042 .byte 0,'B
001F 149C .byte 20,156
0021 0280 .byte 2,128
0023 4412 .byte 'D,18
0025 0F60 .byte 15,96
0027 1026 .byte 16,38
0029 8E7D .byte 142,125
002B 2B70 .byte 43,'p
002D 0100 .byte 1,0
002F 1008 .byte 16,8
0031 2504 .byte 37,4
0033 0000 .byte 0,0
0035 00 .byte 0
0036 .dbsym e ConfigurationRX _ConfigurationRX A[27:27]kc
.area text(rom, con, rel)
0000 .dbfile D:\FZCCC\main.c
0000 .dbfunc e delay _delay fV
0000 ; i -> R20,R21
0000 ; j -> R22,R23
0000 ; t -> R16,R17
.even
0000 _delay::
0000 0E940000 xcall push_gset2
0004 .dbline -1
0004 .dbline 115
0004 ; #include "CC1000.h"
0004 ; #include "iom128v.h"
0004 ;
0004 ; #define flag 0
0004 ; #define MAX 3
0004 ; //flag 1 is TX,0 is RX ;MAX is long of receive data buf
0004 ; //=======================================================
0004 ; // CC1000的参数
0004 ; //=======================================================
0004 ; /*const unsigned char Configuration[] =
0004 ; {
0004 ; 0x58, // 0x01, FREQ_2A
0004 ; 0x20, // 0x02, FREQ_1A
0004 ; 0x00, // 0x03, FREQ_0A
0004 ; 0x58, //0x42, // 0x04, FREQ_2B
0004 ; 0x06, //0x15, // 0x05, FREQ_1B
0004 ; 0x25, //0x78, // 0x06, FREQ_0B
0004 ;
0004 ; 0x00, // 0x07, FSEP1
0004 ; 0xc8, // 0x08, FSEP0
0004 ; 0x63, //0x81, // 0x09, CURRENT
0004 ;
0004 ; 0x12, // 0x0A, FRONT_END
0004 ; 0xFF, // 0x0B, PA_POW
0004 ; 0x18, //0x48, // 0x0C, PLL
0004 ; 0x10, // 0x0D, LOCK
0004 ; 0x26, // 0x0E, CAL
0004 ; 0x8e, // 0x0F, MODEM2
0004 ; 0x6c, // 0x10, MODEM1
0004 ; 0x2B, //0x27, // 0x11, MODEM0
0004 ; 0x70, // 0x12, MATCH
0004 ; 0x01, // 0x13, FSCTRL
0004 ;
0004 ; 0x00, // 0x1C, PRESCALER
0004 ;
0004 ; 0x10, // 40h test6
0004 ; 0x08, // 41h test5
0004 ; 0x25, // 42h, TEST4
0004 ; 0x04, // 43h,test3
0004 ; 0x00, // 44h,test2
0004 ; 0x00, // 45h,test1
0004 ; 0x00, // 46h,test0
0004 ; };
0004 ; */
0004 ;
0004 ; const unsigned char ConfigurationTX[] =
0004 ; {
0004 ; 0x58, // 0x01, FREQ_2A
0004 ; 0x20, // 0x02, FREQ_1A
0004 ; 0x00, // 0x03, FREQ_0A
0004 ; 0x42, // 0x04, FREQ_2B
0004 ; 0x14, //0x15, // 0x05, FREQ_1B
0004 ; 0x9C, //0x78, // 0x06, FREQ_0B
0004 ;
0004 ; 0X02,//0x00, // 0x07, FSEP1
0004 ; 0X80,//0xc8, // 0x08, FSEP0
0004 ; 0x81, // 0x09, CURRENT
0004 ;
0004 ; 0X12,//0x10, // 0x0A, FRONT_END
0004 ; 0X0F,//0xFF, // 0x0B, PA_POW
0004 ; 0x48, // 0x0C, PLL
0004 ; 0x10, // 0x0D, LOCK
0004 ; 0x26, // 0x0E, CAL
0004 ; 0x8C, // 0x0F, MODEM2
0004 ; 0x7D, // 0x10, MODEM1 //Manchester
0004 ; 0x2B, // 0x11, MODEM0 //Manchester is 0x27 UART is 0x2B NRZ is 0x23
0004 ; 0x70, // 0x12, MATCH
0004 ; 0x01, // 0x13, FSCTRL
0004 ;
0004 ; 0x00, // 0x1C, PRESCALER
0004 ;
0004 ; 0x10, // 40h test6
0004 ; 0x08, // 41h test5
0004 ; 0x25, // 42h, TEST4
0004 ; 0x04, // 43h,test3
0004 ; 0x00, // 44h,test2
0004 ; 0x00, // 45h,test1
0004 ; 0x00, // 46h,test0
0004 ; };
0004 ; const unsigned char ConfigurationRX[] =
0004 ; {
0004 ; 0x58, // 0x01, FREQ_2A
0004 ; 0x20, // 0x02, FREQ_1A
0004 ; 0x00, // 0x03, FREQ_0A
0004 ; 0x42, // 0x04, FREQ_2B
0004 ; 0x14, //0x15, // 0x05, FREQ_1B
0004 ; 0x9C, //0x78, // 0x06, FREQ_0B
0004 ;
0004 ; 0X02,//0x00, // 0x07, FSEP1
0004 ; 0X80,//0xc8, // 0x08, FSEP0
0004 ; 0x44, // 0x09, CURRENT
0004 ;
0004 ; 0X12,//0x10, // 0x0A, FRONT_END
0004 ; 0X0F,//0xFF, // 0x0B, PA_POW
0004 ; 0x60, // 0x0C, PLL
0004 ; 0x10, // 0x0D, LOCK
0004 ; 0x26, // 0x0E, CAL
0004 ; 0x8E, // 0x0F, MODEM2
0004 ; 0x7D, // 0x10, MODEM1 //Manchester
0004 ; 0x2B, // 0x11, MODEM0 //Manchester is 0x27 UART is 0x2B NRZ is 0x23
0004 ; 0x70, // 0x12, MATCH
0004 ; 0x01, // 0x13, FSCTRL
0004 ;
0004 ; 0x00, // 0x1C, PRESCALER
0004 ;
0004 ; 0x10, // 40h test6
0004 ; 0x08, // 41h test5
0004 ; 0x25, // 42h, TEST4
0004 ; 0x04, // 43h,test3
0004 ; 0x00, // 44h,test2
0004 ; 0x00, // 45h,test1
0004 ; 0x00, // 46h,test0
0004 ; };
0004 ; void delay(int t)
0004 ; {
0004 .dbline 117
0004 ; int i,j;
0004 ; for(i = 0;i < t;i++)
0004 4427 clr R20
0006 5527 clr R21
0008 0AC0 xjmp L5
000A L2:
000A .dbline 118
000A 6627 clr R22
000C 7727 clr R23
000E 02C0 xjmp L9
0010 L6:
0010 .dbline 118
0010 L7:
0010 .dbline 118
0010 6F5F subi R22,255 ; offset = 1
0012 7F4F sbci R23,255
0014 L9:
0014 .dbline 118
0014 6017 cp R22,R16
0016 7107 cpc R23,R17
0018 DCF3 brlt L6
001A L3:
001A .dbline 117
001A 4F5F subi R20,255 ; offset = 1
001C 5F4F sbci R21,255
001E L5:
001E .dbline 117
001E 4017 cp R20,R16
0020 5107 cpc R21,R17
0022 9CF3 brlt L2
0024 .dbline -2
0024 L1:
0024 0E940000 xcall pop_gset2
0028 .dbline 0 ; func end
0028 0895 ret
002A .dbsym r i 20 I
002A .dbsym r j 22 I
002A .dbsym r t 16 I
002A .dbend
002A .dbfunc e C1000_TX_MODE _C1000_TX_MODE fV
002A ; MainValue -> R20
.even
002A _C1000_TX_MODE::
002A 0E940000 xcall push_gset1
002E .dbline -1
002E .dbline 123
002E ; for(j = 0;j < t;j++);
002E ; }
002E ;
002E ;
002E ; void C1000_TX_MODE(void)
002E ; {
002E .dbline 131
002E ; /*WriteToCC1000Register(CC1000_MAIN,0xe1); // set to TX mode
002E ; //WriteToCC1000Register(CC1000_PA_POW,0xFF); // no output power needed
002E ; WriteToCC1000Register(CC1000_CURRENT,0x60); // set TX current level
002E ; WriteToCC1000Register(CC1000_PLL,0x18);
002E ; WriteToCC1000Register(CC1000_PA_POW,0xFF);
002E ; */
002E ; char MainValue;
002E ; MainValue=ReadFromCC1000Register(CC1000_MAIN);
002E 0027 clr R16
0030 0E940000 xcall _ReadFromCC1000Register
0034 402F mov R20,R16
0036 .dbline 132
0036 ; WriteToCC1000Register(CC1000_MAIN,(MainValue & 0xE1) | 0xC0); //RXTX=1,F_REG=1,TX_PD=0,FS_PD=0
0036 242F mov R18,R20
0038 217E andi R18,225
003A 206C ori R18,192
003C 0027 clr R16
003E 0E940000 xcall _WriteToCC1000Register
0042 .dbline 133
0042 ; WriteToCC1000Register(CC1000_PA_POW,0x00);
0042 2227 clr R18
0044 0BE0 ldi R16,11
0046 0E940000 xcall _WriteToCC1000Register
004A .dbline 134
004A ; WriteToCC1000Register(CC1000_CURRENT, 0x81);//68
004A 21E8 ldi R18,129
004C 09E0 ldi R16,9
004E 0E940000 xcall _WriteToCC1000Register
0052 .dbline 135
0052 ; WriteToCC1000Register(CC1000_PLL, 0x48);
0052 28E4 ldi R18,72
0054 0CE0 ldi R16,12
0056 0E940000 xcall _WriteToCC1000Register
005A .dbline 137
005A ;
005A ; delay(12);
005A 0CE0 ldi R16,12
005C 10E0 ldi R17,0
005E D0DF xcall _delay
0060 .dbline 138
0060 ; WriteToCC1000Register(CC1000_PA_POW,0x08);
0060 28E0 ldi R18,8
0062 0BE0 ldi R16,11
0064 0E940000 xcall _WriteToCC1000Register
0068 .dbline 139
0068 ; delay(2);
0068 02E0 ldi R16,2
006A 10E0 ldi R17,0
006C C9DF xcall _delay
006E .dbline -2
006E L10:
006E 0E940000 xcall pop_gset1
0072 .dbline 0 ; func end
0072 0895 ret
0074 .dbsym r MainValue 20 c
0074 .dbend
0074 .dbfunc e C1000_RX_MODE _C1000_RX_MODE fV
0074 ; MainValue -> R20
.even
0074 _C1000_RX_MODE::
0074 0E940000 xcall push_gset1
0078 .dbline -1
0078 .dbline 145
0078 ;
0078 ; }
0078 ;
0078 ;
0078 ; void C1000_RX_MODE(void)
0078 ; {
0078 .dbline 153
0078 ; /*WriteToCC1000Register(CC1000_MAIN,0x17); // set to RX mode//原先是x11
0078 ; //WriteToCC1000Register(CC1000_PA_POW,0xFF); // no output power needed
0078 ; WriteToCC1000Register(CC1000_CURRENT,0x70); // set TX current level
0078 ; WriteToCC1000Register(CC1000_PLL,0x18);
0078 ; delay(12);
0078 ; */
0078 ; char MainValue;
0078 ; MainValue=ReadFromCC1000Register(CC1000_MAIN);
0078 0027 clr R16
007A 0E940000 xcall _ReadFromCC1000Register
007E 402F mov R20,R16
0080 .dbline 154
0080 ; WriteToCC1000Register(CC1000_MAIN,(MainValue & 0x11) ); //RXTX=0,F_REG=0,RX_PD=0,FS_PD=0
0080 242F mov R18,R20
0082 2171 andi R18,17
0084 0027 clr R16
0086 0E940000 xcall _WriteToCC1000Register
008A .dbline 155
008A ; WriteToCC1000Register(CC1000_PA_POW,0x00);
008A 2227 clr R18
008C 0BE0 ldi R16,11
008E 0E940000 xcall _WriteToCC1000Register
0092 .dbline 156
0092 ; WriteToCC1000Register(CC1000_CURRENT, 0x44);//0x44
0092 24E4 ldi R18,68
0094 09E0 ldi R16,9
0096 0E940000 xcall _WriteToCC1000Register
009A .dbline 157
009A ; WriteToCC1000Register(CC1000_PLL, 0x60);
009A 20E6 ldi R18,96
009C 0CE0 ldi R16,12
009E 0E940000 xcall _WriteToCC1000Register
00A2 .dbline 159
00A2 ;
00A2 ; delay(12);
00A2 0CE0 ldi R16,12
00A4 10E0 ldi R17,0
00A6 ACDF xcall _delay
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -