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

📄 keycheck.lst

📁 口若悬河口若悬河口若悬河口若悬河口若悬河口若悬河口若悬河口若悬河口若悬河
💻 LST
字号:
C51 COMPILER V8.02   KEYCHECK                                                              08/19/2008 10:15:47 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE KEYCHECK
OBJECT MODULE PLACED IN keycheck.OBJ
COMPILER INVOKED BY: C:\Keil\uv3\C51\BIN\C51.EXE keycheck.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg52.h>
   2          #define unchar unsigned char 
   3          unchar keystu=0xff;
   4          unchar sweep[]={0xef,0xdf,0xbf,0x7f};
   5          unchar seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
   6          bit t1s=0;
   7          bit t10ms=0;
   8          
   9          /********************T1初始化,10ms中断一次,16位重装方式****************************/
  10          void initt1()
  11          {
  12   1      TMOD=0x1f;
  13   1      TR1=1;
  14   1      TL1=0x54;
  15   1      TH1=0xd9;
  16   1      ET1=1;
  17   1      EA=1;
  18   1      }
  19          
  20          /****************键盘检测是否按下***********************/
  21          unchar keyin()
  22          {
  23   1      unchar k_1;
  24   1      k_1=(~P1)&0x0f;
  25   1      if(k_1!=0)
  26   1      keystu=keystu<<1;
  27   1      return(keystu);
  28   1      }
  29          
  30          /****************键盘扫描哪个键按下**********************/
  31          unchar keyscan()
  32          {
  33   1      unchar i,l,r,num;       //l记录行数,r记录列数,num记录哪个键
  34   1      for(i=0;i<4;i++)
  35   1      {
  36   2      P1=sweep[i];
  37   2      num=(~P1)&0x0f;
  38   2      if(num!=0)
  39   2      {
  40   3      r=i;   //记录当前列数
  41   3      switch(num)
  42   3      {
  43   4      case 0x01:l=0;break;
  44   4      case 0x02:l=1;break;
  45   4      case 0x04:l=2;break;
  46   4      case 0x08:l=3;break;
  47   4      default:break;
  48   4      num=4*r+l;}
  49   3      return(num);
  50   3      }}}
  51          
  52          /***************中断入口***************/
  53          void timer1() interrupt 3
  54          {
  55   1      unchar t;
C51 COMPILER V8.02   KEYCHECK                                                              08/19/2008 10:15:47 PAGE 2   

  56   1      TL1=0xd9;
  57   1      TH1=0x54;
  58   1      TF1=0;
  59   1      t10ms=1;
  60   1      t++;
  61   1      if(t==100)
  62   1      {
  63   2      t=0;
  64   2      t1s=1;
  65   2      }
  66   1      }
  67          
  68          /**************主函数***********************/
  69          void main()
  70          {
  71   1      unchar k,keynum;
  72   1      P1=0x0f;
  73   1      initt1();
  74   1      while(1)
  75   1      {if(t1s)
  76   2      {
  77   3      t1s=0;
  78   3      P2=~P2;
  79   3      }
  80   2      if(t10ms)
  81   2      {
  82   3      t10ms=0;
  83   3      k=keyin();
  84   3      if(k<=0xfa||k==0xfc)
  85   3      {
  86   4      keystu=0xff;
  87   4      keynum=keyscan();
  88   4      switch(keynum)
  89   4      {
  90   5      case 0:P0=seg[0] ;break;
  91   5      case 1:P0=seg[1] ;break;
  92   5      case 2:P0=seg[2] ;break;
  93   5      case 3:P0=seg[3] ;break;
  94   5      case 4:P0=seg[4] ;break;
  95   5      case 5:P0=seg[5] ;break;
  96   5      case 6:P0=seg[6] ;break;
  97   5      case 7:P0=seg[7] ;break;
  98   5      case 8:P0=seg[8] ;break;
  99   5      case 9:P0=seg[9] ;break;
 100   5      case 10:P0=seg[10] ;break;
 101   5      case 11:P0=seg[11];break;
 102   5      case 12:P0=seg[12] ;break;
 103   5      case 13:P0=seg[13] ;break;
 104   5      case 14:P0=seg[14] ;break;
 105   5      case 15:P0=seg[15] ;break;
 106   5      default:break;}}}}}
 107          
 108            


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    300    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     21       2
   IDATA SIZE       =   ----    ----
C51 COMPILER V8.02   KEYCHECK                                                              08/19/2008 10:15:47 PAGE 3   

   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 + -