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

📄 int1-count-255.lst

📁 ME500——51单片机的几个中断程序
💻 LST
字号:
C51 COMPILER V8.02   INT1_COUNT_255                                                        12/12/2006 21:01:40 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE INT1_COUNT_255
OBJECT MODULE PLACED IN INT1-count-255.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE INT1-count-255.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*******************************************************************/
   2          /*                                                                 */
   3          /* ME500单片机开发系统演示程序 - INT1中断计数                      */
   4          /*                                                                 */
   5          /* 3位数码管显示                                                   */
   6          /*                                                                 */
   7          /* 版本: V1.0 (2006/11/20)                                        */
   8          /* 作者: gguoqing (Email: gguoqing@willar.com)                    */
   9          /* 网站: www.willar.com(伟纳电子)   www.mcusj.com(伟纳单片机世界) */
  10          /* 时间: 2006/12/12                                               */
  11          /*                                                                 */
  12          /*【版权】Copyright(C)伟纳电子 www.willar.com  All Rights Reserved */
  13          /*【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!       */
  14          /*                                                                 */
  15          /*******************************************************************/
  16                  
  17          #include < reg51.h >
  18          #include <intrins.h>
  19          
  20          #define uchar unsigned char
  21          #define uint  unsigned int
  22          
  23          unsigned char code  LEDData[ ] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,
  24                                            0x82,0xF8,0x80,0x90,0xff};
  25                                              
  26          unsigned char data  display[3] = {0x00,0x00,0x00};
  27          
  28          unsigned char code  scan_bit[8] = {0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
  29          
  30          unsigned char count,k5_count=0 ;
  31          
  32          sbit  K1=P1^4;
  33          sbit  K2=P1^5;
  34          
  35          /********************************************************
  36          *                                                       *
  37          * 延时函数                                              *
  38          *                                                       *
  39          ********************************************************/
  40          void delay(uint ms) 
  41          // 延时子程序
  42          {
  43   1       uchar k;
  44   1       while(ms--)
  45   1       {
  46   2        for(k = 0; k < 120; k++);
  47   2       }
  48   1      }
  49          
  50          /********************************************************
  51          *                                                       *
  52          *  数据处理与显示函数                                   *
  53          *                                                       *
  54          ********************************************************/
  55          void  disp_count()
C51 COMPILER V8.02   INT1_COUNT_255                                                        12/12/2006 21:01:40 PAGE 2   

  56          {
  57   1          char n;  
  58   1      
  59   1          k5_count=count;
  60   1      
  61   1          display[2]=k5_count/100;    //数据处理
  62   1          k5_count=k5_count%100;
  63   1          display[1]=k5_count/10;
  64   1          display[0]=k5_count%10;
  65   1      
  66   1                 if(display[2]==0)        //高位为0,不显示 
  67   1                 { 
  68   2                    display[2]=0x0a;
  69   2                        if(display[1]==0)
  70   2                    display[1]=0x0a;  
  71   2              }  
  72   1           
  73   1          for(n=0;n<3;n++)
  74   1          {    
  75   2            P0 =LEDData[display[n]] ;  //显示段码
  76   2            P2 =scan_bit[n];           //输出位码
  77   2            delay(1);
  78   2                P2 = 0xff;                 //关闭显示
  79   2          } 
  80   1      }
  81          
  82          /********************************************************
  83          *                                                       *
  84          * 主程序                                               *
  85          *                                                       *
  86          ********************************************************/
  87          void main(void)
  88          {  
  89   1         P0=0xff;
  90   1         P1=0xff;
  91   1         P2=0xff;   
  92   1         
  93   1         IT1=0;            //低电平触发
  94   1         EA=1;
  95   1         EX1=1;
  96   1      
  97   1         while(1)
  98   1         {
  99   2           if(K1==0)
 100   2           {
 101   3             IT1=0;        //低电平触发
 102   3             delay(20);
 103   3           }
 104   2           if(K2==0)
 105   2           {
 106   3             IT1=1;        //下降沿触发
 107   3             delay(20);
 108   3           }
 109   2           
 110   2           disp_count();
 111   2         }
 112   1      }
 113          
 114          /********************************************************
 115          *                                                       *
 116          * INT1中断函数                                          *
 117          *                                                       *
C51 COMPILER V8.02   INT1_COUNT_255                                                        12/12/2006 21:01:40 PAGE 3   

 118          ********************************************************/
 119          void  counter(void) interrupt 2 
 120          {
 121   1         uchar  x;
 122   1         EX1=0;
 123   1         count++;
 124   1          
 125   1         for(x=0;x<15;x++)
 126   1         {
 127   2           disp_count();
 128   2         }
 129   1         EX1=1;
 130   1      }
 131          
 132          /********************************************************/
 133          
 134          


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