main.c

来自「从零开始学51单片机源代码」· C语言 代码 · 共 44 行

C
44
字号
#include <reg51.h>
#include "fun.h"
/*
  假定编号保存在0x2000h开始的连续5个地址中 
  时钟11.0592MHz 
*/
main()
{
	int i,j,max;
	unsigned char id[5],myid;
	ms_delay(100);

	for (i = 0; i < 4; i ++)
	{//从EEPROM取编号 
		id[i] = IAP_read (0x20, i);
	}

	for (i=0;i<=2;i++)
	{								//  00 88 99 10 10
  		max=0;
  		for (j=i+1;j<=4;j++)
  		{
    		if (id[i]==id[j])
			{
	  			max++;
			}
  		}
  		if (max>=2) //5个里面有3个相同的 
  		{
    		myid = id[i];
			//回写EEPROM
			IAP_erase  (0x20, 0x00);
			for (i = 0; i < 4; i++)
			{
				IAP_write  (0x20, i, myid);
			}
  		}
  		else
  		{
    		myid = 0;
  		}
	}
	while (1);
}

⌨️ 快捷键说明

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