如何对PIC16F628A的内部EEPROM执行基本的读写操作

电子说

1.2w人已加入

描述

EEPROM( E 电上 E 可刮擦的 P 可擦写的 R ead- O nly M emory )是一种非易失性存储器,可以在电路板上进行电编程,擦除和重新编程。大多数PIC微控制器都带有一些内置的EEPROM,是存储系统掉电时不会丢失的数据的好地方。一个很好的例子是一个数字锁系统,其中的访问代码可以存储在微控制器的EEPROM中,这样即使断开电源后内容仍保持完整。在我的“ 初学者的数据记录器”项目中,我使用了PIC12F683的内部EEPROM来存储测得的温度值。在今天的实验中,我们将学习如何对PIC16F628A的内部EEPROM执行基本的读写操作。

PIC16F628A

使用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微控制器的开关的连接。

PIC16F628A

实验13的电路图

三个轻触开关分别连接到RB0,RB1和RB3引脚。 LCD以4位模式工作,数据引脚由PIC16F628A的RB4至RB7引脚驱动。 LCD RS和E控制引脚连接到RA0和RA1引脚。在软件部分讨论了这三个轻触开关的功能。

PIC16F628A

实验板上的实验电路设置

软件

我们将为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中。

PIC16F628A

主菜单

PIC16F628A

读取开头的所有FF

PIC16F628A

写操作

PIC16F628A

再次读取新存储的值a

PIC16F628A

归零位置

PIC16F628A

读取全零
       责任编辑:wv

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分