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

📄 8279.lst

📁 单片机系统中基于8279的键盘扫描程序及显示程序。
💻 LST
字号:
C51 COMPILER V7.50   8279                                                                  05/17/2005 21:25:08 PAGE 1   


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

line level    source

   1          #include<intrins.h>
   2          #include "8279.h"
   3          /************************************************************************/
   4          //ch: the number 0~9  position:the position in led line 0~7
   5          /************************************************************************/
   6          void Display(uchar ch,uchar position)
   7          {
   8   1              ComPort = 0x80 + position;
   9   1              DataPort = DisplayTable[ch];            
  10   1      }
  11          /************************************************************************/
  12          /************************************************************************/
  13          void ClearLed( void )
  14          {
  15   1              ComPort = 0xdd;                       /*总清除命令*/
  16   1      //      do{
  17   1      //              ACC=ComPort;
  18   1      //      }while(ClearFlag==1);              /*等待清除结束*/
  19   1      }
  20          /************************************************************************/
  21          /************************************************************************/
  22          bit KeyPress( void )
  23          {
  24   1              uchar temp;
  25   1              temp = ComPort;
  26   1              return ((ComPort&0x0f) == 0) ? 0 : 1;
  27   1      }
  28          /************************************************************************/
  29          /************************************************************************/
  30          uchar GetKeyCode( void )
  31          {
  32   1              uchar tempData = 0x00;
  33   1              ComPort = 0x2a;
  34   1              if( KeyPress())
  35   1              {
  36   2                      ComPort = 0x40;
  37   2                      tempData = DataPort;
  38   2                      tempData &= 0x3f; 
  39   2                      
  40   2                      return tempData;                
  41   2              }
  42   1              return 0x00;
  43   1      }
  44          /************************************************************************/
  45          /************************************************************************/
  46          void Init8279Dis( void )
  47          {
  48   1              ComPort = 0xdd;
  49   1              ComPort = 0x00;
  50   1      }
  51          /************************************************************************/
  52          /************************************************************************/
  53          uchar GetKeyNum( uchar keyCode)
  54          {
  55   1              uchar i;
C51 COMPILER V7.50   8279                                                                  05/17/2005 21:25:08 PAGE 2   

  56   1              for( i = 0; i < 10; i++)
  57   1              {
  58   2                      if( keyCode == KeyCodeTable[i])
  59   2                              return i;
  60   2              }
  61   1              
  62   1              return 0xff;
  63   1      }
  64          /************************************************************************/
  65          /************************************************************************/
  66          
  67          void Delay( uint t)
  68          {
  69   1              while( --t);
  70   1      }
  71          
  72          void main( void )
  73          {
  74   1              uchar i = 0;
  75   1              uchar tmp = 0;
  76   1              ClearLed();
  77   1              while( 1 )
  78   1              {
  79   2                  
  80   2                              tmp = GetKeyCode();
  81   2                              if( tmp != 0x00)
  82   2                              {
  83   3                                      tmp = GetKeyNum( tmp );
  84   3                                      Display( tmp ,0);
  85   3                              }
  86   2                              
  87   2              }
  88   1      }
  89          /************************************************************************/


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    135    ----
   CONSTANT SIZE    =     26    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       2
   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 + -