松翰单片机的OTP可重复烧写的技巧!.doc

松翰单片机的OTP可重复烧写的技巧!.doc

ID:56709352

大小:25.50 KB

页数:4页

时间:2020-07-05

松翰单片机的OTP可重复烧写的技巧!.doc_第1页
松翰单片机的OTP可重复烧写的技巧!.doc_第2页
松翰单片机的OTP可重复烧写的技巧!.doc_第3页
松翰单片机的OTP可重复烧写的技巧!.doc_第4页
资源描述:

《松翰单片机的OTP可重复烧写的技巧!.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、松翰单片机的OTP可重复烧写的技巧!1.问题:笔者在前期工作中,常常遇到在做测试时,只要修改一些简短的指令或数据时,就要再换一个全新的芯片重新烧录一下,再测试。这样即浪费时间,又消费芯片,还消费金钱呢。  2.解决:其实OTP不是你想象的那么“顽固”,只要你对它好一些,还是有些回报的。在烧录前,芯片的内部全是由2进制的1组成,烧录后,是对里面的1进行切断成0,如此,烧录过的不能再烧录,是对已经把1烧录成0的不可再烧,而是没有把1烧成0的,还是可以再烧的。也就是说,1可以变成0,而0不可再变为1,就象保险丝一样,烧断了就不可再烧

2、,而没烧断的,你还可以把它烧断。要想实现重烧的过程,还是要有些技巧的。哎,废话这么多,来些实例的讲吧。你可以在你想要的地方预留些空间,等你想要在这修改时,再从里面提取出来。;-----------------------------------------------------------------------------;  3.实例1:在已经烧过程序的IC上修改数据:        incms    t_enter_io        ;500ms进入一次            nop                 

3、                       ;            mov    a,#0xFF          ;1预留数据修改(二进制为:11111111b)        mov    a,#0xFF          ;2预留数据修改        mov    a,#0xFF          ;3预留数据修改        mov    a,#0xFF          ;4预留数据修改        mov    a,#0xFF          ;5预留数据修改    mov    a,#0xF3    

4、        ;等待被修改的数据    cjb    t_enter_io,a,e_tele_io    ;249次进入一下    clr    t_enter_io        ;;-----------------------------------------------------------------------------;            3.1.1(直接修改)比如我想在已经烧有上面程序的IC的基础上,修改a=0xF3(2二进制:11110011B)为a=0xF1,此时,你就不要再浪费IC了,直接在上

5、面修改就可以。你可以看到,0xF3与0xF1的区别只在于3和1,二进制为:0011B和0001B,所以你可以把0011B(十进制3)中第2位的1修改为0,即从0011B成为0001B,所以可以直接修改,当然你也要以把它修改成为你想要的数据,但前提是:你只能从二进制中的1烧成0,不可从0变为1.比如我可以把0xF1再烧成0xA1或0xA0或0x01或0x00等等。;-----------------------------------------------------------------------------;  3.1

6、.2(覆盖修改)是否有一种可以在上面的程序中任意修改数据呢?这是有的!读者可以看到,我上面的程序为了防止修改不同的数据而所预留的5条:mova,0xFF,这是为了修改各种数据而预留的。你可以把0xFF(二进制:11111111B)修改成0~255范围的任意一个数据。修改过程为:先把在最下面的不想要的数据(直接送数指令:mova,0xF3;此指令生成的机器指令为:2DF3),用NOP(机器指令为:0000)给填充掉。然后第5条的0xFF修改为你想要的数据),比如修改为:0x45,修改后的程序如下:    incms    t_e

7、nter_io        ;500ms进入一次            nop                                        ;            mov    a,#0xFF          ;1预留数据修改(二进制为:11111111b)        mov    a,#0xFF          ;2预留数据修改        mov    a,#0xFF          ;3预留数据修改        mov    a,#0xFF          ;4预留数据修改     

8、   mov    a,#0x45;0xFF          ;5预留数据修改已经修改为0x45    ;;;mov    a,#0xF3            ;此条指令用NOP取代  等待被修改的数据        NOP                        

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。