EEPROM( E 电上 E 可刮擦的 P 可擦写的 R ead- O nly M emory )是一种非易失性存储器,可以在电路板上进行电编程,擦除和重新编程。大多数PIC微控制器都带有一些内置的EEPROM,是存储系统掉电时不会丢失的数据的好地方。一个很好的例子是一个数字锁系统,其中的访问代码可以存储在微控制器的EEPROM中,这样即使断开电源后内容仍保持完整。在我的“ 初学者的数据记录器”项目中,我使用了PIC12F683的内部EEPROM来存储测得的温度值。在今天的实验中,我们将学习如何对PIC16F628A的内部EEPROM执行基本的读写操作。
使用PIC的内部EEPROM进行读/写操作
理论
PIC16F628A单片机具有128字节的数据EEPROM,地址范围为00h至7Fh。有四个用于读取和写入此存储器的特殊功能寄存器,分别是EECON1,EECON2,EEDATA和EEADR。 EEADR将您希望读取或写入的地址保存在EEPROM中,而EEDATA将您刚刚读取的或希望写入EEPROM的8位数据保存。 EECON1和EECON2是控制寄存器,用于启用EEPROM读/写操作。我们将在这里忽略这些寄存器的详细信息,因为我们将使用mikroC编译器进行编程,其中用于EEPROM操作的内置库例程负责配置这些寄存器。但是,您可以在PIC16F628A的数据手册中找到这些寄存器的详细信息。
电路设置
此实验需要一个16×2字符的LCD进行显示和三个用于用户输入的触觉开关。下面的电路图显示了LCD和PIC16F628A微控制器的开关的连接。
实验13的电路图
三个轻触开关分别连接到RB0,RB1和RB3引脚。 LCD以4位模式工作,数据引脚由PIC16F628A的RB4至RB7引脚驱动。 LCD RS和E控制引脚连接到RA0和RA1引脚。在软件部分讨论了这三个轻触开关的功能。
实验板上的实验电路设置
软件
我们将为PIC16F628A编写一个小型应用程序软件,该软件将对PIC16F628A的选定内部EEPROM位置(00h至0Fh)执行读,写和删除操作。按下“读取”按钮时,将读取00h-0Fh位置存储的16字节信息,并将其显示在LCD屏幕上。按下“写入”按钮会将字符串“ Embedded-Lab.com”写入这些位置,而如果按下“清零”按钮,则这些位置中的值将全部替换为0。
mikroC Pro用于PIC编译器的EEPROM读写操作提供以下功能:
无符号短 EEPROM_Read(无符号短地址):-从指定地址
无效 EEPROM_Write(无符号短地址,无符号短数据):-将数据写入指定地址
您可以从下面的链接下载完整的源代码和十六进制文件。
下载mikroC项目文件
输出
已擦除的EEPROM位置中的默认值为FFh(255)。当此值(FFh)显示在LCD上时,屏幕上所有5×10点均处于活动状态。因此,当您第一次读取处于擦除状态的EEPROM时,将读取所有FFh(请参见下图)。一旦完成写入操作,请关闭电源几秒钟,然后再次将其关闭,然后按读取按钮。您会看到字符串(Embedded-Lab.com)仍保留在EEPROM中。
主菜单
读取开头的所有FF
写操作
再次读取新存储的值a
归零位置
读取全零
责任编辑:wv
-
存储器
+关注
关注
38文章
7454浏览量
163613 -
PIC16F628A
+关注
关注
1文章
8浏览量
10046
发布评论请先 登录
相关推荐
评论