ht48f50edemo.c

来自「HT48F MCU系列2K位EEPROM Data Memory的读写 - 使用」· C语言 代码 · 共 108 行

C
108
字号
/*******************************************************************************
*                                                                            
*	Filename:
*
*  	Company:    	Holtek
*	Case:
*	Device:			HT48F50E
*   Date:       	2007/01/15
*   Visions:   		1.0
*   Compiler:		 
*	Clock:			4MHz Cystral 
*	
********************************************************************************
*
*	Function:
*		HT48F50 Read/Write EEPROM data memory Example Program
*
********************************************************************************
*
*	Pin assignemt:
*
*******************************************************************************/
#include "HT48F50EDEMO.h"

/******************************************************************************/
/*Main program area		  													  */
/******************************************************************************/
void main(void)
{
	UC EEADDR;
	
	_bp = 1l;
	_mp1 = 0x40;
	
	EWEN();
	
	ERAL();						//Test1, Erase All test
	EEADDR = 0;
	do
	{
		if(READ(EEADDR) != 0xff)
			goto Error;
	}while(++EEADDR);
	
	ERAL();						//Test2, Write All using 55 test
	WRAL(0x55);
	EEADDR = 0;
	do
	{
		if(READ(EEADDR) != 0x55)
			goto Error;
	}while(++EEADDR);	
			
	ERAL();						//Test3, Write All using AA test
	WRAL(0xaa);
	EEADDR = 0;
	do
	{
		if(READ(EEADDR) != 0xaa)
			goto Error;
	}while(++EEADDR);
	
	EEADDR = 0;
	do							//Test4, Write one by one using 55 and AA test
	{
		WRITE(EEADDR, 0x55);
		WRITE(EEADDR+1, 0xaa);		
	}while(EEADDR=EEADDR+2);
	
	EEADDR = 0;
	do
	{
		if(READ(EEADDR) != 0x55)
			goto Error;
		if(READ(EEADDR+1) != 0xaa)
			goto Error;			
	}while(EEADDR=EEADDR+2);
	
	EEADDR = 0;
	do							//Test5, Write one by one using ADDRESS as the writing data test
	{
		WRITE(EEADDR, EEADDR);
	}while(++EEADDR);
		
	EEADDR = 0;
	do
	{
		if(READ(EEADDR) != EEADDR)
			goto Error;
	}while(++EEADDR);	
	

//----- if all pass, program will run here. User can set breakpoint here
	OK:
		EWDS();
		while(1);		

//----- if any Error, program will jump here. User can set breakpoint here
	Error:
		EWDS();
		while(1);

}

/******************************************************************************/
/*Sub program area		  													  */
/******************************************************************************/

⌨️ 快捷键说明

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