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

📄 test0c.lst

📁 用kirl c51编写的串口通讯程序
💻 LST
字号:
C51 COMPILER V8.02   TEST0C                                                                11/24/2006 12:47:38 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE TEST0C
OBJECT MODULE PLACED IN test0c.OBJ
COMPILER INVOKED BY: C:\xpsystem\Keil\C51\BIN\C51.EXE test0c.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1             #include <reg51.h>
   2             #include <stdio.h>
   3             #include <string.h>
   4             #define      INBUF_LEN 4
   5             unsigned char inbuf1[INBUF_LEN];
   6             unsigned char checksum,count3;
   7             bit read_flag=0;
   8             void init_serialcomm(void)
   9          {
  10   1         SCON =0x50;
  11   1         TMOD = 0x20;
  12   1              PCON = 0x80;
  13   1              TH1 = 0xF4;
  14   1              IE=0x90;
  15   1              TR1 = 1;
  16   1              
  17   1              }
  18             void send_char_com(unsigned char ch)
  19             {
  20   1         SBUF=ch;
  21   1         while (TI==0);
  22   1         TI=0;
  23   1         }                       //向川口发送一个字符串,strlen为该字符传长度
  24                          void send_string_com(unsigned char *str,unsigned int strlen)
  25                          {
  26   1                      unsigned int k=0;
  27   1                      do
  28   1                      {
  29   2                      send_char_com(*(str + k ));
  30   2                      k++;
  31   2      
  32   2                      }while (k < strlen);
  33   1      
  34   1                      }
  35                          void serial() interrupt 4 using 3        //串口接受中断函数
  36                          {if (RI)
  37   1                      {
  38   2                      unsigned char ch;
  39   2                      RI = 0;
  40   2                      ch =SBUF;
  41   2                      if (ch > 127)
  42   2                      {count3=0;
  43   3                      inbuf1[count3]=ch;
  44   3                      checksum= ch-128;
  45   3      
  46   3                      }
  47   2                      else
  48   2                      {count3 ++;
  49   3                      inbuf1[count3]=ch;
  50   3                      checksum ^=ch;
  51   3                      //if ((coun3 ==(INBUF_LEN-1))&&(checksum))
  52   3                      //{read_flag=1;    //如果川口接收的数据达到inbuf_len
  53   3                      //且教研没错,就职位取数标志
  54   3                      //}
  55   3                      }
C51 COMPILER V8.02   TEST0C                                                                11/24/2006 12:47:38 PAGE 2   

  56   2                      }
  57   1                      }
  58                            main()
  59                            {init_serialcomm(); //初始化川口
  60   1                        while(1)
  61   1                        {if (read_flag)  //如果取数标志已经置位 ,就将读到的数据从川口发出
  62   2                        {read_flag=0;         //取数标志清0
  63   3                        send_string_com(inbuf1,INBUF_LEN);
  64   3                        }
  65   2                        }
  66   1                        }
  67          
  68          
  69          
  70          
  71          
  72          
  73          
  74          
  75          
  76          
  77          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    152    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      6       6
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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