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

📄 s_communication_2.lst

📁 AT89S52单片机串口发送接收程序
💻 LST
字号:
C51 COMPILER V8.05a   S_COMMUNICATION_2                                                    02/13/2009 12:10:52 PAGE 1   


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

line level    source

   1          #include<reg52.h>
   2          #define uint unsigned int
   3          #define uchar unsigned char
   4          #include<LCD_1602.h>
   5          uchar num;
   6          sbit s1=P3^2;
   7          sbit judge_p30=P3^0;
   8          
   9          void initial();
  10          void txd(uchar temp);
  11          void rxd();
  12          void keyscan();
  13          void delay(uint z);
  14          void main()
  15          {
  16   1              initial();
  17   1              initial_1602();
  18   1              display_1602(0,1,0,'S');
  19   1              display_1602(0,1,1,'e');
  20   1              display_1602(0,1,2,'n');
  21   1              display_1602(0,1,3,'d');
  22   1              display_1602(0,1,4,':');
  23   1      
  24   1              display_1602(0,2,0,'R');
  25   1              display_1602(0,2,1,'e');
  26   1              display_1602(0,2,2,'c');
  27   1              display_1602(0,2,3,'e');
  28   1              display_1602(0,2,4,'i');
  29   1              display_1602(0,2,5,'v');
  30   1              display_1602(0,2,6,'e');
  31   1              display_1602(0,2,7,':');
  32   1              while(1) 
  33   1              {
  34   2                      keyscan();
  35   2                      if(judge_p30==0) rxd();
  36   2              }
  37   1      }
  38          void initial()
  39          {
  40   1              TMOD=0x20;        //T1工作方式2
  41   1              TH1=0xfd;         //波特率9600bps
  42   1              TL1=0xfd;
  43   1              TR1=1;
  44   1      
  45   1              SM0=0;  SM1=1;   //设置方式1 8位异步收发 波特率可变
  46   1              REN=1;               //允许串行口接收
  47   1      }
  48          
  49          void keyscan()
  50          {
  51   1              if(s1==0)
  52   1              {
  53   2                      delay(2);
  54   2                      if(s1==0)
  55   2                      {
C51 COMPILER V8.05a   S_COMMUNICATION_2                                                    02/13/2009 12:10:52 PAGE 2   

  56   3                              while(!s1);
  57   3                              num++;
  58   3                              txd(num);            //发送数据
  59   3                              if(num==255) num=0;             
  60   3                      }       
  61   2              }
  62   1      }
  63          
  64          void txd(uchar temp)
  65          {
  66   1              display_1602(1,1,8,temp);
  67   1              SBUF=temp;                         //发送数据
  68   1              while(TI==0);
  69   1              TI=0;
  70   1      }
  71          
  72          void rxd()
  73          {
  74   1              uchar temp;
  75   1              while(RI==0);
  76   1              RI=0;                   
  77   1              temp=SBUF;              //接收数据
  78   1              display_1602(1,2,8,temp);
  79   1      }
  80          
  81          void delay(uint z)
  82          {
  83   1              uint x,y;
  84   1              for(x=z;x>0;x--)
  85   1                      for(y=100;y>0;y--);
  86   1      }
  87          


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