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

📄 main.lst

📁 51实例大全
💻 LST
字号:
C51 COMPILER V7.06   MAIN                                                                  07/08/2010 10:48:16 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN .\obj\main.obj
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND PRINT(.\obj\main.lst) OBJECT(.\obj\main.ob
                    -j)

stmt level    source

   1          /*-----------------------------------------------
   2            名称:IIC协议 24c02存储 上次使用状态
   3            论坛:www.doflye.net
   4            编写:shifang
   5            修改:无
   6            内容:用按键加减操作一个数字,数字变化后写入24c02,当关机重新再开机,调用上次最后使用的数值
   7                  这种方式用于存储用户的自用数据和上次使用状态
   8          ------------------------------------------------*/  
   9          #include <reg52.h>                
  10          #include "i2c.h"
  11          #include "delay.h"
  12          #include "display.h"
  13          
  14          sbit KEY_ADD=P3^3;  //定义按键输入端口
  15          sbit KEY_DEC=P3^4;
  16          
  17          /*-----------------------------------------------
  18                               主函数
  19          ------------------------------------------------*/  
  20          main()
  21          {
  22   1       unsigned char num=0;
  23   1       Init_Timer0();
  24   1      
  25   1       IRcvStr(0xae,0,&num,1);                                
  26   1                      
  27   1       KEY_ADD=1; //按键输入端口电平置高
  28   1       KEY_DEC=1;
  29   1      while (1)         //主循环
  30   1        {
  31   2        
  32   2        if(!KEY_ADD)  //如果检测到低电平,说明按键按下
  33   2          {
  34   3               DelayMs(10); //延时去抖,一般10-20ms
  35   3           if(!KEY_ADD)     //再次确认按键是否按下,没有按下则退出
  36   3                 {
  37   4              while(!KEY_ADD);//如果确认按下按键等待按键释放,没有释放则一直等待
  38   4                     {
  39   5                         if(num<999)    //加操作
  40   5                  {
  41   6                        num++;
  42   6                    ISendStr(0xae,0,&num,1);  //写入24c02 
  43   6                    DelayMs(10);
  44   6                   }
  45   5      
  46   5                              }
  47   4                 }
  48   3              }
  49   2      
  50   2       if(!KEY_DEC)  //如果检测到低电平,说明按键按下
  51   2          {
  52   3               DelayMs(10); //延时去抖,一般10-20ms
  53   3           if(!KEY_DEC)     //再次确认按键是否按下,没有按下则退出
  54   3                 {
C51 COMPILER V7.06   MAIN                                                                  07/08/2010 10:48:16 PAGE 2   

  55   4              while(!KEY_DEC);//如果确认按下按键等待按键释放,没有释放则一直等待
  56   4                     {
  57   5                     if(num>0)  //减操作
  58   5                        {
  59   6                        num--;
  60   6                    ISendStr(0xae,0,&num,1);  //写入24c02
  61   6                    DelayMs(10);
  62   6                   }
  63   5      
  64   5                              }
  65   4                 }
  66   3              }
  67   2       TempData[0]=dofly_DuanMa[num/100];    
  68   2       TempData[1]=dofly_DuanMa[(num%100)/10];
  69   2       TempData[2]=dofly_DuanMa[(num%100)%10];
  70   2           //主循环中添加其他需要一直工作的程序
  71   2              
  72   2        }
  73   1      }


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