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

📄 int0.lst

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


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

line level    source

   1          
   2          /*******************************************************************************
   3          *- INT0中断计数      3位数码管显示     P3.2接按键,计数                        *
   4          ********************************************************************************
   5          *  日期:  2008-2-25 硬件: 数码管P0,数码管控制P2                               *
   6          *  版本:  3.0                                                                  *
   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=0 ;
  23          /********************************************************
  24          * 延时函数                                              *
  25          ********************************************************/
  26          void delay(uint ms) 
  27          // 延时子程序
  28          {
  29   1       uchar k;
  30   1       while(ms--)
  31   1       {
  32   2        for(k = 0; k < 120; k++);
  33   2       }
  34   1      }
  35          /********************************************************
  36          *  数据处理与显示函数                                   *
  37          ********************************************************/
  38          void  disp_count()
  39          { 
  40   1          char i=0;
  41   1          char k=0;
  42   1          
  43   1          dis[3]=count/100;
  44   1          dis[4]=(count%100)/10;
  45   1          dis[5]=count%10;
  46   1              for (i = 0; i < 6; i++)
  47   1              {                           //循环显示6位数据
  48   2                  switch (i)
  49   2                  {
  50   3                    case 0:
  51   3                    P0=0Xdf;
  52   3                    P1=P1|0X03;
  53   3                    break;
  54   3                    case 1:
  55   3                    P0=0XBF;
C51 COMPILER V7.50   INT0                                                                  02/13/2008 20:12:49 PAGE 2   

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


C51 COMPILER V7.50   INT0                                                                  02/13/2008 20:12:49 PAGE 3   

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