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

企业形象网站建设广西桂建云考试培训中心

企业形象网站建设,广西桂建云考试培训中心,企业网站服务门户,深圳市门户网站建设多少钱STC15读取内部ID示例程序#x1f389;本案例基于STC15F2K60S2为验证对象。 #x1f4d1;STC15 ID序列介绍 STC15系列STC最新一代STC15系列单片机出厂时都具有全球唯一身份证号码(ID号)。最新STC15系列单片机的程序存储器的最后7个字节单元的值是全球唯一ID号#xff0c;用…STC15读取内部ID示例程序 本案例基于STC15F2K60S2为验证对象。 STC15 ID序列介绍 STC15系列STC最新一代STC15系列单片机出厂时都具有全球唯一身份证号码(ID号)。最新STC15系列单片机的程序存储器的最后7个字节单元的值是全球唯一ID号用户不可修改但IAP15系列单片机的 整个程序区是开放的可以修改建议利用全球唯一ID号加密时使用STC15系列单片机并将EEPROM功能使用上从EEPROM起始地址0000H开始使用可以有效杜绝对全球唯一ID号的攻击。除程序存储器的最后7个字节单元的内容是全球唯一ID号外单片机内部RAM的F1H ~ F7H单元 (对于STC15F100W系列及STC15W104SW系列单片机是内部RAM的71H - 77H单元)的内容也为全球唯一ID号。用户可以在单片机上电后读取内部RAM单元F1H - F7H (对于STC15F100W系列及STC15W104SW系列单片机是内部RAM单元71H - 77H)连续7个单元的值来获取此单片机的唯一身份证号码(ID号 ), 使用“ MOV Ri” 指令来读取。如果用户需要用全球唯一ID号进行用户自己的软件加密建议用户在程序的多个地方有技巧地判断自己的用户程序有无被非法修改提高解密的难度防止解密者修改程序绕过对全球唯一ID号的判断。使用程序区的最后7个字节的全球唯一ID号比使用内部RAM单元 F1H - F7H (或内部RAM单元71H - 77H)的全球唯一ID号更难被攻击。建议用户使用程序区最后7个字节的全球唯一ID号而不要使用内部RAM单元 F1H - F7H (或内部RAM单元71H - 77H)的全球唯一ID号。 有关ID号在大批量生产中的应用方法 先烧一个程序进去(选择下次下载用户程序时不擦除用户EEPROM区) 读程序区的ID号(STC15系列是程序区的最后7个字节)经用户自己的复杂的加密算法对程序区的ID号加密运算后生成一个新的数——用户自加密ID号写入STC15系列用户EEPROM区的EEPROM。再烧一个最终出厂的程序进去(选择下次下载用户程序时将用户EEPROM区一并擦除)如下图所示 在用户程序区的多处读程序区的ID号和用户自加密ID号比较(经用户自己的复杂的解密算法解密后),如不对应,则6个月后随机异常,或200次开机后随机异常最终出厂的程序不含加密算法。另外,在程序区的多个地方判断用户自己的程序是否被修改,如被修改,则6个月后随机异常,或200次开机后随机异常,将不用的用户程序区用所谓的有效程序全部填满。 示例程序 ✨以STC15F2K60S2为例主时钟频率22.1184MHz波特率115200 //#include reg51.h #include STC15F2K60S2.H //#include STC15Fxxxx.H //typedef unsigned char u8; //typedef unsigned int u16;#define FOSC 22118400L //系统频率 #define BAUD 115200 //串口波特率#define S1_S0 0x40 //P_SW1.6 #define S1_S1 0x80 //P_SW1.7 bit busy; //sfr T2H 0xd6; //定时器2高8位 //sfr T2L 0xd7; //定时器2低8位 //sfr AUXR 0x8e; //辅助寄存器 #define ID_ADDR_RAM 0xf1 //ID号的存放在RAM区的地址为0F1H //ID号的存放在程序区的地址为程序空间的最后7字节 //#define ID_ADDR_ROM 0x03f9 //1K程序空间的MCU(如STC15F201EA, STC15F101EA) //#define ID_ADDR_ROM 0x07f9 //2K程序空间的MCU(如STC15F402AD, //STC15F202EA, STC15F102EA) //#define ID_ADDR_ROM 0x0bf9 //3K程序空间的MCU(如STC15F203EA, STC15F103EA) //#define ID_ADDR_ROM 0x0ff9 //4K程序空间的MCU(如STC15F404AD, STC15F204EA, //STC15F104EA) //#define ID_ADDR_ROM 0x13f9 //5K程序空间的MCU(如 STC15F206EA, STC15F106EA) //#define ID_ADDR_ROM 0x1ff9 //8K程序空间的MCU(如STC15F2K08S2, STC15F1K08AD, //STC15F408AD) //#define ID_ADDR_ROM 0x27f9 //10K程序空间的MCU(如STC15F410AD) //#define ID_ADDR_ROM 0x2ff9 //12K程序空间的MCU(如STC15F408AD) //#define ID_ADDR_ROM 0x3ff9 //16K程序空间的MCU(如STC15F2K16S2, //STC15F1K16AD) //#define ID_ADDR_ROM 0x4ff9 //20K程序空间的MCU(如STC15F2K20S2) //#define ID_ADDR_ROM 0x5ff9 //24K程序空间的MCU //#define ID_ADDR_ROM 0x6ff9 //28K程序空间的MCU //#define ID_ADDR_ROM 0x7ff9 //32K程序空间的MCU(如STC15F2K32S2) //#define ID_ADDR_ROM 0x9ff9 //40K程序空间的MCU(如STC15F2K40S2) //#define ID_ADDR_ROM 0xbff9 //48K程序空间的MCU(如STC15F2K48S2) //#define ID_ADDR_ROM 0xcff9 //52K程序空间的MCU(如STC15F2K52S2) //#define ID_ADDR_ROM 0xdff9 //56K程序空间的MCU(如STC15F2K56S2) #define ID_ADDR_ROM 0xeff9 //60K程序空间的MCU(如STC15W4K60S4,STC15F2K60S2)//----------------------------------------- void InitUart(); void SendUart(u8 dat); //----------------------------------------- void main() {u8 idata *iptr;u8 code *cptr;u8 i;P0M0 0x00;P0M1 0x00;P1M0 0x00;P1M1 0x00;P2M0 0x00;P2M1 0x00;P3M0 0x00;ACC P_SW1;ACC ~(S1_S0 | S1_S1); //S1_S00 S1_S10 // S1_USE_P30P31(); //UART1 使用P30 P31口 默认InitUart(); //串口初始化iptr ID_ADDR_RAM; //从RAM区读取ID号for (i 0; i 7; i) //读7个字节{SendUart(*iptr); //发送ID到串口}cptr ID_ADDR_ROM; //从程序区读取ID号for (i 0; i 7; i) //读7个字节{SendUart(*cptr); //发送ID到串口}while (1); //程序终止 } /*---------------------------- 串口初始化 ----------------------------*/ void InitUart()//115200bps22.1184MHz {SCON 0x50; //8位数据,可变波特率AUXR 0x40; //定时器1为1T模式TMOD 0x00; //定时器1为模式0(16位自动重载)TL1 (65536 - (FOSC/4/BAUD)); //设置波特率重装值TH1 (65536 - (FOSC/4/BAUD))8;TR1 1; //定时器1开始启动ES 1; //使能串口中断EA 1;} /*---------------------------- 发送串口数据 ----------------------------*/ void SendUart(u8 dat) {while (busy); //等待前面的数据发送完成ACC dat; //获取校验位P (PSW.0)busy 1;SBUF ACC; //写数据到UART数据寄存器 } /*---------------------------- UART 中断服务程序 -----------------------------*/ void Uart() interrupt 4 { // if (RI) // { // RI 0; //清除RI位 // }if (TI){TI 0; //清除TI位busy 0; //清忙标志} } 程序源码 复制这段内容后打开百度网盘手机App操作更方便哦 链接: https://pan.baidu.com/s/1z5i6KBB_6B397_o8QUTEMw 提取码: eaqb
http://www.hkea.cn/news/14499184/

相关文章:

  • 小型门户网站模板企业网站模板建设
  • 玉溪企业网站建设公司长沙岳麓区房价新楼盘房价
  • 免备案自助建站网站做国际网站有用
  • 和别人做网站接单赚钱怎么做婚介网站
  • 石家庄高级seo经理衡阳seo优化服务
  • 长兴县建设局网站wordpress微交易
  • 俄罗斯网站设计苏州网络公司排行榜
  • 网站建设合集硬件开发与软件开发前景哪个好
  • 企业网站软件下载网站建设推广用兴田德润
  • 公众号电影网站是怎么做的wordpress视频会员
  • iis建立好网站 怎么打开焦作网站设计
  • 贵州建设厅监理协会网站百度账号找回
  • 如何提高网站收录量专业网站设计制合肥作
  • 西青做网站网站网站代理可以做不
  • 个人网站备案所需材料网站开发开账务处理
  • 奉贤品牌网站建设代理网络是什么
  • 网站开发的工作需要什么材料企业做推广有用吗
  • 网络营销网站建设案例房地产公司网站建设与推广方案
  • 在元典公司做网站有合同吗如何在各个购物网站之间做差价
  • 国内室内设计网站推荐网站的宣传推广
  • 网站后台 全局配置网络营销管理培训
  • 有什么做任务的网站吗微商目前十大火爆产品
  • 现在网站开发模式建设集团简介
  • 江苏南京建设厅网站wordpress系统搭建
  • 整合营销网站建设帮朋友做网站不给钱
  • 可以做用户画像的网站wordpress头像函数
  • 好的专业网站建设公司免费设计logo效果图
  • 生物医药网站建设好用的wordpress
  • 成都访问公司网站wordpress批量该连接
  • 公司网站建设文章厦门网页设计公司价格