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

📄 serils.lst

📁 一台单片机主机和两台单片机丛机相互通信
💻 LST
字号:
C51 COMPILER V8.06   SERILS                                                                04/16/2007 17:34:34 PAGE 1   


C51 COMPILER V8.06, COMPILATION OF MODULE SERILS
OBJECT MODULE PLACED IN serils.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE serils.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg51.h>
   2          #define uchar unsigned char
   3          #define uint  unsigned int
   4          uchar array[]={
   5                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
   6                                     0x08,0x49,0x49,0x7F,0x08,0x49,0x49,0x7F,
   7                                     0x00,0x02,0x04,0x08,0x18,0x24,0x42,0x81,
   8                                     0xFF,0x4A,0x2A,0x1C,0xFF,0x08,0x08,0x08,
   9                                     0x08,0xFF,0x89,0x04,0x7F,0x14,0x1C,0x63,
  10                                     0x24,0x24,0x7E,0x24,0x7E,0x24,0x24,0x00,
  11                                     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  12                                     };
  13          
  14          //将主机的波特率设为4800bit,并将串行口设为方式3,TB8设为1,作为发送地址帧
  15          void init_scon()
  16          {
  17   1       TMOD=0x20;
  18   1       TH1=0xf3;
  19   1       TL1=0xf3;
  20   1       SCON=0xd8;
  21   1       PCON=0x80;
  22   1       TR1=1;
  23   1      }
  24          //串行口接收程序
  25          uchar receive()
  26          {
  27   1       uchar temp;
  28   1       while(RI==0);
  29   1       RI=0;
  30   1       temp=SBUF;
  31   1       return temp;
  32   1      }
  33          void delay(uint n)
  34          {
  35   1       uint i;
  36   1       while(n--)
  37   1       for(i=0;i<125;i++);
  38   1      }
  39          //串行口发送程序
  40          void send(uchar x)
  41          {
  42   1       SBUF=x;
  43   1       while(TI==0);
  44   1       TI=0;
  45   1      }
  46          int main(void)
  47          {
  48   1       uchar send_adr;//从机地址
  49   1       uchar back_adr;//由从机发送主机的返回地址
  50   1       uint i;
  51   1       init_scon();
  52   1       while(1)
  53   1       {
  54   2        send_adr=0x01;//设从机的地址为0X01
  55   2        send(send_adr);//发送从机地址
C51 COMPILER V8.06   SERILS                                                                04/16/2007 17:34:34 PAGE 2   

  56   2        back_adr=receive();//接收从机发回主机的发回地址
  57   2        if(back_adr==send_adr) //如果返回地址与主机发送的地址相同
  58   2        {
  59   3         TB8=0;                               //则将发送地址标志1改为发送数据标志0
  60   3         for(i=0;i<56;i++)            //然后连续发送5个数据
  61   3          send(array[i]);
  62   3         }
  63   2        //delay(5000);//延时5秒后,发送数据到第二块单片机
  64   2        TB8=1;          //把发送数据标志0改为发送地址标志1,向第二快从机发送地址
  65   2        send_adr=0x02;//设第二块从机的地址为0X02
  66   2        send(send_adr); //发送第二快的单片机地址
  67   2        back_adr=receive(); //接收从机发回来的地址(及确认信号)
  68   2        if(back_adr==send_adr) 
  69   2        {
  70   3         TB8=0;
  71   3         for(i=0;i<56;i++)
  72   3          send(array[i]);
  73   3         }
  74   2        }     
  75   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    150    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     56    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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