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

📄 led.lst

📁 基于RC500射频卡读写模块的程序设计
💻 LST
字号:
C51 COMPILER V7.06   LED                                                                   04/02/2007 15:23:05 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE LED
OBJECT MODULE PLACED IN .\obj\led.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE led.c LARGE OPTIMIZE(6,SPEED) BROWSE INCDIR(.\;.\c51) DEFINE(KEIL) DEBUG OB
                    -JECTEXTEND PRINT(.\lst\led.lst) OBJECT(.\obj\led.obj)

stmt level    source

   1          #include "main.h"
   2          unsigned char code seg[10]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x19};
   3          unsigned char code seg_zero[10]={0x02,0x9e,0x24,0x0c,0x98,0x48,0x40,0x1e,0x00,0x18};unsigned char dispbuff
             -[6];
   4          
   5          
   6          void delay12(unsigned int temp1)
   7          {
   8   1          while(temp1--);
   9   1      }
  10          
  11          void Moni_Send(unsigned char dsdata)
  12           {
  13   1       unsigned char i,temp=0;
  14   1      
  15   1              CLK=0;
  16   1                      for(i=0;i<=7;i++)
  17   1                      {
  18   2                              temp=dsdata&0x01;
  19   2                              dsdata=dsdata>>1;
  20   2                              if(temp==0)
  21   2                                      DAT=0;
  22   2                              else
  23   2                                      DAT=1;   //置数据在端口上
  24   2      
  25   2                              CLK=1;  //发出移位脉冲
  26   2                              CLK=0;
  27   2                      }
  28   1      
  29   1       }
  30           //清空显示---------------------------------------------------------------
  31          void disp_cls(void)
  32          { char i;
  33   1        for(i=0;i<8;i++)
  34   1         {
  35   2          Moni_Send(0xff);
  36   2          }
  37   1      
  38   1      
  39   1       }
  40          void disp_int()
  41          { char i,j;
  42   1        for(i=0;i<10;i++)
  43   1        {
  44   2          dispbuff[0]=seg[i];
  45   2          dispbuff[1]=seg[i];
  46   2          dispbuff[2]=seg[i];
  47   2          dispbuff[3]=seg[i];
  48   2          dispbuff[4]=seg[i];
  49   2          dispbuff[5]=seg[i];
  50   2          dispbuff[6]=seg[i];
  51   2          dispbuff[7]=seg[i];
  52   2      
  53   2          for(j=0;j<8;j++)
C51 COMPILER V7.06   LED                                                                   04/02/2007 15:23:05 PAGE 2   

  54   2          {Moni_Send(dispbuff[j]);
  55   3           }
  56   2      
  57   2              delay12(60000);
  58   2      
  59   2          disp_cls();
  60   2        }
  61   1      }
  62          
  63          //*键盘处理程序--------------------------------------------
  64          unsigned char key_chk()
  65          {
  66   1              unsigned char temp,key_c;
  67   1                                                      // 11xx xxxx
  68   1          P2 =0xF0;                   // 1111 0000
  69   1              ACC =P2 & 0xF0;         // 1111 0000
  70   1              B =ACC;
  71   1              P2 =0x0F;                       // 0000 1111
  72   1              ACC =P2 & 0x0F;         // 0000 1111
  73   1              temp=ACC | B;
  74   1              if( temp !=0xff )       // 1111 1111
  75   1              {
  76   2                      switch( temp)
  77   2                      {
  78   3      
  79   3                              case 0x77: key_c= 0; break;//0
  80   3                              case 0xbd: key_c= 1; break;//1
  81   3                              case 0xbb: key_c= 2; break;//2
  82   3                              case 0xb7: key_c= 3; break;//3
  83   3                              case 0xed: key_c= 4; break;//4
  84   3                              case 0xeb: key_c= 5; break;//5
  85   3                              case 0xe7: key_c= 6; break;//6
  86   3                              case 0xdd: key_c= 7; break;//7
  87   3                              case 0xdb: key_c= 8; break;//8
  88   3                      case 0xd7: key_c= 9; break;//9
  89   3                  case 0x7b: key_c= 10; break;//chuanhuan
  90   3                  case 0xee: key_c= 11; break;        //+
  91   3                  case 0xbe: key_c= 12 ; break;       //*
  92   3                              case 0x7d: key_c= 13; break;    //<-
  93   3                              case 0xde: key_c= 14; break;    //clear
  94   3                              case 0x7e: key_c= 15; break;//enter
  95   3                              default: key_c=0xff;
  96   3                      }
  97   2      
  98   2                      return(key_c);
  99   2              }
 100   1              else return(0xff);
 101   1      }
 102          
 103          unsigned char get_key()
 104          {
 105   1              unsigned char temp,temp1;
 106   1          temp=key_chk();
 107   1          delay12(15320);
 108   1          temp1=key_chk();
 109   1              if(temp==temp1)
 110   1              return temp;
 111   1              else
 112   1              return 0xff;
 113   1      //      do
 114   1      //      {
 115   1      //      temp=key_chk();
C51 COMPILER V7.06   LED                                                                   04/02/2007 15:23:05 PAGE 3   

 116   1      //      delay12(12000);
 117   1      //      temp1=key_chk();
 118   1      //      }
 119   1      //      while(temp==0xff||temp!=temp1);
 120   1      
 121   1      //      return(temp);
 122   1      }
 123          
 124          //*显适数值程序--------------------------------------------
 125          void disp_num(unsigned char *buff)
 126          {
 127   1      
 128   1       
 129   1       dispbuff[5]=seg[buff[5]];  //ge wei
 130   1       dispbuff[4]=seg[buff[4]];  //shi wei
 131   1       dispbuff[3]=seg[buff[3]];  //bai wei
 132   1       dispbuff[2]=seg[buff[2]];  //qian wei
 133   1       dispbuff[1]=seg[buff[1]];  //wang wei
 134   1       dispbuff[0]=seg[buff[0]];  //shiwang wei
 135   1       //if(buff[5]==0)dispbuff[5]=0xff;
 136   1       //if(buff[4]==0)dispbuff[4]=0xff;
 137   1       //if(buff[3]==0)dispbuff[3]=0xff;
 138   1       //if(buff[2]==0)dispbuff[2]=0xff;
 139   1       //if(buff[1]==0)dispbuff[1]=0xff;
 140   1      
 141   1       Moni_Send(0xff);
 142   1       Moni_Send(0xff);
 143   1       Moni_Send(dispbuff[3]);
 144   1       Moni_Send(dispbuff[2]);
 145   1       Moni_Send(dispbuff[1]);
 146   1       Moni_Send(dispbuff[0]);
 147   1       }
 148          void disp_num_dot(unsigned char *buff)
 149          {
 150   1       dispbuff[5]=0xff;  //ge wei
 151   1       dispbuff[4]=0xff;  //shi wei
 152   1       dispbuff[3]=0xff;  //bai wei
 153   1       dispbuff[2]=seg_zero[buff[2]];  //qian wei
 154   1       dispbuff[1]=seg[buff[1]];  //wang wei
 155   1       dispbuff[0]=seg[buff[0]];  //shiwang wei
 156   1       Moni_Send(dispbuff[5]);
 157   1       Moni_Send(dispbuff[4]);
 158   1       Moni_Send(dispbuff[3]);
 159   1       Moni_Send(dispbuff[2]);
 160   1       Moni_Send(dispbuff[1]);
 161   1       Moni_Send(dispbuff[0]);
 162   1       }
 163          
 164          void disp_num_dot2(unsigned char *buff)
 165          {
 166   1       dispbuff[5]=seg[buff[5]];  //ge wei
 167   1       dispbuff[4]=seg[buff[4]];  //shi wei
 168   1       dispbuff[3]=seg[buff[3]];  //bai wei
 169   1       dispbuff[2]=seg_zero[buff[2]];  //qian wei
 170   1       dispbuff[1]=seg[buff[1]];  //wang wei
 171   1       dispbuff[0]=seg[buff[0]];  //shiwang wei
 172   1       Moni_Send(dispbuff[5]);
 173   1       Moni_Send(dispbuff[4]);
 174   1       Moni_Send(dispbuff[3]);
 175   1       Moni_Send(dispbuff[2]);
 176   1       Moni_Send(dispbuff[1]);
 177   1       Moni_Send(dispbuff[0]);
C51 COMPILER V7.06   LED                                                                   04/02/2007 15:23:05 PAGE 4   

 178   1       }
 179          
 180          
 181          
 182          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    741    ----
   CONSTANT SIZE    =     20    ----
   XDATA SIZE       =      6       1
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   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 + -