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

📄 countc.lst

📁 为8个数码管有五种模式的闪烁方式 可以通过按键控制的
💻 LST
字号:
C51 COMPILER V7.01  COUNTC                                                                 03/20/2004 11:55:14 PAGE 1   


C51 COMPILER V7.01, COMPILATION OF MODULE COUNTC
OBJECT MODULE PLACED IN countc.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE countc.c ROM(SMALL) BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /* 小灯闪烁程序,有四种工作模式,
   2          模式一:至右向左循环闪烁
   3          模式二:至左向右循环闪烁
   4          模式三:八个的灯闪烁
   5          模式四;前四后四循环闪烁*/
   6          #include "at89x52.h"
   7          //#include "stdio.h"
   8          #include "math.h"
   9          //#include "intrins.h"  字符库函数
  10          //#include "absacc.h"
  11          typedef unsigned char BYTE;
  12          typedef unsigned int uint;
  13          bit bdata FUN0=0X00;
  14          bit bdata FUN1=0X01;
  15          bit bdata FUN2=0X02;
  16          bit bdata FUN3=0X03;
  17          BYTE code CH0[]={0XFE,0XFD,0XFB,0XF7,0XEF,0XDF,0XBF,0X7F};
  18          BYTE code CH1[]={0X7f,0Xbf,0Xdf,0Xef,0Xf7,0Xfb,0Xfd,0Xfe};
  19          //============================延时10ms程序==============================
  20          void delay_10ms()
  21          {
  22   1      BYTE i;
  23   1      for(i=0;i<50;i++)
  24   1      {;}
  25   1      }
  26          //===========================初始化程序=================================
  27          void strart_shi(void)
  28          {
  29   1      P1=0XFF;
  30   1      P3=0XFF;
  31   1      FUN0=1;
  32   1      FUN1=0;
  33   1      FUN2=0;
  34   1      FUN3=0;
  35   1      }
  36          //=============================键盘程序===========================
  37          void keyword(void)
  38          {
  39   1        if(P3_0==0)              //对键p3.1判断
  40   1        { 
  41   2          delay_10ms();          //消除抖动
  42   2          if(P3_0==0)
  43   2          {
  44   3           FUN0=1;               //设置
  45   3           FUN1=0;
  46   3           FUN2=0;
  47   3           FUN3=0; 
  48   3          }
  49   2        }
  50   1        else if(P3_1==0) 
  51   1        {
  52   2          delay_10ms();
  53   2          if(P3_1==0)
  54   2          {
  55   3           FUN0=0;
C51 COMPILER V7.01  COUNTC                                                                 03/20/2004 11:55:14 PAGE 2   

  56   3           FUN1=1;
  57   3           FUN2=0;
  58   3           FUN3=0; 
  59   3          }
  60   2        }
  61   1        else if(P3_2==0)
  62   1        {
  63   2          delay_10ms();
  64   2          if(P3_2==0)
  65   2          {
  66   3           FUN0=0;
  67   3           FUN1=0;
  68   3           FUN2=1;
  69   3           FUN3=0; 
  70   3          }
  71   2        }
  72   1        else if(P3_3==0)
  73   1        {
  74   2          delay_10ms();
  75   2          if(P3_3==0)
  76   2          {
  77   3           FUN0=0;
  78   3           FUN1=0;
  79   3           FUN2=0;
  80   3           FUN3=1; 
  81   3          }
  82   2        }
  83   1      }
  84          //==================================主程序===================
  85          void main()
  86          {
  87   1      strart_shi();                     //调用初始化程序
  88   1      for(;;)                           //循环执行
  89   1      {
  90   2      void FUN();                       //声明功能程序
  91   2      
  92   2      keyword();                        //调用键盘程序
  93   2      FUN();                            //调用功能程序
  94   2      }                                
  95   1      }
  96          //=================================延时0.5s的程序=============
  97          void delay()
  98          {
  99   1      uint i;
 100   1      BYTE j;
 101   1      for(i=1000;i>0;i--)
 102   1       {
 103   2        for(j=250;j>0;j--)
 104   2        {;}
 105   2       }
 106   1      }
 107          //=================================功能程序===================
 108          void FUN()
 109          {
 110   1      if(FUN0==1)
 111   1      {
 112   2       BYTE i;
 113   2      for(i=0;i<8;i++)
 114   2       {
 115   3        P1=CH0[i];
 116   3        delay();
 117   3       }   
C51 COMPILER V7.01  COUNTC                                                                 03/20/2004 11:55:14 PAGE 3   

 118   2      }
 119   1      else if(FUN1==1)
 120   1      {
 121   2      BYTE i;
 122   2      for(i=0;i<8;i++)
 123   2       {
 124   3         P1=CH1[i];
 125   3         delay();
 126   3       }
 127   2      }
 128   1      else if(FUN2==1)
 129   1      {
 130   2       BYTE i;
 131   2      for(i=8;i>0;i--)
 132   2       {
 133   3       P1=0XFF;
 134   3       delay();
 135   3       P1=0X00;
 136   3       delay();
 137   3       }
 138   2      }
 139   1      else if(FUN3==1)
 140   1      {
 141   2       BYTE i;
 142   2       for(i=8;i>0;i--)
 143   2       {
 144   3       P1=0XF0;
 145   3       delay();
 146   3       P1=0X0F;
 147   3       delay();
 148   3        }
 149   2      }
 150   1      }
 151          
 152          
 153          
 154          
 155          
 156          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    217    ----
   CONSTANT SIZE    =     16    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       1
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      4    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -