EH78系列单片机的编程技巧

  • 文章关键词:
  • 笔者在某智能水表开发中使用了EM78P447芯片,对EM78系列芯片有了较深认识,在实践中总结了一些开发此类芯片应注意的问题,同时给出了应用中的编程技巧。
        市面上常见的介绍EM78系列的参考书中,都给出了一些应用实例,但这些实例一般程序代码量较小,功能单一。虽然这些实例对于新手确实起到了很好的作用,但一个产品可能功能很复杂,程序可能达到几千行,这就会出现一些短程序中没有遇见的问题。以笔者的开发为例,程序总共5千多行,有效的汇编语句代码有3千多行。由于义隆没有提供C的编译环境,只能以汇编进行编码,而汇编的结构、条理性与C语言比较不是很清晰,再加上EM78单片机结构的独特性,所以当程序代码量较大的时候总会出现一些新的问题。下面将实践中遇到的问题及其解决方法总结一下,以供参考。


    1 RAM数据的读取方法
        EM78系列的RAM既可以认为是普通单片机中的RAM,也可以认为是寄存器(通用和专用寄存器)。以EM78P447为例,RAM共148×8位,其结构如图1所示。

    EH78系列单片机的编程技巧

        其中地址为20H一3EH,共有124(31×4)个,分布在4个RAM“体”(Bank)上。4个体分别标记为“BankO(体O)”、“Bankl(体1)”、“Bank2(体2)”、“Bank3(体3)”。当程序中用到的变量不多或者数据量不是很大时,这种RAM结构对程序不会有什么影响,即程序变量能够分配在一个Bank中;但是当变量较多时,操作起来将会有些麻烦,同时有可能因为程序中Bank选择不当导致程序出错。笔者觉得当数据量较大时,只要是对数据操作,就要先进行Bank的选择。特别是对子程序而言,一进入子程序就要进行Bank的选择,从而控制所操作数据的范围,时刻要清楚自己操作的数据在哪个Bank内。通过改变“体选码”,即RSR寄存器的最高2位,来选择所要访问的数据Bank。下面给出一个程序来说明。
        BS RSR,7 :到Bank2
        MOV A,0X2F
        AND A,@OB00111111
        MOV OX2E,A
        CALL LCD _LEAR ;调用显示屏清零程序
        LCD CLEAR:
        BC RSR,7 ;到Bank0
        BC RSR,6
        MOVA,@OB00000000
        MOV LCd address,A

        ……
        如上面程序所示,在调用LCD_ CLEAR之前访问了Bank2数据区,接着调用LCD-CLEAR子程序。此时在子程序内,若没有注意数据的Bank问题,即没有设置选择BankO,则原本要对BankO的数据操作则会发生在Bank2的相应数据地址上,从而程序发生错误。所以进入子程序后,马上选择要使用数据的Bank,从而防止发生误操作EM78系列单片机的开发语言为汇编语言,所以当编写汇编程序时,一定要养成一个良好的编程习惯,这非常有利于程序的开发和维护。笔者建议程序中对变量按如下操作。

工控机箱_19寸工业机箱厂家_服务器机箱品牌制造商

产品中心
工业机箱

工控机箱
工控机箱
服务器机箱
服务器机箱
OEM/ODM定制流程
工控机箱定制流程
  • 定制咨询
    工控机箱定制咨询
    Step1
  • 需求分析
    工控机箱定制需求分析
    Step2
  • 可行性分析
    工控机箱定制可行性分析
    Step3
  • 确认规格
    工控机箱定制确认规格
    Step4
  • 报  价
    工控机箱定制报价
    Step5
  • 合同签订
    工控机箱定制合同签订
    Step6
  • 图纸确认
    工控机箱定制图纸确认
    Step7
  • 样品确认
    工控机箱定制样品确认
    Step8
  • 批量生产
    工控机箱定制批量生产
    Step9
迈肯思优势
工控机箱优势
迈肯思的八大优势MACASE'S EIGHT ADVANTAGES
迈肯思的八大优势
解决方案
机箱行业解决方案
机架式机箱行业解决方案 机架式机箱行业解决方案
服务器机箱行业解决方案 服务器机箱行业解决方案
工业机箱行业解决方案 工业机箱行业解决方案
工控机箱行业解决方案 工控机箱行业解决方案
工控机箱品牌厂商

MACASE用心打造每个细节
以全新的技术与的服务开创中国工控机箱领域新的篇章!
从这里开始,了解迈肯思的一切

服务器机箱品牌厂商
新闻资讯
4u机箱资讯

超级通云控

超级通微信云控

云控系统

云控

熊猫微信云控

微信云控系统

微信云控

微信云控系统

友情链接:
服务器机箱    |  工控机箱    |   2u机箱    |  4u机箱    |   机箱行业资讯    |   联系我们    |   网站地图    |           网站技术支持:云驰力