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

📄 +

📁 51开发板protuse仿真电路
💻
字号:
C51 COMPILER V8.05a   __阵检测                                                             03/20/2012 18:08:52 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE __阵检测
OBJECT MODULE PLACED IN 矩阵检测.OBJ
COMPILER INVOKED BY: D:\keil\C51\BIN\C51.EXE 矩阵检测.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1             /* 广州手之创电子科技有限公司
   2          公司网址首页:http://www.soochange.com
   3                            http://www.sochange.cn
   4          公司淘宝网店:http://sochange.taobao.com/
   5          联系电话(传真):020-62199826
   6          联系电话:020-28991152
   7          公司官方qq(添加好友者请写上贵公司名称,本q只对企业客户开发):779827265
   8          技术qq1:956626567
   9          技术qq2:974205767
  10           */
  11          #include<reg52.h>
  12          #define uint unsigned int
  13          #define uchar unsigned char
  14          sbit duan=P1^0; //数码管端码使能端
  15          sbit wei=P1^1;//数码管位码使能端
  16          sbit Leden=P1^2;//LED灯控制端
  17          sbit Line=P1^3;//点阵行控制端                                                      
  18          
  19          
  20          uchar code table[]=     {
  21                                                          0x80,0x3f,0x76,0x5e,
  22                                                          0x07,0x7f,0x6f,0x39,
  23                                                          0x66,0x6d,0x7d,0x7c,
  24                                                          0x06,0x5b,0x4f,0x77,0
  25                                                  };
  26          
  27                                                                                                                            
  28          uchar num,temp,num1;                                               
  29                                                                                           
  30          
  31          void delay(uint z)
  32          {
  33   1      uint x,y;
  34   1      for(x=z;x>0;x--)
  35   1         for(y=110;y>0;y--);
  36   1      }
  37          uchar keyscan();
  38          void display(uchar aa);
  39          void main()
  40          {
  41   1      P0=0X00; //关闭点阵
  42   1      Line=0;
  43   1      P0=0XFF; //关闭LED灯
  44   1      Leden=0;
  45   1      num=17;
  46   1      duan=1;
  47   1      P0=0;
  48   1      duan=0;
  49   1      wei=1;
  50   1      P0=0x00;
  51   1      wei=0;
  52   1      
  53   1      while(1)
  54   1         {
  55   2          display(keyscan());
C51 COMPILER V8.05a   __阵检测                                                             03/20/2012 18:08:52 PAGE 2   

  56   2         }
  57   1      }
  58          void display(uchar aa)
  59          {
  60   1          duan=1;
  61   1          P0=table[aa-1];
  62   1          duan=0;  
  63   1      }
  64          uchar keyscan()
  65          {
  66   1          P2=0xfe;
  67   1          temp=P2;
  68   1          temp=temp&0xf0;
  69   1          while(temp!=0xf0)
  70   1           {
  71   2            delay(5);
  72   2            temp=P2;
  73   2            temp=temp&0xf0;
  74   2            while(temp!=0xf0)
  75   2            {
  76   3             temp=P2;
  77   3            switch(temp)
  78   3             {
  79   4              case 0xee:num=1;
  80   4               break;
  81   4              case 0xde:num=2;
  82   4               break;
  83   4              case 0xbe:num=3;
  84   4               break;
  85   4              case 0x7e:num=4;
  86   4               break;
  87   4             }
  88   3            while(temp!=0xf0)
  89   3             {
  90   4              temp=P2;
  91   4              temp=temp&0xf0;
  92   4             }
  93   3            }
  94   2           }
  95   1      
  96   1          P2=0xfd;
  97   1          temp=P2;
  98   1          temp=temp&0xf0;
  99   1          while(temp!=0xf0)
 100   1           {
 101   2            delay(5);
 102   2            temp=P2;
 103   2            temp=temp&0xf0;
 104   2            while(temp!=0xf0)
 105   2            {
 106   3             temp=P2;
 107   3            switch(temp)
 108   3             {
 109   4              case 0xed:num=5;
 110   4               break;
 111   4              case 0xdd:num=6;
 112   4               break;
 113   4              case 0xbd:num=7;
 114   4               break;
 115   4              case 0x7d:num=8;
 116   4               break;
 117   4             }
C51 COMPILER V8.05a   __阵检测                                                             03/20/2012 18:08:52 PAGE 3   

 118   3            while(temp!=0xf0)
 119   3             {
 120   4              temp=P2;
 121   4              temp=temp&0xf0;
 122   4             }
 123   3            }
 124   2           }
 125   1      
 126   1      
 127   1          P2=0xfb;
 128   1          temp=P2;
 129   1          temp=temp&0xf0;
 130   1          while(temp!=0xf0)
 131   1           {
 132   2            delay(5);
 133   2            temp=P2;
 134   2            temp=temp&0xf0;
 135   2            while(temp!=0xf0)
 136   2            {
 137   3             temp=P2;
 138   3            switch(temp)
 139   3             {
 140   4              case 0xeb:num=9;
 141   4               break;
 142   4              case 0xdb:num=10;
 143   4               break;
 144   4              case 0xbb:num=11;
 145   4               break;
 146   4              case 0x7b:num=12;
 147   4               break;
 148   4             }
 149   3            while(temp!=0xf0)
 150   3             {
 151   4              temp=P2;
 152   4              temp=temp&0xf0;
 153   4             }
 154   3            }
 155   2           }
 156   1      
 157   1      
 158   1          P2=0xf7;
 159   1          temp=P2;
 160   1          temp=temp&0xf0;
 161   1          while(temp!=0xf0)
 162   1           {
 163   2            delay(5);
 164   2            temp=P2;
 165   2            temp=temp&0xf0;
 166   2            while(temp!=0xf0)
 167   2            {
 168   3             temp=P2;
 169   3            switch(temp)
 170   3             {
 171   4              case 0xe7:num=13;
 172   4               break;
 173   4              case 0xd7:num=14;
 174   4               break;
 175   4              case 0xb7:num=15;
 176   4               break;
 177   4              case 0x77:num=16;
 178   4               break;
 179   4             }
C51 COMPILER V8.05a   __阵检测                                                             03/20/2012 18:08:52 PAGE 4   

 180   3            while(temp!=0xf0)
 181   3             {
 182   4              temp=P2;
 183   4              temp=temp&0xf0;
 184   4             }
 185   3            }
 186   2           }
 187   1      return num;
 188   1      
 189   1      }
 190           


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    414    ----
   CONSTANT SIZE    =     17    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      3    ----
   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 + -