资料介绍
见过很多初学者对PIC16系列单片机的ID码的读和写犯迷糊。说实话,这方面的资料也不怎么全。有些教材可能会涉及ID区域的介绍,可是往往是一代而过。这对初学者来说是比较容易犯错的地方。今天有空,对相关的问题作了一些整理,分享给大家。可能有些地方说的不够妥当,欢迎大家多多探讨。
1.什么是ID区域?
ID区域是独立于EEPROM,FLASH,RAM的区域。程序设计人员可以利用该区域存放软件的版本号,编写日期,烧录日期,产品标识等信息。不过该区域很小PIC16系列只能存放4个字节。
2.ID码怎么烧录到ID区域里面去?
可以利用PICC自带的宏命令IDLOC(X)来实现。具体操作如下:
.....................................//头文件 其它宏定义
__IDLOC(76F4); //注意:前面是两个下划线。括号里面最多可以有2个字节
void main()
{
...................................//程序主体
}
编译以后再用烧录工具烧到单片机中即可。这里要提醒一下,IDLOC(X)里面最多有2个字节的16进制数,超过部分会无效。比如你写个987FE3,E3会丢掉。另外得说一下这两个16进制数在ID区域是怎么放的。我们已经知道IDLOC(X)里面能又个字节,而ID区域能放4个字节。以X=76F4为例,它们是这样放的07060F04。也就是说,在每个16进制数前加1个0。如果你写的不是2个字节的16进制数,比如是1个字节的78。编译器会在前面补0,那就成了0078。写到ID区域的就是00000708
3.ID码怎么读出来?
可以通过烧录工具跟编译器配合读出来。我用的是PICC跟ICD2。连好线,单片机上电以后,在编程模式下,通过执行Read Target Device操作,然后在Configure菜单下的Id memory
选项可以看到刚才编程的时候设置的ID码。
其实,多数PIC都没有唯一ID,有人通过烧断PIC读出总线来实现,但设备需要自制。
只要是市场上大量销售的芯片,解密都不是什么麻烦事,只能尽量用新型号或者生僻的型号。
有人用MCU内部的EEPROM这么搞过,但不是这么简单的这么搞,对于大批量生产来说,还需要一些技巧才能比较好的处理这个问题。
1、设置一个自检程序,通过特殊操作(我有一个自制工装,可以把MCU的各个相关IO强行固定在某个逻辑电平上,软件判断逻辑组合,必须符合一个特定组合才能进入特殊操作启动代码,UART接受工装的通信数据,通信数据传入EEPROM要被擦写的次数和位置等)。
2、进入自检后,MCU疯狂的擦写EEPROM中设定的某个位置(适当提高一点VCC电压以加快失效),最多擦写200万次后停止操作,一般MCU自带的EEPROM擦写次数都不到100万次,EEPROM某个字节在0XAA和0X55之间不断的被循环擦写。
3、这个擦写的时间还是比较长的,一般要数十分钟以上,我一般放在产品通电老化阶段进行这个自检程序(产品一般要在老化房4~6个小时候通电老化时间,自检程序兼容这个时间执行,避免产生新的工时损失)
4、擦写过程中在RAM中记录EEPROM该字节失效时的操作次数,并存入到EEPROM其他字节中。
5、产品正常销售中,执行APP用户程序,继续不断的擦写那个失效字节,如果不能擦写,则说明加密成功,否则有另一个纠错程序就不讲了,各位可以自行想办法。
(mbbeetchina)
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- PIC16/18系列开发入门
- PIC16F87X_CN单片机资料
- PIC16(L)F1782/1783单片机手册 21次下载
- Microwire串行EEPROM和PIC16单片机的接口设计 24次下载
- 使用C语言写一个PIC单片机嵌入式操作系统的资料说明
- 基于PIC16(L)F1713/6高性价比8位智能模拟闪存单片机
- PIC12和PIC16单片机的详细介绍和典型应用免费下载
- AN909中文手册之SPI串行EEPROM与PIC16单片机的接口设计
- USB闪存单片机之PIC16(L)F145X详细中文手册免费下载.pdf
- PIC16(L)F1512/3之采用XLP技术的28引脚闪存单片机
- XLP技术的全功能低引脚数单片机PIC16(L)F183XX系列介绍
- PIC16(L)F170X/171X智能模拟闪存单片机产品手册
- pic16位单片机学习 10次下载
- PIC16系列单片机C程序设计与PROTEUS仿真 243次下载
- PIC16CXXX系列单片机中文资料pdf
- PIC单片机的清零指令详解 7.4k次阅读
- PIC单片机源程序的模拟仿真设计 3k次阅读
- PIC单片机低功耗电路的设计方法介绍 2.7k次阅读
- pic单片机的八大优势总结 4k次阅读
- 如何选择PIC单片机的C编译器 5.9k次阅读
- PIC8位单片机的特点及优势介绍 4.9k次阅读
- PIC单片机的程序设计经验分享 2.7k次阅读
- 美国微芯科技推出全新的低功率16位PIC24F USB单片机 3.3k次阅读
- 基于MIPS的PIC32MM系列32位单片机介绍 5.2k次阅读
- 什么是单片机烧写软件?如何烧写 3.5w次阅读
- PIC16F87x单片机存储器特点及数据存储器使用规划 4.8k次阅读
- microchip单片机入门基础知识(PIC单片机详细资料) 2.4w次阅读
- PIC单片机简介 8k次阅读
- PIC单片机是什么_PIC单片机介绍 1.2w次阅读
- PIC8位单片机的基本组成 2.2k次阅读
下载排行
本周
- 1冷柜-电气控制系统讲解
- 13.68 MB | 4次下载 | 10 积分
- 2安川A1000变频器中文版说明书
- 20.16 MB | 3次下载 | 3 积分
- 3直流电路的组成和基本定律
- 1.67 MB | 2次下载 | 免费
- 4丹佛斯2800系列变频器说明书
- 8.00 MB | 1次下载 | 5 积分
- 5PC8011同步开关型降压3.5A单节锂电池充电管理电路技术手册
- 0.74 MB | 1次下载 | 免费
- 6ES7243E+ES8311音频录制与播放电路资料
- 0.06 MB | 1次下载 | 5 积分
- 7SDM02 激光测距模块产品手册
- 0.43 MB | 1次下载 | 免费
- 8SDFM 激光测距模块模组手册
- 0.54 MB | 1次下载 | 免费
本月
- 1CH341编程器软件NeoProgrammer_2.2.0.10
- 20.47 MB | 170次下载 | 1 积分
- 22025智能家居传感器市场分析及创新应用
- 3.11 MB | 43次下载 | 免费
- 3RV1126B系列开发板产品资料
- 4.19 MB | 18次下载 | 免费
- 4CH341编程软件下载
- 2.50 MB | 16次下载 | 5 积分
- 5全志系列-米尔基于T153核心板开发板 四核异构、3路千兆网,赋能多元化工业场景
- 3.05 MB | 12次下载 | 免费
- 6【开源】60余套STM32单片机、嵌入式Linux、物联网、人工智能项目案例及入门学习资源包
- 10.55 MB | 8次下载 | 免费
- 7冷柜-电气控制系统讲解
- 13.68 MB | 4次下载 | 10 积分
- 8特斯拉MODEL S车载充电机主电路回路原理图
- 0.81 MB | 4次下载 | 3 积分
总榜
- 1matlab软件下载入口
- 未知 | 935137次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420064次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233094次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191448次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183356次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81604次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73824次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65991次下载 | 10 积分
电子发烧友App





创作
发文章
发帖
提问
发资料
发视频
上传资料赚积分
评论