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

📄 key.lst

📁 键盘应用程序
💻 LST
字号:
C51 COMPILER V8.08   KEY                                                                   08/24/2008 22:52:04 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN key.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE key.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg51.h>
   2          #include<intrins.h>
   3          sbit P34=0xb4;
   4          sbit P35=0xb5;
   5          //定义显示代码
   6          char code disp[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
   7          //声明获得键码函数
   8          unsigned char get_char(void);
   9          //声明延时函数
  10          void delay(void);
  11          //声明显示函数
  12          void display(char  dispchar);
  13          
  14          main(){
  15   1      unsigned char keybuf,count;
  16   1      SCON=0;
  17   1      ES=0;
  18   1      EA=0;
  19   1      count=0;
  20   1      
  21   1      while(1) 
  22   1      {
  23   2      keybuf=get_char();
  24   2      
  25   2      display(keybuf);
  26   2      
  27   2      }
  28   1      }
  29          
  30          unsigned char get_char(void){
  31   1      unsigned char column=0,mask=0x00,key_code;
  32   1      TI=0;
  33   1      SBUF=mask;
  34   1      while(TI==0);
  35   1      while(1){
  36   2      while((P34&P35)!=0);
  37   2      delay();
  38   2      if((P34&P35)!=0) continue;
  39   2      else break;
  40   2      }
  41   1      mask=0xfe;
  42   1      while(1) 
  43   1      {
  44   2      TI=0;
  45   2      SBUF=mask;
  46   2      while(TI==0);
  47   2      if((P34&P35)!=0)
  48   2      {
  49   3      mask=_crol_(mask,1);
  50   3      column++;
  51   3      if(column>=8) column=0;
  52   3      continue;
  53   3      }
  54   2      else break;
  55   2      }
C51 COMPILER V8.08   KEY                                                                   08/24/2008 22:52:04 PAGE 2   

  56   1      if(P34==0) key_code=column;
  57   1      else key_code=8+column;
  58   1      return(key_code);
  59   1      
  60   1      }
  61          
  62          void delay(void){
  63   1      unsigned int i=0;
  64   1      while(i--);
  65   1      }
  66          
  67          void display(char  dispchar)
  68          {
  69   1      P1=disp[dispchar];
  70   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    142    ----
   CONSTANT SIZE    =     16    ----
   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 + -