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

📄 an jian lian xi.lst

📁 通过8255查询键值
💻 LST
字号:
C51 COMPILER V7.50   AN_JIAN_LIAN_XI                                                       10/23/2005 19:44:13 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE AN_JIAN_LIAN_XI
OBJECT MODULE PLACED IN AN JIAN LIAN XI.OBJ
COMPILER INVOKED BY: D:\KEIL\C51\BIN\C51.EXE AN JIAN LIAN XI.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg51.h>
   2          #include<absacc.h>
   3          
   4          #define uchar unsigned char
   5          #define COM8255 XBYTE[0X0003]
   6          #define PA8255  XBYTE[0X0000]
   7          #define PB8255  XBYTE[0X0001]
   8          #define PC8255  XBYTE[0X0002]
   9          
  10          uchar code tab[]={0x88,0xEB,0x4C,0x49,0x2B,0x19,0x18,0xCB,0x08,
  11                                                  0x09,0x0A,0x38,0x9C,0x68,0x1C,0x1E,0xFF};
  12          uchar code tabHello[]={0x88,0xBC,0xBC,0x1C,0x2A,0xFF};                          //HELLO字符; 
  13          
  14          void timer(uchar);
  15          void KEY1();                    //按K1,显示1
  16          void KEY2();                    //按K2,显示2
  17          void KEY2KEY1();                //按K2和K1,显示3
  18          void KEY3();                    //按K3,显示4
  19          void KEY3KEY1();                //按K3和K1,显示5
  20          void KEY3KEY2();                //按K3和K2,显示6
  21          void KEY3KEY2KEY1();    //按K3,K2,K1,显示7
  22          
  23          uchar i,a;
  24          sbit P1_2=P1^2;
  25          sbit P1_3=P1^3;
  26          sbit P1_4=P1^4;
  27          
  28          /*******************************************************************/
  29          
  30          void main(void)
  31          {
  32   1              uchar a;
  33   1              SCON=0;
  34   1              EA=1;
  35   1              ES=1;
  36   1              P1_2=1;
  37   1              P1_3=1;
  38   1              P1_4=0;
  39   1              COM8255=0x82;
  40   1              for(a=0;a<=5;a++)               //显示Hello字样
  41   1              {
  42   2                      SBUF=tabHello[a];
  43   2                      while(!TI)
  44   2                      TI=0;
  45   2              }
  46   1              for(;;)
  47   1              {
  48   2                      KEY1();
  49   2                      KEY2();
  50   2                      KEY2KEY1();
  51   2                      KEY3();
  52   2                      KEY3KEY1();
  53   2                      KEY3KEY2();
  54   2                      KEY3KEY2KEY1();
  55   2              }
C51 COMPILER V7.50   AN_JIAN_LIAN_XI                                                       10/23/2005 19:44:13 PAGE 2   

  56   1      }
  57          
  58          /*************************************/
  59          
  60          void timer(uchar t)
  61          {
  62   1              uchar i;
  63   1              for(i=0;i<t;i++)
  64   1              {
  65   2                      TMOD=0x01;
  66   2                      TH0=(65535-10000)/256;
  67   2                      TL0=(65535-10000)%256;
  68   2                      TR0=1;
  69   2                      while(! TF0);
  70   2                      TF0=0;
  71   2              }
  72   1      }
  73          
  74          /****************************************/
  75          
  76          /*void Hello()
  77          {
  78                  uchar a;
  79                  for(a=0;a<=5;a++)
  80                  {
  81                          SBUF=tabHello[a];
  82                          while(!TI)
  83                          TI=0;
  84                  }
  85          }*/
  86          
  87          /***************************************/
  88          
  89          void KEY1()
  90          {               
  91   1              uchar i;
  92   1              if(PB8255==0xfe)                //判断键值
  93   1              {
  94   2                      SBUF=tab[1];
  95   2                      while(!TI);
  96   2                      TI=0;
  97   2                      for(i=1;i<=5;i++)
  98   2                      {
  99   3                      SBUF=tab[16];
 100   3                      while(!TI);
 101   3                      TI=0;
 102   3                      }
 103   2                      timer(50);
 104   2              }
 105   1      }
 106          
 107          /**************************************/
 108          void KEY2()
 109          {
 110   1              uchar i;
 111   1              if(PB8255==0xfd)
 112   1              {
 113   2                      SBUF=tab[2];
 114   2                      while(!TI);
 115   2                      TI=0;
 116   2                      for(i=1;i<=5;i++)
 117   2                      {
C51 COMPILER V7.50   AN_JIAN_LIAN_XI                                                       10/23/2005 19:44:13 PAGE 3   

 118   3                      SBUF=tab[16];
 119   3                      while(!TI);
 120   3                      TI=0;
 121   3                      }
 122   2                      timer(50);
 123   2              }
 124   1      }
 125          
 126          /********************************************/
 127          
 128          void KEY2KEY1()
 129          {
 130   1              uchar i;
 131   1              if(PB8255==0xfc)
 132   1              {
 133   2                      SBUF=tab[3];
 134   2                      while(!TI);
 135   2                      TI=0;
 136   2                      for(i=1;i<=5;i++)
 137   2                      {
 138   3                      SBUF=tab[16];
 139   3                      while(!TI);
 140   3                      TI=0;
 141   3                      }
 142   2                      timer(50);
 143   2              }
 144   1      }
 145          
 146          /****************************************/
 147          
 148          void KEY3()
 149          {
 150   1              uchar i;
 151   1              if(PB8255==0xfb)
 152   1              {
 153   2                      SBUF=tab[4];
 154   2                      while(!TI);
 155   2                      TI=0;
 156   2                      for(i=1;i<=5;i++)
 157   2                      {
 158   3                      SBUF=tab[16];
 159   3                      while(!TI);
 160   3                      TI=0;
 161   3                      }
 162   2                      timer(50);
 163   2              }
 164   1      }
 165          
 166          /************************************/
 167          
 168          void KEY3KEY1()
 169          {
 170   1              uchar i;
 171   1              if(PB8255==0xfa)
 172   1              {
 173   2                      SBUF=tab[5];
 174   2                      while(!TI);
 175   2                      TI=0;
 176   2                      for(i=1;i<=5;i++)
 177   2                      {
 178   3                      SBUF=tab[16];
 179   3                      while(!TI);
C51 COMPILER V7.50   AN_JIAN_LIAN_XI                                                       10/23/2005 19:44:13 PAGE 4   

 180   3                      TI=0;
 181   3                      }
 182   2                      timer(50);
 183   2              }
 184   1      }
 185          
 186          /****************************************/
 187          
 188          void KEY3KEY2()
 189          {
 190   1              uchar i;
 191   1              if(PB8255==0xf9)
 192   1              {
 193   2                      SBUF=tab[6];
 194   2                      while(!TI);
 195   2                      TI=0;
 196   2                      for(i=1;i<=5;i++)
 197   2                      {
 198   3                      SBUF=tab[16];
 199   3                      while(!TI);
 200   3                      TI=0;
 201   3                      }
 202   2                      timer(50);
 203   2              }
 204   1      }
 205          
 206          /*********************************/
 207          
 208          void KEY3KEY2KEY1()
 209          {
 210   1              uchar i;
 211   1              if(PB8255==0xf8)
 212   1              {
 213   2                      SBUF=tab[7];
 214   2                      while(!TI);
 215   2                      TI=0;
 216   2                      for(i=1;i<=5;i++)
 217   2                      {
 218   3                      SBUF=tab[16];
 219   3                      while(!TI);
 220   3                      TI=0;
 221   3                      }
 222   2                      timer(50);
 223   2              }
 224   1      }
 225          
 226          


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