机电之家资源网
单片机首页|单片机基础|单片机应用|单片机开发|单片机文案|软件资料下载|音响制作|电路图下载 |嵌入式开发
培训信息
赞助商
EMC指令妙用
EMC指令妙用
 更新时间:2009-7-20 15:42:16  点击数:0
【字体: 字体颜色

         EMC单片机全部是OTP的,开发时只能使用仿真器,但很多情况下,仿真器并不能仿真实际的运行环境,如工作电压为3.3V左右、测试系统的功耗、测试系统的稳定性、测试ADC、DAC、看门狗使用等,如果使用仿真器会根实际情况有很大差别,只有烧片子才能测试到实际结果,这样一次试验下来,如果运气不好,可能需要浪费10~20个芯片,造成很大的浪费。

                要有效使用ADD
            A,@0xFF这条指令,需要对单片机系统编程进行一些分析,从仿真结果(包含硬件仿真器)根实际芯片运行的差异方面分析程序,可以把程序分为两个相对独立的系统:算法级程序和硬件级程序。

               
            算法级程序:指与硬件无关的程序,如加减乘除算法,控制算法等,总之不涉及硬件单元的操作,这些程序由于其硬件无关性,使用仿真器和芯片结果肯定相同。

               
            硬件级程序:与硬件相关的程序,如WDT、计数器、端口、中断、休眠、唤醒等等,特别是WDT、中断、休眠、唤醒等需要在芯片上才能测试出实际的结果,比如测试休眠状态的功耗,用仿真器无论如何是试验不出来的。

              闲话少说,书归正传。

                有效使用ADD A,@0xFF可以将一个芯片当作数片使用,甚至可以到数十片,原理如下:
              EMC单片机写烧写的过程实际就是将为1的熔丝位熔断成为0,即可以从1写为0,但不能从0到1,ADD
            A,@0xFF的机器码刚好是0x1FFF,全为1。例程如下:

              第一次编程代码如下:
                ORG    0X000
                ADD    A,@0XFF
                ADD    A,@0XFF
                ADD    A,@0XFF
                ADD    A,@0XFF
                ADD    A,@0XFF
                ADD    A,@0XFF
                ADD    A,@0XFF
            MAIN1:
                ...
                ...
                JMP    MAIN1

              如果MAIN1程序运行结果不能达到预期目标,需要修改程序,假定为MAIN2。修改后代码如下:

                ORG    0X000
                ADD    A,@0XFF
                ADD    A,@0XFF
                ADD    A,@0XFF
                ADD    A,@0XFF
                ADD    A,@0XFF
                ADD    A,@0XFF
                JMP    MAIN2
            MAIN1:
                ...
                ...
                JMP    MAIN1   
               
            MAIN2:
                ...
                ...
                JMP    MAIN2

  • 上一篇: EMC单片机查表(散转)指令的误区
  • 下一篇: EMC单片机写的I2C程序
  • 发表评论   告诉好友   打印此文  收藏此页  关闭窗口  返回顶部
    热点文章
     
    推荐文章
     
    相关文章
    网友评论:(只显示最新5条。)
    关于我们 | 联系我们 | 广告合作 | 付款方式 | 使用帮助 | 机电之家 | 会员助手 | 免费链接

    点击这里给我发消息66821730(技术支持)点击这里给我发消息66821730(广告投放) 点击这里给我发消息41031197(编辑) 点击这里给我发消息58733127(审核)
    本站提供的机电设备,机电供求等信息由机电企业自行提供,该企业负责信息内容的真实性、准确性和合法性。
    机电之家对此不承担任何保证责任,有侵犯您利益的地方请联系机电之家,机电之家将及时作出处理。
    Copyright 2007 机电之家 Inc All Rights Reserved.机电之家-由机电一体化网更名-声明
    电话:0571-87774297 传真:0571-87774298
    杭州滨兴科技有限公司提供技术支持

    主办:杭州市高新区(滨江)机电一体化学会
    中国行业电子商务100强网站

    网站经营许可证:浙B2-20080178-1