com.lst

来自「学习单片机的程序集」· LST 代码 · 共 110 行

LST
110
字号
C51 COMPILER V8.08   COM                                                                   10/27/2008 20:20:01 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE COM
OBJECT MODULE PLACED IN COM.OBJ
COMPILER INVOKED BY: D:\电子程序\C51\BIN\C51.EXE COM.C DEBUG OBJECTEXTEND

line level    source

   1          /*
   2          *         单片机接收主机的数据,然后将数据传送到P0口, 并传回给主机;             *
   3          *         当按下K1=P1.4 时, 单片机发送字www.pp51.comr" 给主机       *                                     
             -          *
   4          *                                                                              *
   5          */   
   6          
   7          #include <reg51.h>
   8          #include <intrins.h>
   9          
  10          unsigned char key_s, key_v, tmp;
  11          
  12          char code str[] = "机会好看";
  13          
  14          
  15          void send_str();
  16          //bit   scan_key();
  17          //void proc_key();
  18          void delayms(unsigned char ms);
  19          void send_char(unsigned char txd);
  20          
  21          sbit    K1 = P1^4;
  22          
  23          main()
  24          {
  25   1              
  26   1              TMOD = 0x20;                    // 定时器1工作于8位自动重载模式, 用于产生波特率
  27   1              TH1 = 0xFD;                             // 波特率9600
  28   1              TL1 = 0xFD;
  29   1              
  30   1              SCON = 0x50;                    // 设定串行口工作方式
  31   1              PCON &= 0xef;                   // 波特率不倍增
  32   1                      
  33   1              TR1 = 1;                                // 启动定时器1
  34   1              IE = 0x0;                               // 禁止任何中断
  35   1              
  36   1              while(1)
  37   1              {       
  38   2              
  39   2                              delayms(500);
  40   2                      send_str();     
  41   2                      delayms(500);
  42   2      
  43   2                      if(RI)                                          // 是否有数据到来
  44   2                      {
  45   3                              RI = 0;
  46   3                              tmp = SBUF;                             // 暂存接收到的数据
  47   3                              P0 = tmp;                               // 数据传送到P0口
  48   3                              send_char(tmp);                 // 回传接收到的数据
  49   3                      }               
  50   2              }
  51   1      }
  52          
  53          
  54          void send_char(unsigned char txd)
C51 COMPILER V8.08   COM                                                                   10/27/2008 20:20:01 PAGE 2   

  55          // 传送一个字符
  56          {
  57   1              SBUF = txd;
  58   1              while(!TI);                             // 等特数据传送
  59   1              TI = 0;                                 // 清除数据传送标志
  60   1      }
  61          
  62          void send_str()
  63          // 传送字串
  64          {
  65   1              unsigned char i = 0;
  66   1              while(str[i] != '\0')
  67   1              {
  68   2                      SBUF = str[i];
  69   2                      while(!TI);                             // 等特数据传送
  70   2                      TI = 0;                                 // 清除数据传送标志
  71   2                      i++;                                    // 下一个字符
  72   2              }       
  73   1      }
  74          
  75          void delayms(unsigned char ms)  
  76          // 延时子程序
  77          {                                               
  78   1              unsigned char i;
  79   1              while(ms--)
  80   1              {
  81   2                      for(i = 0; i < 120; i++);
  82   2              }
  83   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     97    ----
   CONSTANT SIZE    =      9    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      3    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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