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

📄 main.lis

📁 该程序通过调试
💻 LIS
字号:
                        .module main.c
                        .area data(ram, con, rel)
 0000           _serial_num::
 0000                   .blkb 1
                        .area idata
 0000 00                .byte 0
                        .area data(ram, con, rel)
 0001                   .dbfile E:\无线传感器网络资料\cc2420驱动\测试1\code\main.c
 0001                   .dbsym e serial_num _serial_num c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\无线传感器网络资料\cc2420驱动\测试1\code\main.c
 0000                   .dbfunc e main _main fV
 0000           ;              j -> R22,R23
 0000           ;              i -> R20
                        .even
 0000           _main::
 0000                   .dbline -1
 0000                   .dbline 21
 0000           ; /***************************************
 0000           ; *2008,浙江工业大学信息与控制研究所
 0000           ; *All rights reserved
 0000           ; *
 0000           ; *文件名称:main.c
 0000           ; *摘    要:无线接收发送测试程序(发送端)
 0000           ; *
 0000           ; *当前版本:1.0
 0000           ; *作    者:董齐芬
 0000           ; *完成日期:2008.8.20
 0000           ; ****************************************/
 0000           ; 
 0000           ; #include "cc2420.h"
 0000           ; #include "spi.h"
 0000           ; 
 0000           ; unsigned char Data_TXFIFO[TX_length];    //要写入TXFIFO中的数据,包括帧长度,MAC头,MAC有效负载等部分
 0000           ; unsigned char serial_num=0;         //数据序号
 0000           ; 
 0000           ; 
 0000           ; void main(void)
 0000           ; {
 0000                   .dbline 25
 0000           ;   unsigned char i;
 0000           ;   unsigned int j;
 0000           ;   
 0000           ;   initled();
 0000 0E940000          xcall _initled
 0004                   .dbline 26
 0004           ;   init_spi();
 0004 0E940000          xcall _init_spi
 0008                   .dbline 28
 0008           ;   
 0008           ;   LED_YELLOW;
 0008 D89A              sbi 0x1b,0
 000A                   .dbline 28
 000A D998              cbi 0x1b,1
 000C                   .dbline 28
 000C                   .dbline 29
 000C           ;   PORTB |=(1<<CSn);                //CSN引脚置位,停止SPI操作,
 000C C09A              sbi 0x18,0
 000E                   .dbline 30
 000E           ;   PORTB |=1<<SCK;                    // Spi clock line init high
 000E C19A              sbi 0x18,1
 0010                   .dbline 31
 0010           ;   PORTE |=1<<RST;                     //注意该引脚低电平时,cc2420处于复位状态
 0010 1A9A              sbi 0x3,2
 0012                   .dbline 33
 0012           ;   
 0012           ;   Data_TXFIFO[0]=TX_length+1;    //第一字节为帧长度,不包括长度域本身的字节,但包含帧校验序列2字节
 0012 81E7              ldi R24,113
 0014 80930000          sts _Data_TXFIFO,R24
 0018                   .dbline 36
 0018           ;   
 0018           ;   //帧控制域,无安全,确认要求,数据帧,包含16位的目标地址,源地址,目标PAN标识符,源PAN标识符
 0018           ;   Data_TXFIFO[1]=0x88;     //高字节
 0018 88E8              ldi R24,136
 001A 80930100          sts _Data_TXFIFO+1,R24
 001E                   .dbline 37
 001E           ;   Data_TXFIFO[2]=0x01;     //低字节
 001E 81E0              ldi R24,1
 0020 80930200          sts _Data_TXFIFO+2,R24
 0024                   .dbline 40
 0024           ;   
 0024           ;   //目的PAN标识符
 0024           ;   Data_TXFIFO[4]=0x23;
 0024 83E2              ldi R24,35
 0026 80930400          sts _Data_TXFIFO+4,R24
 002A                   .dbline 41
 002A           ;   Data_TXFIFO[5]=0x45;
 002A 85E4              ldi R24,69
 002C 80930500          sts _Data_TXFIFO+5,R24
 0030                   .dbline 44
 0030           ;   
 0030           ;   //目的地址
 0030           ;   Data_TXFIFO[6]=0x15;
 0030 85E1              ldi R24,21
 0032 80930600          sts _Data_TXFIFO+6,R24
 0036                   .dbline 45
 0036           ;   Data_TXFIFO[7]=0x73; 
 0036 83E7              ldi R24,115
 0038 80930700          sts _Data_TXFIFO+7,R24
 003C                   .dbline 48
 003C           ;   
 003C           ;   //源PAN标识符
 003C           ;   Data_TXFIFO[8]=0x86;
 003C 86E8              ldi R24,134
 003E 80930800          sts _Data_TXFIFO+8,R24
 0042                   .dbline 49
 0042           ;   Data_TXFIFO[9]=0x49;
 0042 89E4              ldi R24,73
 0044 80930900          sts _Data_TXFIFO+9,R24
 0048                   .dbline 52
 0048           ;   
 0048           ;   //源地址
 0048           ;   Data_TXFIFO[10]=0x59;
 0048 89E5              ldi R24,89
 004A 80930A00          sts _Data_TXFIFO+10,R24
 004E                   .dbline 53
 004E           ;   Data_TXFIFO[11]=0x04;
 004E 84E0              ldi R24,4
 0050 80930B00          sts _Data_TXFIFO+11,R24
 0054                   .dbline 56
 0054           ;   
 0054           ;   //有效负载
 0054           ;   for (i=12;i<TX_length;i++)
 0054 4CE0              ldi R20,12
 0056 0AC0              xjmp L15
 0058           L12:
 0058                   .dbline 57
 0058                   .dbline 58
 0058 80E0              ldi R24,<_Data_TXFIFO
 005A 90E0              ldi R25,>_Data_TXFIFO
 005C E42F              mov R30,R20
 005E FF27              clr R31
 0060 E80F              add R30,R24
 0062 F91F              adc R31,R25
 0064 842F              mov R24,R20
 0066 8C50              subi R24,12
 0068 8083              std z+0,R24
 006A                   .dbline 59
 006A           L13:
 006A                   .dbline 56
 006A 4395              inc R20
 006C           L15:
 006C                   .dbline 56
 006C 4037              cpi R20,112
 006E A0F3              brlo L12
 0070                   .dbline 61
 0070           ;   {
 0070           ;     Data_TXFIFO[i]=i-12;
 0070           ;   }
 0070           ;   
 0070           ;   Set_Configure();     //初始化设置配置字
 0070 0E940000          xcall _Set_Configure
 0074                   .dbline 62
 0074           ;   PwDown_Idle();       //从掉电模式转换到空闲模式
 0074 0E940000          xcall _PwDown_Idle
 0078                   .dbline 64
 0078           ;   
 0078           ;   j=0;
 0078 6627              clr R22
 007A 7727              clr R23
 007C 21C0              xjmp L17
 007E           L16:
 007E                   .dbline 66
 007E           ;   while(1)
 007E           ;   {
 007E                   .dbline 67
 007E           ;     j++;
 007E 6F5F              subi R22,255  ; offset = 1
 0080 7F4F              sbci R23,255
 0082                   .dbline 68
 0082           ;       if (j==2048)
 0082 6030              cpi R22,0
 0084 E8E0              ldi R30,8
 0086 7E07              cpc R23,R30
 0088 09F4              brne L19
 008A                   .dbline 69
 008A           ;       {
 008A                   .dbline 70
 008A           ;         break;
 008A 1BC0              xjmp L18
 008C           L19:
 008C                   .dbline 72
 008C           ;       }
 008C           ;       AllStates_Idle();
 008C 0E940000          xcall _AllStates_Idle
 0090                   .dbline 74
 0090           ;       //序列号
 0090           ;       Data_TXFIFO[3]=serial_num;
 0090 20900000          lds R2,_serial_num
 0094 20920300          sts _Data_TXFIFO+3,R2
 0098                   .dbline 75
 0098           ;       serial_num++;
 0098 822D              mov R24,R2
 009A 8F5F              subi R24,255    ; addi 1
 009C 80930000          sts _serial_num,R24
 00A0                   .dbline 76
 00A0           ;       if(serial_num==250)
 00A0 8A3F              cpi R24,250
 00A2 19F4              brne L22
 00A4                   .dbline 77
 00A4           ;       {
 00A4                   .dbline 78
 00A4           ;         serial_num=0;
 00A4 2224              clr R2
 00A6 20920000          sts _serial_num,R2
 00AA                   .dbline 79
 00AA           ;       }
 00AA           L22:
 00AA                   .dbline 81
 00AA 20E0              ldi R18,<_Data_TXFIFO
 00AC 30E0              ldi R19,>_Data_TXFIFO
 00AE 00E7              ldi R16,112
 00B0 0E940000          xcall _Write_TXFIFO
 00B4                   .dbline 82
 00B4 0E940000          xcall _Idle_Tx
 00B8                   .dbline 84
 00B8 0E940000          xcall _Delay10ms
 00BC                   .dbline 85
 00BC 0E940000          xcall _Delay10ms
 00C0                   .dbline 86
 00C0           L17:
 00C0                   .dbline 65
 00C0 DECF              xjmp L16
 00C2           L18:
 00C2                   .dbline 87
 00C2           ;       
 00C2           ;       Write_TXFIFO(TX_length,Data_TXFIFO);  //将数据写入到TXFIFO中
 00C2           ;       Idle_Tx();    //启动发送
 00C2           ;       
 00C2           ;       Delay10ms();
 00C2           ;       Delay10ms();
 00C2           ;   }
 00C2           ;   LED_RED;
 00C2 D898              cbi 0x1b,0
 00C4                   .dbline 87
 00C4 D99A              sbi 0x1b,1
 00C6                   .dbline 87
 00C6           L24:
 00C6                   .dbline 88
 00C6                   .dbline 88
 00C6                   .dbline 88
 00C6           L25:
 00C6                   .dbline 88
 00C6 FFCF              xjmp L24
 00C8           X0:
 00C8                   .dbline -2
 00C8           L1:
 00C8                   .dbline 0 ; func end
 00C8 0895              ret
 00CA                   .dbsym r j 22 i
 00CA                   .dbsym r i 20 c
 00CA                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile E:\无线传感器网络资料\cc2420驱动\测试1\code\main.c
 0000           _Data_TXFIFO::
 0000                   .blkb 112
 0070                   .dbsym e Data_TXFIFO _Data_TXFIFO A[112:112]c

⌨️ 快捷键说明

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