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

📄 text1.lst

📁 单片机快速入门原程序
💻 LST
字号:
C51 COMPILER V7.50   TEXT1                                                                 05/24/2006 10:37:00 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          xdata unsigned char RecBuffer[8]=0;/* 16个字节的环形缓冲区*/
   5          unsigned char RecBufferIndex=0;/* 16个字节的环形缓冲区指针*/
   6          unsigned char nRxIndex=0;/* 接收单个字符的位指针*/
   7          unsigned char nRxBit=0;/* 单个字符数据位采样值*/
   8          main()
   9          {       
  10   1              TMOD=0x01;      /* 定时器0工作在方式1 */
  11   1              EX0=1;          /* 外部中断0允许 */
  12   1              EA=1;           /* 全局中断允许 */
  13   1              nRxIndex=0x00;
  14   1              while(1);
  15   1      }
  16          
  17          void Timer0_Overflow() interrupt 1 using 0
  18          {       nRxBit=P32; /* 对管脚P3.2采样 */
  19   1              RecBuffer[RecBufferIndex]|=(nRxBit<<nRxIndex);
  20   1              TH0=0xFF;       /* 写入计数初值到TH0 */
  21   1              TL0=0x97;       /* 写入计数初值到TL0 */
  22   1                                      /* 1T后溢出 */  
  23   1              TF0=0;          /* 定时器0中断标志位清0 */
  24   1              nRxIndex++;
  25   1      if(nRxIndex==8)
  26   1              {ET0=0;         /*关闭定时器0中断*/
  27   2               EX0=1;         /* 外部中断0允许 */
  28   2              nRxIndex=0;     /* 接收下一个数据的D0位 */
  29   2              RecBufferIndex++;
  30   2              if(RecBufferIndex==8) 
  31   2                      RecBufferIndex =0;/* 环形缓冲区存满后从头存放 */
  32   2              }
  33   1      
  34   1      }
  35          
  36          void int0() interrupt 0 using 0
  37          {       EX0=0;          /* 外部中断0禁止 */
  38   1              TH0=0xFF;       /* 写入计数初值到TH0 */
  39   1              TL0=0x63;       /* 写入计数初值到TL0 */
  40   1                                      /* 1.5T后溢出 */
  41   1              TR0=1;          /* 定时器0准备开始 */
  42   1              TF0=0;          /* 定时器0中断标志位清0 */
  43   1              ET0=1;          /* 定时器0中断允许*/
  44   1      
  45   1      }
  46          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    113    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =      8    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      3    ----
   IDATA SIZE       =   ----    ----
C51 COMPILER V7.50   TEXT1                                                                 05/24/2006 10:37:00 PAGE 2   

   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 + -