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

📄 key.lst

📁 温度控制PWM
💻 LST
字号:
C51 COMPILER V6.23a  KEY                                                                   12/11/2007 13:18:32 PAGE 1   


C51 COMPILER V6.23a, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN .\obj\key.obj
COMPILER INVOKED BY: D:\Program Files\Keil\C51\BIN\C51.EXE driver\key.c BROWSE DEBUG OBJECTEXTEND PRINT(.\lst\key.lst) O
                    -BJECT(.\obj\key.obj) 

stmt level    source

   1          /*
   2          *********************************************************
   3          *Header:
   4          *File Name:
   5          *Author: 陈培炜,杨帆
   6          *Data;2007
   7          *Function:
   8          ********************************************************
   9          */
  10          #include <REG52.h>
  11          #include "Lcd.h"
  12          #include "key.h"
  13          
  14          unsigned char ut = 50;
  15          unsigned char dt = 30;
  16          sbit keyu = P3^4;
  17          sbit keyd = P3^3;
  18          sbit keyc = P3^2;
  19          /*
  20          *********************************************************
  21          *Header:
  22          *File Name:
  23          *Author: 陈培炜,杨帆
  24          *Data;2007
  25          *Function: 按键中断初始化
  26          ********************************************************
  27          */
  28          void Ext0Initial(void)
  29          {
  30   1              IT0 = 1;  // 设外部中断0为下降沿触发 //
  31   1      //      IE0 = 1;  // 设置最高中断级别,其余自然级别排序 //
  32   1              EX0 = 1;  // 开中断0 //
  33   1      }
  34          /*
  35          /*********************************************************
  36          */
  37          void Ext0Interrupt(void)        interrupt 0              //按键中断程序
  38          {
  39   1              unsigned char flag = 0;
  40   1              EX0 = 0;        // 一般进中断就关中断,除非你需要被中断 //
  41   1                                      // 中间功能函数//
  42   1              if(keyc == 0)
  43   1              DelayUS(10000);  //去抖动
  44   1              if( keyc == 0 )
  45   1              {
  46   2                      cls();
  47   2                      while(1)
  48   2                      {
  49   3                              if(flag == 2)
  50   3                              {
  51   4                                      flag = 0;
  52   4                                      break;
  53   4                              }
  54   3                              else
C51 COMPILER V6.23a  KEY                                                                   12/11/2007 13:18:32 PAGE 2   

  55   3                              {
  56   4                                      if( keyu == 0 )           //判断+按键是否按下
  57   4                                      DelayUS(10000);
  58   4                                      if( keyu == 0 )
  59   4                                      {
  60   5                                              if(flag == 0)
  61   5                                              {
  62   6                                                      dt++;
  63   6                                                      if(dt == 100)
  64   6                                                      {
  65   7                                                              dt = 30;
  66   7                                                      }       
  67   6                                              }
  68   5                                              else
  69   5                                              {
  70   6                                                      ut++;
  71   6                                                      if(ut == 100)
  72   6                                                      {
  73   7                                                              ut = 50;
  74   7                                                      }
  75   6                                              }               
  76   5                                      }
  77   4      
  78   4                                      if( keyd == 0 )            //判断-按键是否按下
  79   4                                      DelayUS(10000);
  80   4                                      if( keyd == 0 )
  81   4                                      {
  82   5                                              if(flag == 0)
  83   5                                              {
  84   6                                                      dt--;
  85   6                                                      if(dt == 0)
  86   6                                                      {
  87   7                                                              dt = 30;
  88   7                                                      }                                       
  89   6                                              }
  90   5                                              else
  91   5                                              {
  92   6                                                      ut--;
  93   6                                                      if(ut == 0)
  94   6                                                      {
  95   7                                                              ut = 50;
  96   7                                                      }
  97   6                                              }               
  98   5                              
  99   5                                      }
 100   4      
 101   4                                      if( keyc == 0 )          //判断"位选"按键是否按下
 102   4                                      DelayUS(10000);
 103   4                                      if( keyc == 0 )
 104   4                                      {
 105   5                                              flag++; 
 106   5                                      }       
 107   4                              }
 108   3                              disp2(dt,ut,flag);         //显示设定的温度上下限值
 109   3                      }
 110   2                      cls();
 111   2              } 
 112   1              EX0 = 1;        // 一般出中断就开中断 //
 113   1      }
 114          /**********************************************************
 115          
 116          *********************************************************/
C51 COMPILER V6.23a  KEY                                                                   12/11/2007 13:18:32 PAGE 3   

 117          
 118          


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