【TB作品】PIC16F1719单片机,EEPROM,PFM,读写,PIC16F1718/19

2024-08-25 04:12

本文主要是介绍【TB作品】PIC16F1719单片机,EEPROM,PFM,读写,PIC16F1718/19,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

对于PIC16F1719单片机,没有直接的EEPROM,而是使用高耐久度的程序闪存(PFM)作为非易失性数据存储区域。这个区域特别适合存储那些需要频繁更新的数据。读写这个内存区域需要操作一些特殊功能寄存器,比如用于地址的PMADRH:PMADRL和用于数据的PMDATH:PMDATL

执行从闪存中读取数据的操作步骤如下:

  1. 将目标地址写入PMADRH:PMADRL寄存器对。
  2. 清除PMCON1寄存器的CFGS位。
  3. 设置PMCON1寄存器的RD控制位以启动读取操作。读取的数据将存储在PMDATH:PMDATL寄存器对中。

要将数据写入闪存,可以按照以下步骤进行:

  1. 将目标闪存地址加载到PMADRH:PMADRL寄存器中。
  2. 将数据写入PMDATH:PMDATL寄存器中。
  3. 通过向PMCON2寄存器写入特定的值(先55h,再AAh)来执行解锁序列。
  4. 设置PMCON1寄存器中的WR位以启动写操作。

这种操作过程确保了对非易失性内存的安全控制,用于存储关键数据。

高耐久度的程序闪存(PFM)是Microchip的PIC16(L)F1717/8/9系列微控制器中的一项存储技术,用于频繁更新的数据存储。根据提供的文档,这种高耐久度的程序闪存具有以下特性:

  1. 容量大小

    • 对于PIC16(L)F1717微控制器,PFM的容量为128字节。
    • 对于PIC16(L)F1718/9微控制器,PFM的容量同样为128字节。
  2. 高耐久度

    • 这种闪存支持高达100,000次的擦写循环,非常适合需要频繁更新的非易失性数据存储。
  3. 地址范围

    • PIC16(L)F1717的高耐久度闪存地址范围为1F80h到1FFFh。
    • PIC16(L)F1718/9的高耐久度闪存地址范围为3F80h到3FFFh。
  4. 应用

    • 高耐久度的程序闪存特别适合用于嵌入式系统中需要频繁更新的数据,如配置参数、运行计数器等。

这种PFM在设计上旨在代替传统的EEPROM,提供了更高的耐久性和更快的访问速度。对于一些嵌入式应用来说,它是一种高效且可靠的存储解决方案。

在这里插入图片描述

所以,写代码:
在这里插入图片描述

可以看到显示出了我写入的2345:
在这里插入图片描述

code:

https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tab=BB08J2

讲解视频:

通过网盘分享的文件:2024-08-24 21-57-51.mkv
链接:https://pan.baidu.com/s/1ANlzKzfK70K93OQfueNE0w?pwd=tbsp 
提取码:tbsp 

这篇关于【TB作品】PIC16F1719单片机,EEPROM,PFM,读写,PIC16F1718/19的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1104508

相关文章

10. 文件的读写

10.1 文本文件 操作文件三大类: ofstream:写操作ifstream:读操作fstream:读写操作 打开方式解释ios::in为了读文件而打开文件ios::out为了写文件而打开文件,如果当前文件存在则清空当前文件在写入ios::app追加方式写文件ios::trunc如果文件存在先删除,在创建ios::ate打开文件之后令读写位置移至文件尾端ios::binary二进制方式

【STM32】SPI通信-软件与硬件读写SPI

SPI通信-软件与硬件读写SPI 软件SPI一、SPI通信协议1、SPI通信2、硬件电路3、移位示意图4、SPI时序基本单元(1)开始通信和结束通信(2)模式0---用的最多(3)模式1(4)模式2(5)模式3 5、SPI时序(1)写使能(2)指定地址写(3)指定地址读 二、W25Q64模块介绍1、W25Q64简介2、硬件电路3、W25Q64框图4、Flash操作注意事项软件SPI读写W2

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

单片机毕业设计基于单片机的智能门禁系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍程序代码部分参考 设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订

关于使用cspreadsheet读写EXCEL表格数据的问题

前几天项目有读写EXCEL表格的需求,我就找了大概有几种,大致分为:COM方法、ODBC方法、OLE方法、纯底层格式分析方法。由于COM方法要求必须安装有OFFICE的EXCEL组件,纯底层格式分析方法又很多功能需要自行去完善,所有最终选择了数据库的方法,用数据库的方法去存取xls格式的数据。网上有一个高手写的CSpreedSheet,看了一下提供的接口,感觉挺好用的。在使用的过程中发现几个

react笔记 8-19 事件对象、获取dom元素、双向绑定

1、事件对象event 通过事件的event对象获取它的dom元素 run=(event)=>{event.target.style="background:yellowgreen" //event的父级为他本身event.target.getAttribute("aid") //这样便获取到了它的自定义属性aid}render() {return (<div><h2>{

linux 内核提权总结(demo+exp分析) -- 任意读写(四)

hijack_modprobe_path篇 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm     原理同hijack_prctl, 当用户执行错误格式的elf文件时内核调用call_usermod

linux 内核提权总结(demo+exp分析) -- 任意读写(三)

hijack_prctl篇 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm   prctl函数: 用户态函数,可用于定制进程参数,非常适合和内核进行交互 用户态执行prctl函数后触发prctl系统

linux 内核提权总结(demo+exp分析) -- 任意读写(二)

hijack_vdso篇 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm     vdso: 内核实现的一个动态库,存在于内核,然后映射到用户态空间,可由用户态直接调用 内核中的vdso如果被修改

linux 内核提权总结(demo+exp分析) -- 任意读写(一)

cred篇 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm   每个线程在内核中都对应一个线程结构块thread_infothread_info中存在task_struct类型结构体 struct t