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

📄 pmpdatar.lst

📁 proteus仿真实例大全
💻 LST
字号:
C51 COMPILER V7.50   PMPDATAR                                                              11/05/2007 01:16:17 PAGE 1   


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

line level    source

   1          /*****************************************/
   2          /* Copyright (c) 2005, 通信工程学院      */
   3          /* All rights reserved.                  */
   4          /* 作    者:戴 佳                                               */
   5          /*****************************************/
   6          
   7          #include "PMPDataR.h"
   8          
   9          unsigned char zu[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8d};
  10          /* 延时t毫秒 */
  11          void delay(uint t)
  12          {
  13   1              uint i;
  14   1              while(t--)
  15   1              {
  16   2                      /* 对于11.0592M时钟,约延时1ms */
  17   2                      for (i=0;i<125;i++)
  18   2                      {}
  19   2              }
  20   1      } 
  21          
  22          /* 发送数据函数 */
  23          uchar recvdata()
  24          {
  25   1      
  26   1              /* 接收数据 */
  27   1                      while(!RI);
  28   1                      if (RB8==1)
  29   1                              return 0xee;            // 若接收的为地址帧,则返回0xee
  30   1                      buf = SBUF;     
  31   1                      RI = 0; 
  32   1              return 0;                                       // 返回0
  33   1      }
  34          
  35          /* 串口初始化函数 */
  36          void init_serial()
  37          {
  38   1              TMOD = 0x20;                            // 定时器T1使用工作方式2
  39   1              TH1 = 250;
  40   1              TL1 = 250;
  41   1              TR1 = 1;                                        // 开始计时
  42   1              PCON = 0x80;                            // SMOD = 1
  43   1              SCON = 0xd0;                            // 工作方式,9位数据位,波特率9600kbit/s,允许接收 
  44   1      }
  45          
  46          /* 主程序 */
  47          void main()
  48          { 
  49   1              uchar i = 0;
  50   1              uchar tmp = 0xff;
  51   1              P1= 0xff;
  52   1              addr = P1&0x0f;                         // 获取本机地址
  53   1              P23 = 1;                                        // 发光管不亮
  54   1              
  55   1              init_serial();                          // 串口初始化 
C51 COMPILER V7.50   PMPDATAR                                                              11/05/2007 01:16:17 PAGE 2   

  56   1      
  57   1              EA = 1;                                         // 关闭所有中断
  58   1              
  59   1              /* 进入设备应答 */
  60   1              while(1)
  61   1              {
  62   2                      SM2 = 1;                                // 只接收地址帧
  63   2                      
  64   2                      /* 如果接收到的地址帧不是本机地址,则继续等待 */
  65   2                      while (tmp!=addr)
  66   2                      {
  67   3                              RI = 0;
  68   3                              while(!RI)
  69   3                              tmp = SBUF;
  70   3                              RI = 0;
  71   3                      }       
  72   2                      SM2 = 0;                                // 允许接收数据
  73   2      
  74   2                      /* 数据接收 */
  75   2             tmp = recvdata();
  76   2                 //if(buf!=0x00)
  77   2                  
  78   2                      if (tmp==0x00)  
  79   2                      {                
  80   3                           P0=buf;
  81   3                              /* 绿灯亮,持续500ms,表示接收数据成功 */
  82   3                              P23 = 0;                        
  83   3                              delay(30);
  84   3                              P23 = 1;
  85   3                              
  86   3                      }           
  87   2                      // 如果接收数据时发现地址帧,则重新开始整个接收过程
  88   2              }
  89   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    131    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     18       1
   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 + -