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

📄 multiplekey7led.lst

📁 一个基于C51单片机IO口应用的实例程序
💻 LST
字号:
C51 COMPILER V6.23a  MULTIPLEKEY7LED                                                       03/16/2006 11:42:34 PAGE 1   


C51 COMPILER V6.23a, COMPILATION OF MODULE MULTIPLEKEY7LED
OBJECT MODULE PLACED IN .\MultipleKey7Led.obj
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE ..\SCR\MultipleKey7Led.c BROWSE DEBUG OBJECTEXTEND PRINT(.\MultipleKey7Led.
                    -lst) OBJECT(.\MultipleKey7Led.obj) 

stmt level    source

   1          
   2          
   3          
   4          
   5          //c语言  行列键盘数码管加发光二级管
   6          
   7              #include"at89x52.h"
   8              sbit Lamp=P0^7;
   9                  unsigned char a[]={0x3f,0x06,0x5b,0x4f,0x66 ,0x6d ,0x7d ,0x07 ,0x7f ,0x6f ,0x77 ,0x7c};
  10                  unsigned char JianZi,i;  //全局变量
  11                  void delay(unsigned char j) 
  12              {
  13   1                unsigned char m,k;
  14   1                for(m=0;m<j;m++)
  15   1                for(k=0;k<255;k++);
  16   1               }
  17              unsigned char KeyDriver()
  18                  { unsigned char x,y,key;
  19   1                P2=0x0f;                              //低四位输入1,高四位输出0
  20   1                x=P2;
  21   1                i++;
  22   1                x=x&0x0f;                     //P2输入后,清高四位,作为X值
  23   1                P2=0xf0;                              //高四位输入1,低四位输出0
  24   1                i++;
  25   1                y=P2;
  26   1            y=y&0xf0; //P2输入后移位到低四位,并清高四位,作为Y值
  27   1            key=x|y;
  28   1                key=key&0xfe;
  29   1                return key;
  30   1               }
  31              void Key()
  32                  {
  33   1                unsigned char Keyok;
  34   1                Keyok=KeyDriver();
  35   1                if(Keyok==254){return;}
  36   1                 else
  37   1              {
  38   2               switch(Keyok)
  39   2                   {
  40   3                    case 236: JianZi=3; break;
  41   3                        case 234: JianZi=2; break;
  42   3                        case 230: JianZi=1; break;
  43   3      
  44   3                        case 220: JianZi=6; break;
  45   3                        case 218: JianZi=5; break;
  46   3                        case 214: JianZi=4; break;
  47   3      
  48   3                        case 188: JianZi=9; break;
  49   3                        case 186: JianZi=8; break;
  50   3                        case 182: JianZi=7; break;
  51   3      
  52   3                        case 124: JianZi=0; break;
  53   3                        case 122: JianZi=11; break;
  54   3                        case 118: JianZi=10; break;
C51 COMPILER V6.23a  MULTIPLEKEY7LED                                                       03/16/2006 11:42:34 PAGE 2   

  55   3                       }
  56   2                 }      
  57   1               }
  58              void display(void) //显示函数
  59                   {
  60   1                P0=a[JianZi];
  61   1                }
  62                  main()
  63              {
  64   1          while(1)
  65   1              {
  66   2           Lamp=0;
  67   2               Key();
  68   2               delay(1);
  69   2               display();
  70   2               }
  71   1          }
  72          
  73          


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