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

📄 keysquar.lst

📁 按下16个矩阵键盘依次在数码管上显示1-16的平方。如按下第一个显示1
💻 LST
字号:
C51 COMPILER V8.08   KEYSQUAR                                                              12/15/2008 16:03:39 PAGE 1   


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

line level    source

   1          #include<reg52.h>
   2          #define uint unsigned int;
   3          #define uchar unsigned char;
   4          uchar bai,shi,ge,temp,tt;
   5          
   6          sbit duan=P2^6;
   7          sbit wei=P2^7;
   8          
   9          uchar code Num_code[]={ //显示数据编码
  10          0xc0,0xF9,0xA4,0xB0,0x99,//0-4
  11          0x92,0x82,0xF8,0x80,0x90};//5-9
  12           void delay(unsigned int z)
  13          {
  14   1              unsigned int x,y;
  15   1              for(x=z;x>0;x--)
  16   1                      for(y=110;y>0;y--);
  17   1      }
  18          
  19          void display(unsigned char bai,unsigned char shi,unsigned char ge)
  20          {
  21   1        
  22   1              P0=0x20;
  23   1                  wei=1;
  24   1                      wei=0;
  25   1                      P0=Num_code[ge];
  26   1                      duan=1;
  27   1                      duan=0;
  28   1                      delay(600);
  29   1              
  30   1                                              
  31   1      P0=0x10;
  32   1                  wei=1;
  33   1                      wei=0;
  34   1                      P0=Num_code[shi];
  35   1                      duan=1;
  36   1                      duan=0;
  37   1                      delay(1);
  38   1      
  39   1      
  40   1      P0=0x08;
  41   1                  wei=1;
  42   1                      wei=0;
  43   1                      P0=Num_code[bai];
  44   1                      duan=1;
  45   1                      duan=0;
  46   1                      delay(1);
  47   1      
  48   1       }
  49            void main()
  50            {        
  51   1              tt=0;
  52   1              TMOD=0x01;
  53   1              TH0=(65536-50000)/256;
  54   1              TL0=(65536-50000)%256;
  55   1              EA=1;//开总中断
C51 COMPILER V8.08   KEYSQUAR                                                              12/15/2008 16:03:39 PAGE 2   

  56   1              ET0=1;//允许timer0中断
  57   1              TR0=1;//启动timer0
  58   1                while(1)
  59   1              {          //   P0=0xff;        
  60   2                      P1=0xef;
  61   2                      temp=P1;
  62   2                      temp=temp&0x0f;  
  63   2                      if(temp!=0x0f)
  64   2                      {
  65   3                              temp=P1;
  66   3                              switch(temp)
  67   3                              {
  68   4                                      case 0xee:bai=0;shi=0;ge=0;break;
  69   4                                      case 0xed:bai=0;shi=0;ge=1;break;
  70   4                                      case 0xeb:bai=0;shi=0;ge=4;break;
  71   4                                      case 0xe7:bai=0;shi=0;ge=9;break;
  72   4                              }
  73   3                        display(bai,shi,ge);
  74   3      
  75   3                      }
  76   2                       P1=0xdf;
  77   2                      temp=P1;
  78   2                      temp=temp&0x0f;  
  79   2                      if(temp!=0x0f)
  80   2                      {
  81   3                              temp=P1;
  82   3                              switch(temp)
  83   3                              {
  84   4                                      case 0xde:bai=0;shi=1;ge=6;break;
  85   4                                      case 0xdd:bai=0;shi=2;ge=5;break;
  86   4                                      case 0xdb:bai=0;shi=3;ge=6;break;
  87   4                                      case 0xd7:bai=0;shi=4;ge=9;break;
  88   4                              }
  89   3                        display(bai,shi,ge);
  90   3      
  91   3                      }
  92   2      
  93   2      
  94   2        }
  95   1      }
  96             void timer0() interrupt 1
  97             {
  98   1         
  99   1          TH0=(65536-50000)/256;
 100   1              TL0=(65536-50000)%256;
 101   1              tt++;
 102   1         }


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