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

📄 communication1.lst

📁 用KEILC写的单片机典型C51编程
💻 LST
字号:
C51 COMPILER V8.05a   COMMUNICATION1                                                       10/26/2006 20:35:41 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE COMMUNICATION1
OBJECT MODULE PLACED IN communication1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE communication1.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*********************************************************************************/
   2                  //程序名:commucation1.c
   3                  //功能描述:利用单片机的串口实现双机双工通信
   4                  //调用函数:Timer_10ms(uint_1ms),Led_Off(),Led_On()
   5                  //输入:
   6                  //返回:
   7                  //设计者:wei                                                                                           日期:2006.10.25
   8                  //修改者:                                                                                              日期:
   9                  //版本:
  10                  /********************************************************************************/
  11                  
  12                  
  13                  #include<Reg51.h>
  14                  #define unit            unsigned int
  15                  #define uchar   unsigned char
  16                  #define ulong unsigned long
  17           
  18                  #define OSC_FREQ                                                12000000
  19                  #define C10ms                                                           (65536-OSC_FREQ/(12000000/9970))
  20                  sbit    P3_2=P3^2;
  21                  uchar ucSBUF232;
  22                  
  23                  /******************************************************************************************
  24                   *********************************初始化CPU****************************************
  25                   *****************************************************************************************/
  26                   void   serial_Init(void)
  27                   {
  28   1                      IE =0x00;
  29   1                      TMOD = 0x20;
  30   1                      TH0 = C10ms/256;
  31   1                      TL0 = C10ms%256;
  32   1                      TH1 = 0xfa;
  33   1                      TL1 = 0xfa;
  34   1                      PCON = 0x00;
  35   1                      SCON = 0xd8;
  36   1                      
  37   1                      RI = 0 ;
  38   1                      TI = 0;
  39   1                      TR0 = 0;
  40   1                      TR1 = 1;
  41   1                      ES = 1;
  42   1                      EA = 1;
  43   1               }
  44                   /******************************************************************************************
  45                   *********************************串行口中断处理****************************************
  46                   *****************************************************************************************/
  47                   void   serialInterrupt() interrupt 4
  48                   {
  49   1                      if(RI)
  50   1                              {
  51   2                                      RI = 0;
  52   2                                      ucSBUF232 = SBUF;
  53   2                                      if(ucSBUF232 == 0x01)
  54   2                                              {
  55   3                                                P1 = 0x01;
C51 COMPILER V8.05a   COMMUNICATION1                                                       10/26/2006 20:35:41 PAGE 2   

  56   3                                              }
  57   2                                      else if(ucSBUF232 == 0x02)
  58   2                                              {
  59   3                                                      P1 = 0x02;              
  60   3                                              }
  61   2                                      else if(ucSBUF232 == 0x04)
  62   2                                              {
  63   3                                                      P1 = 0x04;              
  64   3                                              }       
  65   2                              }               
  66   1                      else if(TI)
  67   1                              { 
  68   2                                      TI = 0;
  69   2                                      REN =1;
  70   2                                      ucSBUF232 = 0xff;
  71   2                              }
  72   1               }
  73                    
  74           /******************************************************************************************/
  75                  //函数名:void Delay(void)
  76                  //功能:延时
  77                  //调用函数:
  78                  //输入参数:
  79                  //输出参数:
  80                  //说明:
  81                  /*******************************************************************************************/
  82          
  83           void Delay(void)
  84           {
  85   1              uchar i,j,h;
  86   1              for(i = 0;i<2;i++)
  87   1              {
  88   2                      for(j=0;j<200;j++)
  89   2                      {
  90   3                              for(h=0;h<250;h++);
  91   3                      }
  92   2              }
  93   1       }
  94           /******************************************************************************************
  95                   *********************************主函数:初始化CPU****************************************
  96                   *****************************************************************************************/
  97                   
  98                   void main(void)
  99          
 100                   {      
 101   1                      uchar i=0;
 102   1                      P1=0;
 103   1                      serial_Init();
 104   1                      REN = 0;
 105   1                      RI = 0;
 106   1                      while(1)
 107   1                      {
 108   2                              if(ucSBUF232 == 0x01)
 109   2                                      {
 110   3                                          P1=0x01;
 111   3                                              Delay();
 112   3                                              Delay();
 113   3                                              SBUF = 0x02;
 114   3                                      }
 115   2                              else if(ucSBUF232 == 0x02)
 116   2                                      {
 117   3                                              P1=0x02;
C51 COMPILER V8.05a   COMMUNICATION1                                                       10/26/2006 20:35:41 PAGE 3   

 118   3                                              Delay();
 119   3                                              Delay();
 120   3                                              SBUF = 0x04;
 121   3                                      }       
 122   2                              else if(ucSBUF232 == 0x04)
 123   2                                      {
 124   3                                              P1=0x04;
 125   3                                              Delay();
 126   3                                              Delay();
 127   3                                              SBUF = 0x01;
 128   3                                      }               
 129   2                              else if(! P3_2 )
 130   2                                              {       
 131   3                                                      SBUF=0x01;
 132   3                                                      Delay();
 133   3                                                      Delay();
 134   3                                                      Delay();
 135   3                                                      P1 =0x00;
 136   3                                                      if(REN && ucSBUF232 ==0xff)
 137   3                                                      REN=0;
 138   3                                              }
 139   2                      }
 140   1               }
 141                   


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