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

📄 7ledshow.lst

📁 本程序利用51单片机实现对数码管的显示控制
💻 LST
字号:
C51 COMPILER V7.02b   7LEDSHOW                                                             12/10/2005 17:44:39 PAGE 1   


C51 COMPILER V7.02b, COMPILATION OF MODULE 7LEDSHOW
OBJECT MODULE PLACED IN 7LEDShow.OBJ
COMPILER INVOKED BY: E:\EDATOOLS\KEILC7.0\C51\BIN\C51.EXE 7LEDShow.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /****************************************/
   2          /* Copyright (c) 2004, 通信工程学院戴佳 */
   3          /* All rights reserved.                 */
   4          /* 作    者:戴佳                       */
   5          /****************************************/
   6          
   7          /* 4位8段数码管分别动态显示“1234”, */
   8          
   9          #include "7LEDShow.h"
  10          
  11          void main()
  12          {
  13   1              DIGPORT = 0;                                            // 关闭显示
  14   1              
  15   1              TMOD = 0x01;                                            // T0工作方式1
  16   1      
  17   1              /* 2ms 定时设置 */
  18   1              time0_tmp = 65536-time0*fosc/12;
  19   1              TH0 = (time0_tmp/256);
  20   1              TL0 = (time0_tmp%256);
  21   1              
  22   1              TR0 = 1;
  23   1              ET0 = 1;
  24   1              EA = 1;
  25   1              
  26   1              digbit = 0x01;                                          // 从第一位数码管开始
  27   1              wordbuf[3] = 4;
  28   1              wordbuf[2] = 3;
  29   1              wordbuf[1] = 2;
  30   1              wordbuf[0] = 1;
  31   1      
  32   1              while(1); 
  33   1          
  34   1      }
  35          
  36          /* 定时器0中断服务子程序,定时动态扫描显示 */
  37          void time0_int(void) interrupt 1
  38          {
  39   1              TH0 = (time0_tmp/256);
  40   1              TL0 = (time0_tmp%256);
  41   1              display();
  42   1      }
  43          
  44          
  45          /* 根据共阴极字型编码表获取0~9,A~B字型代码 */
  46          uchar getcode(uchar i)
  47          {
  48   1              uchar p;
  49   1              switch (i)
  50   1              {
  51   2                      case 0:  p=0x3f;        break;                  /* 0 */
  52   2                      case 1:  p=0x06;        break;                  /* 1 */
  53   2                      case 2:  p=0x5B;        break;                  /* 2 */
  54   2                      case 3:  p=0x4F;        break;                  /* 3 */
  55   2                      case 4:  p=0x66;        break;                  /* 4 */
C51 COMPILER V7.02b   7LEDSHOW                                                             12/10/2005 17:44:39 PAGE 2   

  56   2                      case 5:  p=0x6D;        break;                  /* 5 */
  57   2                      case 6:  p=0x7D;        break;                  /* 6 */
  58   2                      case 7:  p=0x07;        break;                  /* 7 */
  59   2                      case 8:  p=0x7F;        break;                  /* 8 */
  60   2                      case 9:  p=0x67;        break;                  /* 9 */
  61   2                      case 10: p=0x77;        break;                  /* A */
  62   2                      case 11: p=0x7C;        break;                  /* B */
  63   2                      case 12: p=0x39;        break;                  /* C */
  64   2                      case 13: p=0x5E;        break;                  /* D */
  65   2                      case 14: p=0x79;        break;                  /* E */
  66   2                      case 15: p=0x71;        break;                  /* F */
  67   2                      default:                        break;
  68   2              }
  69   1              return(p);
  70   1      }
  71          
  72          /* 显示函数 */
  73          void display(void)
  74          {
  75   1              uchar i;
  76   1              switch (digbit)
  77   1              {
  78   2                      case 1: i=0;break;
  79   2                      case 2: i=1;break;
  80   2                      case 4: i=2;break;
  81   2                      case 8: i=3;break;
  82   2                      default:        break;
  83   2              }
  84   1      
  85   1              DIGPORT = 0;                                            // 关闭显示
  86   1              WORDPORT = getcode(wordbuf[i]);         // 送字型码
  87   1              DIGPORT = digbit;                                       // 送字位码
  88   1              
  89   1              if (digbit<0x08)
  90   1                      digbit = digbit*2;
  91   1              else
  92   1                  digbit = 0x01;
  93   1      }


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