
无论带的什么类型的程序存储器,都是来保存程序的。
“下载”的时候,把程序代码写入程序存储器;
“运行”的时候,CPU从程序存储器取出代码来执行。
程序存储器就是这么用。
在你的C文件里引用EEPROM函数的头文件,eeprom_routines.h
然后在程序中使用
void eeprom_write(unsigned char addr, unsigned char value)
unsigned char eeprom_read(unsigned char addr)
这两个函数了。
这两个函数一个读一个写。比如你想写0x10到地址为0x55的EEPROM,
就写:eeprom_write(0x55,0x10)
同理,如果想读取0x55地址处的值,
就写:ee_value = eeprom_read(0x55)
如果编译时编译器提示找不到eeprom_routines.h,可以在
X:\Program Files\HI-TECH Software\PICC\9.81\include 目录下找,然后复制到自己项目文件夹下。
对了,我用的是MPLab IDE,编译器使用的是PICC。
是一边读指令一边执行。建议偿试:
一、在EEPROM端用示波器查一下PSEN和ALE的时序。
二、在EEPROM内写入75 90 ff 22,如果上电后P1口全是高电平,则正常。
三、在EEPROM内写入75 90 00 22,如果上电后P1口全是低电平,则正常。
四、如果通过了第二、三步的测式,还是不能运行的话,在代码里查找对P0、P2口的 *** 作,把这些 *** 作都停掉。使用外部程序存储器时,最好不要再用P0、P2口做GPIO。
五、第四步这后还没有效果的话,估计硬件还是有问题。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)