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

📄 usart.lst

📁 单片机 和PC机的通信代码
💻 LST
字号:
C51 COMPILER V9.00   USART                                                                 07/23/2012 10:24:24 PAGE 1   


C51 COMPILER V9.00, COMPILATION OF MODULE USART
OBJECT MODULE PLACED IN USART.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE USART.C LARGE BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg52.h>
   2          
   3          
   4          
   5          void SendOneByte(unsigned char c);
   6          void delayms(unsigned int k) ;  //延时 n ms
   7          //unsigned char xdata ledxs[8]={1,2,3,4,5,6,7,8};
   8          //unsigned char xdata ledxs2[8]={1,2,3,4,5,6,7,8};
   9          
  10          //unsigned char data CMDuart[8];//命令接收器
  11          //unsigned char  fankui[2]={'O','K'};
  12          struct 
  13          {
  14           unsigned char  CMDuart1[8];
  15           unsigned char  fankui1[2];
  16          }user1;
  17          
  18          
  19          void InitUART(void)
  20          {
  21   1          user1.CMDuart1[0]=0;
  22   1      user1.fankui1[0]='o';
  23   1      user1.fankui1[1]='K';  
  24   1         delayms(200);
  25   1         TMOD=0x20;    // 定时器1模式2,8位自动重装
  26   1         TL1=0xe8;
  27   1         TH1=0xe8;     // 波特率1200  晶振11.0592的
  28   1         TR1=1; // to run 第一个定时器
  29   1         SCON=0x50;   // 串口方式1,接收允许,8位数据,无校验,1位起始位,1位结束位
  30   1          ES=1;
  31   1              EA=1;        // 开串口中断
  32   1           // 开总中断
  33   1      }
  34          void find()
  35          {
  36   1      int i;
  37   1       if(user1.CMDuart1[0]==1) 
  38   1              {
  39   2              user1.CMDuart1[0]=0;
  40   2              for(i=0;i<2;i++)
  41   2                      {       
  42   3                      TI = 0;
  43   3                      SBUF = user1.fankui1[i];
  44   3                      while(!TI);     
  45   3                      }
  46   2                 
  47   2          }
  48   1      
  49   1      
  50   1      }
  51          void main(void)
  52          {       
  53   1      
  54   1          InitUART();
  55   1              while(1)
C51 COMPILER V9.00   USART                                                                 07/23/2012 10:24:24 PAGE 2   

  56   1       {
  57   2      find(); 
  58   2      
  59   2      
  60   2       
  61   2       
  62   2      
  63   2      
  64   2      
  65   2              
  66   2                       
  67   2       }
  68   1      
  69   1      }
  70          
  71          
  72          
  73          
  74          
  75          void UARTInterrupt(void) interrupt 4
  76          {       
  77   1          if(RI)
  78   1          {
  79   2              RI = 0;
  80   2                      user1.CMDuart1[0]=SBUF;
  81   2      
  82   2          }
  83   1      
  84   1      
  85   1      }
  86          void SendOneByte(unsigned char c)
  87          {
  88   1          SBUF = c;
  89   1      
  90   1          while(!TI);
  91   1      
  92   1          TI = 0;
  93   1      }
  94          void delayms(unsigned int k)  //延时 n ms
  95          {
  96   1        while(k)
  97   1        {
  98   2          int i;
  99   2          i=110;
 100   2          while(i--);
 101   2          k=k-1;
 102   2        }
 103   1      }


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