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

📄 20

📁 20个单片机c实验程序例子(包含c程序和hex文件)
💻
字号:
C51 COMPILER V8.06   JVZHENJIANPAN                                                         06/24/2012 19:03:58 PAGE 1   


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

line level    source

   1          /*************************HL-1开发板实验例程**********************
   2          *  平台:HL-1 V8.0 + Keil U3 + STC89C52
   3          *  名称:4*4键盘检测程序,按下键后相应的代码显示在数码管上
   4          *  公司:慧净电子科技有限公司
   5          *  淘宝:http://shop37031453.taobao.com       
   6          *  网站:www.hjmcu.com
   7          *  编写:慧净
   8          *  日期:2008-8-08
   9          *   QQ : 121350852    398115088
  10          *  晶振:11.0592MHZ
  11          *  说明:免费开源,不提供源代码分析,有问题直接到慧净论坛交流
  12          *  论坛:http://hjdz.5d6d.net
  13          ******************************************************************/
  14          
  15          #include<reg51.h>
  16          sbit beep=P2^3;
  17          sbit dula=P2^6;
  18          sbit wela=P2^7;
  19                   unsigned char i=100;
  20          unsigned char j,k,temp,key;
  21          void delay(unsigned char i)
  22          {
  23   1        for(j=i;j>0;j--)
  24   1          for(k=125;k>0;k--);
  25   1      }
  26          unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
  27                                  0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
  28          display(unsigned char num)
  29          {
  30   1               P0=table[num];
  31   1               dula=1;
  32   1               dula=0;
  33   1               P0=0xc0;
  34   1               wela=1;
  35   1               wela=0;
  36   1      }
  37          void main()
  38          {
  39   1        dula=0;
  40   1        wela=0;
  41   1        while(1)
  42   1        {
  43   2          P3=0xfe;
  44   2          temp=P3;
  45   2          temp=temp&0xf0;
  46   2          if(temp!=0xf0)
  47   2          {
  48   3            delay(10);
  49   3            if(temp!=0xf0)
  50   3            {
  51   4              temp=P3;
  52   4              switch(temp)
  53   4              {
  54   5                case 0xee:
  55   5                     key=0;
C51 COMPILER V8.06   JVZHENJIANPAN                                                         06/24/2012 19:03:58 PAGE 2   

  56   5                     break;
  57   5      
  58   5                case 0xde:
  59   5                     key=1;
  60   5                     break;
  61   5      
  62   5                case 0xbe:
  63   5                     key=2;
  64   5                     break;
  65   5      
  66   5                case 0x7e:
  67   5                     key=3;
  68   5                     break;
  69   5               }
  70   4               while(temp!=0xf0)
  71   4               {
  72   5                 temp=P3;
  73   5                 temp=temp&0xf0;
  74   5                 beep=0;
  75   5               }
  76   4               beep=1;
  77   4              display(key);
  78   4               P1=0xfe;
  79   4            }
  80   3          }
  81   2          P3=0xfd;
  82   2          temp=P3;
  83   2          temp=temp&0xf0;
  84   2          if(temp!=0xf0)
  85   2          {
  86   3            delay(10);
  87   3            if(temp!=0xf0)
  88   3            {
  89   4              temp=P3;
  90   4              switch(temp)
  91   4              {
  92   5                case 0xed:
  93   5                     key=4;
  94   5                     break;
  95   5      
  96   5                case 0xdd:
  97   5                     key=5;
  98   5                     break;
  99   5      
 100   5                case 0xbd:
 101   5                     key=6;
 102   5                     break;
 103   5      
 104   5                case 0x7d:
 105   5                     key=7;
 106   5                     break;
 107   5               }
 108   4               while(temp!=0xf0)
 109   4               {
 110   5                 temp=P3;
 111   5                 temp=temp&0xf0;
 112   5                 beep=0;
 113   5               }
 114   4               beep=1;
 115   4               display(key);
 116   4            }
 117   3            }
C51 COMPILER V8.06   JVZHENJIANPAN                                                         06/24/2012 19:03:58 PAGE 3   

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

 180   5                     break;
 181   5               }
 182   4               while(temp!=0xf0)
 183   4               {
 184   5                 temp=P3;
 185   5                 temp=temp&0xf0;
 186   5                 beep=0;
 187   5               }
 188   4               beep=1;
 189   4              display(key);
 190   4            }
 191   3          }
 192   2        }
 193   1      }


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