近日根据pic16f877a的芯片手册实验了定时器,计数器,ad转换,等等功能,还算顺利,但对与eeprom的读写不成功.我把一小段程序发到这里,欢迎各地做过的高手前来指点.先谢谢各位了.
测试程序用c语言编写,用汇编语言没试.
red(char b10 ,char b11 ,char b12,char b13)//读两个字节eeprom程序
{
eeadrh=b11;
eeadr=b10;//选中地址的高低位
eepgd=0;//选中eeprrom
rd=1;
delay(5,5);//少量廷时
b13=eedath;
b12=eedata;//读取高低数据分别存在eedath,eedata中.b10.b11中}
}
//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
write(char a12,char a13,char a14,char a15)//写两个字节到eeprom程序
{
a13=eeadrh;//高位地址
a12=eeadr;//选中地址的高低位
a15=eedath;//要写入的高位数据
a14=eedata;//要写入的低位数据
eepgd=0;//选中eeprpom
wren=1;//开始写入
gie=0;//先关中断
eecon2=0x55;
eecon2=0xaa;
wr=1;//写入
delay(5,5);//
gie=1;//开回中断
wren=0;//清0,为准备下次写入
}
//////////////////////////////////////////////////////