ELAN单片机上电清空RAM区

ELAN单片机上电清空RAM区

ID:37917077

大小:37.00 KB

页数:3页

时间:2019-06-02

ELAN单片机上电清空RAM区_第1页
ELAN单片机上电清空RAM区_第2页
ELAN单片机上电清空RAM区_第3页
资源描述:

《ELAN单片机上电清空RAM区》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、上电后清空RAM是必须要做的,由于上电后RAM中的数据处于不确定的状态,会给单片机的运算或者条件判断带来影响,所以是必须必须清空的。清空做的操作也不难,做成子程序后,在程序的开始调用一下就完事了,挺方便。下面分别是EM78P156,EM78P259/260,EM78P468等有不同RAM数的单片机的清RAM操作。编程的基本思想,根据白皮书(ELAN的官方说明书,咱们习惯的叫法)R0是间接寻址,R4是RAM选择,根据这两个的组合就可以完成操作。具体操作和说明可以参考白皮书。hint:根据我的理解,这里其实可以

2、很简单的,只需要知道,R4放的是寄存器的地址,R0是放对应的那个寄存器的数据,就OK了,例如MOVA,@0X10MOVR4,AMOVA,@0X11MOVR0,A根据hint里面说的,R4放地址,看前两句,将0x10移入R4,对了,表示地址,表示0x10号寄存器,而后面将0x11移入R0,这个就是数据,放在什么地方?就是放在当前R4指向的寄存器里面,也就是说0x10地址放的数据是0x11,可能开始看有点抽象,不过相信我,那是很简单的东西。下面的程序都是按照这种思想来做的EM78P156的RAM从0x10~0x

3、3f,如果153的话只有0x2f,修改一下就行了,而259/260468的RAM比较多,ELAN是以bank来处理的,也就是分页处理,所以在清空的时候切换一下bank就可以了,关于bank的操作,看白皮书,说到低就是对R4最高两位的操作而已。有问题的话欢迎回帖子,或者发我邮件etual@163.com当然如果有更好的思想,或者我的程序里面犯错误的话,非常欢迎大家指出,大家共同讨论,共同学习和进步,在下不吝赐教。;------------------------------------------------

4、--------------------;适用于em78p156&153;如果Em78P153S将0x3f改成0x2f就可以了;--------------------------------------------------------------------clear_all_ram:mova,@0x10;开始地址movr4,aclr_ram:clrr0;清空内容incr4;地址加1mova,@0x3f;是否达到最大的地址,bank最大为0x3fanda,r4jbspsw,zjmpclr_ram;是的

5、话推出,不是的话继续循环ret;-------------------------------------------------------------------;适用于em78p259/260等只有2个bank的mcu;先做一下宏定义,不同的mcu宏定义可能不同,注意修改一下;-------------------------------------------------------------------;-------------------------macrodefinition------

6、--------------------bank0macrobc0x04,6;R4的第六位决定是bank0还是bank1endm;------------------------bank1macrobs0x04,6endm;----------------------clearramsofallbanks----------------------clear_all_ram:mova,@0x10movr4,abank0callclr_rambank1callclr_ramretclr_ram:clrr0in

7、cr4mova,@0x3fanda,r4jbspsw,zjmpclr_rammova,@0x10movr4,aret;-------------------------------------------------------------------;适用于em78p4684个bank,而且本身有bank指令不用宏定义;-------------------------------------------------------------------;----------------------clea

8、rramsofallbanks----------------------clear_all_ram:mova,@0x10movr4,abank0callclr_rambank1callclr_rambank2callclr_rambank3callclr_ramjmpclr_ram_endclr_ram:clrr0incr4mova,@0x3fanda,r4jbspsw,zjmpclr_rammova,@0x1

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

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

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