ELAN单片机上电清空RAM区.doc_第1页
ELAN单片机上电清空RAM区.doc_第2页
ELAN单片机上电清空RAM区.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

上电后清空RAM是必须要做的,由于上电后RAM中的数据处于不确定的状态,会给单片机的运算或者条件判断带来影响,所以是必须必须清空的。清空做的操作也不难,做成子程序后,在程序的开始调用一下就完事了,挺方便。下面分别是 EM78P156 , EM78P259/260 ,EM78P468 等有不同RAM数的单片机的清RAM操作。编程的基本思想,根据白皮书(ELAN的官方说明书,咱们习惯的叫法)R0是间接寻址,R4是RAM选择,根据这两个的组合就可以完成操作。具体操作和说明可以参考白皮书。hint: 根据我的理解,这里其实可以很简单的,只需要知道,R4放的是寄存器的地址,R0是放对应的那个寄存器的数据,就OK了,例如MOV A,0X10MOV R4,AMOV A,0X11MOV R0,A根据hint里面说的,R4放地址,看前两句,将 0x10移入R4,对了,表示地址,表示 0x10号寄存器,而后面将0x11移入R0,这个就是数据,放在什么地方?就是放在当前R4指向的寄存器里面,也就是说 0x10地址放的数据是 0x 11,可能开始看有点抽象,不过相信我,那是很简单的东西。下面的程序都是按照这种思想来做的 EM78P156 的RAM从 0x10 0x3f ,如果153的话只有 0x2f,修改一下就行了,而259/260 468 的RAM比较多,ELAN 是以bank来处理的,也就是分页处理,所以在清空的时候切换一下bank就可以了,关于bank的操作,看白皮书,说到低就是对R4最高两位的操作而已。有问题的话欢迎回帖子,或者发我邮件 当然如果有更好的思想,或者我的程序里面犯错误的话,非常欢迎大家指出,大家共同讨论,共同学习和进步,在下不吝赐教。;-; 适用于 em78p156 & 153 ; 如果Em78P153S 将 0x3f 改成 0x2f就可以了 ;- clear_all_ram: mov a,0x10 ; 开始地址 mov r4,aclr_ram: clr r0 ; 清空内容 inc r4 ; 地址加1 mov a,0x3f ; 是否达到最大的地址 ,bank最大为0x3f and a,r4 jbs psw,z jmp clr_ram ; 是的话推出,不是的话继续循环ret ;-; 适用于 em78p259/260 等只有2个bank的mcu; 先做一下宏定义,不同的mcu宏定义可能不同,注意修改一下;-;-macro definition- bank0 macro bc 0x04,6 ; R4 的第六位决定是bank0 还是bank1 endm ;- bank1 macro bs 0x04,6 endm ;-clear rams of all banks- clear_all_ram: mov a,0x10 mov r4,a bank0 call clr_ram bank1 call clr_ram retclr_ram: clr r0 inc r4 mov a,0x3f and a,r4 jbs psw,z jmp clr_ram mov a,0x10 mov r4,a ret ;-; 适用于 em78p468 4个bank , 而且本身有bank指令不用宏定义;- ;-clear rams of all banks- clear_all_ram: mov a,0x10 mov r4,a bank 0 call clr_ram bank 1 call clr_ram bank 2 call clr_ram bank 3 call clr_ram jmp clr_ram_endclr_ram: clr r0 inc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论