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

📄 main.c

📁 LY-51S c语言 程序
💻 C
字号:
/*-----------------------------------------------
  名称:IIC协议 24c02存储 上次使用状态
  论坛:www.doflye.net
  编写:shifang
  修改:无
  内容:用按键加减操作一个数字,数字变化后写入24c02,当关机重新再开机,调用上次最后使用的数值
        这种方式用于存储用户的自用数据和上次使用状态
------------------------------------------------*/  
#include <reg52.h>                
#include "i2c.h"
#include "delay.h"
#include "display.h"

sbit KEY_ADD=P3^3;  //定义按键输入端口
sbit KEY_DEC=P3^4;

/*-----------------------------------------------
                     主函数
------------------------------------------------*/  
main()
{
 unsigned char num=0;
 Init_Timer0();

 IRcvStr(0xae,0,&num,1);                                
                
 KEY_ADD=1; //按键输入端口电平置高
 KEY_DEC=1;
while (1)         //主循环
  {
  
  if(!KEY_ADD)  //如果检测到低电平,说明按键按下
    {
	 DelayMs(10); //延时去抖,一般10-20ms
     if(!KEY_ADD)     //再次确认按键是否按下,没有按下则退出
	   {
        while(!KEY_ADD);//如果确认按下按键等待按键释放,没有释放则一直等待
	       {
		   if(num<999)    //加操作
            {
	          num++;
              ISendStr(0xae,0,&num,1);  //写入24c02 
              DelayMs(10);
             }

	 		}
	   }
	}

 if(!KEY_DEC)  //如果检测到低电平,说明按键按下
    {
	 DelayMs(10); //延时去抖,一般10-20ms
     if(!KEY_DEC)     //再次确认按键是否按下,没有按下则退出
	   {
        while(!KEY_DEC);//如果确认按下按键等待按键释放,没有释放则一直等待
	       {
	       if(num>0)  //减操作
	          {
	          num--;
              ISendStr(0xae,0,&num,1);  //写入24c02
              DelayMs(10);
             }

	 		}
	   }
	}
 TempData[0]=dofly_DuanMa[num/100];    
 TempData[1]=dofly_DuanMa[(num%100)/10];
 TempData[2]=dofly_DuanMa[(num%100)%10];
     //主循环中添加其他需要一直工作的程序
	
  }
}

⌨️ 快捷键说明

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