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

📄 int1.lst

📁 可以熟悉51单片机中断机制 大大方便学习51单片机
💻 LST
字号:
C51 COMPILER V7.50   INT1                                                                  02/14/2008 12:22:13 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE INT1
OBJECT MODULE PLACED IN INT1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE INT1.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*******************************************************************************
   2          * INT1中断计数 3位数码管显示   P1.4按键  为电平触发方式,按P3.3连续计数        *   
   3          *               P1.5按键  为下降延触发方式,按P3.3加1计数                      *
   4          ********************************************************************************
   5          *  日期:  2008-2-25 硬件: 数码管P0,数码管控制P2                               *
   6          *       P1.4 按键,P1.5按键,为触发方式选择,P3.3接按键,为计数键              *
   7          *  作者:  深圳志博电子有限公司     专业8051单片机教学站                        *
   8          *  邮箱: zty0012001@163.com                                                       *
   9          *  网站: http://www.elecmcu.com     http://www.elecmcu.com    更多例程请登陆网站   *
  10          ********************************************************************************
  11          *  硬件:此程序在本公司志博电子实验仪运行通过                           *
  12          ********************************************************************************
  13          * 【版权】 Copyright(C)深圳志博电子有限公司 www.elecmcu.com  All Rights Reserved *
  14          * 【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息!                  *
  15          ********************************************************************************/               
  16          #include < reg51.h >
  17          #include <intrins.h>
  18          #define uchar unsigned char
  19          #define uint  unsigned int
  20          uchar const seg[11]={0x7f,0x44,0xbd,0xf5,0xe6,0xf3,0xfb,0x65,0xff,0xf7,0x00};
  21          uchar dis[8]={0,0,0,0};        //设置显示缓冲存储器
  22          unsigned char count,k5_count=0 ;
  23          sbit  K1=P1^4;
  24          sbit  K2=P1^5;
  25          /********************************************************
  26          * 延时函数                                              *
  27          ********************************************************/
  28          void delay(uint ms) 
  29          // 延时子程序
  30          {
  31   1       uchar k;
  32   1       while(ms--)
  33   1       {
  34   2        for(k = 0; k < 120; k++);
  35   2       }
  36   1      }
  37          /********************************************************
  38          *  数据处理与显示函数                                   *
  39          ********************************************************/
  40          void  disp_count()
  41          {
  42   1          char i=0;
  43   1          char k=0;
  44   1          
  45   1          dis[3]=count/100;
  46   1          dis[4]=(count%100)/10;
  47   1          dis[5]=count%10;
  48   1              for (i = 0; i < 6; i++)
  49   1              {                           //循环显示6位数据
  50   2                  switch (i)
  51   2                  {
  52   3                    case 0:
  53   3                    P0=0Xdf;
  54   3                    P1=P1|0X03;
  55   3                    break;
C51 COMPILER V7.50   INT1                                                                  02/14/2008 12:22:13 PAGE 2   

  56   3                    case 1:
  57   3                    P0=0XBF;
  58   3                    P1=P1|0X03;
  59   3                    break;
  60   3                    case 2:
  61   3                    P0=0X7F;
  62   3                    P1=P1|0X03;
  63   3                    break;
  64   3                    case 3:
  65   3                    P0=0XFF;
  66   3                    P1=0xfe;
  67   3                    break;
  68   3                    case 4:
  69   3                    P0=0XFF;
  70   3                    P1=0XFd;
  71   3                    break;
  72   3                    case 5:
  73   3                    P0=0Xef;
  74   3                    P1=0xff;
  75   3                    break;
  76   3                  }
  77   2                   P2=seg[dis[i]];
  78   2                   delay(1);
  79   2              }
  80   1      }
  81          /********************************************************
  82          * 主程序                                               *
  83          ********************************************************/
  84          void main(void)
  85          {  
  86   1         P0=0xff;
  87   1         P1=0xff;
  88   1         P2=0xff;   
  89   1         IT1=0;            //低电平触发
  90   1         EA=1;
  91   1         EX1=1;
  92   1         while(1)
  93   1         {
  94   2           if(K1==0)
  95   2           {
  96   3             IT1=0;        //低电平触发
  97   3             delay(20);
  98   3           }
  99   2           if(K2==0)
 100   2           {
 101   3             IT1=1;        //下降沿触发
 102   3             delay(20);
 103   3           }     
 104   2           disp_count();
 105   2         }
 106   1      }
 107          /********************************************************
 108          * INT1中断函数                                          *
 109          ********************************************************/
 110          void  counter(void) interrupt 2 
 111          {
 112   1         uchar  x;
 113   1         EX1=0;
 114   1         count++;    
 115   1         for(x=0;x<15;x++)
 116   1         {
 117   2           disp_count();
C51 COMPILER V7.50   INT1                                                                  02/14/2008 12:22:13 PAGE 3   

 118   2         }
 119   1         EX1=1;
 120   1      }
 121          /********************************************************/
 122          
 123          
 124          


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