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

📄 test.lst

📁 msp430和nrf905的例子,联系qqliuyong007@163.com
💻 LST
📖 第 1 页 / 共 2 页
字号:
 142          {
 143   1              TH1=(65536-46080)/256;  /* Fosc=733728MHz/4=1.8432MHz */
 144   1              TL1=(65536-46080)%256;  /* 50ms timer interrupt */
 145   1              TR1=1;
 146   1              if(++tim_cnt==20)
 147   1              {
 148   2                      tim_cnt=0;
 149   2                      Flag_scd=1;
 150   2                      if(tim_scd++==60)
 151   2                      {
 152   3                              tim_scd=0;
 153   3                              if(tim_mnt++==60)
 154   3                              {
 155   4                                      tim_mnt=0;
 156   4                                      if(tim_hur++==24) tim_hur=0;
 157   4                              }
 158   3                      }
 159   2              }
 160   1      }
 161          
 162          
 163          /************************************************************************************************/
 164          main()
 165          {       
 166   1              uchar i;
 167   1              /*IO口模式设置00准双向;01推挽;10高阻输入;11开漏 */
 168   1              P0M1=0x00;      /* P0M1: 00000000   键盘 双向*/
 169   1              P0M2=0x0F;      /* P0M2: 00001111   LED  推挽*/
 170   1              P1M1=0x2C;      /* P1M1: 00101100   P1.2/P1.3配置为开漏,外接上拉电阻;P1.5(RST)仅能为输入(高阻);*/
 171   1              P1M2=0x0C;      /* P1M2: 00001100   中断1,串口为准双向;*/
 172   1              P2M1=0x00;      /* P2M1: 00000000   */
 173   1              P2M2=0x00;      /* P2M2: 00000000   */
 174   1              P3M1=0x00;      /* IO口模式设置: 准双向口00,使用内部时钟 */
 175   1              P3M2=0x00;
 176   1              
 177   1              P0=0xFF;        /* 初化P0口 */
 178   1              P1=0xFF;                        
 179   1              P2=0xFF;        /*  */
C51 COMPILER V7.50   TEST                                                                  03/30/2006 09:07:30 PAGE 4   

 180   1              P3=0xFF;        /*  */
 181   1                                                      
 182   1              DIVM=2; /* 降低工作频率,以便程序移植 */
 183   1              uart_init();    /* 串口初始化9600BPS */
 184   1              Spi_init();                             /* 初始化SPI端口 */
 185   1      
 186   1              ChangeMode(Standby);    /* nRF905进入待机SPI通讯模式 */
 187   1              Delayus(1000);
 188   1              Config905();                    /* 配置nRF905 */
 189   1                                      
 190   1              TMOD|=0x10;                             /* Timer1 mode set Mode1 */
 191   1              TH1=(65536-46080)/256;  /* Fosc=1.8432MHz,50ms timer interrupt */
 192   1              TL1=(65536-46080)%256;
 193   1              ET1=1;TR1=1;
 194   1              EA=1;
 195   1              
 196   1              eeprom_read(E2ADRSYS,Databuf,16);       /* 读取本系统地址及参数 */
 197   1              ADDRESS = BUFADR;
 198   1              if(ADDRESS==0xFF)       /* 地址为0xFF时,初始化地址为1 */
 199   1              {
 200   2                      BUFADR = ADDRESS = 0x01;        /* 本系统地址存储为0x01 */
 201   2                      for(i=1;i<16;i++)Databuf[i]=i;
 202   2                      eeprom_write(E2ADRSYS,Databuf,16);      /* 存储本系统地址及参数 */
 203   2              }
 204   1              mscom_snd(Databuf,16);
 205   1      
 206   1              RF905_Read(RC,Databuf);
 207   1              mscom_snd(Databuf,16);
 208   1              ChangeMode(RXMode);             /**/
 209   1      
 210   1              while(1)
 211   1              {       
 212   2                      while(RF_DR)
 213   2                      {
 214   3      /*                      ChangeMode(Standby);    /**/
 215   3                              RF905_Read(RRP,Databuf);
 216   3                              ChangeMode(RXMode);     
 217   3                              Delayus(500);
 218   3                              mscom_snd(Databuf,16);
 219   3                      }
 220   2                      switch (URT_rcv)
 221   2                      {
 222   3                       case 0x00:
 223   3                              for(i=0;i<16;i++) Databuf[i]=i;
 224   3                              eeprom_write(E2ADRSYS,Databuf,16);
 225   3                              eeprom_read(E2ADRSYS,Databuf,16);
 226   3                              mscom_snd(Databuf,16);
 227   3                              URT_rcv =0x10;
 228   3                              break;
 229   3                       case 0x01:
 230   3                              ChangeMode(Standby);
 231   3                              Delayus(3100);
 232   3                              RF905_Read(RC,Databuf);
 233   3                              ChangeMode(RXMode);             /**/
 234   3                              mscom_snd(Databuf,16);
 235   3                              URT_rcv =0x10;
 236   3                              break;
 237   3                       case 0x02:
 238   3                              ChangeMode(TXMode);     
 239   3                              Delayus(3100);
 240   3                              RF905_Write(WTA,TX_ADDRESS);
 241   3                              RF905_Write(WTP,Databuf);       /**/
C51 COMPILER V7.50   TEST                                                                  03/30/2006 09:07:30 PAGE 5   

 242   3                              ChangeMode(TXData);     
 243   3                              mscom_snd(TX_ADDRESS,4);
 244   3                              mscom_snd(Databuf,16);
 245   3                              Delayus(650);                   /* ensure nRF905 have began TX */
 246   3                              ChangeMode(RXMode);                     /**/
 247   3                              URT_rcv =0x10;
 248   3                              break;
 249   3                       case 0x03:
 250   3                              ChangeMode(Standby);
 251   3                              RF905_Read(RTP,Databuf);
 252   3                              Delayus(650);
 253   3                              ChangeMode(RXMode);             /**/
 254   3                              mscom_snd(Databuf,16);
 255   3                              URT_rcv =0x10;
 256   3                              break;
 257   3                       case 0x04:
 258   3      /*                      ChangeMode(Standby);    /**/
 259   3                              RF905_Read(RRP,Databuf);
 260   3                              Delayus(650);
 261   3                              ChangeMode(RXMode);             /**/
 262   3                              mscom_snd(Databuf,16);
 263   3                              URT_rcv =0x10;
 264   3                              break;
 265   3                       case 0x07:
 266   3                              ChangeMode(PowerDown);
 267   3                              URT_rcv =0x10;
 268   3                       default:
 269   3                              ChangeMode(RXMode);                     /**/
 270   3                              URT_rcv =0x10;
 271   3                              break;
 272   3                      }
 273   2              }
 274   1      }       
 275          
 276          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    689    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      14
   IDATA SIZE       =     31    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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