当前位置: 首页 > news >正文

【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 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • ST-LINK常见错误总结
  • 实现MySQL的主从复制基础
  • 如何保证Redis与数据库之间的一致性
  • C/C++ 线程局部存储(TLS)
  • vue3+vite配置环境变量实现开发、测试、生产的区分
  • 利用Matlab求解常微分方程(dsolve与ode45)
  • easypoi模板导出word并且合并行
  • Error connecting to node kafka9092 (id 1001 rack null)
  • 工厂模式和策略模式的区别
  • TCP系列相关内容
  • AI作曲工具真的这么神奇?新手也能出音乐!
  • 多指标用于评估文本生成模型的性能
  • zdppy+vue3+onlyoffice文档管理系统实战 20240823上课笔记 zdppy_cache框架的低代码实现
  • 计量自动化终端上行通信规约
  • Vue3 自定义指令
  • [译]前端离线指南(上)
  • CSS魔法堂:Absolute Positioning就这个样
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • JavaScript新鲜事·第5期
  • mysql 5.6 原生Online DDL解析
  • nginx 配置多 域名 + 多 https
  • Object.assign方法不能实现深复制
  • Selenium实战教程系列(二)---元素定位
  • Yii源码解读-服务定位器(Service Locator)
  • 编写符合Python风格的对象
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 前端js -- this指向总结。
  • 前端学习笔记之观察者模式
  • 深度学习入门:10门免费线上课程推荐
  • 使用 Docker 部署 Spring Boot项目
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 学习Vue.js的五个小例子
  • 用mpvue开发微信小程序
  • 优化 Vue 项目编译文件大小
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • 如何用纯 CSS 创作一个货车 loader
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • 整理一些计算机基础知识!
  • ​14:00面试,14:06就出来了,问的问题有点变态。。。
  • ​经​纬​恒​润​二​面​​三​七​互​娱​一​面​​元​象​二​面​
  • ​油烟净化器电源安全,保障健康餐饮生活
  • ![CDATA[ ]] 是什么东东
  • #、%和$符号在OGNL表达式中经常出现
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (SpringBoot)第七章:SpringBoot日志文件
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (佳作)两轮平衡小车(原理图、PCB、程序源码、BOM等)
  • (简单) HDU 2612 Find a way,BFS。
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (一)Thymeleaf用法——Thymeleaf简介
  • (转)Sublime Text3配置Lua运行环境
  • *** 2003
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...