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

📄 ext0led.lst

📁 压缩包中包括多个常用的汇编
💻 LST
字号:
C51 COMPILER V6.12  EXT0LED                                                                09/11/2005 10:26:55 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE EXT0LED
OBJECT MODULE PLACED IN E:\C51PRJ\EXT0LED\EXT0LED.OBJ
COMPILER INVOKED BY: d:\keil\c51\BIN\C51.EXE E:\C51PRJ\EXT0LED\EXT0LED.C DB SB OE

stmt level    source

   1          /****************************************************************************/
   2          /*                                                                          */
   3          /*                Copyright (c) 2005, 老树工作室                            */
   4          /*                     All rights reserved.                                 */
   5          /*                                                                          */
   6          /*      http://www.saintone.net      Email:hxm0902@163.com                  */
   7          /*      QQ:112431149                 Tel:010-62966630                       */
   8          /*                                                                          */
   9          /****************************************************************************/
  10          /****************************************************************************/
  11          /* 文件名:ext0led.c                                                        */
  12          /* 版  本:Version 1.0                                                      */
  13          /* 描  述:用外部中断0方式实现定时器控制的流水灯实验代码                    */
  14          /*                                                                          */
  15          /* 作  者:spot                                                             */
  16          /* 函  数:                                                                 */
  17          /*         time0_over_int                                                   */
  18          /*         ext0_int_proc                                                    */
  19          /*         system_init                                                      */
  20          /*                                                                          */
  21          /* 历史记录:                                                               */
  22          /*  spot          2005-06-25     Creat Inital version. (Version 1.0)        */
  23          /****************************************************************************/
  24          
  25          #include <reg52.h>
  26          #include <absacc.h>
  27          #include <intrins.h>
  28          
  29          typedef unsigned char u_char;
  30          typedef unsigned int  u_int;
  31          
  32          /* 函数声明 */
  33          void time0_over_int(void); /* 定时器0中断服务程序 ,使用第2组寄存器  */
  34          void ext0_int_proc(void);  /* 外部中断0中断服务程序,使用第2组寄存器 */
  35          void system_init(void);    /* 系统上电初始化 */
  36          /* 声明结束 */
  37          
  38          u_int   int_times;  /* 定时计数 */
  39          bit     timer_int;  /* 定时标志 */
  40          u_int  loopcount;
  41          u_char set_ledf = 0x01;
  42          u_char set_ledb = 0x80;
  43          
  44          /* 定时器0中断服务程序 ,使用第2组寄存器 */
  45          void time0_over_int(void) interrupt 1 using 2
  46          {
  47   1          TF0=0;
  48   1          int_times++;
  49   1          if (int_times == 2000)
  50   1          {
  51   2              timer_int = 1;
  52   2              int_times = 0;
  53   2          }
  54   1      }
  55          
C51 COMPILER V6.12  EXT0LED                                                                09/11/2005 10:26:55 PAGE 2   

  56          /* 外部中断0中断服务程序,使用第2组寄存器 */
  57          void ext0_int_proc(void) interrupt 0 using 2
  58          {
  59   1          TR0  = 1;       /* 启动 T/C0 计数  */
  60   1      }
  61          
  62          /* 系统上电初始化 */
  63          void system_init(void)
  64          {
  65   1          EA = 0;
  66   1          timer_int=0;
  67   1          int_times=0;
  68   1          P1 = 0xFF;
  69   1      
  70   1          IT0  = 0;       /* 外部中断0低电平触发 */
  71   1      
  72   1          TMOD = 0x02;    /* T/C0 方式2 定时 */
  73   1          TH0  = 20;      /* 预置计数初值    */
  74   1          TL0  = 20;
  75   1          TR0  = 0;       /* 停止T/C0计数    */
  76   1      
  77   1          IE   = 0x83;    /* 外部中断0,定时器0,CPU开中断 */
  78   1      }
  79          
  80          main()
  81          {
  82   1          system_init();
  83   1          while(1)
  84   1          {
  85   2      
  86   2              if (timer_int == 1)        /* 500ms 定时到 */
  87   2              {
  88   3                  timer_int = 0;
  89   3                  loopcount++;
  90   3      
  91   3                  if (loopcount <= 8 )
  92   3                  {
  93   4                      P1 = set_ledf;
  94   4                      set_ledf <<= 1;
  95   4                      if (set_ledf == 0x00)
  96   4                          set_ledf = 0x01;
  97   4                  }
  98   3      
  99   3                  if (loopcount > 8)
 100   3                  {
 101   4                      P1 = set_ledb;
 102   4                      set_ledb >>= 1;
 103   4                      if (set_ledb == 0x00)
 104   4                      {
 105   5                          set_ledb = 0x80;
 106   5                          loopcount = 0;
 107   5                          TR0  = 0;       /* 停止T/C0计数 */
 108   5                      }
 109   4                  }
 110   3              }
 111   2          }
 112   1      }
C51 COMPILER V6.12  EXT0LED                                                                09/11/2005 10:26:55 PAGE 3   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
T0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
AC . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D6H  1
T1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
T2 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0090H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
IE . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1
EXF2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CEH  1
RD . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
ES . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ACH  1
IP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B8H  1
RI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
INT0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
CY . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D7H  1
TI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
INT1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
u_int. . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
PS . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BCH  1
T2EX . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0091H  1
OV . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D2H  1
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
C_T2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C9H  1
WR . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
RCLK . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CDH  1
time0_over_int . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
TCLK . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CCH  1
SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
TMOD . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0089H  1
TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
IE0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0089H  1
IE1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008BH  1
system_init. . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
CP_RL2 . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C8H  1
set_ledb . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0000H  1
ext0_int_proc. . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
ET0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A9H  1
ET1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ABH  1
TF0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008DH  1
set_ledf . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0001H  1
ET2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ADH  1
TF1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008FH  1
TF2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CFH  1
RB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009AH  1
TH0. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008CH  1
EX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A8H  1
IT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0088H  1
TB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009BH  1
EX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AAH  1
IT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008AH  1
P. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D0H  1
SM0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009FH  1
TL0. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008AH  1
timer_int. . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      0000H  1
SM1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009EH  1
int_times. . . . . . . . . . . . . . .  PUBLIC   DATA   U_INT    0002H  2
SM2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009DH  1
C51 COMPILER V6.12  EXT0LED                                                                09/11/2005 10:26:55 PAGE 4   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


PT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B9H  1
PT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BBH  1
RS0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D3H  1
PT2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BDH  1
TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1
RS1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D4H  1
TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
TR2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CAH  1
PX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B8H  1
PX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BAH  1
EXEN2. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CBH  1
REN. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009CH  1
T2CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C8H  1
loopcount. . . . . . . . . . . . . . .  PUBLIC   DATA   U_INT    0004H  2
RXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
TXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
u_char . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_CHAR   -----  1
F0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D5H  1
PSW. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D0H  1


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