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

📄 4×3矩阵键盘c编程.lst

📁 单片机矩阵键盘程序 同时进行显示 绝对可用 看过就懂的
💻 LST
字号:
C51 COMPILER V8.08   4×3矩誣键盘C编程                                                     08/12/2008 19:31:25 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE 4×3矩誣键盘C编程
OBJECT MODULE PLACED IN 4×3矩阵键盘C编程.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 4×3矩阵键盘C编程.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg51.h>
   2          #include<absacc.h>
   3          #define uchar unsigned char
   4          #define uint unsigned int
   5          
   6          uchar code Tab[12]={ 
   7                  0xF9,/*1*/
   8                  0xA4,/*2*/
   9                  0xB0,/*3*/
  10                  0x99,/*4*/
  11                  0x92,/*5*/
  12                  0x82,/*6*/
  13                  0xF8,/*7*/
  14                  0x80,/*8*/
  15                  0x90,/*9*/
  16                  0x88,/*A*/
  17                          0xC0,/*0*/
  18                  0xC6,/*C*/};
  19          uchar idata com1,com2;
  20          uint idata key[12]={0};
  21          
  22          void delay()
  23          {
  24   1         uchar i,j;
  25   1         for(i=0;i<20;i++)
  26   1         for(j=0;j<255;j++);
  27   1      }
  28          
  29          uchar key_scan()
  30          {
  31   1         uchar temp;
  32   1         uchar i;
  33   1         delay();
  34   1         P2=0xf0;
  35   1         if(P2!=0xf0)
  36   1               {
  37   2              com1=P2;
  38   2              P2=0x0f;
  39   2              com2=P2;        
  40   2            }
  41   1              P2=0xf0;
  42   1          while(P2!=0xf0);      
  43   1              temp=com1|com2;
  44   1              if(temp==0xee)i=0;
  45   1              if(temp==0xed)i=1;
  46   1              if(temp==0xeb)i=2;
  47   1              if(temp==0xde)i=3;
  48   1              if(temp==0xdd)i=4;
  49   1              if(temp==0xdb)i=5;
  50   1              if(temp==0xbe)i=6;
  51   1              if(temp==0xbd)i=7;
  52   1              if(temp==0xbb)i=8;
  53   1              if(temp==0x7e)i=9;
  54   1              if(temp==0x7d)i=10;
  55   1              if(temp==0x7b)i=11;
C51 COMPILER V8.08   4×3矩誣键盘C编程                                                     08/12/2008 19:31:25 PAGE 2   

  56   1              return(i);
  57   1      }
  58          
  59          
  60          
  61          void main()
  62          {
  63   1         uchar dat;
  64   1         P0=0x00;
  65   1         while(1)
  66   1         { 
  67   2            P2=0xf0;
  68   2            while(P2!=0xf0)
  69   2                {
  70   3            dat=key_scan();
  71   3                P1=dat;
  72   3            key[0]=dat;
  73   3                P0=Tab[key[0]];
  74   3                }
  75   2          }
  76   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    149    ----
   CONSTANT SIZE    =     12    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =     26    ----
   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 + -