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

📄 dongtai7led.lst

📁 stc/at89c51 的4乘4行列式按键程序
💻 LST
字号:
C51 COMPILER V6.23a  DONGTAI7LED                                                           03/16/2006 11:39:46 PAGE 1   


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

stmt level    source

   1          
   2          
   3          
   4          
   5          //c语言  行列键盘数码管加发光二级管
   6          
   7              #include"at89x52.h"
   8                  unsigned char a[]={0x3f,0x06,0x5b,0x4f,0x66 ,0x6d ,0x7d ,0x07 ,0x7f ,0x6f ,0x77 ,0x7c};
   9                  unsigned char dispbuf[]={0x01,0x09};  //全局变量dispbuf[0]存左边数码管的值dispbuf[1]存右边数码管的值
  10                  unsigned char select;//让显示程序知到现在选择的是哪一个数码管(0:两个均不选;1:选左边;2:选右边)
  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              void Key()
  18                  {
  19   1               P2_5=1;
  20   1               if(P2_5==0)
  21   1                {
  22   2                  select++;
  23   2                      if(select>2) select=0;
  24   2                      P2_4=1;
  25   2                      delay(1);
  26   2                      while(P2_5==0); //等松开按键
  27   2                  }
  28   1                P2_6=1; 
  29   1                if(P2_6==0)
  30   1                 {
  31   2                  if(select==1){dispbuf[0]++;if(dispbuf[0]>10)dispbuf[0]=0;}
  32   2                      if(select==2){dispbuf[1]++;if(dispbuf[1]>10)dispbuf[1]=0;}
  33   2                      P2_7=1;
  34   2                      delay(1);
  35   2                      while(P2_6==0);//等松开按键
  36   2                 }
  37   1              }
  38              void display(void) //显示函数
  39                   {
  40   1                static unsigned char i,j,sys;
  41   1                switch(sys)
  42   1                 {
  43   2                  case 0:P2_2=1;
  44   2                             if(select==1){ P2_1=1; i++; if(i>5) {P2_1=0;P0=a[dispbuf[0]]; i=0;} }
  45   2                             else {P2_1=0; P0=a[dispbuf[0]];}
  46   2                                 sys=1;
  47   2                                 break;
  48   2                       case 1: P2_1=1;
  49   2                                 if(select==2){ P2_2=1; j++; if(j>5) {P2_2=0;P0=a[dispbuf[1]]; j=0;} }
  50   2                             else {P2_2=0; P0=a[dispbuf[1]];}
  51   2                                 sys=0;
  52   2                                 break;
  53   2               }
  54   1                }
C51 COMPILER V6.23a  DONGTAI7LED                                                           03/16/2006 11:39:46 PAGE 2   

  55                  main()
  56              {
  57   1              P2_4=0;
  58   1              P2_7=0;
  59   1          while(1)
  60   1              {
  61   2           Key();
  62   2               delay(25);
  63   2               display();
  64   2               P2_4=0;
  65   2               P2_7=0;
  66   2               }
  67   1          }
  68          
  69          


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