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

📄 smg_on.lst

📁 EasyStudy51-II单片机开发系统的库函数源代码.包含了EasyStudy51-II硬件的全部驱动.
💻 LST
字号:
C51 COMPILER V7.06   SMG_ON                                                                11/06/2008 01:10:20 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE SMG_ON
OBJECT MODULE PLACED IN smg_on.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE c51\smg_on.c INCDIR(.\Target\INC\) DEBUG OBJECTEXTEND PRINT(.\smg_on.lst) O
                    -BJECT(smg_on.obj)

stmt level    source

   1          
   2          
   3          
   4          #include "AT89X52.h"
   5          #include "ES51_II.h"
   6          #include "ES51_II_LIB.h"
   7          
   8          //      不带小数点                                                      0    1    2    3    4    5    6    7    8    9    a    b    c    d    e    f
   9          unsigned char code SMG_TABLE[16]        ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0
             -x86,0x8e};
  10          
  11          //      带小数点                                                        0    1    2    3    4    5    6    7    8    9    a    b    c    d    e    f
  12          unsigned char code SMG_TABLE_DP[16]     ={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x08,0x03,0x46,0x2
             -1,0x06,0x0e};
  13          
  14          //      数码管显示缓冲区;
  15          unsigned char SMG_BUFF[4];
  16          
  17          //      开启数码管显示;
  18          //              用定时器定时刷新实现数码管的动态显示,所以必须使总中断允许(EA = 1);
  19          //              此函数中并没有使EA=1,需在其他地方加上此条语句,否则数码管不会显示;
  20          void SMGDisplayON(void)
  21          {
  22   1              TMOD &= 0x0f;                   //      保持T0状态不变
  23   1              TMOD |= 0x10;                   //      定时器1方式1
  24   1              TH1 = 0xEC;                             //      定时初值
  25   1              TL1 = 0x78;                             //      一次定时5ms
  26   1              ET1 = 1;                                //      开定时器1溢出中断
  27   1              //EA = 1;                               //      开总中断
  28   1              TR1 = 1;                                //      启动定时器1     
  29   1      }
  30          
  31          //      定时器1刷新数码管显示;5ms秒刷新一次;一秒钟,每个数码管被刷新50次;
  32          //      假定时钟为12MHZ
  33          void T1RefurbishSMG(void) interrupt 3 //using 1
  34          {       
  35   1              //      进入溢出中断时,变量值代表当前应刷新那个数码管
  36   1              //static unsigned char SMGENNUB = 0;
  37   1              static unsigned char SMG_Nub = 0;
  38   1      
  39   1              TH1=0xEC;                                                               //      重装定时初值
  40   1              TL1=0x78;
  41   1      
  42   1              SMGEN |= 0xf0;                                                  //      数码管片选全部禁止
  43   1              SEGPORT = SMG_BUFF[SMG_Nub];                    //      放置数据
  44   1              SMGEN &= ~( bmSMGEN1 << SMG_Nub );              //      选择一个数码管 
  45   1              if( ++SMG_Nub > 3)
  46   1                      SMG_Nub = 0;
  47   1      }
  48          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     82    ----
C51 COMPILER V7.06   SMG_ON                                                                11/06/2008 01:10:20 PAGE 2   

   CONSTANT SIZE    =     32    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      5    ----
   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 + -