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

📄 cc1100.lis

📁 chipcom公司CC1100无线模块底层驱动程序
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module CC1100.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\WIRELE~1\CC1020~1\SoftWare\SoftWare\CC1100.c
 0000                   .dbfunc e CC1100Rst _CC1100Rst fV
 0000           ;              i -> R20
                        .even
 0000           _CC1100Rst::
 0000 00D0              rcall push_gset1
 0002                   .dbline -1
 0002                   .dbline 25
 0002           ; /****************************************************/
 0002           ; /* Application note                                 */
 0002           ; /* Reference design : CC1100 RF Test Board          */
 0002           ; /* File:        CC1100.c                            */
 0002           ; /* Revision:  1.0                                   */
 0002           ; /* Description:                                     */
 0002           ; /* Microcontroller:ATmega48/48V                     */
 0002           ; /* Author:  Zcg, Field Applications Engineer, SunRay*/
 0002           ; /****************************************************/
 0002           ; 
 0002           ; #include "iom88v.h"
 0002           ; #include "macros.h"
 0002           ; #include "main.h"
 0002           ; #include "CC1100.h"
 0002           ; 
 0002           ; /* 
 0002           ; ************************************************************
 0002           ; *Description:复位CC1100
 0002           ; *Arguments  :none
 0002           ; *Returns    :none
 0002           ; *Notes      :
 0002           ; ************************************************************
 0002           ; */
 0002           ; void CC1100Rst (void)
 0002           ; {
 0002                   .dbline 28
 0002           ;     INT8U i;
 0002           ; 
 0002           ;     SCLK_H;
 0002 459A              sbi 0x8,5
 0004                   .dbline 29
 0004           ;       SI_L;
 0004 4498              cbi 0x8,4
 0006                   .dbline 30
 0006           ;       CS_L;
 0006 4398              cbi 0x8,3
 0008                   .dbline 31
 0008           ;       CS_H;
 0008 439A              sbi 0x8,3
 000A                   .dbline 32
 000A 4427              clr R20
 000C 01C0              rjmp L5
 000E           L2:
 000E                   .dbline 32
 000E           L3:
 000E                   .dbline 32
 000E 4395              inc R20
 0010           L5:
 0010                   .dbline 32
 0010           ;       for (i = 0; i < 100; i++);  //delay 50.63us
 0010 4436              cpi R20,100
 0012 E8F3              brlo L2
 0014                   .dbline 33
 0014           ;       SCLK_L;
 0014 4598              cbi 0x8,5
 0016                   .dbline 34
 0016           ;       CS_L;
 0016 4398              cbi 0x8,3
 0018           L6:
 0018                   .dbline 35
 0018           L7:
 0018                   .dbline 35
 0018           ;       while (SO_STATE);
 0018 3299              sbic 0x6,2
 001A FECF              rjmp L6
 001C                   .dbline 37
 001C           ; 
 001C           ;       ShiftOutByte(CC1100_SRES);  //复位命令
 001C 00E3              ldi R16,48
 001E 7AD0              rcall _ShiftOutByte
 0020           L9:
 0020                   .dbline 39
 0020           L10:
 0020                   .dbline 39
 0020           ; 
 0020           ;       while (SO_STATE);
 0020 3299              sbic 0x6,2
 0022 FECF              rjmp L9
 0024                   .dbline 40
 0024           ;       CS_H;
 0024 439A              sbi 0x8,3
 0026                   .dbline -2
 0026           L1:
 0026 00D0              rcall pop_gset1
 0028                   .dbline 0 ; func end
 0028 0895              ret
 002A                   .dbsym r i 20 c
 002A                   .dbend
 002A                   .dbfunc e CC1100Strobe _CC1100Strobe fV
 002A           ;         strobe -> R20
                        .even
 002A           _CC1100Strobe::
 002A 00D0              rcall push_gset1
 002C 402F              mov R20,R16
 002E                   .dbline -1
 002E                   .dbline 52
 002E           ; }
 002E           ; 
 002E           ; /*
 002E           ; ************************************************************
 002E           ; *Description:写CC1100控制命令
 002E           ; *Arguments  :strobe:控制命令
 002E           ; *Returns    :none
 002E           ; *Notes      :
 002E           ; ************************************************************
 002E           ; */
 002E           ; void CC1100Strobe (INT8U strobe)
 002E           ; {
 002E                   .dbline 53
 002E           ;     SCLK_L;                //写控制命令
 002E 4598              cbi 0x8,5
 0030                   .dbline 55
 0030           ;     //CS_L;
 0030           ;       CS_H;                  //3V与5V系统相连,保证平时为低电平
 0030 439A              sbi 0x8,3
 0032                   .dbline 56
 0032           ;       CS_L;
 0032 4398              cbi 0x8,3
 0034                   .dbline 57
 0034           ;       ShiftOutByte(strobe);
 0034 042F              mov R16,R20
 0036 6ED0              rcall _ShiftOutByte
 0038                   .dbline 59
 0038           ;       //CS_H;
 0038           ;       CS_H;                  //3V与5V系统相连,保证平时为低电平
 0038 439A              sbi 0x8,3
 003A                   .dbline 60
 003A           ;       CS_L;
 003A 4398              cbi 0x8,3
 003C                   .dbline -2
 003C           L12:
 003C 00D0              rcall pop_gset1
 003E                   .dbline 0 ; func end
 003E 0895              ret
 0040                   .dbsym r strobe 20 c
 0040                   .dbend
 0040                   .dbfunc e CC1100ReadReg _CC1100ReadReg fc
 0040           ;          value -> R20
 0040           ;           addr -> R20
                        .even
 0040           _CC1100ReadReg::
 0040 00D0              rcall push_gset1
 0042 402F              mov R20,R16
 0044                   .dbline -1
 0044                   .dbline 72
 0044           ; }
 0044           ; 
 0044           ; /*
 0044           ; ************************************************************
 0044           ; *Description:读CC1100单个寄存器
 0044           ; *Arguments  :addr:地址
 0044           ; *Returns    :数据
 0044           ; *Notes      :
 0044           ; ************************************************************
 0044           ; */
 0044           ; INT8U CC1100ReadReg (INT8U addr)
 0044           ; {
 0044                   .dbline 75
 0044           ;     INT8U value;
 0044           ; 
 0044           ;       SCLK_L;                //写地址
 0044 4598              cbi 0x8,5
 0046                   .dbline 77
 0046           ;       //CS_L;
 0046           ;       CS_H;                  //3V与5V系统相连,保证平时为低电平
 0046 439A              sbi 0x8,3
 0048                   .dbline 78
 0048           ;       CS_L;
 0048 4398              cbi 0x8,3
 004A                   .dbline 79
 004A           ;       addr |= 0x80;          //读寄存器地址
 004A 4068              ori R20,128
 004C                   .dbline 80
 004C           ;       ShiftOutByte(addr);
 004C 042F              mov R16,R20
 004E 62D0              rcall _ShiftOutByte
 0050                   .dbline 82
 0050           ; 
 0050           ;       value = ShiftInByte(); //读数据
 0050 54D0              rcall _ShiftInByte
 0052 402F              mov R20,R16
 0054                   .dbline 84
 0054           ;       //CS_H;
 0054           ;       CS_H;                  //3V与5V系统相连,保证平时为低电平
 0054 439A              sbi 0x8,3
 0056                   .dbline 85
 0056           ;       CS_L;
 0056 4398              cbi 0x8,3
 0058                   .dbline 87
 0058           ; 
 0058           ;       return value;
 0058                   .dbline -2
 0058           L13:
 0058 00D0              rcall pop_gset1
 005A                   .dbline 0 ; func end
 005A 0895              ret
 005C                   .dbsym r value 20 c
 005C                   .dbsym r addr 20 c
 005C                   .dbend
 005C                   .dbfunc e CC1100WriteReg _CC1100WriteReg fV
 005C           ;          value -> R20
 005C           ;           addr -> R22
                        .even
 005C           _CC1100WriteReg::
 005C 00D0              rcall push_gset2
 005E 422F              mov R20,R18
 0060 602F              mov R22,R16
 0062                   .dbline -1
 0062                   .dbline 99
 0062           ; }
 0062           ; 
 0062           ; /*
 0062           ; ************************************************************
 0062           ; *Description:写CC1100单个寄存器
 0062           ; *Arguments  :addr:地址; value:数据
 0062           ; *Returns    :none
 0062           ; *Notes      :
 0062           ; ************************************************************
 0062           ; */
 0062           ; void CC1100WriteReg (INT8U addr, INT8U value)
 0062           ; {
 0062                   .dbline 100
 0062           ;     SCLK_L;                //写地址
 0062 4598              cbi 0x8,5
 0064                   .dbline 102
 0064           ;       //CS_L;
 0064           ;       CS_H;                  //3V与5V系统相连,保证平时为低电平
 0064 439A              sbi 0x8,3
 0066                   .dbline 103
 0066           ;       CS_L;
 0066 4398              cbi 0x8,3
 0068                   .dbline 104
 0068           ;       ShiftOutByte(addr);
 0068 062F              mov R16,R22
 006A 54D0              rcall _ShiftOutByte
 006C                   .dbline 106
 006C           ; 
 006C           ;       ShiftOutByte(value);   //写数据
 006C 042F              mov R16,R20
 006E 52D0              rcall _ShiftOutByte
 0070                   .dbline 108
 0070           ;       //CS_H;
 0070           ;       CS_H;                  //3V与5V系统相连,保证平时为低电平
 0070 439A              sbi 0x8,3
 0072                   .dbline 109
 0072           ;       CS_L;
 0072 4398              cbi 0x8,3
 0074                   .dbline -2
 0074           L14:
 0074 00D0              rcall pop_gset2
 0076                   .dbline 0 ; func end
 0076 0895              ret
 0078                   .dbsym r value 20 c
 0078                   .dbsym r addr 22 c
 0078                   .dbend
 0078                   .dbfunc e CC1100ReadStatus _CC1100ReadStatus fc
 0078           ;          value -> R20
 0078           ;           addr -> R20
                        .even
 0078           _CC1100ReadStatus::
 0078 00D0              rcall push_gset1
 007A 402F              mov R20,R16
 007C                   .dbline -1
 007C                   .dbline 122
 007C           ; }
 007C           ; 
 007C           ; 
 007C           ; /*
 007C           ; ************************************************************
 007C           ; *Description:读CC1100状态寄存器
 007C           ; *Arguments  :addr:地址
 007C           ; *Returns    :状态值
 007C           ; *Notes      :
 007C           ; ************************************************************
 007C           ; */
 007C           ; INT8U CC1100ReadStatus (INT8U addr)
 007C           ; {
 007C                   .dbline 125
 007C           ;     INT8U value;
 007C           ; 
 007C           ;     SCLK_L;                //写地址
 007C 4598              cbi 0x8,5
 007E                   .dbline 127
 007E           ;       //CS_L;
 007E           ;       CS_H;                  //3V与5V系统相连,保证平时为低电平
 007E 439A              sbi 0x8,3
 0080                   .dbline 128
 0080           ;       CS_L;
 0080 4398              cbi 0x8,3
 0082                   .dbline 129
 0082           ;       addr |= 0xC0;          //读状态寄存器地址
 0082 406C              ori R20,192
 0084                   .dbline 130
 0084           ;       ShiftOutByte(addr);
 0084 042F              mov R16,R20
 0086 46D0              rcall _ShiftOutByte
 0088                   .dbline 132
 0088           ; 
 0088           ;       value = ShiftInByte(); //读状态
 0088 38D0              rcall _ShiftInByte
 008A 402F              mov R20,R16
 008C                   .dbline 134
 008C           ;       //CS_H;
 008C           ;       CS_H;                  //3V与5V系统相连,保证平时为低电平
 008C 439A              sbi 0x8,3
 008E                   .dbline 135
 008E           ;       CS_L;
 008E 4398              cbi 0x8,3
 0090                   .dbline 137
 0090           ; 
 0090           ;       return value;
 0090                   .dbline -2
 0090           L15:
 0090 00D0              rcall pop_gset1
 0092                   .dbline 0 ; func end
 0092 0895              ret
 0094                   .dbsym r value 20 c
 0094                   .dbsym r addr 20 c
 0094                   .dbend
 0094                   .dbfunc e CC1100ReadBurstReg _CC1100ReadBurstReg fV
 0094           ;              i -> R20
 0094           ;            cnt -> R22

⌨️ 快捷键说明

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