text1.lst

来自「单片机快速入门原程序」· LST 代码 · 共 73 行

LST
73
字号
C51 COMPILER V7.50   TEXT1                                                                 06/13/2006 00:17:04 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg51.h>
   2          #include<stdio.h>
   3          sbit P32 = 0xB2;
   4          sbit P10 = 0x90;
   5          xdata unsigned char RecBuffer[8]=0;/* 16个字节的环形缓冲区*/
   6          unsigned char RecBufferIndex=0;/* 16个字节的环形缓冲区指针*/
   7          unsigned char nRxIndex=0;/* 接收单个字符的位指针*/
   8          unsigned char nRxBit=0;/* 单个字符数据位采样值*/
   9          main()
  10          {       
  11   1              TMOD=0x01;      /* 定时器0工作在方式1 */
  12   1              EX0=1;          /* 外部中断0允许 */
  13   1              EA=1;           /* 全局中断允许 */
  14   1              nRxIndex=0x00;
  15   1              while(1);
  16   1      }
  17          
  18          void int0() interrupt 0 using 0
  19          {       EX0=0;          /* 外部中断0禁止 */
  20   1              TH0=0xFF;       /* 写入计数初值到TH0 */
  21   1              TL0=0x63;       /* 写入计数初值到TL0 */
  22   1                                      /* 1.5T后溢出 */
  23   1              TR0=1;          /* 定时器0准备开始 */
  24   1              TF0=0;          /* 定时器0中断标志位清0 */
  25   1              ET0=1;          /* 定时器0中断允许*/
  26   1      }
  27          
  28          
  29          void Timer0_Overflow() interrupt 1 using 0
  30          {       nRxBit=P32; /* 对管脚P3.2采样 */
  31   1           P10=~P10;       /* P10端口电平信号取反 */
  32   1              RecBuffer[RecBufferIndex]|=(nRxBit<<nRxIndex);
  33   1              TH0=0xFF;       /* 写入计数初值到TH0 */
  34   1              TL0=0x97;       /* 写入计数初值到TL0 */
  35   1                                      /* 1T后溢出 */  
  36   1              TF0=0;          /* 定时器0中断标志位清0 */
  37   1              nRxIndex++;
  38   1      if(nRxIndex==8)
  39   1              {ET0=0;         /*关闭定时器0中断*/
  40   2               EX0=1;         /* 外部中断0允许 */
  41   2              nRxIndex=0;     /* 接收下一个数据的D0位 */
  42   2              RecBufferIndex++;
  43   2              if(RecBufferIndex==8) 
  44   2                      RecBufferIndex =0;/* 环形缓冲区存满后从头存放 */
  45   2              }
  46   1      }
  47          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    115    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =      8    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      3    ----
C51 COMPILER V7.50   TEXT1                                                                 06/13/2006 00:17:04 PAGE 2   

   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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