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

📄 k5count.lst

📁 单片机中LED显示/数码管显示/键盘控制/蜂鸣器输出/中断应用/定时器和计数器/串口通信/键控看门狗/数据交换
💻 LST
字号:
C51 COMPILER V8.02   K5COUNT                                                               08/16/2006 16:20:01 PAGE 1   


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

line level    source

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

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

 118   1         {
 119   2           disp_count();
 120   2         }
 121   1      }
 122          
 123          /********************************************************/
 124          
 125          


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