网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 论文模板 > 机械课程设计 > 正文

单片机实现的多数BCD码加法器源代码

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/10/04
,会导致类似的错误,而且更不容易发现。
 2.位置不妥
 指令2、3最可能出现这种错误。显然程序设计的思想是BCD码的高位在低地址单元,低位在高地址单元,从高到低依次存放。因此相加时必须从低位加起,所以作为被加数、加数的指针R0、R1必须通过程序前的一段指令调整到指向低位,调整的方法是原指针加字节数。但实际上直接加字节数后使得R0、R1指到最低字节的后面一个字节去了,故必须
首先将这1减掉,指向最低字节。从表面上看,指令2、3放在指令5后面似乎也实现了从低字节逐渐向高字节的推进作用,很多开发者一不留神就想当然的这样做了,结果前面的一层作用被疏漏掉了,导致程序错误。
 3.指令不当
 例如指令6由于疏忽写成ADD指令,则结果无法正确。
  4.非法调用
 按照子程序的说明,调用该子程序是非常容易的。但有时由于疏忽,没有按照入口要求送数出现非法调用现象,导致出错。这类错误在调试时会使得开发者一时不知错在子程序还是调用它的程序。例如,在调用前R7必须按字节数目正确置数,如果忘了此步,显然结果是无法正常的。
 
 【例二】7135A/D转换结果读取中断子程序。
 ;*************************************************************************
 ;AD转换结果读取中断程序:(/INT0)
 ;万位引起中断:  其它各位采用查询方式
 ;结果暂存在AD单元中(3字节)
 ;*************************************************************************
 ICL7135:        CLR     IE0  ;因为是电平触发,故必软件清中断标志
                 PUSH    ACC     ;保护现场
                 PUSH    02H     ;R2
                 PUSH    01H     ;R1
                 PUSH    00H
                 PUSH    DPL
                 PUSH    DPH
                 MOV     DPTR,   #I8155_PA ;读8155A口的A/D结果
                 MOVX    A,      @DPTR
                 MOV     R2,     A           ;万位入R2
                 ANL     A,      #0F0H
               &
  • 上一篇资讯: 电路原理考试大纲
  • 网学推荐

    免费论文

    原创论文

    设为首页 | 加入收藏 | 论文首页 |原创论文 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师