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

📄 r.lst

📁 单片机之间的通讯(多个) 可以设定选择接收端 KEIL C 开发平台 PROTEUS 测试过 附有proteus 原理图
💻 LST
字号:
C51 COMPILER V8.02   R                                                                     08/15/2008 17:34:16 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE R
OBJECT MODULE PLACED IN R.OBJ
COMPILER INVOKED BY: E:\KeilC应用程序\C51\BIN\C51.EXE R.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg51.h> 
   2          #include <string.h> 
   3          #include "lcd.h"
   4          
   5          #define INBUF_LEN 4 //数据长度 
   6          
   7          unsigned char inbuf1[INBUF_LEN]; 
   8          unsigned char checksum,count3; 
   9          bit read_flag= 0 ; 
  10          
  11          void init_serialcomm( void ) 
  12          { 
  13   1      SCON = 0x50 ; //SCON: serail mode 1, 8-bit UART, enable ucvr  字串8 
  14   1      TMOD |= 0x20 ; //TMOD: timer 1, mode 2, 8-bit reload 
  15   1      PCON |= 0x80 ; //SMOD=1; 
  16   1      TH1 = 0xF4 ; //Baud:4800 fosc=11.0592MHz 
  17   1      IE |= 0x90 ; //Enable Serial Interrupt 
  18   1      TR1 = 1 ; // timer 1 run 
  19   1      // TI=1; 
  20   1      } 
  21          
  22          //向串口发送一个字符 
  23          void send_char_com( unsigned char ch) 
  24          { 
  25   1      SBUF=ch; 
  26   1      while (TI== 0 ); 
  27   1      TI= 0 ; 
  28   1      } 
  29          
  30          //向串口发送一个字符串,strlen为该字符串长度 
  31          void send_string_com( unsigned char *str, unsigned int strlen) 
  32          { 
  33   1      unsigned int k= 0 ; 
  34   1      do 
  35   1      { 
  36   2      send_char_com(*(str + k)); 
  37   2      k++; 
  38   2      } while (k < strlen); 
  39   1      }  
  40          //字
  41          
  42          
  43          
  44          
  45          //串口接收中断函数 
  46          void serial () interrupt 4 using 3 
  47          { 
  48   1      if (RI) 
  49   1      { 
  50   2      unsigned char ch; 
  51   2      RI = 0 ; 
  52   2      ch=SBUF; 
  53   2      if (ch> 127 ) 
  54   2      { 
  55   3      count3= 0 ; 
C51 COMPILER V8.02   R                                                                     08/15/2008 17:34:16 PAGE 2   

  56   3      inbuf1[count3]=ch; 
  57   3      checksum= ch- 128 ; 
  58   3      } 
  59   2      else 
  60   2      { 
  61   3      count3++; 
  62   3      inbuf1[count3]=ch; 
  63   3      checksum ^= ch; 
  64   3      if ( (count3==(INBUF_LEN- 1 )) && (!checksum) ) 
  65   3      { 
  66   4      read_flag= 1 ; //如果串口接收的数据达到INBUF_LEN个,且校验没错, 
  67   4      //就置位取数标志 
  68   4      } 
  69   3      } 
  70   2      } 
  71   1      } 
  72          
  73          
  74          main() 
  75          { 
  76   1      init_LCD();
  77   1      clear_LCD();
  78   1      init_serialcomm(); //初始化串口 
  79   1      while ( 1 ) 
  80   1      { 
  81   2      //if (read_flag) //如果取数标志已置位,就将读到的数从串口发出 
  82   2      {//  字
  83   3      //read_flag= 0 ; //取数标志清0 
  84   3      //send_string_com(inbuf1,INBUF_LEN);
  85   3      clear_LCD();
  86   3      gotoxy(2,0); 
  87   3       display_LCD_string(inbuf1);
  88   3      } 
  89   2      } 
  90   1      
  91   1      } 


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    172    ----
   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 + -