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

📄 djs.lst

📁 基于51单片机 可以自定义倒计时时间 控制继电器吸合 断开 数码管显示 两个按键控制
💻 LST
字号:
C51 COMPILER V8.02   DJS                                                                   01/24/2008 12:58:49 PAGE 1   


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

line level    source

   1           #include<reg51.h>
   2          sbit Key_UP=P1^0;
   3          sbit Key_DOWN=P1^1;
   4          unsigned char KeyV,TempKeyV;                                                       
   5          //sbit P30=P3^4;
   6          sbit P35=P3^5;
   7          sbit P36=P3^6;
   8          sbit P37=P3^7;
   9          sbit JDQ=P2^0;
  10           unsigned int js;
  11           unsigned int ds;
  12           unsigned char jsflag;
  13          static unsigned int i;
  14          unsigned char code LEDDis[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xFF,0xBF};
  15          
  16          void Delay(unsigned int ii)
  17          {
  18   1      unsigned int jj;
  19   1      for(;ii>0;ii--)
  20   1      for(jj=0;jj<125;jj++)
  21   1      {;}
  22   1      
  23   1      }
  24          void Delay500(unsigned int iii)
  25          {
  26   1      unsigned int jjj;
  27   1      for(;iii>0;iii--)
  28   1      for(jjj=0;jjj<60;jjj++)
  29   1      {;}
  30   1      
  31   1      }
  32          
  33          
  34          
  35          void main()
  36          {
  37   1       
  38   1              EA = 1;                                 //允许CPU中断
  39   1              ET0 = 1;                                //定时器0中断打开
  40   1              TMOD = 0x1;                     //设定时器0为模式1,16位模式
  41   1              TH0=0xB1;
  42   1              TL0=0xDF;                               //设定时值为20000us(20ms)
  43   1              TR0 = 1;
  44   1              ds=600;
  45   1              KeyV = 0;
  46   1              TempKeyV = 0;
  47   1              jsflag=0;
  48   1      
  49   1      
  50   1      while(1);
  51   1        
  52   1      
  53   1      
  54   1      
  55   1      }
C51 COMPILER V8.02   DJS                                                                   01/24/2008 12:58:49 PAGE 2   

  56          
  57          //定时器0中断外理中键扫描和显示
  58          void KeyAndDis_Time0(void) interrupt 1 using 2
  59          {
  60   1        TH0=0xB1;
  61   1              TL0=0xDF;                               //设定时值为20000us(20ms)
  62   1      
  63   1              if (!Key_UP)
  64   1          KeyV = 1;
  65   1        if (!Key_DOWN)
  66   1          KeyV = 2;
  67   1      
  68   1         if (KeyV!= 0)      //有键按下
  69   1          {
  70   2            Delay(10);   //延时防抖  按下10ms再测
  71   2            if (!Key_UP)
  72   2              TempKeyV = 1;
  73   2      
  74   2            if (!Key_DOWN)
  75   2              TempKeyV = 2;
  76   2                       if (KeyV == TempKeyV)   //两次值相等为确定接下了键
  77   2                 {
  78   3                         if (KeyV == 1){
  79   4                         jsflag=0;
  80   4                                                         if(ds==0){
  81   5                                                         ds=600;
  82   5                                                         }
  83   4                                                              js=js+1;
  84   4                                                              JDQ=0;
  85   4              if(js==50){
  86   5              js=0;
  87   5               ds=ds-1;
  88   5               
  89   5              
  90   5              }
  91   4      
  92   4      
  93   4                                                        }
  94   3                                                              if(KeyV==2){
  95   4                jsflag=1;
  96   4              
  97   4              }
  98   3                                                        }
  99   2                                                       }
 100   1      
 101   1      
 102   1      
 103   1      
 104   1         if(jsflag==1){
 105   2         JDQ=1;
 106   2         }
 107   1      
 108   1         if(ds==0){
 109   2         JDQ=1;
 110   2         jsflag=1;
 111   2         KeyV=0;
 112   2         }
 113   1        
 114   1        P0=LEDDis[ds/100];
 115   1      P35=0;
 116   1        Delay500(5);
 117   1                P35=1;
C51 COMPILER V8.02   DJS                                                                   01/24/2008 12:58:49 PAGE 3   

 118   1        P0=LEDDis[(ds-(ds/100)*100)/10];
 119   1      P36=0;
 120   1        Delay500(5);
 121   1       P36=1;
 122   1       P0=LEDDis[(ds-(ds/100)*100)-((ds-(ds/100)*100)/10)*10];
 123   1      P37=0;
 124   1       Delay500(5);
 125   1        P37=1;
 126   1      
 127   1      
 128   1      
 129   1      
 130   1      
 131   1      
 132   1      
 133   1      }
 134          


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