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

📄 键盘.lst

📁 自己做的单片机Proteus仿真实例
💻 LST
字号:
C51 COMPILER V8.02   键盘                                                                  07/18/2012 18:05:33 PAGE 1   


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

line level    source

   1          #include<reg51.h>
   2          #define uchar unsigned char
   3          #define uint unsigned int
   4          sbit key1=P1^0;
   5          sbit key2=P1^2;
   6          sbit key3=P1^4;
   7          sbit key4=P1^6;
   8          sbit seg0=P2^6;
   9          sbit seg1=P2^7;
  10          char num,temp;
  11          uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  12          void delayms(uint x)
  13          {
  14   1             uint i,j;
  15   1                 for(i=x;i>0;i--)
  16   1                     for(j=110;j>0;j--);
  17   1      }
  18          void display(uchar date)
  19          {
  20   1             uchar shi,ge;
  21   1                 shi=date/10;
  22   1                 ge=date%10;
  23   1      
  24   1                 P0=0x00;
  25   1                 seg0=0;
  26   1                 P0=table[ge];
  27   1                 delayms(5);
  28   1                 seg0=1;
  29   1      
  30   1                 P0=0x00;
  31   1                 seg1=0;
  32   1                 P0=table[shi];
  33   1                 delayms(5);
  34   1                 seg1=1;
  35   1      
  36   1      }
  37          void init()
  38          {
  39   1                 seg0=1;
  40   1                 seg1=1;
  41   1             TMOD=0x01;
  42   1                 TH0=(65536-50000)/256;
  43   1                 TL0=(65536-50000)%256;
  44   1                 EA=1;
  45   1                 ET0=1;
  46   1      }
  47          void keyscan()
  48          {
  49   1             if(key1==0)
  50   1                 {
  51   2                     delayms(10);
  52   2                         if(key1==0);
  53   2                         {
  54   3                                num++;
  55   3                                        if(num==60)
C51 COMPILER V8.02   键盘                                                                  07/18/2012 18:05:33 PAGE 2   

  56   3                                             num=0;
  57   3                                        while(!key1);
  58   3                              }
  59   2                      }
  60   1                      if(key2==0)
  61   1                 {
  62   2                     delayms(10);
  63   2                         if(key2==0);
  64   2                         {
  65   3                                num--;
  66   3                                        if(num<0)
  67   3                                             num=59;
  68   3                                        while(!key2);
  69   3                              }
  70   2                      }
  71   1                      if(key3==0)
  72   1                 {
  73   2                     delayms(10);
  74   2                         if(key3==0);
  75   2                         {  
  76   3                                        num=0;
  77   3                                        while(!key3);
  78   3                              }
  79   2                      }
  80   1                      if(key4==0)
  81   1                 {
  82   2                     delayms(10);
  83   2                         if(key4==0);
  84   2                         {
  85   3                                TR0=~TR0;
  86   3                                        while(!key4);
  87   3                              }
  88   2                      }
  89   1      }
  90          void main()
  91          {
  92   1             init();
  93   1                 while(1)
  94   1                 {
  95   2                        keyscan();
  96   2                                display(num);
  97   2                      }
  98   1      }
  99          void ser() interrupt 1
 100          {
 101   1             TH0=(65536-50000)/256;
 102   1                 TL0=(65536-50000)%256;
 103   1                 temp++;
 104   1                 if(temp==20)
 105   1                 {
 106   2                       temp=0;
 107   2                               num++;
 108   2                               if(num==60)
 109   2                                        num=0;
 110   2                      }
 111   1      }
 112          
 113          
 114          
 115          
 116          
 117          
C51 COMPILER V8.02   键盘                                                                  07/18/2012 18:05:33 PAGE 3   

 118          
 119          
 120          
 121          
 122          
 123          
 124          


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