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

📄 anjian1.lst

📁 一个简单但功能丰富的开发板程序
💻 LST
字号:
C51 COMPILER V7.06   ANJIAN1                                                               11/05/2008 10:46:48 PAGE 1   


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

stmt level    source

   1          /*      应用范例 3 
   2                  标题:范例  3
   3                  版本:1.0//
   4                  Target:     STC89C52RC  
   5                  程序描述:这个程序说明如何利用延迟函数来判断按键的输入 .
   6          */           
   7          #include <reg51.h>
   8          #include <intrins.h>
   9          
  10          #include<reg51.h>
  11          #define uint unsigned int
  12          #define uchar unsigned char
  13          code seven_seg[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  14          code bit_select[6] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
  15          char counter[3] = {0,0,0};
  16          uint x,y,z,a,b,c,d;
  17          sbit key1 = P3^0;
  18          sbit key2 = P3^1;
  19          sbit key3 = P3^2; 
  20          sbit key4 = P3^3;
  21          sbit FMQ = P3^4; 
  22          sbit JDQ = P3^5;
  23          uchar key1_state,key2_state,key3_state,key4_state,key1_flog;
  24          uchar flash,key_num;
  25          /******************************
  26          延迟子函数
  27          *******************************/
  28          void delay_400us(uchar i)
  29          {
  30   1              uchar a,b;
  31   1              for(a=i;a>0;a--)
  32   1                      for(b=100;b>0;b--)
  33   1                              _nop_();
  34   1      }
  35          void delay(uchar i)
  36          {
  37   1              while(i)
  38   1              i--;
  39   1      }
  40          /*********************************
  41          显示函数
  42          **********************************/
  43          void display()
  44          {
  45   1              P0 = seven_seg[key_num];
  46   1              P2 = bit_select[key1_state];
  47   1              delay(100);
  48   1              P0 = seven_seg[key_num];
  49   1              P2 = bit_select[key1_state];
  50   1              delay(100);
  51   1              P0 = seven_seg[key_num];  
  52   1              P2 = bit_select[key1_state];
  53   1              delay(100);
  54   1              P0 = seven_seg[key_num];
  55   1              P2 = bit_select[key1_state];
C51 COMPILER V7.06   ANJIAN1                                                               11/05/2008 10:46:48 PAGE 2   

  56   1              delay(100);
  57   1              P0 = seven_seg[key_num];
  58   1              P2 = bit_select[key1_state];
  59   1              delay(100); 
  60   1              P0 = seven_seg[key_num];
  61   1              P2 = bit_select[key1_state];
  62   1              delay(100); 
  63   1      }
  64          /*************************************
  65          判断按键子函数
  66          *******************************************/
  67          void get_key()
  68          {
  69   1              if(key1 == 0 )                          
  70   1              {       
  71   2                      delay_400us(25);
  72   2                      if(key1 == 0) 
  73   2                              key1_state++;             
  74   2                      if(key1_state == 6)
  75   2                              key1_state = 0;
  76   2                      flash = 1;
  77   2                      while(!key1);
  78   2              } 
  79   1              if(key2 == 0)
  80   1              {       
  81   2                      delay_400us(25);
  82   2                      if(key2 == 0) 
  83   2                              key_num++;                
  84   2                      if(key_num == 10)
  85   2                              key_num = 0;
  86   2                      while(!key2);
  87   2              } 
  88   1              if(key3 == 0)
  89   1              {       
  90   2                      delay_400us(25);
  91   2                      if(key3 == 0) 
  92   2                              key_num--;                
  93   2                      if(key_num == 0)
  94   2                              key_num = 9;
  95   2                      while(!key3);
  96   2              } 
  97   1              if(key4 == 0)
  98   1              {       
  99   2                      delay_400us(25);
 100   2                      if(key4 == 0) 
 101   2                      flash = 0;
 102   2                      while(!key4);
 103   2              } 
 104   1      }
 105          /************************************
 106                           主函数
 107          ********************************************/
 108          void main()
 109          {
 110   1      //      timer0_init();
 111   1              while(1)
 112   1              {
 113   2                              get_key();
 114   2                              display();
 115   2              }
 116   1      }

C51 COMPILER V7.06   ANJIAN1                                                               11/05/2008 10:46:48 PAGE 3   


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