#include<pic.h>
#include "..\devlib\mydef16F877.h"
#include "1602.h"
#include "24c02_moni.h"
//主函数
const char num2hex[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
void fnBytes2String(BYTE* bs,BYTE len,char *str)
{
BYTE i,c;//定义ch高四位,cl低四位
for(i=0;i<len;i++)
{
c=*bs++;
//取高四位
//ch=(BYTE)c>>4 ;
//取低四位
//cl=0x0f&c;
//分别将转换后的字符存入字符串数组中
*str++=(char)num2hex[c>>4];
*str++=(char)num2hex[0x0f&c];
}
}
void main()
{
char i=0,j=0;
BYTE abc[]={0x1a,0x2b,0x33,0x44,0x55,0x66,0x77,0x88};
char lcdBuf[]="0123456789ABCDEF";
lcd_init(); //调用LCD初始化函数
ee_init;
// strcpy(lcdBuf,"1234567890abcdef");
// Write_EEPROM_Data(0x00,lcdBuf,8);
// lcd_write_string(0,1,lcdBuf);
// delayms(1000);
////
// fnBytes2String((BYTE*)abc,8,lcdBuf);
// lcd_write_string(0,1,lcdBuf);
// Write_EEPROM_Data(0x08,abc,8);
// delayms(1000);
memset(lcdBuf,' ',16);
memset(abc,0,16);
while(1)
{
if(i++%2)
{
Read_EEPROM_Data(0x08,abc,8);
fnBytes2String(abc,8,lcdBuf);
}
else
{
Read_EEPROM_Data(0x00,abc,8);
memcpy(lcdBuf,abc,8);
}
lcd_write_string(0,2,lcdBuf);
delayms(1000);
memset(lcdBuf,' ',16);
lcd_write_string(0,2,lcdBuf);
delayms(100);
}
}