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

📄 main.lst

📁 DS12C887在MSP430上读写操作程序
💻 LST
字号:
C51 COMPILER V4.01,  MAIN                                                                  28/12/04  13:14:22  PAGE 1   


DOS C51 COMPILER V4.01, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN C:\DTMF3\MAIN.OBJ
COMPILER INVOKED BY: C:\COMP51\C51.EXE C:\DTMF3\MAIN.C DB SB OE

stmt level    source

   1          #include <reg51.h>
   2          #include <MODBUSCR.H>
   3          typedef unsigned char BYTE;
   4          
   5          sbit WDI = P3^4;
   6          sbit PFO = P3^5;
   7          sbit Light=P1^2;
   8          sbit V_cont=P3^7;
   9          
  10          
  11          bit mark_data;
  12          BYTE SBUFlen, rxdata[7];    //接收数据缓存1
  13          void slavetr_int(void) interrupt 4 using 1
  14          {
  15   1        if (RI)
  16   1        {
  17   2          if (SBUFlen == 0 && SBUF == 0x7e)
  18   2            SBUFlen ++;
  19   2          else if (SBUFlen == 1 && SBUF == rxdata[0])
  20   2            SBUFlen ++;
  21   2          else if (SBUFlen == 8)
  22   2          {
  23   3            if (SBUF != 0xaa)
  24   3              SBUFlen = 0;
  25   3            else if (!make_crc_rbank_1(rxdata, 7))
*** WARNING 259 IN LINE 25 OF C:\DTMF3\MAIN.C: 'parameter': pointer: different mspace
  26   3            {
  27   4               mark_data = 1;
  28   4               SBUFlen ++;
  29   4            }
  30   3            else  SBUFlen = 0;
  31   3          }
  32   2          else if (SBUFlen == 9)
  33   2            0;          //no action
  34   2          else if (SBUFlen > 1)
  35   2          {
  36   3            rxdata[SBUFlen - 1] = SBUF;  //SBUFlen:1-5为数据,6,7为CRC校验。
  37   3            SBUFlen ++;
  38   3          }
  39   2          RI = 0;
  40   2        }
  41   1        return;
  42   1      }
  43          
  44          #define AppendCRC(dataBlock, num) { make_crc_rbank_0((dataBlock), (num)); (dataBlock)[(num)] = (byte)crc; 
             -(dataBlock)[(num)+1] = crc >> 8;}
  45          
  46          BYTE tx[24]="\x01\x11\x11";       //发送数据缓存
  47          void send_data(BYTE data *temp, BYTE num)
  48          {
  49   1        EA = 0;                 //关中断;
  50   1        AppendCRC(temp, num);
*** WARNING 259 IN LINE 50 OF C:\DTMF3\MAIN.C: 'parameter': pointer: different mspace
  51   1        num += 2;
  52   1      
  53   1        SBUF = 0X7E;  while(TI == 0);  TI = 0;
  54   1        while (num --)
  55   1        {
  56   2          SBUF = *temp ++;
C51 COMPILER V4.01,  MAIN                                                                  28/12/04  13:14:22  PAGE 2   

  57   2          while(TI == 0);  TI=0;
  58   2        }
  59   1        SBUF = 0XAA;  while(TI == 0); TI = 0;
  60   1        EA = 1;                 //开中断;
  61   1      }
  62          
  63          void main()
  64          {
  65   1        bit dec_mark,dec_ok;
  66   1        BYTE order_ok,act_ok;   //接收数据存
  67   1        BYTE i,dec_num,order_type,adc_step;
  68   1        int count;
  69   1      
  70   1        mark_data = 0;  SBUFlen = 0;
  71   1        tx[0] = rxdata[0] = 0x01;
  72   1      
  73   1        /*串口232初始化*/
  74   1        TMOD = 0x20;
  75   1        TL1  = 0xfd;
  76   1        TH1  = 0xfd;
  77   1        SCON = 0x50;
  78   1        PCON = 0x00;
  79   1        TR1= 1;
  80   1        ES = 1;                //使用串口中断;
  81   1        EA = 1;                //开中断;
  82   1        dec_mark = 0; order_ok = 0x00;
  83   1        act_ok = 0xFF;   dec_num  = 0x00;
  84   1        send_data(tx, 3);            //串口发数据
  85   1        Light = !Light;
  86   1        while(1)              //进入循环
  87   1        {
  88   2          WDI = !WDI;
  89   2      
  90   2          if (mark_data == 1)
  91   2          {
  92   3            switch (rxdata[1])
  93   3            {
  94   4              case 0xEE:     //数据请求指令
  95   4              {
  96   5                if (rxdata[2] == 0xEE)
  97   5                {
  98   6                  tx[1] = 0xEE; tx[2] = 0x0A;
  99   6                  send_data(tx, 18);            //串口发数据
 100   6                }
 101   5              }     break;
 102   4              case 0xB9:    //确认减压后保压指令
 103   4              {
 104   5                 tx[1] = 0xC4; tx[2] = rxdata[2]; tx[3] = 0xFF;
 105   5                 send_data(tx, 4);          //串口发确认未执行保压
 106   5                 if(rxdata[2] == 0x11)  V_cont=1;
 107   5                 else  if(rxdata[2] == 0x22)  V_cont=0;
 108   5              }     break;
 109   4              default:        break;
 110   4            }
 111   3            SBUFlen = 0;   mark_data = 0;
 112   3          }
 113   2      
 114   2          if (PFO == 0)                   //低压报警
 115   2          {
 116   3            tx[1] = 0xE7;  tx[2] = 0xD8;  tx[3] = 0xD8;
 117   3            send_data(tx, 4);             //串口发请求低压报警
 118   3          }
 119   2      
 120   2          if (count > 12000)
 121   2          {
 122   3            count = 0;
C51 COMPILER V4.01,  MAIN                                                                  28/12/04  13:14:22  PAGE 3   

 123   3            Light = !Light;
 124   3          }
 125   2          count ++;
 126   2        }
 127   1      }
 128          
C51 COMPILER V4.01,  MAIN                                                                  28/12/04  13:14:22  PAGE 4   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
T0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
AC . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D6H  1
T1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
rxdata . . . . . . . . . . . . . . . .  PUBLIC   DATA   ARRAY    0000H  7
_send_data . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  temp . . . . . . . . . . . . . . . .  AUTO     DATA   PTR      0000H  1
  num. . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0001H  1
RD . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
ES . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ACH  1
RI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
_make_crc_rbank_0. . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
INT0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
CY . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D7H  1
_make_crc_rbank_1. . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
TI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
INT1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
PS . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BCH  1
OV . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D2H  1
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  dec_mark . . . . . . . . . . . . . .  AUTO     DATA   BIT      0000H  1
  dec_ok . . . . . . . . . . . . . . .  AUTO     DATA   BIT      0001H  1
  order_ok . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  act_ok . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0001H  1
  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0002H  1
  dec_num. . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0003H  1
  order_type . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0004H  1
  adc_step . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0005H  1
  count. . . . . . . . . . . . . . . .  AUTO     DATA   INT      0006H  2
WR . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
mark_data. . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      0000H  1
SBUF . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0099H  1
PCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0087H  1
slavetr_int. . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
BYTE . . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_CHAR   -----  1
TMOD . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0089H  1
byte . . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_CHAR   -----  1
crc. . . . . . . . . . . . . . . . . .  EXTERN   DATA   U_INT    -----  2
word . . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
IE0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0089H  1
IE1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008BH  1
ET0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A9H  1
ET1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ABH  1
TF0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008DH  1
TF1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008FH  1
RB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009AH  1
EX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A8H  1
IT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0088H  1
TH1. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008DH  1
TB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009BH  1
EX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AAH  1
IT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008AH  1
P. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D0H  1
SM0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009FH  1
SM1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009EH  1
TL1. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008BH  1
SM2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009DH  1
PT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B9H  1
C51 COMPILER V4.01,  MAIN                                                                  28/12/04  13:14:22  PAGE 5   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


PT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BBH  1
RS0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D3H  1
TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1
RS1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D4H  1
TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
PX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B8H  1
PX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BAH  1
WDI. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
PFO. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
REN. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009CH  1
tx . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   ARRAY    0007H  24
V_cont . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
RXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
TXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
SBUFlen. . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   001FH  1
F0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D5H  1
Light. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0092H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    365    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     32      10
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1       2
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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