📄 main.s
字号:
.module main.c
.area vector(rom, abs)
.org 40
jmp _dd_spi_i2c_isr
.org 72
jmp _dd_adf7021_sync_isr
.org 44
jmp _UART_RECV_DEAL
.org 52
jmp _UART_SEND_DEAL
.area code(ram, con, rel)
.area lit(rom, con, rel)
_crc_lut_low::
.byte 0,193
.byte 129,64
.byte 1,192
.byte 128,'A
.byte 1,192
.byte 128,'A
.byte 0,193
.byte 129,64
.byte 1,192
.byte 128,'A
.byte 0,193
.byte 129,64
.byte 0,193
.byte 129,64
.byte 1,192
.byte 128,'A
.byte 1,192
.byte 128,'A
.byte 0,193
.byte 129,64
.byte 0,193
.byte 129,64
.byte 1,192
.byte 128,'A
.byte 0,193
.byte 129,64
.byte 1,192
.byte 128,'A
.byte 1,192
.byte 128,'A
.byte 0,193
.byte 129,64
.byte 1,192
.byte 128,'A
.byte 0,193
.byte 129,64
.byte 0,193
.byte 129,64
.byte 1,192
.byte 128,'A
.byte 0,193
.byte 129,64
.byte 1,192
.byte 128,'A
.byte 1,192
.byte 128,'A
.byte 0,193
.byte 129,64
.byte 0,193
.byte 129,64
.byte 1,192
.byte 128,'A
.byte 1,192
.byte 128,'A
.byte 0,193
.byte 129,64
.byte 1,192
.byte 128,'A
.byte 0,193
.byte 129,64
.byte 0,193
.byte 129,64
.byte 1,192
.byte 128,'A
.byte 1,192
.byte 128,'A
.byte 0,193
.byte 129,64
.byte 0,193
.byte 129,64
.byte 1,192
.byte 128,'A
.byte 0,193
.byte 129,64
.byte 1,192
.byte 128,'A
.byte 1,192
.byte 128,'A
.byte 0,193
.byte 129,64
.byte 0,193
.byte 129,64
.byte 1,192
.byte 128,'A
.byte 1,192
.byte 128,'A
.byte 0,193
.byte 129,64
.byte 1,192
.byte 128,'A
.byte 0,193
.byte 129,64
.byte 0,193
.byte 129,64
.byte 1,192
.byte 128,'A
.byte 0,193
.byte 129,64
.byte 1,192
.byte 128,'A
.byte 1,192
.byte 128,'A
.byte 0,193
.byte 129,64
.byte 1,192
.byte 128,'A
.byte 0,193
.byte 129,64
.byte 0,193
.byte 129,64
.byte 1,192
.byte 128,'A
.byte 1,192
.byte 128,'A
.byte 0,193
.byte 129,64
.byte 0,193
.byte 129,64
.byte 1,192
.byte 128,'A
.byte 0,193
.byte 129,64
.byte 1,192
.byte 128,'A
.byte 1,192
.byte 128,'A
.byte 0,193
.byte 129,64
.dbfile D:\icc\examples.avr\230M/crc16.h
.dbsym e crc_lut_low _crc_lut_low A[256:256]kc
_crc_lut_high::
.byte 0,192
.byte 193,1
.byte 195,3
.byte 2,194
.byte 198,6
.byte 7,199
.byte 5,197
.byte 196,4
.byte 204,12
.byte 13,205
.byte 15,207
.byte 206,14
.byte 10,202
.byte 203,11
.byte 201,9
.byte 8,200
.byte 216,24
.byte 25,217
.byte 27,219
.byte 218,26
.byte 30,222
.byte 223,31
.byte 221,29
.byte 28,220
.byte 20,212
.byte 213,21
.byte 215,23
.byte 22,214
.byte 210,18
.byte 19,211
.byte 17,209
.byte 208,16
.byte 240,48
.byte 49,241
.byte 51,243
.byte 242,50
.byte 54,246
.byte 247,55
.byte 245,53
.byte 52,244
.byte 60,252
.byte 253,61
.byte 255,63
.byte 62,254
.byte 250,58
.byte 59,251
.byte 57,249
.byte 248,56
.byte 40,232
.byte 233,41
.byte 235,43
.byte 42,234
.byte 238,46
.byte 47,239
.byte 45,237
.byte 236,44
.byte 228,36
.byte 37,229
.byte 39,231
.byte 230,38
.byte 34,226
.byte 227,35
.byte 225,33
.byte 32,224
.byte 160,96
.byte 'a,161
.byte 'c,163
.byte 162,'b
.byte 'f,166
.byte 167,'g
.byte 165,'e
.byte 'd,164
.byte 'l,172
.byte 173,'m
.byte 175,'o
.byte 'n,174
.byte 170,'j
.byte 'k,171
.byte 'i,169
.byte 168,'h
.byte 'x,184
.byte 185,'y
.byte 187,123
.byte 'z,186
.byte 190,126
.byte 127,191
.byte 125,189
.byte 188,124
.byte 180,'t
.byte 'u,181
.byte 'w,183
.byte 182,'v
.byte 'r,178
.byte 179,'s
.byte 177,'q
.byte 'p,176
.byte 'P,144
.byte 145,'Q
.byte 147,'S
.byte 'R,146
.byte 150,'V
.byte 'W,151
.byte 'U,149
.byte 148,'T
.byte 156,92
.byte 93,157
.byte 95,159
.byte 158,94
.byte 'Z,154
.byte 155,91
.byte 153,'Y
.byte 'X,152
.byte 136,'H
.byte 'I,137
.byte 'K,139
.byte 138,'J
.byte 'N,142
.byte 143,'O
.byte 141,'M
.byte 'L,140
.byte 'D,132
.byte 133,'E
.byte 135,'G
.byte 'F,134
.byte 130,'B
.byte 'C,131
.byte 'A,129
.byte 128,64
.dbsym e crc_lut_high _crc_lut_high A[256:256]kc
.area code(ram, con, rel)
.dbfile D:\icc\examples.avr\230M/crc16.h
_uart_rx_rf_tx_count::
.blkb 1
.dbfile D:\icc\examples.avr\230M\main.c
.dbsym e uart_rx_rf_tx_count _uart_rx_rf_tx_count c
_temp_count::
.blkb 4
.dbsym e temp_count _temp_count A[4:4]c
_temp_count1::
.blkb 8
.dbsym e temp_count1 _temp_count1 A[8:4]i
_led_state::
.blkb 2
.dbsym e led_state _led_state A[2:2]c
.area text(rom, con, rel)
.dbfile D:\icc\examples.avr\230M\main.c
.dbfunc e main _main fV
.even
_main::
.dbline -1
.dbline 19
;
; #include "dd.h"
; #include "crc16.h"
;
;
;
; //extern void dd_initialise(void);
; //extern void dd_idle(void);
; //extern void receive_constant_frame(void);
; void transmit_constant_frame(void);
; void crc16_reset(void);
; unsigned char uart_rx_rf_tx_count;
; unsigned char temp_count[4];
; unsigned int temp_count1[4];
; unsigned char led_state[2];
; #define tx_never 1
; #define tx_en 1
; void main()
; {
.dbline 20
; dd_initialise();
xcall _dd_initialise
.dbline 21
; CLI();
cli
.dbline 22
; dd_read_ADF70XX_version();
xcall _dd_read_ADF70XX_version
.dbline 25
; //dd_read_filter_cal();
; // dd_read_RSSI();
; dd_set_ADF7021_Power_off();
xcall _dd_set_ADF7021_Power_off
.dbline 27
;
; dd_set_ADF7021_Power_on();
xcall _dd_set_ADF7021_Power_on
.dbline 31
; //test_mode();
; //if (has_set_rx_mode_before == 1 & phy_state == PHY_IN_TX_MODE) dd_set_TX_to_RX_mode();
; //else dd_set_RX_mode();
; dd_set_RX_mode();
xcall _dd_set_RX_mode
.dbline 33
; //dd_read_filter_cal();
; GICR|=0x20; // Enable INT0 interrupt (Connecting ADF7021 INT/LOCK Pin)
in R24,0x3b
ori R24,32
out 0x3b,R24
.dbline 34
; led_state[0]=0;
clr R2
sts _led_state,R2
.dbline 35
; led_state[1]=0;
sts _led_state+1,R2
.dbline 36
; SEI();
sei
.dbline 38
; #if tx_en
; rf_tx_state[0] = 1;
ldi R24,1
sts _rf_tx_state,R24
.dbline 39
; uart_rx_rf_tx_count=9;
ldi R24,9
sts _uart_rx_rf_tx_count,R24
.dbline 41
; #endif
; DDRB &= ~(1<<SPI_MISO);
cbi 0x17,6
.dbline 42
; PORTB |= 1<<SPI_MISO;
sbi 0x18,6
xjmp L10
L9:
.dbline 44
; while(1)
; {
.dbline 46
;
; if(rf_tx_state[1]==1){
lds R24,_rf_tx_state+1
cpi R24,1
brne L12
.dbline 46
.dbline 48
;
; if(rf_tx_state[2]==1){
lds R24,_rf_tx_state+2
cpi R24,1
brne L15
.dbline 48
.dbline 50
;
; CLI();
cli
.dbline 51
; dd_set_ADF7021_Power_off();
xcall _dd_set_ADF7021_Power_off
.dbline 52
; temp_count1[0]=0x8ff;
ldi R24,2303
ldi R25,8
sts _temp_count1+1,R25
sts _temp_count1,R24
L18:
.dbline 54
.dbline 56
L19:
.dbline 53
; while(temp_count1[0]-->0)
lds R2,_temp_count1
lds R3,_temp_count1+1
movw R24,R2
sbiw R24,1
sts _temp_count1+1,R25
sts _temp_count1,R24
tst R2
brne L18
tst R3
brne L18
X0:
.dbline 57
; {
;
; }
; dd_set_ADF7021_Power_on();
xcall _dd_set_ADF7021_Power_on
.dbline 60
; //if (has_set_rx_mode_before == 1 & phy_state == PHY_IN_TX_MODE) dd_set_TX_to_RX_mode();
; //else dd_set_RX_mode();
; dd_set_RX_mode();
xcall _dd_set_RX_mode
.dbline 61
; GICR|=0x20; // Enable INT0 interrupt (Connecting ADF7021 INT/LOCK Pin)
in R24,0x3b
ori R24,32
out 0x3b,R24
.dbline 62
; SEI();
sei
.dbline 63
; rf_tx_state[1]=0;
clr R2
sts _rf_tx_state+1,R2
.dbline 64
; rf_tx_state[2]=0;
sts _rf_tx_state+2,R2
.dbline 65
; }
L15:
.dbline 66
; }
L12:
.dbline 68
;
; if (rf_tx_state[0] == 1){
lds R24,_rf_tx_state
cpi R24,1
brne L23
.dbline 68
.dbline 70
;
; dd_idle();
xcall _dd_idle
.dbline 71
; transmit_constant_frame();
xcall _transmit_constant_frame
.dbline 75
;
; #if tx_never
;
; rf_tx_state[1]=0;
clr R2
sts _rf_tx_state+1,R2
.dbline 76
; rf_tx_state[0] = 1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -