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

📄 myserialport.lst

📁 单片机初学者最后的资料
💻 LST
字号:
C51 COMPILER V7.50   MYSERIALPORT                                                          12/08/2006 10:33:56 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE MYSERIALPORT
OBJECT MODULE PLACED IN MySerialPort.OBJ
COMPILER INVOKED BY: C:\Program Files\Keil\C51\BIN\C51.EXE MySerialPort.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg51.h>
   2          #include <stdio.h>
   3          #include <string.h>
   4          
   5          typedef unsigned char   BYTE;
   6          typedef unsigned short   WORD;
   7          typedef unsigned long   DWORD;
   8          
   9          #define MSB(word)      (BYTE)(((WORD)(word) >> 8) & 0xff)
  10          #define LSB(word)      (BYTE)((WORD)(word) & 0xff)
  11          
  12          sbit P3_6=P3^6;          //HM628128写使能
  13          sbit P3_7=P3^7;         //HM628128读使能
  14          sbit P3_2=P3^2;         //计算机发送,单片机接收的标志
  15          sbit P3_3=P3^3;         //单片机发送,计算机接收的标志
  16          sbit P3_4=P3^4; //最高位
  17          
  18          bit SendToPc=0; //读到计算机中的标志位
  19          
  20          void main(void)    //主程序
  21          {
  22   1              unsigned int count3;
  23   1              DWORD t;
  24   1              unsigned int i;
  25   1              unsigned int j;
  26   1              SCON=0x50;                      //串口模式1,允许接收
  27   1              TMOD|=0x20;                     //初始化T1为定时功能,模式2
  28   1              PCON|=0x80;                     //设置SMOD=1
  29   1              TL1=0xF4;                       //波特率4800bit/s,初值
  30   1              TH1=0xF4;
  31   1              IE|=0x90;                       //中断
  32   1              TR1=1;                          //启动定时器
  33   1              P3_6=1;                  //write enable
  34   1              P3_7=1;                  //read enable
  35   1              count3=0;
  36   1              t=0;
  37   1              SendToPc=1;
  38   1              while(1)
  39   1              {
  40   2                      while(P3_2==0)           //计算机发送,单片机接收
  41   2                      {
  42   3                              if(RI)                  //如果单片机接收到数据
  43   3                              {
  44   4                                      
  45   4                                      P0=LSB(count3);
  46   4                                      P2=MSB(count3);
  47   4                                      if(t<=0xFFFF)
  48   4                                      {
  49   5                                              P3_4=0;    //最高位
  50   5                                      }       
  51   4                                      else
  52   4                                      {
  53   5                                              P3_4=1;
  54   5                                      }
  55   4                                      count3++;  //计数递增
C51 COMPILER V7.50   MYSERIALPORT                                                          12/08/2006 10:33:56 PAGE 2   

  56   4                                      t++;
  57   4                                      
  58   4                                      P3_6=0;           //HM628128写使能
  59   4                                      RI=0;             //RI清零
  60   4                                      P1=SBUF;        //将计算机发送的数据写入P1口
  61   4                                      P3_6=1;            //HM628128禁止写
  62   4                              }
  63   3      
  64   3                              SendToPc=1;
  65   3                      }
  66   2              
  67   2                      while(P3_3==0 & SendToPc==1)  //单片机发送,计算机接收
  68   2                      {
  69   3                              for (j=0;j<=0xFF;j++)           //读0000H~FFFFH
  70   3                              {
  71   4                                      P3_4=0;
  72   4                                      for(i=0;i<=0xFF;i++)
  73   4                                      {
  74   5                                              P0=i;
  75   5                                              P2=j;
  76   5                                              P3_7=0;                 //HM628128读使能
  77   5                                              SBUF=P1;           //将读到的数据写入SBUF,启动串行发送
  78   5                                              while(TI==0);  //等待发送完毕
  79   5                                              TI=0;              //TI清零
  80   5                                              P3_7=1;                 //HM628128禁止读
  81   5                                      }
  82   4                                      P3_7=1;
  83   4                              }
  84   3      
  85   3                              for (j=0;j<=0xFF;j++)      //读10000H~1FFFFH
  86   3                              {
  87   4                                      P3_4=1;
  88   4                                      for(i=0;i<=0xFF;i++)
  89   4                                      {
  90   5                                              P0=i;
  91   5                                              P2=j;
  92   5                                              P3_7=0;            //HM628128读使能
  93   5                                              SBUF=P1;                //将读到的数据写入SBUF,启动串行发送
  94   5                                              while(TI==0);   //等待发送完毕
  95   5                                              TI=0;                    //TI清零
  96   5                                              P3_7=1;                 //HM628128禁止读
  97   5                                      }
  98   4                                      P3_7=1;
  99   4                              }
 100   3                              SendToPc=0;                      //读标志清零
 101   3                      }
 102   2              }
 103   1      }


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