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

📄 serise.lst

📁 两块51单片机通过串口相互通信 其中有握手协议
💻 LST
字号:
C51 COMPILER V7.06   SERISE                                                                01/01/2007 21:08:09 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE SERISE
OBJECT MODULE PLACED IN serise.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE serise.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include "reg51.h"
   2          #include "string.h"
   3          #include "display.h"
   4          
   5          #define rdy 0x06
   6          #define busy 0x15
   7          #define ok 0x01
   8          #define succ 0x0f
   9          #define err 0xf0
  10          
  11          unsigned char data data_buffer[11]_at_ 0x60;
  12          unsigned char rch=0x00;
  13          unsigned int num=0;
  14          
  15          void init_serialcomm(void)
  16          {
  17   1          SCON  = 0x50;       //SCON: serail mode 1, 8-bit UART, enable ucvr 
  18   1          TMOD  = 0x20;       //TMOD: timer 1, mode 2, 8-bit reload 
  19   1          PCON  = 0x80;       //SMOD=1; 
  20   1          TH1   = 250;       //Baud:4800  fosc=11.0592MHz 
  21   1          TL1   = 250;       //Enable Serial Interrupt 
  22   1          TR1   = 1;          // timer 1 run 
  23   1          EA    = 1;
  24   1              ES    = 0;
  25   1          RI    = 0;
  26   1      }
  27          
  28          //向串口发送一个字符 
  29          void send_char_com(unsigned char sch)  
  30            {
  31   1          SBUF=sch;
  32   1          while(TI==0);
  33   1          TI=0;
  34   1         
  35   1        }
  36          recieve_char_com(void)
  37            {
  38   1          while(!RI);
  39   1          rch=SBUF;
  40   1          RI=0;
  41   1          return rch;
  42   1        }
  43          
  44          recievdata(void) interrupt 4 
  45            {
  46   1          data_buffer[num]=SBUF;
  47   1          RI=0;
  48   1              num++;
  49   1              if(num>=11)
  50   1              ES=0;
  51   1              return;
  52   1        }
  53          
  54          main()
  55          {
C51 COMPILER V7.06   SERISE                                                                01/01/2007 21:08:09 PAGE 2   

  56   1        unsigned int a=0x80,b=0,display=1,totle=0;
  57   1        unsigned int i,j,k,n;
  58   1        unsigned char com=0x00,test=0x00;
  59   1        init_serialcomm();  //初始化串口   
  60   1        while(com!=0x06)
  61   1        {com=recieve_char_com();}
  62   1        send_char_com(ok);
  63   1        ES=1; 
  64   1        delayms(1200);
  65   1        test=data_buffer[0];
  66   1        for(n=1;n<10;n++)
  67   1        test=test^data_buffer[n];
  68   1        if(test=data_buffer[10])
  69   1        send_char_com(succ);
  70   1        else
  71   1        send_char_com(err);
  72   1      
  73   1      
  74   1      /*for(j=0;j<10;j++) //十六进制数转换为十进制 
  75   1      {
  76   1        for(i=0;i<8;i++)
  77   1         {
  78   1           b=(data_buffer[j]&a);
  79   1           if(b==a)
  80   1            {
  81   1              for(k=0;k<7-i;k++)
  82   1                {
  83   1                 display=display*2;
  84   1                }
  85   1              totle=totle+display;
  86   1              display=1;
  87   1              a=a>>1;
  88   1           }
  89   1          else
  90   1           {
  91   1             a=a>>1;
  92   1             continue;
  93   1           }
  94   1          }
  95   1        data_buffer[j]=totle;
  96   1        totle=0;
  97   1      }
  98   1      
  99   1      */
 100   1       while(1)
 101   1       {
 102   2        for(i=0;i<11;i++)   
 103   2         {
 104   3           for(j=0;j<40;j++)
 105   3           {
 106   4                counter(data_buffer[i]);
 107   4               }
 108   3         }
 109   2       }
 110   1      }
*** WARNING C280 IN LINE 57 OF SERISE.C: 'k': unreferenced local variable


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    236    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
C51 COMPILER V7.06   SERISE                                                                01/01/2007 21:08:09 PAGE 3   

   PDATA SIZE       =   ----    ----
   DATA SIZE        =      3      14
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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