找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 17231|回复: 4
收起左侧

关于51单片机数据总线和地址总线的问题

[复制链接]
ID:70774 发表于 2015-1-14 15:00 | 显示全部楼层 |阅读模式
51单片机内部有256个字节的RAM,如果不扩展,够用吗?另外就是256字节的ram,8根地址线就够了,那程序存储器和数据存储器共用16条地址线,对于ram来说就是多了?而且不扩展就只有内部的ram了,访问时写地址都是00H到7FH啊,而不是0000H和007FH,不知道有没有描述清楚呢,为什么写程序时不用四位16进制来寻址,不是16根地址线吗?而是用MOV A,40H,而不是MOV A,0040H。请明白的人能解答一下啊,谢谢了!
回复

使用道具 举报

ID:51269 发表于 2015-1-14 17:50 来自手机 | 显示全部楼层
256字节一般情况下是够用的,毕竟单片机,只是做一些简单的控制而已,扩展ram一般也是芯片内部扩展的rom,有专门的访问指令,但是会降低运行的速度,51单片机是8位的,微控制器,他使用的是八位的指令系统,一般情况下也只能处理八位的地址和数据,使用任何方法来扩展十六位都是以降低运行速度为代价的,大家对此还有什么看法吗
回复

使用道具 举报

ID:70774 发表于 2015-1-14 19:18 | 显示全部楼层
xiaoliu 发表于 2015-1-14 17:50
256字节一般情况下是够用的,毕竟单片机,只是做一些简单的控制而已,扩展ram一般也是芯片内部扩展的rom, ...

那对于片内256字节的ram的访问,地址还是用两位十六进制的数表示,比如00H或者13H,而程序存储器的地址是四位十六进制的数表示,数据存储器和程序存储器不是共用16根地址线吗,那为什么对于数据存储器的访问不写成四位16进制的数呢?难道是默认的高四位是00?不知道门牌号是怎么编写的,谢谢!
回复

使用道具 举报

ID:72163 发表于 2015-1-15 11:41 | 显示全部楼层
详细看一下51单片机的寻址方式就知道了,51单片机寻址不同范围的数据时的指令不一样:
MOV用于对单片机内部数据存储器寻址,MOVC用于对单片机内部程序存储器区进行寻址,MOVX用于对外部数据存储器区进行寻址
也就是MOV只处理单片机内部的数据,如果是外部的就不能用MOV指令了,得用MOVX。这样虽然用起来比较麻烦,但是在当时能提高程序的执行效率。
回复

使用道具 举报

ID:51269 发表于 2015-1-15 23:04 来自手机 | 显示全部楼层
关于这个问题我得翻一下我的教科书才能找到标准答案了,我记得清华大学出版社的,《单片机原理及其接口技术》里面有,关于这一部分的电脑和程序的详细介绍,大学的时候学过
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表