0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

454398 来源:网络整理 作者:网络整理 2019-12-06 11:39 次阅读

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

    评论

    相关推荐

    EEPROM轻量级的简易类文件的数据读写库:EEPROMFS

    虽然 EEPROM 相对 Flash 读写速度更慢,但 EEPROM 一些独有特性是 Flash 无法实现的,比如字节读写操作。 所以,
    的头像 发表于 11-15 16:31 299次阅读
    <b class='flag-5'>EEPROM</b>轻量级的简易类文件的数据<b class='flag-5'>读写</b>库:EEPROMFS

    EEPROM读写程序详解

    EEPROM(Electrically Erasable Programmable Read-Only Memory)读写程序的详解涉及多个方面,包括EEPROM的基本工作原理、读写
    的头像 发表于 09-05 12:32 1427次阅读

    eeprom存储原理、存储结构及读写操作

    操作EEPROM具有数据保存时间长、可重复擦写、读写速度快等优点,广泛应用于各种电子设备中。本文将详细介绍EEPROM的存储原理、存储结构、读写
    的头像 发表于 08-05 17:03 2016次阅读

    EN8F1823E完全替代PIC16F883,PIC16F1883,PIC16F1936,PIC16F1937

    PIC
    捷尚微辉芒微MCU单片机
    发布于 :2024年07月30日 16:59:15

    STM8S003F3P6操作EEPROM会影响FLASH吗?

    各位前辈好,想请教一下,STM8S003F3P6操作EEPROM会影响FLASH吗(具体的读写程序已经写完,只是担心会影响FLASH,因为FLASH的擦写次数只有100次)。PB4和P
    发表于 05-21 06:36

    STM8L的EERPOM是使用内部FLASH吗?用那个库文件能操作读写

    STM8L的EERPOM 是使用内部FLASH吗?用那个库文件能操作读写
    发表于 05-15 07:12

    STM32做IIC读写程序,利用HAL库对IIC读写遇到的疑问求解

    , uint32_t Timeout) 我利用库函数对EEPROM的多字节读写做了实验如下: HAL_StatusTypeDef EEPROM_WriteData(uint16_
    发表于 04-24 06:27

    STM32F103利用软件模拟I2C读写EEPROM,超过385个字节就读写不了的原因?

    在STM32F103的芯片中,利用软件模拟I2C读写EEPROM,在使用页写入的方式进行读写时,能够读写385个字节,(
    发表于 03-19 07:45

    stm32f4软件模拟I2C读写EEPROM无器件响应是什么原因造成的?

    利用STM32F4软件模拟I2C读写EEPROM时,在检测I2C总线设备时,在等待应答阶段,CPU读取SDA线口状态值为1(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_7)),导致
    发表于 03-19 06:36

    STM32 FLASH模拟EEPROM,烧写程序时设置为读保护Level-2级别,还能正常读写这个模拟的EEPROM吗?

    STM32系列内部FLASH模拟EEPROM,烧写程序时设置为读保护Level-2级别,还能正常读写这个模拟的EEPROM吗?
    发表于 03-13 07:34

    M24C16为什么只能读写最后一次的数据?

    我的现象是,每次写完一组数据(16个字节),然后再读出来,发现是正确的。 但是如果再读取上一次或者上几次读写的数据,也就是更改一下EEPROM的地址,读出来的数据和最新的一次是一样的。 我不清楚是我
    发表于 03-12 07:53

    Microchip发布PIC16F13145系列MCU,促进可定制逻辑的新发展

    为了满足嵌入式应用日益增长的定制化需求,Microchip Technology Inc.(微芯科技公司)推出PIC16F13145系列单片机(MCU),提供量身定制的硬件解决方案。
    的头像 发表于 01-25 16:49 980次阅读
    Microchip发布<b class='flag-5'>PIC16F</b>13145系列MCU,促进可定制逻辑的新发展

    HOLTEK新推出HT66F3184/HT66F3194 A/D MCU with EEPROM

    Holtek A/D Flash MCU with EEPROM系列新增HT66F3184 / HT66F3194成员,分别为HT66F31
    的头像 发表于 01-12 16:19 924次阅读

    pic16f628a烧录设置

    PIC16F628A是微芯科技(Microchip)推出的一款8位微控制器芯片。它是一款多功能的芯片,被广泛应用于各种嵌入式系统和电子设备中。烧录是将程序代码写入芯片的过程,它是使用这款芯片的第一步
    的头像 发表于 12-19 09:43 2372次阅读

    APM32F4 Flash模拟EEPROM介绍和代码实现

    Flash与EEPROM一次操作的数据大小不同。虽然MCU内部的Flash和EEPROM一样,可以实现按字节的读写,但是在写入的时候,是必须
    的头像 发表于 12-01 17:52 1230次阅读
    APM32<b class='flag-5'>F</b>4 Flash模拟<b class='flag-5'>EEPROM</b>介绍和代码实现