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

📄 main.s

📁 该程序通过调试
💻 S
字号:
	.module main.c
	.area data(ram, con, rel)
_serial_num::
	.blkb 2
	.area idata
	.word 0
	.area data(ram, con, rel)
	.dbfile E:\无线传感器网络资料\cc2420驱动\测试1\RX\main.c
	.dbsym e serial_num _serial_num i
_PAN_id::
	.blkb 2
	.area idata
	.byte 35,'E
	.area data(ram, con, rel)
	.dbfile E:\无线传感器网络资料\cc2420驱动\测试1\RX\main.c
	.dbsym e PAN_id _PAN_id A[2:2]c
_short_addr::
	.blkb 2
	.area idata
	.byte 21,'s
	.area data(ram, con, rel)
	.dbfile E:\无线传感器网络资料\cc2420驱动\测试1\RX\main.c
	.dbsym e short_addr _short_addr A[2:2]c
	.area text(rom, con, rel)
	.dbfile E:\无线传感器网络资料\cc2420驱动\测试1\RX\main.c
	.dbfunc e main _main fV
;             dL -> y+5
;             dH -> y+4
;              i -> R20
	.even
_main::
	sbiw R28,6
	.dbline -1
	.dbline 23
; /***************************************
; *2008,浙江工业大学信息与控制研究所
; *All rights reserved
; *
; *文件名称:main.c
; *摘    要:无线接收发送测试程序(接收端)
; *
; *当前版本:1.0
; *作    者:董齐芬
; *完成日期:2008.8.20
; ****************************************/
; 
; #include "cc2420.h"
; #include "spi.h"
; 
; unsigned char Data_RXFIFO[TX_length];    //从RXFIFO中读入的数据,包括帧长度,MAC头,MAC有效负载等部分
; unsigned int serial_num=0;         //数据序号
; unsigned char numbers[2048];        //存放接收到的数据序列号
; unsigned char PAN_id[2]={0x23,0x45};  //
; unsigned char short_addr[2]={0x15,0x73};
; 
; void main(void)
; {
	.dbline 27
;   unsigned char i;
;   unsigned char dH[1],dL[1];
;  
;   init_spi();
	xcall _init_spi
	.dbline 29
;   
;   PORTB |=(1<<CSn);                //CSN引脚置位,停止SPI操作,
	sbi 0x18,0
	.dbline 30
;   PORTB |=1<<SCK;                    // Spi clock line init high
	sbi 0x18,1
	.dbline 31
;   PORTE |=1<<RST;                     //注意该引脚低电平时,cc2420处于复位状态
	sbi 0x3,2
	.dbline 33
;   
;   Set_Configure();     //初始化设置配置字
	xcall _Set_Configure
	.dbline 34
;   PwDown_Idle();       //从掉电模式转换到空闲模式 
	xcall _PwDown_Idle
	.dbline 36
;   
;   Write_RAM(0x6a,0x02,2,short_addr);
	ldi R24,<_short_addr
	ldi R25,>_short_addr
	std y+3,R25
	std y+2,R24
	ldi R24,2
	std y+0,R24
	ldi R18,2
	ldi R16,106
	xcall _Write_RAM
	.dbline 37
;   Write_RAM(0x68,0x02,2,PAN_id);    //向RAM中写入地址,用于地址识别
	ldi R24,<_PAN_id
	ldi R25,>_PAN_id
	std y+3,R25
	std y+2,R24
	ldi R24,2
	std y+0,R24
	ldi R18,2
	ldi R16,104
	xcall _Write_RAM
	.dbline 39
;   
;   Idle_Rx();           //进入接收模式
	xcall _Idle_Rx
	.dbline 41
;   
;   i=0;
	clr R20
	xjmp L3
L2:
	.dbline 43
;   while(1)
;   {
	.dbline 44
;     if((PINE&(1<<FIFOP))!=0)     //检测到数据
	sbis 0x1,6
	rjmp L5
	.dbline 45
; 	{
	.dbline 46
; 	  Read_RXFIFO(TX_length,Data_RXFIFO);        //因为设置了自动CRC校验,RXFIFO中包含两字节的RSSI,CRC结果等
	ldi R18,<_Data_RXFIFO
	ldi R19,>_Data_RXFIFO
	ldi R16,112
	xcall _Read_RXFIFO
	.dbline 47
; 	  Write_Command(SFLUSHRX);                   //清除RXFIFO,否则会一直请求微处理器读数据
	ldi R16,8
	xcall _Write_Command
	.dbline 48
; 	  numbers[serial_num]=Data_RXFIFO[3];
	ldi R24,<_numbers
	ldi R25,>_numbers
	lds R30,_serial_num
	lds R31,_serial_num+1
	add R30,R24
	adc R31,R25
	lds R2,_Data_RXFIFO+3
	std z+0,R2
	.dbline 49
; 	  serial_num++;
	lds R24,_serial_num
	lds R25,_serial_num+1
	adiw R24,1
	sts _serial_num+1,R25
	sts _serial_num,R24
	.dbline 50
; 	  if(serial_num==2047)
	cpi R24,255
	ldi R30,7
	cpc R25,R30
	brne L8
	.dbline 51
; 	  {
	.dbline 52
; 	    serial_num=0;
	clr R2
	clr R3
	sts _serial_num+1,R3
	sts _serial_num,R2
	.dbline 53
; 	  }
L8:
	.dbline 54
; 	}
L5:
	.dbline 55
L3:
	.dbline 42
	xjmp L2
X0:
	.dbline -2
L1:
	adiw R28,6
	.dbline 0 ; func end
	ret
	.dbsym l dL 5 A[1:1]c
	.dbsym l dH 4 A[1:1]c
	.dbsym r i 20 c
	.dbend
	.area bss(ram, con, rel)
	.dbfile E:\无线传感器网络资料\cc2420驱动\测试1\RX\main.c
_numbers::
	.blkb 2048
	.dbsym e numbers _numbers A[2048:2048]c
_Data_RXFIFO::
	.blkb 112
	.dbsym e Data_RXFIFO _Data_RXFIFO A[112:112]c

⌨️ 快捷键说明

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