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

📄 main.s

📁 该程序通过调试
💻 S
字号:
	.module main.c
	.area data(ram, con, rel)
_serial_num::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile E:\无线传感器网络资料\cc2420驱动\测试1\code\main.c
	.dbsym e serial_num _serial_num c
	.area text(rom, con, rel)
	.dbfile E:\无线传感器网络资料\cc2420驱动\测试1\code\main.c
	.dbfunc e main _main fV
;              j -> R22,R23
;              i -> R20
	.even
_main::
	.dbline -1
	.dbline 21
; /***************************************
; *2008,浙江工业大学信息与控制研究所
; *All rights reserved
; *
; *文件名称:main.c
; *摘    要:无线接收发送测试程序(发送端)
; *
; *当前版本:1.0
; *作    者:董齐芬
; *完成日期:2008.8.20
; ****************************************/
; 
; #include "cc2420.h"
; #include "spi.h"
; 
; unsigned char Data_TXFIFO[TX_length];    //要写入TXFIFO中的数据,包括帧长度,MAC头,MAC有效负载等部分
; unsigned char serial_num=0;         //数据序号
; 
; 
; void main(void)
; {
	.dbline 25
;   unsigned char i;
;   unsigned int j;
;   
;   initled();
	xcall _initled
	.dbline 26
;   init_spi();
	xcall _init_spi
	.dbline 28
;   
;   LED_YELLOW;
	sbi 0x1b,0
	.dbline 28
	cbi 0x1b,1
	.dbline 28
	.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
;   
;   Data_TXFIFO[0]=TX_length+1;    //第一字节为帧长度,不包括长度域本身的字节,但包含帧校验序列2字节
	ldi R24,113
	sts _Data_TXFIFO,R24
	.dbline 36
;   
;   //帧控制域,无安全,确认要求,数据帧,包含16位的目标地址,源地址,目标PAN标识符,源PAN标识符
;   Data_TXFIFO[1]=0x88;     //高字节
	ldi R24,136
	sts _Data_TXFIFO+1,R24
	.dbline 37
;   Data_TXFIFO[2]=0x01;     //低字节
	ldi R24,1
	sts _Data_TXFIFO+2,R24
	.dbline 40
;   
;   //目的PAN标识符
;   Data_TXFIFO[4]=0x23;
	ldi R24,35
	sts _Data_TXFIFO+4,R24
	.dbline 41
;   Data_TXFIFO[5]=0x45;
	ldi R24,69
	sts _Data_TXFIFO+5,R24
	.dbline 44
;   
;   //目的地址
;   Data_TXFIFO[6]=0x15;
	ldi R24,21
	sts _Data_TXFIFO+6,R24
	.dbline 45
;   Data_TXFIFO[7]=0x73; 
	ldi R24,115
	sts _Data_TXFIFO+7,R24
	.dbline 48
;   
;   //源PAN标识符
;   Data_TXFIFO[8]=0x86;
	ldi R24,134
	sts _Data_TXFIFO+8,R24
	.dbline 49
;   Data_TXFIFO[9]=0x49;
	ldi R24,73
	sts _Data_TXFIFO+9,R24
	.dbline 52
;   
;   //源地址
;   Data_TXFIFO[10]=0x59;
	ldi R24,89
	sts _Data_TXFIFO+10,R24
	.dbline 53
;   Data_TXFIFO[11]=0x04;
	ldi R24,4
	sts _Data_TXFIFO+11,R24
	.dbline 56
;   
;   //有效负载
;   for (i=12;i<TX_length;i++)
	ldi R20,12
	xjmp L15
L12:
	.dbline 57
	.dbline 58
	ldi R24,<_Data_TXFIFO
	ldi R25,>_Data_TXFIFO
	mov R30,R20
	clr R31
	add R30,R24
	adc R31,R25
	mov R24,R20
	subi R24,12
	std z+0,R24
	.dbline 59
L13:
	.dbline 56
	inc R20
L15:
	.dbline 56
	cpi R20,112
	brlo L12
	.dbline 61
;   {
;     Data_TXFIFO[i]=i-12;
;   }
;   
;   Set_Configure();     //初始化设置配置字
	xcall _Set_Configure
	.dbline 62
;   PwDown_Idle();       //从掉电模式转换到空闲模式
	xcall _PwDown_Idle
	.dbline 64
;   
;   j=0;
	clr R22
	clr R23
	xjmp L17
L16:
	.dbline 66
;   while(1)
;   {
	.dbline 67
;     j++;
	subi R22,255  ; offset = 1
	sbci R23,255
	.dbline 68
; 	if (j==2048)
	cpi R22,0
	ldi R30,8
	cpc R23,R30
	brne L19
	.dbline 69
; 	{
	.dbline 70
; 	  break;
	xjmp L18
L19:
	.dbline 72
; 	}
; 	AllStates_Idle();
	xcall _AllStates_Idle
	.dbline 74
; 	//序列号
; 	Data_TXFIFO[3]=serial_num;
	lds R2,_serial_num
	sts _Data_TXFIFO+3,R2
	.dbline 75
; 	serial_num++;
	mov R24,R2
	subi R24,255    ; addi 1
	sts _serial_num,R24
	.dbline 76
; 	if(serial_num==250)
	cpi R24,250
	brne L22
	.dbline 77
; 	{
	.dbline 78
; 	  serial_num=0;
	clr R2
	sts _serial_num,R2
	.dbline 79
; 	}
L22:
	.dbline 81
	ldi R18,<_Data_TXFIFO
	ldi R19,>_Data_TXFIFO
	ldi R16,112
	xcall _Write_TXFIFO
	.dbline 82
	xcall _Idle_Tx
	.dbline 84
	xcall _Delay10ms
	.dbline 85
	xcall _Delay10ms
	.dbline 86
L17:
	.dbline 65
	xjmp L16
L18:
	.dbline 87
; 	
; 	Write_TXFIFO(TX_length,Data_TXFIFO);  //将数据写入到TXFIFO中
; 	Idle_Tx();    //启动发送
; 	
; 	Delay10ms();
; 	Delay10ms();
;   }
;   LED_RED;
	cbi 0x1b,0
	.dbline 87
	sbi 0x1b,1
	.dbline 87
L24:
	.dbline 88
	.dbline 88
	.dbline 88
L25:
	.dbline 88
	xjmp L24
X0:
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbsym r j 22 i
	.dbsym r i 20 c
	.dbend
	.area bss(ram, con, rel)
	.dbfile E:\无线传感器网络资料\cc2420驱动\测试1\code\main.c
_Data_TXFIFO::
	.blkb 112
	.dbsym e Data_TXFIFO _Data_TXFIFO A[112:112]c

⌨️ 快捷键说明

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