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

📄 test.lst

📁 msp430和nrf905的例子,联系qqliuyong007@163.com
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.50   TEST                                                                  03/30/2006 09:07:30 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE TEST
OBJECT MODULE PLACED IN Test.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Test.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #define __SRC
   2                  #include "Config.h"
   3          #undef  __SRC
   4          
   5          #define PWR_ON          0
   6          #define PWR_OFF         1
   7          #define MOTO_FORW       1       /* 01 */
   8          #define MOTO_BACK       2       /* 10 */
   9          #define MOTO_STOP       3       /* 11 */
  10          
  11          /************************************************************/
  12          #define E2ADRSYS                0x00    /* 本系统于EEPROM中地址 */
  13          uchar idata ADDRESS;    /**/
  14          uchar idata URT_buf;            /* 串口接收数据缓冲器   */
  15          uchar idata URT_cnt;            /* 数据接收计数器       */
  16          uchar idata URT_rcv,URT_cmd,URT_len;
  17          /************************************************************/
  18          uchar idata wrrdadr;            /* EEPROM操作(读/写)首地址 */
  19          uchar idata Databuf[16];        /* 16字节数据存储缓冲区 */
  20          #define BUFADR          Databuf[0]      /* 系统地址 */
  21          #define BUFPTST         Databuf[1]      /* 操作端口/状态 */
  22          #define BUFHOUR         Databuf[2]      /* 时间:时 */
  23          #define BUFMINT         Databuf[3]      /* 时间:分 */
  24          /*
  25          uchar idata TX_ADDRESS[4]={0x50,0x51,0x52,0x53};        /* RF接收方地址  */
  26          
  27          uchar idata TX_ADDRESS[4]={0xA0,0xA1,0xA2,0xA3};        /* RF接收方地址  */
  28          /************************************************************/
  29          uchar idata tim_cnt;    /* 定时计数器   */
  30          uchar idata tim_scd;    /* 秒计数器     */
  31          uchar idata tim_mnt;
  32          uchar idata tim_hur;
  33          bit bdata Flag_scd;     /* 1秒标志位    */
  34          
  35          /* 波特率发生器的初值fosc=7.3728MHz/(2*DIVM)=1.8432MHz */
  36          /* 设置串口波特率 = Fosc / ((BRGR1,BRGR0)+16) */
  37          #define BRGR1_DATA      0x00    /* 9600BPS = 00B0H */
  38          #define BRGR0_DATA      0xB0    /* 2400BPS = 1DF0H */
  39          
  40          /*==========================================================*/
  41          void Spi_init(void);
  42          void Config905(void);                   /* 配置nRF905 */
  43          void ChangeMode(uchar num);             /* RF模式配置 */
  44          void RF905_Write(uchar RFcmd,uchar *RFdata);    /* 配置nRF905写地址/数据 */
  45          void RF905_Read(uchar RFcmd,uchar *RFdata);     /* 配置nRF905读地址/数据 */
  46          void Delayus(uchar xus);
  47          
  48          /*==========================================================*/
  49          /*  功能:查询方式对地址范围为0x00~0xFF之间的EEPROM字节编程(写) */
  50          /*  入口:      ptr,写入数据首地址
  51          /*                      e2adr,写入EEPROM首地址
  52          /*                      length,写入数据长度     
  53          /*      出口:  无。
  54          /************************************************************/
  55          void eeprom_write(uchar e2adr,uchar *ptr,uchar length)
C51 COMPILER V7.50   TEST                                                                  03/30/2006 09:07:30 PAGE 2   

  56          {
  57   1              uchar i,j;
  58   1              i=j=0;
  59   1              for(i=0;i<length;i++)
  60   1              {       
  61   2                      j=0;
  62   2                      DEECON = 0;
  63   2                      DEEDAT = ptr[i];
  64   2                      DEEADR = e2adr;
  65   2                      while(j==0)j=DEECON&0x80;
  66   2                      e2adr++;
  67   2              }
  68   1      }
  69          
  70          /*==========================================================*/
  71          /*  功能:查询方式对地址范围为0x00~0xFF之间的EEPROM字节编程(读) */
  72          /*  入口:      ptr,写入数据首地址
  73          /*                      e2adr,写入EEPROM首地址
  74          /*                      length,写入数据长度     
  75          /*      出口:  无。
  76          /************************************************************/
  77          void eeprom_read(uchar e2adr,uchar *ptr,uchar length)
  78          {
  79   1              uchar i,j;
  80   1              i=j=0;
  81   1              for(i=0;i<length;i++)
  82   1              {       
  83   2                      j=0;
  84   2                      DEECON = 0;
  85   2                      DEEADR = e2adr;
  86   2                      while(j==0)j=DEECON&0x80;
  87   2                      ptr[i] = DEEDAT;
  88   2                      e2adr++;
  89   2              }
  90   1      }
  91          
  92          void uart_init(void)
  93          {
  94   1              SCON=0x50;      /* 串行口为方式1   SM2=0,REN=1 */
  95   1      /*      PCON|=0x40;     /* SMOD0=1,使用FE标志位(与SSTAT.3是同一标志) */
  96   1              PCON=0x00;
  97   1              SSTAT=0x20;     /* 禁止双缓冲使能,中断独立,每发送一字节产生一次中断 */
  98   1      /* 设置串口波特率:Fosc / ((BRGR1,BRGR0)+16) */
  99   1              BRGCON=0x00;    /* 关波特率发生器 */
 100   1              BRGR1=BRGR1_DATA;
 101   1              BRGR0=BRGR0_DATA;
 102   1              BRGCON=0x03;    /* 打开串口波特率发生器,使用串口波特率发生器 */
 103   1              ES=1;   /* 允许接收中断 */
 104   1              EST=0;  /* 禁止发送中断 */
 105   1              RI=0;
 106   1              TI=0;
 107   1      }
 108          
 109          /*=================================================*/
 110          /*发送数据子程序*/
 111          void mscom_snd(uchar *ptr,uchar length)
 112          {
 113   1              uchar i;
 114   1              for(i=0;i<length;i++)
 115   1              {       SBUF=ptr[i];
 116   2                      while(TI==0);
 117   2                      TI=0;
C51 COMPILER V7.50   TEST                                                                  03/30/2006 09:07:30 PAGE 3   

 118   2              }
 119   1      }
 120          
 121          void mscom_byte(uchar sndat)
 122          {
 123   1              SBUF=sndat;
 124   1              while(TI==0);
 125   1              TI=0;
 126   1      }
 127          /**************************************************/
 128          /***********  串口(Rx)中断服务子程序  *************/
 129          void Mscom_rcv(void) interrupt 4 using 1
 130          {
 131   1              if(RI==1)
 132   1              {
 133   2                      RI=0;
 134   2                      URT_rcv=SBUF;
 135   2                      mscom_byte(URT_rcv);                            
 136   2              }/* 串口接收程序结束 */
 137   1      }/* 串口中断程序结束 */
 138          
 139          
 140          /****************************************************************/
 141          void Ptimer1(void) interrupt 3 using 1

⌨️ 快捷键说明

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