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

📄 jfp_fasong.lis

📁 非常适合实用的无线射频芯片NRF905
💻 LIS
📖 第 1 页 / 共 3 页
字号:
                        .module jfp_fasong.c
                        .area text(rom, con, rel)
 0000                   .dbfile F:\开发板配套资料\JASK3000软件开发包\遥控开关\NRF905_发送\jfp_fasong.c
                        .area data(ram, con, rel)
 0000                   .dbfile F:\开发板配套资料\JASK3000软件开发包\遥控开关\NRF905_发送\jfp_fasong.c
 0000           _TxAddress::
 0000                   .blkb 2
                        .area idata
 0000 CCCC              .byte 204,204
                        .area data(ram, con, rel)
 0002                   .dbfile F:\开发板配套资料\JASK3000软件开发包\遥控开关\NRF905_发送\jfp_fasong.c
 0002                   .blkb 2
                        .area idata
 0002 CCCC              .byte 204,204
                        .area data(ram, con, rel)
 0004                   .dbfile F:\开发板配套资料\JASK3000软件开发包\遥控开关\NRF905_发送\jfp_fasong.c
 0004                   .dbsym e TxAddress _TxAddress A[4:4]c
 0004           _RFConf::
 0004                   .blkb 2
                        .area idata
 0004 004C              .byte 0,'L
                        .area data(ram, con, rel)
 0006                   .dbfile F:\开发板配套资料\JASK3000软件开发包\遥控开关\NRF905_发送\jfp_fasong.c
 0006                   .blkb 2
                        .area idata
 0006 0C44              .byte 12,'D
                        .area data(ram, con, rel)
 0008                   .dbfile F:\开发板配套资料\JASK3000软件开发包\遥控开关\NRF905_发送\jfp_fasong.c
 0008                   .blkb 2
                        .area idata
 0008 0404              .byte 4,4
                        .area data(ram, con, rel)
 000A                   .dbfile F:\开发板配套资料\JASK3000软件开发包\遥控开关\NRF905_发送\jfp_fasong.c
 000A                   .blkb 2
                        .area idata
 000A CCCC              .byte 204,204
                        .area data(ram, con, rel)
 000C                   .dbfile F:\开发板配套资料\JASK3000软件开发包\遥控开关\NRF905_发送\jfp_fasong.c
 000C                   .blkb 2
                        .area idata
 000C CCCC              .byte 204,204
                        .area data(ram, con, rel)
 000E                   .dbfile F:\开发板配套资料\JASK3000软件开发包\遥控开关\NRF905_发送\jfp_fasong.c
 000E                   .blkb 1
                        .area idata
 000E 58                .byte 'X
                        .area data(ram, con, rel)
 000F                   .dbfile F:\开发板配套资料\JASK3000软件开发包\遥控开关\NRF905_发送\jfp_fasong.c
 000F                   .dbsym e RFConf _RFConf A[11:11]c
                        .area text(rom, con, rel)
 0000                   .dbfile F:\开发板配套资料\JASK3000软件开发包\遥控开关\NRF905_发送\jfp_fasong.c
 0000                   .dbfunc e Delay _Delay fV
 0000           ;              i -> R20,R21
 0000           ;              x -> R16,R17
                        .even
 0000           _Delay::
 0000 0E940000          xcall push_gset1
 0004                   .dbline -1
 0004                   .dbline 80
 0004           ; //ICC-AVR application builder : 2007-8-11 20:37:32
 0004           ; // Target : M16
 0004           ; // Crystal: 8.0000Mhz
 0004           ; #include <iom16v.h>
 0004           ; #include <macros.h>
 0004           ; #define uint  unsigned int
 0004           ; #define uchar unsigned char
 0004           ; ///////////////////////////模式控制定义/////////////////////////////////
 0004           ; //#define  nrf905_TX_EN         PB0       //输出1   
 0004           ; #define   Low_nrf905_TX_EN     PORTB &= ~(1 << PB0)
 0004           ; #define   Hign_nrf905_TX_EN    PORTB |= (1 << PB0)
 0004           ; //#define  nrf905_TRX_CE  PD5             //输出1
 0004           ; #define   Hign_nrf905_TRX_CE    PORTD |= (1 << PD5)  
 0004           ; #define   Low_nrf905_TRX_CE     PORTD &= ~(1 << PD5) 
 0004           ; //#define  nrf905_PWR     PB1             //输出1
 0004           ; #define   Hign_nrf905_PWR    PORTB |= (1 << PB1) 
 0004           ; #define   Low_nrf905_PWR     PORTB &= ~(1 << PB1)
 0004           ; //--------------------------------SPI口定义-------------------------------------
 0004           ; //#define  nrf905_MISO          PB6           //输入0
 0004           ; //#define  nrf905_MOSI    PB5     //输出1
 0004           ; //#define  nrf905_SCK     PB7     //输出1
 0004           ; #define   Low_nrf905_SCK     PORTB &= ~(1 << PB7)
 0004           ; //------------------------------------------------------------------------------
 0004           ; //#define  nrf905_CSN     PB4         //输出1         
 0004           ; #define   Hign_nrf905_CSN    PORTB |= (1 << PB4)  
 0004           ; #define   Low_nrf905_CSN     PORTB &= ~(1 << PB4)                             
 0004           ; //-------------------------------状态输出口-------------------------------------
 0004           ; //#define  nrf905_CD      PD4     //输入0
 0004           ; #define   Hign_nrf905_CD    PORTD |= (1 << PD4) 
 0004           ; #define   Low_nrf905_CD     PORTD &= ~(1 << PD4) 
 0004           ; #define   Read_nrf905_CD    PINB & (1 << PD4)
 0004           ; //#define  nrf905_AM      PB3     //输入0
 0004           ; #define   Hign_nrf905_AM    PORTB |= (1 << PB3) 
 0004           ; #define   Low_nrf905_AM     PORTB &= ~(1 << PB3)
 0004           ; #define   Read_nrf905_AM    PINB & (1 << PB3)
 0004           ; //#define  nrf905_DR      PB2                 //输入0
 0004           ; #define   Hign_nrf905_DR    PORTB |= (1 << PB2)
 0004           ; #define   Low_nrf905_DR     PORTB &= ~(1 << PB2)
 0004           ; #define   Read_nrf905_DR    PINB & (1 << PB2)
 0004           ; //读取键值KEYA-KEYB-KEYC  
 0004           ; #define   Read_KEY_A              PINA & (1 << PA6)
 0004           ; #define   Read_KEY_B              PINA & (1 << PA5)
 0004           ; #define   Read_KEY_C          PINA & (1 << PA4)
 0004           ; //----------------------------------905-SPI指令---------------------------------
 0004           ; #define WC    0x00
 0004           ; #define RRC   0x10
 0004           ; #define WTP   0x20
 0004           ; #define RTP   0x21
 0004           ; #define WTA   0x22
 0004           ; #define RTA   0x23
 0004           ; #define RRP   0x24
 0004           ; //---------------------------------发送数据-------------------------------------
 0004           ; uchar TxRxBuf[4];
 0004           ; //----------------------------------接收地址------------------------------------
 0004           ; uchar TxAddress[4]={0xcc,0xcc,0xcc,0xcc };    
 0004           ; //----------------------------------寄存器配置----------------------------------
 0004           ; uchar RFConf[11]=
 0004           ; {
 0004           ;   0x00,                             //配置命令//
 0004           ;   0x4c,                             //CH_NO,配置频段在430MHZ
 0004           ;   0x0C,                             //输出功率为10db,不重发,节电为正常模式
 0004           ;   0x44,                             //地址宽度设置,为4字节
 0004           ;   0x04,0x04,                        //接收发送有效数据长度为4字节
 0004           ;   0xCC,0xCC,0xCC,0xCC,              //接收地址
 0004           ;   0x58,                              //CRC充许,8位CRC校验,外部时钟信号不使能,16M晶振
 0004           ; };
 0004           ; //----------------------------------函数申明------------------------------------
 0004           ; void Delay(uint x);
 0004           ; void Spi_initial();
 0004           ; uchar SpiReadSpiWrite(uchar DATA);
 0004           ; void system_Init(void);
 0004           ; void Config905(void);
 0004           ; void TxPacket(uchar TxBUF[4]);
 0004           ; void SetTxMode(void);
 0004           ; void TX(void);
 0004           ; void StartUART(void);
 0004           ; void R_S_Byte(uchar R_Byte);
 0004           ; //----------------------------------100us延时子程序-----------------------------
 0004           ; void Delay(uint x)
 0004           ; {
 0004 09C0              xjmp L3
 0006           L2:
 0006                   .dbline 83
 0006 4427              clr R20
 0008 5527              clr R21
 000A 02C0              xjmp L8
 000C           L5:
 000C                   .dbline 83
 000C           L6:
 000C                   .dbline 83
 000C 4F5F              subi R20,255  ; offset = 1
 000E 5F4F              sbci R21,255
 0010           L8:
 0010                   .dbline 83
 0010 4035              cpi R20,80
 0012 E0E0              ldi R30,0
 0014 5E07              cpc R21,R30
 0016 D0F3              brlo L5
 0018           L3:
 0018                   .dbline 82
 0018           ;       uint i;
 0018           ;       while(x--)
 0018 1801              movw R2,R16
 001A 0150              subi R16,1
 001C 1040              sbci R17,0
 001E 2220              tst R2
 0020 91F7              brne L2
 0022 3320              tst R3
 0024 81F7              brne L2
 0026           X0:
 0026                   .dbline -2
 0026           L1:
 0026 0E940000          xcall pop_gset1
 002A                   .dbline 0 ; func end
 002A 0895              ret
 002C                   .dbsym r i 20 i
 002C                   .dbsym r x 16 i
 002C                   .dbend
 002C                   .dbfunc e Spi_initial _Spi_initial fV
                        .even
 002C           _Spi_initial::
 002C                   .dbline -1
 002C                   .dbline 87
 002C           ;       for(i=0;i<80;i++);
 002C           ; }
 002C           ; //----------------------------------SPI初始化-----------------------------------
 002C           ; void Spi_initial()
 002C           ; {
 002C                   .dbline 90
 002C           ;       //SPCR=0x50;
 002C           ;       //SPSR=0x00;    
 002C           ;       SPCR   = (1<<SPE)|(1<<MSTR)|(0<<CPOL)|(0<<SPR0);   // 主机模式,fck/16, SPI方式0
 002C 80E5              ldi R24,80
 002E 8DB9              out 0xd,R24
 0030                   .dbline -2
 0030           L9:
 0030                   .dbline 0 ; func end
 0030 0895              ret
 0032                   .dbend
 0032                   .dbfunc e SpiReadSpiWrite _SpiReadSpiWrite fc
 0032           ;          cData -> R16
                        .even
 0032           _SpiReadSpiWrite::
 0032                   .dbline -1
 0032                   .dbline 94
 0032           ; }
 0032           ; //---------------------------------SPI读写程序----------------------------------      
 0032           ; uchar SpiReadSpiWrite(unsigned char cData)//r
 0032           ; {
 0032                   .dbline 95
 0032           ;       SPDR = cData;
 0032 0FB9              out 0xf,R16
 0034           L11:
 0034                   .dbline 97
 0034                   .dbline 97
 0034           L12:
 0034                   .dbline 96
 0034           ;       while(!(SPSR & (1<<SPIF) ))
 0034 779B              sbis 0xe,7
 0036 FECF              rjmp L11
 0038                   .dbline 97
 0038           ;       {};                     // 等待SPI发送完毕

⌨️ 快捷键说明

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