易码技术论坛

 找回密码
 加入易码
搜索
查看: 64953|回复: 4

请Mcs-51的高手进

[复制链接]
发表于 2005-1-31 21:57:00 | 显示全部楼层
51的存储系统可以分为四部分。

1.片内程序存储区,就是你说的flashrom,用来存放程序,在运行时不可改动。

2.片内数据存储区,即ram,用来存放运行时的变量。

      这两部分是分开编址的,即$0000是指flashrom的地址,$00是指ram地址。而且这两部分容量比较小,程序复杂时往往不够。就需要片外存储器的扩展。

3。片外程序存储器。当程序较大时需要扩展的片外程序存储器,一般是eeprom或者flash。

4。片外数据存储器,当程序用到的ram空间不够时,需要扩展片外ram,当要在断电时保存数据时,需要扩展片外eeprom数据存储器。

    片内片外也是分开编址的,片外的存储器的构成和使用有点复杂,可以去参考详细资料。

 对于第三个问题,我也不太明白,可能这跟芯片输入输出结构有关吧。

“将数值为1引脚接在电源上会使引脚数值变为0“这是因为负极是电平地,是有钳位作用的,一般当电路其他点跟它连起来时肯定会被钳位到低电平。正极也有相似的作用,这个在贴子上还不好解释。

[此贴子已经被作者于2005-1-31 22:02:24编辑过]

 楼主| 发表于 2005-2-1 12:15:00 | 显示全部楼层
非常感谢!!!
 楼主| 发表于 2005-2-1 13:08:00 | 显示全部楼层
那么是不是movc查表指令只能访问rom,
mov指令只能访问ram.
发表于 2005-2-5 19:09:00 | 显示全部楼层
以下是引用yhlyhl在2005-2-1 13:08:38的发言:

那么是不是movc查表指令只能访问rom,

mov指令只能访问ram.


现在主要用c编程序了,具体的汇编指令我也快忘了. :p

好像是这样的,而且mov只能访问片内ram及寄存器,访问片外的用movx.
 楼主| 发表于 2005-1-31 21:22:57 | 显示全部楼层 |阅读模式
我前几天买了一本关于51单片机应用的书,讲得太不详细了。因此,我有几个问题需要向你们请教。

1、eeprom和片内Flash Rom 有什么区别,我用编程器写程序时,是写在eeprom里还是写在Flash Rom里?

我看见在www.mcu-memory.com里单片机选型里介绍89C51的eeprom: 1K  ,  Flash 存储器:  4K

2、51单片机规定程序要从$0000开始写,但又介绍说$00~$FF为单片机RAM区,我怎么区别啊?

这样,RAM与ROM不是重合了吗?难道,那些指令只能对RAM区进行操作。

3、电流对引脚数值有什么影响?为什么?

比如说:将一个高电平的引脚接在一个低电平的引脚上会使高电平变为低电平,这是为什么?

再比如:将数值为1引脚接在电源负极上会使引脚数值变为0,为什么?

我怎么判断?

请回答我,多谢!!!
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-12-6 15:53 , Processed in 0.012454 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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