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

📄 main.lst

📁 KS0108 LCD液晶模块的驱动函数 包括PROTEUS仿真图
💻 LST
字号:
C51 COMPILER V7.50   MAIN                                                                  07/01/2008 15:53:05 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          
   2          /*
   3          ****************************************************
   4          
   5                          
   6          
   7          ****************************************************
   8          */
   9          
  10          
  11          #include <reg52.H>
  12          #include "Typedef.H"
  13          #include "UserDef.H"
  14          #include "Keypad.H"
  15          #include "Disp.H"
  16          #include "Cacu.H"
  17          
  18          
  19          /*  全局变量 */
  20          INT8U KeyVal = VK_NULL;         //按键值
  21          bit bDispRef = FALSE;           //信号灯:显示更新时间到
  22          bit bKeyScan = FALSE;           //信号灯:键盘扫描时间到
  23          
  24          /*  函数 */
  25          void KeyboardDeal(void);
  26          
  27          
  28          /***************************************
  29          
  30                  
  31          
  32          ****************************************/
  33          void TestDisplay(void)
  34                  {
  35   1              INT8U n;
  36   1      
  37   1              DispXYSet(0,0);
  38   1              DispFontSet(0);
  39   1              for (n=0;n<9;n++)
  40   1                      DispChr('0'+n);
  41   1      
  42   1              DispXYSet(1,0);
  43   1              DispFontSet(1);
  44   1              for (n=0;n<3;n++)
  45   1                      DispChr('a'+n);
  46   1      
  47   1              DispXYSet(2,0);
  48   1              DispFontSet(2);
  49   1              for (n=0;n<3;n++)
  50   1                      DispChr('A'+n);
  51   1      
  52   1              DispXYSet(5,0);
  53   1              DispHZ(0);
  54   1              DispHZ(1);
  55   1      
C51 COMPILER V7.50   MAIN                                                                  07/01/2008 15:53:05 PAGE 2   

  56   1              }
  57          
  58          
  59          /***************************************
  60          
  61                  
  62          
  63          ****************************************/
  64          void main(void)
  65                  {
  66   1      
  67   1              TMOD = 0x11;
  68   1              TH0 = (unsigned char)(KTDLY>>8);
  69   1              TL0 = (unsigned char)(KTDLY);
  70   1              TR0 = 1;
  71   1              
  72   1              ET0 = 1;
  73   1      
  74   1              EA = 1;
  75   1      
  76   1              DispInit();
  77   1      
  78   1              DispCls();
  79   1      //      DispIntRight(0);        //显示效果示范
  80   1      //      DispStr("Hello!",0,0,0);
  81   1      //      DispFloat(0,0,0,8);
  82   1      //      DispInt(123,0,0,4);
  83   1      
  84   1              TestDisplay();
  85   1              
  86   1              while(TRUE)
  87   1                      {
  88   2                      /* 键盘 */
  89   2              if (bKeyScan == TRUE)
  90   2                              {
  91   3                              bKeyScan = FALSE;
  92   3                              KeyboardDeal();
  93   3                              }
  94   2                      
  95   2                      /* 显示扫描刷新 */
  96   2                      if (bDispRef == TRUE)
  97   2                              {
  98   3                              bDispRef = FALSE;
  99   3                              DispRef();
 100   3                              }
 101   2                      }
 102   1              }
 103          
 104          
 105          
 106          
 107          /*************************************
 108          
 109                  定时器中断程序 
 110          
 111          **************************************/
 112          void int_t0(void) interrupt 1 using 1
 113                  {
 114   1              static int cnt = 0;
 115   1      
 116   1              TH0 = (unsigned char)(KTDLY>>8);
 117   1              TL0 = (unsigned char)(KTDLY);
C51 COMPILER V7.50   MAIN                                                                  07/01/2008 15:53:05 PAGE 3   

 118   1      
 119   1              cnt ++;
 120   1      
 121   1              /* 键盘扫描信号灯  */
 122   1              if ((cnt % T_KEYSCAN) == 0)
 123   1                      {
 124   2                      bKeyScan = TRUE;
 125   2                      }
 126   1      
 127   1              /* 显示扫描信号灯  */
 128   1              if ((cnt % T_DISPREF) == 0)
 129   1                      {
 130   2                      bDispRef = TRUE;
 131   2                      }
 132   1              }
 133          
 134          
 135          /*************************************
 136          
 137                  键盘处理 
 138          
 139          **************************************/
 140          void KeyboardDeal(void)
 141                  {
 142   1              INT8U n;
 143   1              float res;
 144   1      
 145   1              n = Keypad_GetKey();
 146   1              if (n != KeyVal)
 147   1                      {
 148   2                      KeyVal = n;
 149   2                      if (n != VK_NULL)
 150   2                              {
 151   3                              DispCls();
 152   3                              if (CacuInput(n,&res) == TRUE)
 153   3                                      {
 154   4                                      DispFloat(res,0,0,8);
 155   4                                      }
 156   3                              else
 157   3                                      {
 158   4      //                              DispStr("Error!",1,0,TRUE);
 159   4                                      }
 160   3                              }
 161   2                      }
 162   1              }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    272    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      3       6
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      2    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -