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

📄 disp.lst

📁 TLC549串行ADC 用51开发
💻 LST
字号:
C51 COMPILER V7.20   DISP                                                                  07/09/2008 11:03:12 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE DISP
OBJECT MODULE PLACED IN Disp.OBJ
COMPILER INVOKED BY: D:\keilc51\keil\C51\BIN\C51.EXE Disp.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*
   2                  Disp.c
   3                  数码管扫描显示驱动程序
   4          */
   5          
   6          
   7          #include "reg51.h"
   8          #include "absacc.h"
   9          #include <Disp.h>
  10          
  11          
  12          //定义显示缓冲区(由定时中断程序自动扫描)
  13          unsigned char DispBuf[8];
  14          
  15          
  16          /*
  17          函数:T1INTSVC()
  18          功能:定时器T1的中断服务函数
  19          */
  20          void T1INTSVC() interrupt 3
  21          {
  22   1              code unsigned char com[] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
  23   1              static unsigned char n = 0;
  24   1              TR1 = 0;
  25   1              TH1 = 0xFC;
  26   1              TL1 = 0x66;
  27   1              TR1 = 1;
  28   1              P1 = 0xFF;              //暂停显示
  29   1              XBYTE[0xE800] = ~DispBuf[n];    //更新扫描数据
  30   1              P1 = ~com[n];   //重新显示
  31   1              n++;
  32   1              n &= 0x07;
  33   1      }
  34          
  35          
  36          /*
  37          函数:DispClear()
  38          功能:清除数码管的所有显示
  39          */
  40          void DispClear()
  41          {
  42   1              unsigned char i;
  43   1              for ( i=0; i<8; i++ )
  44   1              {
  45   2                      DispBuf[i] = 0x00;
  46   2              }
  47   1      }
  48          
  49          
  50          /*
  51          函数:DispChar()
  52          功能:在数码管上显示字符
  53          参数:
  54                  x:数码管的坐标位置(0~7)
  55                  c:要显示的字符(仅限十进制数字和减号)
C51 COMPILER V7.20   DISP                                                                  07/09/2008 11:03:12 PAGE 2   

  56          */
  57          void DispChar(unsigned char x, unsigned char c)
  58          {
  59   1              //0123456789的数码管字型数据
  60   1              code unsigned char Tab[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
  61   1              x &= 0x07;
  62   1              x = 7 - x;
  63   1              if ( c == '-' )
  64   1              {
  65   2                      DispBuf[x] = 0x40;
  66   2              }
  67   1              else if ( ( c >= '0' ) && ( c <= '9' ) )
  68   1              {
  69   2                      DispBuf[x] = Tab[c-'0'];
  70   2              }
  71   1      }
  72          
  73          
  74          /*
  75          函数:DispStr()
  76          功能:在数码管上显示字符串
  77          参数:
  78                  x:数码管的坐标位置(0~7)
  79                  *s:要显示的字符串(字符仅限十进制数字和减号)
  80          */
  81          void DispStr(unsigned char x, unsigned char *s)
  82          {
  83   1              unsigned char c;
  84   1              for (;;)
  85   1              {
  86   2                      c = *s;
  87   2                      if ( c == '\0' ) break;
  88   2                      s++;
  89   2                      DispChar(x,c);
  90   2                      x++;
  91   2              }
  92   1      }
  93          
  94          
  95          /*
  96          函数:DispDotOn()
  97          功能:显示指定位的小数点
  98          参数:x为数码管坐标
  99          */
 100          void DispDotOn(unsigned char x)
 101          {
 102   1              DispBuf[7-x] |= 0x80;
 103   1      }
 104          
 105          
 106          /*
 107          函数:DispInit()
 108          功能:数码管扫描显示初始化
 109          */
 110          void DispInit()
 111          {
 112   1              DispClear();
 113   1              EA = 0;
 114   1              TMOD &= 0x0F;
 115   1              TMOD |= 0x10;
 116   1              TH1 = 0xFC;
 117   1              TL1 = 0x66;
C51 COMPILER V7.20   DISP                                                                  07/09/2008 11:03:12 PAGE 3   

 118   1              TR1 = 1;
 119   1              ET1 = 1;
 120   1              EA = 1;
 121   1      }
 122          


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