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

📄 amc.lst

📁 3000TB51配套实验例程 1八段数码管显示实验 等
💻 LST
字号:
C51 COMPILER V7.07   AMC                                                                   06/21/2005 17:14:07 PAGE 1   


C51 COMPILER V7.07, COMPILATION OF MODULE AMC
OBJECT MODULE PLACED IN amc.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE amc.c DEBUG OBJECTEXTEND

stmt level    source

   1          /* “验证式”实验十三  脉冲计数(定时/记数实验) */
   2          #include <reg51.h>
   3          #include <absacc.h>
   4          #define LEDLen 6
   5          #define mode 0x03
   6          #define CAddr XBYTE[0xe100]/* 控制字地址 */
   7          #define OUTBIT XBYTE[0xe101]/*  位控制口 */
   8          #define CLK164 XBYTE[0xe102]/* 段控制口(接164时钟位) */
   9          #define DAT164 XBYTE[0xe102] /* 段控制口(接164数据位) */
  10          #define IN     XBYTE[0xe103] /* 键盘读入口 */
  11          
  12          
  13          unsigned char LEDBuf[LEDLen];  /* 显示缓冲 */
  14          code unsigned char LEDMAP[] = {  /* 八段管显示码 */
  15            0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07,
  16            0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71
  17          };
  18          
  19          void Delay(unsigned char CNT)
  20          {
  21   1        unsigned char i;
  22   1      
  23   1        while (CNT-- !=0)
  24   1          for (i=100; i !=0; i--);
  25   1      }
  26          
  27          void DisplayLED()
  28          {
  29   1        unsigned char i, j;
  30   1        unsigned char Pos;
  31   1        unsigned char LED;
  32   1      
  33   1        Pos = 0x20;  /* 从左边开始显示 */
  34   1        for (i = 0; i < LEDLen; i++) {
  35   2          OUTBIT = 0;     /* 关所有八段管 */
  36   2          LED = LEDBuf[i];
  37   2          for (j = 0; j < 8; j++) {   /* 送164 */
  38   3            if (LED & 0x80) DAT164 = 1; else DAT164 = 0;
  39   3            CLK164 = CLK164|0x02;
  40   3            CLK164 = CLK164&0xfd;
  41   3            LED <<= 1;
  42   3          }
  43   2          OUTBIT = Pos;  /* 显示一位八段管 */
  44   2          Delay(1);
  45   2          Pos >>= 1;     /* 显示下一位 */
  46   2        }
  47   1        OUTBIT = 0;     /* 关所有八段管 */
  48   1      }
  49          
  50          void main()
  51          {
  52   1         unsigned char i = 0,j;
  53   1         long int  n;
  54   1      
  55   1           CAddr = mode;
C51 COMPILER V7.07   AMC                                                                   06/21/2005 17:14:07 PAGE 2   

  56   1           TMOD = 0X05;
  57   1           TH0 = 0;
  58   1           TL0 = 0;
  59   1           TR0 = 1;
  60   1      
  61   1           while(1){
  62   2           n=TH0*256+TL0;
  63   2           for(j=0;j<6;j++)
  64   2             {
  65   3               LEDBuf[5-j]=LEDMAP[n%10];
  66   3               n=n/10;
  67   3             }
  68   2      
  69   2             DisplayLED();   /* 延时 */
  70   2             }
  71   1      }
  72          


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