8051用74ls138译码器扩展多个外部ROM的问题,求教

2019-07-18 11:41发布

本帖最后由 Mr叶 于 2015-11-28 13:39 编辑

电路为:
QQ截图20151126223048.png

8051里面的程序为:
    ORG 0000H
    LJMP 2000H
    END
第二个2764(即U5)芯片的程序为:
/****将R2R3组成的16位二进制整数转换为BCD码表示的十进制数,并将它们存储在R4R5R6中******/  
    ORG 2000H
    MOV R2,#011H
    MOV R3,#010H
    MOV R4,#00H
    MOV R5,#00H
    MOV R6,#00H

    MOV R7,#16  
LOOP:
    MOV A,R3
    RLC A
    MOV R3,A

    MOV A,R2
    RLC A
    MOV R2,A

    MOV A,R6
    ADDC A,R6
    DA A
    MOV R6,A

    MOV A,R5
    ADDC A,R5
    DA A
    MOV R5,A

    MOV A,R4
    ADDC A,R4
    DA A
    MOV R4,A


    DJNZ R7,LOOP
    SJMP $
    END


结果仿真的时候,74LS138的输出端的7个引脚从上到下依次变为低电平,并且在不停的循环,不知道是什么原因?


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
Mr叶
1楼-- · 2019-07-18 14:35
武力戡乱 发表于 2015-11-27 23:24
1、

这锁存没必要。

谢谢你的建议,这个问题我已经解决了.原因是我没有设置2764的起始寻址地址file base address.
武力戡乱
2楼-- · 2019-07-18 16:43
汇编,不懂。
Mr叶
3楼-- · 2019-07-18 18:40
武力戡乱 发表于 2015-11-27 06:53
汇编,不懂。

你觉得电路有问题吗?
Mr叶
4楼-- · 2019-07-18 22:35
LJMP 2000H
并不意味这给P2.5-P2.6赋值为100
武力戡乱
5楼-- · 2019-07-19 00:54
 精彩回答 2  元偷偷看……
武力戡乱
6楼-- · 2019-07-19 04:50
Mr叶 发表于 2015-11-28 13:27
谢谢你的建议,这个问题我已经解决了.原因是我没有设置2764的起始寻址地址file base address.

呵呵,嗯!汇编里面有mov和movx区分吧。在c里面如果设置了编译器扩展了ram的话,默认访问外部的。
很高兴认识你,常来做客哈!

一周热门 更多>