问题描述
这里有 PIC 单片机程序员吗?
我正在使用 pickit2 和 16F887 芯片学习一些 PIC 微控制器编程,我目前正在尝试各种设施。我无法从位置读取正确的字节。 我正在分享我的读写代码。在网络和表格上做了很多组合/阅读了大量数据,但无法关闭此问题。 我的阅读代码:
parent_row[i]
写指令:
EDREAD
BANKSEL EEADR
movlw 0X08 ;Read data from location 08
movwf EEADR
BANKSEL EECON1
bcf EECON1,EEPGD
bsf EECON1,RD
BANKSEL EEDATA
movf EEDATA,W
BANKSEL BIN1
movwf BIN1
RETURN
我将值电阻中的数据写入 EEPROM。该数据来自 ADC 输入值。尽管 ADC 的输入在 100 到 200 之间变化,但运行后代码显示的数据为 255。
解决方法
您执行的指令序列无法正确写入 EEPROM。有额外的 BANKSEL 指令会干扰 EEPROM 写解锁序列的工作方式。
我建议您阅读并理解 PIC16F887 数据表第 113 页上的示例 10-2。