logo资料库

自制单片机开发板全过程(傻瓜式教程).pdf

第1页 / 共101页
第2页 / 共101页
第3页 / 共101页
第4页 / 共101页
第5页 / 共101页
第6页 / 共101页
第7页 / 共101页
第8页 / 共101页
资料共101页,剩余部分请下载后查看
unsignedcharcodeBMP1[]={            //字节倒序//-
     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   
ucharcodeASC_5x7[]={0x00,0x00,0x00,0x00,0x0
unsignedcharcodeHZK_12[]={     //字节颠倒//--文字:
0x42,0x04,0xAE,0x04,0x93,0x04,0x9A,0x02,0xA6,0x01,
0x00,0x04,0x08,0x04,0x08,0x02,0x08,0x01,0xC8,0x00,
0x02,0x02,0xFA,0x01,0x4B,0x04,0xCA,0x07,0x7A,0x01,
0x42,0x00,0x22,0x00,0x12,0x00,0xFA,0x07,0x4E,0x01,
0x00,0x04,0xFC,0x03,0x24,0x01,0x24,0x02,0xE4,0x01,
0x02,0x01,0x02,0x01,0xFE,0x00,0x82,0x04,0x82,0x04,
0x00,0x00,0x1C,0x00,0x7E,0x03,0x7E,0x03,0x1C,0x00,
上面代码的各个函数部分我就不说了,只说说AT24C16的调试,也就是主函数部分:
voidMain(void){       ucharx,i;  uchar*a
对代码进行编译成HEX文件写入S51后运行:
好!数据已写入AT24C16内,下面修改程序,看看读取出的内容是否正确。
voidMain(void){       ucharx,i;  uchar*a
第二幅:
OK,成功!这次"iictest"这行字符是从AT24C16内读取的。你可以试着拔掉那两根SDA,
在网上找到一个写的不错的读写AT24CXXX的通用程序函数,也很好用,程序见下面:
#include#include#define
//DataBuff为读写数据输入/输出缓冲区的首址//ByteQuantity为要读写数据的字
/************************************************
/*****************以下是对IIC总线的操作子程序***//**********
/*****************停止IIC总线****************/voidII
/**************检查应答位*******************/bitIICRe
/***************对IIC总线产生应答*******************/voi
/*****************不对IIC总线产生应答***************/void
/*******************向IIC总线写数据*********************
/**********************从IIC总线上读数据子程序**********/un
/***************一个简单延时程序************************/
但实际使用中发现它有个严重的错误。就是没有考虑到不同的I2C器件在写页操作时,是有一页数据限制的,A
所以上面的程序得修改
分享到:
收藏