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

📄 main.s

📁 nrf905无线收发模块利用模拟spi通信的程序 经此程序可转成串口通信
💻 S
📖 第 1 页 / 共 3 页
字号:
;        DispDat -> y+0
;              n -> R20
;            dat -> R10
;            reg -> R12
;              x -> R22
	.even
_Test_DispBuf::
	xcall push_gset4
	sbiw R28,16
	.dbline -1
	.dbline 80
	.dbline 82
	ldi R24,<L148
	ldi R25,>L148
	movw R30,R28
	ldi R16,16
	ldi R17,0
	st -y,R31
	st -y,R30
	st -y,R25
	st -y,R24
	xcall asgncblk
	.dbline 90
	clr R20
	xjmp L152
L149:
	.dbline 91
	.dbline 92
	clr R22
	xjmp L156
L153:
	.dbline 93
	.dbline 94
	mov R24,R22
	subi R24,240    ; addi 16
	mov R12,R24
	.dbline 95
	movw R24,R28
	mov R30,R20
	clr R31
	add R30,R24
	adc R31,R25
	ldd R10,z+0
	.dbline 96
	mov R18,R10
	mov R16,R12
	xcall _ZLG7290_WriteReg
	.dbline 97
L154:
	.dbline 92
	inc R22
L156:
	.dbline 92
	cpi R22,8
	brlo L153
	.dbline 98
	ldi R16,50
	ldi R17,0
	xcall _delay1
	.dbline 99
L150:
	.dbline 90
	inc R20
L152:
	.dbline 90
	cpi R20,16
	brlo L149
	.dbline -2
	.dbline 100
L147:
	adiw R28,16
	xcall pop_gset4
	.dbline 0 ; func end
	ret
	.dbsym l DispDat 0 A[16:16]c
	.dbsym r n 20 c
	.dbsym r dat 10 c
	.dbsym r reg 12 c
	.dbsym r x 22 c
	.dbend
	.dbfunc e Test_Download _Test_Download fV
;              f -> R20
;             dp -> R22
;            dat -> R10
;              x -> R12
	.even
_Test_Download::
	xcall push_gset4
	sbiw R28,3
	.dbline -1
	.dbline 107
	.dbline 113
	ldi R22,1
	.dbline 114
	clr R20
	.dbline 115
	ldi R24,8
	mov R10,R24
	.dbline 116
	clr R12
	xjmp L161
L158:
	.dbline 117
	.dbline 118
	std y+2,R10
	std y+0,R20
	mov R18,R22
	mov R16,R12
	xcall _ZLG7290_Download
	.dbline 119
L159:
	.dbline 116
	inc R12
L161:
	.dbline 116
	mov R24,R12
	cpi R24,8
	brlo L158
	.dbline 120
	ldi R16,100
	ldi R17,0
	xcall _delay1
	.dbline 122
	clr R22
	.dbline 123
	clr R20
	.dbline 124
	clr R10
	xjmp L165
L162:
	.dbline 125
	.dbline 126
	clr R12
	xjmp L169
L166:
	.dbline 127
	.dbline 128
	std y+2,R10
	std y+0,R20
	mov R18,R22
	mov R16,R12
	xcall _ZLG7290_Download
	.dbline 129
L167:
	.dbline 126
	inc R12
L169:
	.dbline 126
	mov R24,R12
	cpi R24,8
	brlo L166
	.dbline 130
	ldi R16,50
	ldi R17,0
	xcall _delay1
	.dbline 131
L163:
	.dbline 124
	inc R10
L165:
	.dbline 124
	mov R24,R10
	cpi R24,32
	brlo L162
	.dbline -2
	.dbline 132
L157:
	adiw R28,3
	xcall pop_gset4
	.dbline 0 ; func end
	ret
	.dbsym r f 20 c
	.dbsym r dp 22 c
	.dbsym r dat 10 c
	.dbsym r x 12 c
	.dbend
	.dbfunc e Test_ScanNum _Test_ScanNum fV
;              x -> R20
	.even
_Test_ScanNum::
	xcall push_gset1
	sbiw R28,3
	.dbline -1
	.dbline 140
	.dbline 142
	clr R20
	xjmp L174
L171:
	.dbline 143
	.dbline 144
	ldi R24,8
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,1
	mov R16,R20
	xcall _ZLG7290_Download
	.dbline 145
L172:
	.dbline 142
	inc R20
L174:
	.dbline 142
	cpi R20,8
	brlo L171
	.dbline 146
	ldi R16,100
	ldi R17,0
	xcall _delay1
	.dbline 147
	clr R20
	xjmp L178
L175:
	.dbline 148
	.dbline 149
	mov R18,R20
	ldi R16,13
	xcall _ZLG7290_WriteReg
	.dbline 150
	ldi R16,100
	ldi R17,0
	xcall _delay
	.dbline 151
L176:
	.dbline 147
	inc R20
L178:
	.dbline 147
	cpi R20,8
	brlo L175
	.dbline -2
	.dbline 152
L170:
	adiw R28,3
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r x 20 c
	.dbend
	.dbfunc e Test_Flash _Test_Flash fV
;            dat -> R20
;              x -> R22
	.even
_Test_Flash::
	xcall push_gset2
	sbiw R28,3
	.dbline -1
	.dbline 159
	.dbline 160
	ldi R20,1
	.dbline 163
	clr R22
	xjmp L183
L180:
	.dbline 164
	.dbline 165
	std y+2,R22
	clr R2
	std y+0,R2
	clr R18
	mov R16,R22
	xcall _ZLG7290_Download
	.dbline 166
L181:
	.dbline 163
	inc R22
L183:
	.dbline 163
	cpi R22,8
	brlo L180
	.dbline 168
	ldi R18,17
	ldi R16,12
	xcall _ZLG7290_WriteReg
	.dbline 170
	clr R22
	xjmp L187
L184:
	.dbline 171
	.dbline 172
	mov R18,R20
	ldi R16,112
	xcall _ZLG7290_cmd
	.dbline 173
	lsl R20
	.dbline 174
	ldi R16,300
	ldi R17,1
	xcall _delay1
	.dbline 175
L185:
	.dbline 170
	inc R22
L187:
	.dbline 170
	cpi R22,8
	brlo L184
	.dbline 177
	ldi R18,255
	ldi R16,112
	xcall _ZLG7290_cmd
	.dbline 178
	ldi R16,350
	ldi R17,1
	xcall _delay1
	.dbline 180
	clr R18
	ldi R16,112
	xcall _ZLG7290_cmd
	.dbline 181
	ldi R16,50
	ldi R17,0
	xcall _delay1
	.dbline -2
	.dbline 182
L179:
	adiw R28,3
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r dat 20 c
	.dbsym r x 22 c
	.dbend
	.dbfunc e Test_SegOnOff _Test_SegOnOff fV
;            seg -> R20
	.even
_Test_SegOnOff::
	xcall push_gset1
	.dbline -1
	.dbline 189
	.dbline 191
; 
; 
	xcall _ClearAll
	.dbline 192
; 
	ldi R16,100
	ldi R17,0
	xcall _delay1
	.dbline 193
; 
	clr R20
	xjmp L192
L189:
	.dbline 194
	.dbline 195
	ldi R18,1
	mov R16,R20
	xcall _ZLG7290_SegOnOff
	.dbline 196
	ldi R16,30
	ldi R17,0
	xcall _delay1
	.dbline 197
L190:
	.dbline 193
	inc R20
L192:
	.dbline 193
	cpi R20,64
	brlo L189
	.dbline 198
; 
; 
; 
; 
; 
	ldi R16,100
	ldi R17,0
	xcall _delay1
	.dbline 199
; 
	clr R20
	xjmp L196
L193:
	.dbline 200
	.dbline 201
	clr R18
	mov R16,R20
	xcall _ZLG7290_SegOnOff
	.dbline 202
	ldi R16,30
	ldi R17,0
	xcall _delay1
	.dbline 203
L194:
	.dbline 199
	inc R20
L196:
	.dbline 199
	cpi R20,64
	brlo L193
	.dbline 204
; 
; 
; 
; 
; 
	ldi R16,100
	ldi R17,0
	xcall _delay1
	.dbline -2
	.dbline 205
; 
L188:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r seg 20 c
	.dbend
	.dbfunc e DispValue _DispValue fV
;              d -> R22,R23
;            dat -> R10,R11
;              x -> R20
	.even
_DispValue::
	xcall push_gset3
	movw R10,R18
	mov R20,R16
	sbiw R28,3
	.dbline -1
	.dbline 215
; 
; 
; 
; 
; 
; 
; 
; 
; 
; 
	.dbline 217
; 
; 
	ldi R18,10
	ldi R19,0
	movw R16,R10
	xcall div16u
	movw R22,R16
	.dbline 218
; 
	std y+2,R22
	clr R2
	std y+0,R2
	clr R18
	mov R16,R20
	xcall _ZLG7290_Download
	.dbline 219
; 
	ldi R16,1
	ldi R17,0
	xcall _delay
	.dbline 220
; 
	ldi R16,10
	ldi R17,0
	movw R18,R22
	xcall empy16s
	movw R22,R10
	sub R22,R16
	sbc R23,R17
	.dbline 221
; 
	std y+2,R22
	clr R2
	std y+0,R2
	clr R18
	mov R16,R20
	subi R16,1
	xcall _ZLG7290_Download
	.dbline -2
	.dbline 222
; 
L197:
	adiw R28,3
	xcall pop_gset3
	.dbline 0 ; func end
	ret
	.dbsym r d 22 i
	.dbsym r dat 10 i
	.dbsym r x 20 c
	.dbend
	.dbfunc e DispHexValue _DispHexValue fV
;              d -> R22
;            dat -> R10
;              x -> R20
	.even
_DispHexValue::
	xcall push_gset3
	mov R10,R18
	mov R20,R16
	sbiw R28,3
	.dbline -1
	.dbline 232
; 
; 
; 
; 
; 
; 
; 
; 
; 
; 
	.dbline 234
; 
; 
	ldi R17,16
	mov R16,R10
	xcall div8u
	mov R22,R16
	.dbline 235
; 
	std y+2,R22
	clr R2
	std y+0,R2
	clr R18
	mov R16,R20
	xcall _ZLG7290_Download
	.dbline 236
; 
	ldi R24,16
	mul R24,R22
	mov R22,R10
	sub R22,R0
	.dbline 237
; 
	std y+2,R22
	clr R2
	std y+0,R2
	clr R18
	mov R16,R20
	subi R16,255    ; addi 1
	xcall _ZLG7290_Download
	.dbline -2
	.dbline 238
; 
L198:
	adiw R28,3
	xcall pop_gset3
	.dbline 0 ; func end
	ret
	.dbsym r d 22 c
	.dbsym r dat 10 c
	.dbsym r x 20 c
	.dbend
	.area data(ram, con, rel)
	.dbfile E:\PQ-1A\我的AVR\新建文件夹\无线模拟/zlg7290_avr.c
_TxBuf::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile E:\PQ-1A\我的AVR\新建文件夹\无线模拟/zlg7290_avr.c
	.blkb 27
	.area idata
	.word 0,0,0,0,0
	.word 0,0,0,0,0
	.byte 0,0,0,0,0,0,0
	.area data(ram, con, rel)
	.dbfile E:\PQ-1A\我的AVR\新建文件夹\无线模拟/zlg7290_avr.c
	.dbfile E:\PQ-1A\我的AVR\新建文件夹\无线模拟\main.c
	.dbsym e TxBuf _TxBuf A[28:28]c
_RxBuf::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile E:\PQ-1A\我的AVR\新建文件夹\无线模拟\main.c
	.blkb 27
	.area idata
	.word 0,0,0,0,0
	.word 0,0,0,0,0
	.byte 0,0,0,0,0,0,0
	.area data(ram, con, rel)
	.dbfile E:\PQ-1A\我的AVR\新建文件夹\无线模拟\main.c
	.dbsym e RxBuf _RxBuf A[28:28]c
_tf::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile E:\PQ-1A\我的AVR\新建文件夹\无线模拟\main.c
	.dbsym e tf _tf c
	.area text(rom, con, rel)
	.dbfile E:\PQ-1A\我的AVR\新建文件夹\无线模拟\main.c
	.dbfunc e main _main fV
;       KeyValue -> <dead>
;     led4_count -> R20,R21
;     led3_count -> R20,R21
;     led2_count -> R20,R21
;     led1_count -> R20,R21
;              i -> R20,R21
	.even
_main::
	.dbline -1
	.dbline 19
	.dbline 22
	clr R20
	clr R21
	.dbline 22
	.dbline 22
	.dbline 22
	.dbline 23
	ldi R24,255
	out 0x1a,R24
	.dbline 24
	out 0x1b,R24
	.dbline 25
	in R24,0x14
	andi R24,240
	out 0x14,R24
	.dbline 26
	ldi R24,255
	out 0x15,R24
	.dbline 29
	xcall _nRF905Init
	.dbline 30
	xcall _Config905
	.dbline 31
	ldi R24,1
	sts _TxBuf,R24
	.dbline 32
	sts _TxBuf+1,R24
	.dbline 33
	xcall _SetTxMode
	.dbline 34
	ldi R16,<_TxBuf
	ldi R17,>_TxBuf
	xcall _TxPacket
	.dbline 35
	ldi R16,232
	xcall _Delay
	.dbline 36
	ldi R24,12
	out 0x1b,R24
	.dbline 37
	ldi R24,255
	sts _TxBuf,R24
	.dbline 38
	sts _TxBuf+1,R24
	.dbline 40
	xcall _SetRxMode
	xjmp L203
L202:
	.dbline 42
	.dbline 51
	in R24,0x13
	andi R24,1
	brne L205
	.dbline 52
	.dbline 53
	ldi R24,17
	sts _TxBuf,R24
	.dbline 54
	clr R20
	clr R21
	xjmp L210
L207:
	.dbline 55
	.dbline 56
	xcall _SetTxMode
	.dbline 57
	ldi R16,<_TxBuf
	ldi R17,>_TxBuf
	xcall _TxPacket
	.dbline 58
L208:
	.dbline 54
	subi R20,255  ; offset = 1
	sbci R21,255
L210:
	.dbline 54
	cpi R20,15
	ldi R30,0
	cpc R21,R30
	brlo L207
	.dbline 59
	xcall _SetRxMode
	.dbline 60
L205:
	.dbline 61
	in R24,0x13
	lsr R24
	lsr R24
	andi R24,1
	brne L211
	.dbline 62
	.dbline 63
	ldi R24,170
	sts _TxBuf,R24
	.dbline 64
	clr R20
	clr R21
	xjmp L216
L213:
	.dbline 65
	.dbline 66
	xcall _SetTxMode
	.dbline 67
	ldi R16,<_TxBuf
	ldi R17,>_TxBuf
	xcall _TxPacket
	.dbline 68
L214:
	.dbline 64
	subi R20,255  ; offset = 1
	sbci R21,255
L216:
	.dbline 64
	cpi R20,15
	ldi R30,0
	cpc R21,R30
	brlo L213
	.dbline 69
	xcall _SetRxMode
	.dbline 70
L211:
	.dbline 71
	in R24,0x13
	lsr R24
	andi R24,1
	brne L217
	.dbline 72
	.dbline 72
	ldi R24,102
	sts _TxBuf,R24
	.dbline 74
	clr R20
	clr R21
	xjmp L222
L219:
	.dbline 75
	.dbline 76
	xcall _SetTxMode
	.dbline 77
	ldi R16,<_TxBuf
	ldi R17,>_TxBuf
	xcall _TxPacket
	.dbline 78
L220:
	.dbline 74
	subi R20,255  ; offset = 1
	sbci R21,255
L222:
	.dbline 74
	cpi R20,15
	ldi R30,0
	cpc R21,R30
	brlo L219
	.dbline 79
	xcall _SetRxMode
	.dbline 80
L217:
	.dbline 81
	in R24,0x13
	lsr R24
	lsr R24
	lsr R24
	andi R24,1
	brne L223
	.dbline 82
	.dbline 83
	ldi R24,51
	sts _TxBuf,R24
	.dbline 85
	clr R20
	clr R21
	xjmp L228
L225:
	.dbline 86
	.dbline 87
	xcall _SetTxMode
	.dbline 88
	ldi R16,<_TxBuf
	ldi R17,>_TxBuf
	xcall _TxPacket
	.dbline 89
L226:
	.dbline 85
	subi R20,255  ; offset = 1
	sbci R21,255
L228:
	.dbline 85
	cpi R20,15
	ldi R30,0
	cpc R21,R30
	brlo L225
	.dbline 90
	xcall _SetRxMode
	.dbline 91
L223:
	.dbline 115
	ldi R16,<_RxBuf
	ldi R17,>_RxBuf
	xcall _RxPacket
	cpi R16,1
	brne L229
	.dbline 116
	.dbline 117
	lds R2,_RxBuf
	out 0x1b,R2
	.dbline 118
	ldi R16,128
	xcall _Delay
	.dbline 119
L229:
	.dbline 120
L203:
	.dbline 41
	xjmp L202
X6:
	.dbline -2
	.dbline 121
L199:
	.dbline 0 ; func end
	ret
	.dbsym l KeyValue 1 c
	.dbsym r led4_count 20 i
	.dbsym r led3_count 20 i
	.dbsym r led2_count 20 i
	.dbsym r led1_count 20 i
	.dbsym r i 20 i
	.dbend
	.area bss(ram, con, rel)
	.dbfile E:\PQ-1A\我的AVR\新建文件夹\无线模拟\main.c
_DATA_BUF::
	.blkb 1
	.dbfile E:\PQ-1A\我的AVR\新建文件夹\无线模拟/spi.c
	.dbsym e DATA_BUF _DATA_BUF c

⌨️ 快捷键说明

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