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

📄 zj.lst

📁 485通信仿真源码.rar
💻 LST
字号:
C51 COMPILER V8.01   ZJ                                                                    03/21/2010 22:52:51 PAGE 1   


C51 COMPILER V8.01, COMPILATION OF MODULE ZJ
OBJECT MODULE PLACED IN zj.OBJ
COMPILER INVOKED BY: D:\学习软件\keil\C51\BIN\C51.EXE zj.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg51.h>
   2          #define uchar unsigned char
   3          
   4          sbit RE=P3^4;   //      控制487接收,发送控制端
   5          uchar code display_table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x77,0x7c};
   6          uchar temperature[4];
   7          
   8          
   9          void delay(uchar a);
  10          void judge_button();
  11          void display();
  12          void cj(uchar a);
  13          
  14          
  15          void main()
  16          {
  17   1              TMOD=0x20;              //定时计数器1设置为模式2
  18   1              TL1=0XFD;           //波特率设置
  19   1              TH1=0XFD;
  20   1              PCON=0X00;
  21   1              TR1=1;
  22   1              SCON=0xd8;              //工作在方式3,允许通信,TB8=1;
  23   1              P1=0xff;
  24   1              RE=1;                   //487准备发送数据
  25   1      
  26   1              while(1)
  27   1              {
  28   2                      judge_button();
  29   2                      display();
  30   2              
  31   2              }
  32   1              
  33   1      
  34   1      }
  35          
  36          void delay(uchar a)
  37          {
  38   1              uchar i;
  39   1              for(;a>0;a--)
  40   1                      for(i=100;i>0;i--);
  41   1      
  42   1      }
  43          
  44          
  45          void judge_button()
  46          {
  47   1              if(P1!=0xff)                                                    //判断是否有按钮按下
  48   1              {
  49   2                      delay(10);                                                                       
  50   2      
  51   2                      switch(P1)
  52   2                      {                                                                                       
  53   3                              case 0xfe:   cj(1);   break;    //      寻址从机1,并接受从机数据
  54   3                              case 0xfd:   cj(2);   break;    //      寻址从机2,并接受从机数据
  55   3                      }
C51 COMPILER V8.01   ZJ                                                                    03/21/2010 22:52:51 PAGE 2   

  56   2      
  57   2                      P1=0XFF;        
  58   2              }               
  59   1      
  60   1      
  61   1      }
  62          
  63          
  64          void display()
  65          {
  66   1      
  67   1              P2=0XFF;                           //  显示从机的代号
  68   1              P0=display_table[temperature[0]];
  69   1              P2=0xfe;
  70   1              delay(1);
  71   1      
  72   1              P2=0XFF;                           //  显示温度
  73   1              P0=display_table[temperature[1]];
  74   1              P2=0xfd;
  75   1              delay(1);
  76   1      
  77   1              P2=0XFF;
  78   1              P0=display_table[temperature[2]];
  79   1              P2=0xfb;
  80   1              delay(1);
  81   1      
  82   1              P2=0XFF;
  83   1              P0=display_table[temperature[3]]+0x80;
  84   1              P2=0xf7;
  85   1              delay(1);
  86   1      
  87   1      }
  88          
  89          
  90          void  cj(uchar a)
  91          {
  92   1              uchar i;
  93   1      
  94   1              SBUF=a;
  95   1              while(TI!=1);
  96   1              TI=0;
  97   1              delay(10);
  98   1      
  99   1              RE=0;   //准备接受数据
 100   1              delay(5);
 101   1              TB8=0;  
 102   1                                                                 
 103   1              while(RI!=1);   
 104   1              RI=0;
 105   1              delay(10);
 106   1      
 107   1              if(SBUF==a)
 108   1              {
 109   2                      delay(10);        
 110   2      
 111   2                      for(i=0;i<4;i++)
 112   2                      {
 113   3                              while(RI!=1);
 114   3                              temperature[i]=SBUF;
 115   3                              RI=0;
 116   3                              delay(10);
 117   3                      }
C51 COMPILER V8.01   ZJ                                                                    03/21/2010 22:52:51 PAGE 3   

 118   2              
 119   2              }
 120   1      
 121   1              RE=1;   //准备下一次发送数据
 122   1              TB8=1;
 123   1      
 124   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    216    ----
   CONSTANT SIZE    =     13    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      4    ----
   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 + -