单片机的存储器结构 简述51系列单片机存储器的结构

8051\u5355\u7247\u673a\u5b58\u50a8\u5668\u7684\u7ec4\u7ec7\u7ed3\u6784\u662f\u600e\u6837\u7684\uff1f

8051\u5355\u7247\u673a\u5b58\u50a8\u5668\u7ed3\u6784\u5305\u542b\u5185\u90e8\u5b58\u50a8\u5668\uff0c\u5916\u90e8\u6269\u5c55\u5b58\u50a8\u5668\u3002
1\u3001\u5185\u90e8\u5b58\u50a8\u5668\u5305\u62ec\uff1a
00H~1FH\uff0c\u5de5\u4f5c\u5bc4\u5b58\u5668\u533a\u57df
20H~2FH\uff0c\u4f4d\u5740\u5bc4\u5b58\u5668\u533a\u57df
30H~7FH\uff0c\u7528\u6237\u5bc4\u5b58\u5668\u533a\u57df
80H~FFH\uff0c\u7279\u6b8a\u529f\u80fd\u5bc4\u5b58\u5668\u533a\u57df
2\u3001\u6269\u5c55\u5b58\u50a8\u533a\u5305\u62ec
0000H~FFFFH\u7684\u6570\u636e\u5b58\u50a8\u5668\u548c\u7a0b\u5e8f\u5b58\u50a8\u5668\uff0c\u5730\u5740\u91cd\u53e0\u3002

\u5355\u7247\u673a\u5728\u7269\u7406\u7ed3\u6784\u4e0a\u6709\u56db\u4e2a\u5b58\u50a8\u7a7a\u95f4: 1\u3001\u7247\u5185\u7a0b\u5e8f\u5b58\u50a8\u5668 2\u3001\u7247\u5916\u7a0b\u5e8f\u5b58\u50a8\u5668 3\u3001\u7247\u5185\u6570\u636e\u5b58\u50a8\u5668 4\u3001\u7247\u5916\u6570\u636e\u5b58\u50a8\u5668
\u8be6\u89c1\uff1ahttp://wenku.baidu.com/link?url=6bKtoSAdyEp4UymD4c4T73YIOhK4VdYJZavzSydbyeV2LggE71dXxKT-kTmUYm2-a2h11JvRl5z-UUH4XmZy10PhwUcDIeaMigiWfZNzmHW

通过上面的实验我们已经知道:一盏灯亮或者说一根线的电平的高低,能代表两种状态:0和1。实际上这就是一个二进制位,因此我们就把一根线称之为一“位”,用BIT表示。

什么是字节:
  一根线能表于0和1,两根线能表达00,01,10,11四种状态,也就是能表于0到3,而三根能表达0-7,计算机中常常用8根线放在一起,同时计数,就能表过到0-255一共256种状态。这8根线或者8位就称之为一个字节(BYTE)。不要问我为什么是8根而不是其它数,因为我也不知道。(计算机世界是一本人造的世界,不是自然界,很多事情你无法问为什么,只能说:它是一种规定,大家在以后的学习过程中也要注意这个问题)

存储器的工作原理:

1、存储器构造

   存储器就是用来存放数据的地方。它是利用电平的高低来存放数据的,也就是说,它存放的实际上是电平的高、低,而不是我们所习惯认为的1234这样的数字,这样,我们的一个谜团就解开了,计算机也没什么神秘的吗。

 

 

 
图2

 
图3

  让我们看图2。单片机里面都有这样的存储器,这是一个存储器的示意图:一个存储器就象一个个的小抽屉,一个小抽屉里有八个小格子,每个小格子就是用来存放“电荷”的,电荷通过与它相连的电线传进来或释放掉,至于电荷在小格子里是怎样存的,就不用我们操心了,你能把电线想象成水管,小格子里的电荷就象是水,那就好理解了。存储器中的每个小抽屉就是一个放数据的地方,我们称之为一个“单元”。

 

 

  有了这么一个构造,我们就能开始存放数据了,想要放进一个数据12,也就是00001100,我们只要把第二号和第三号小格子里存满电荷,而其它小格子里的电荷给放掉就行了(看图3)。可是问题出来了,看图2,一个存储器有好多单元,线是并联的,在放入电荷的时候,会将电荷放入所有的单元中,而释放电荷的时候,会把每个单元中的电荷都放掉,这样的话,不管存储器有多少个单元,都只能放同一个数,这当然不是我们所希望的,因此,要在结构上稍作变化,看图2,在每个单元上有个控制线,我想要把数据放进哪个单元,就给一个信号这个单元的控制线,这个控制线就把开关打开,这样电荷就能自由流动了,而其它单元控制线上没有信号,所以开关不打开,不会受到影响,这样,只要控制不一样单元的控制线,就能向各单元写入不一样的数据了,同样,如果要某个单元中取数据,也只要打开对应的控制开关就行了。

2、存储器译码
  那么,我们怎样来控制各个单元的控制线呢?这个还不简单,把每个单元元的控制线都引到集成电路的外面不就行了吗?事情可没那么简单,一片27512存储器中有65536个单元,把每根线都引出来,这个集成电路就得有6万多个脚?不行,怎么办?要想法减少线的数量。我们有一种办法称这为译码,简单介绍一下:一根线能代表2种状态,2根线能代表4种状态,3根线能代表几种,256种状态又需要几根线代表?8种,8根线,所以65536种状态我们只需要16根线就能代表了。

(图4)

3、存储器的选片及总线的概念
   至此,译码的问题解决了,让我们再来关注另外一个问题。送入每个单元的八根线是用从什么地方来的呢?它就是从计算机上接过来的,一般地,这八根线除了接一个存储器之外,还要接其它的器件,如图4所示。这样问题就出来了,这八根线既然不是存储器和计算机之间专用的,如果总是将某个单元接在这八根线上,就不好了,比如这个存储器单元中的数值是0FFH另一个存储器的单元是00H,那么这根线到底是处于高电平,还是低电平?岂非要打架看谁历害了?所以我们要让它们分离。办法当然很简单,当外面的线接到集成电路的管脚进来后,不直接接到各单元去,中间再加一组开关(参考图4 )就行了。平时我们让开关关闭着,如果确实是要向这个存储器中写入数据,或要从存储器中读出数据,再让开关接通就行了。这组开关由三根引线选择:读控制端、写控制端和片选端。要将数据写入片中,先选中该片,然后发出写信号,开关就合上了,并将传过来的数据(电荷)写入片中。如果要读,先选中该片,然后发出读信号,开关合上,数据就被送出去了。注意图4,读和写信号同时还接入到另一个存储器,但是由于片选端不一样,所以虽有读或写信号,但没有片选信号,所以另一个存储器不会“误会”而开门,造成冲突。那么会不一样时选中两片芯片呢?只要是设计好的系统就不会,因为它是由计算控制的,而不是我们人来控制的,如果真的出现同时出现选中两片的情况,那就是电路出了故障了,这不在我们的讨论之列。

  • 浠涔堟槸鍗曠墖鏈虹粨鏋鍜屽師鐞?
    绛旓細涓嬮潰浠嬬粛鐨勬槸mcs-51 MCS-51鍗曠墖鏈哄瓨鍌ㄥ櫒鐨勯厤缃壒鐐 鈶 鍐呴儴闆嗘垚浜4K鐨勭▼搴忓瓨鍌ㄥ櫒ROM锛涒憽 鍐呴儴鍏锋湁256B鐨勬暟鎹瓨鍌ㄥ櫒RAM锛涒憿 鍙互澶栨帴64K鐨勭▼搴忓瓨鍌ㄥ櫒ROM鍜 鏁版嵁瀛樺偍鍣≧AM銆備粠鐗╃悊缁撴瀯鐨勮搴﹁锛51鍗曠墖鏈虹殑瀛樺偍绯荤粺鍙互鍒嗕负鍥涗釜瀛樺偍绌洪棿锛氭棦鐗囧唴ROM锛孯AM鍜岀墖澶朢OM銆丷AM銆備粠閫昏緫涓婅锛堟棦缂栫▼鐨勮搴︼級锛...
  • 鍗曠墖鏈哄瓨鍌ㄥ櫒涓昏鐢卞摢鍑犱釜閮ㄥ垎缁勬垚,濡備綍浣跨敤
    绛旓細鍚岀悊锛屽瓨鍌ㄥ櫒鐨勮緭鍑虹鏄繛鎺ュ湪鏁版嵁鎬荤嚎涓婄殑锛瀛樺偍鍣ㄤ腑鐨勬暟鎹槸涓嶈兘闅忔剰浼犻佸埌鏁版嵁鎬荤嚎涓婄殑銆備緥濡傦紝鑻ユ暟鎹荤嚎涓婄殑鏁版嵁鏄1鈥(楂樼數骞5V)锛屽瓨鍌ㄥ櫒涓殑鏁版嵁鏄0鈥(浣庣數骞砄V)锛屼袱绉嶆暟鎹嫢纰板埌涓璧峰氨浼氬彂鐢熺煭璺屾崯鍧鍗曠墖鏈銆傚洜姝わ紝瀛樺偍鍣ㄨ緭鍑虹鍙d笉浠呰兘鍛堢幇鈥1鈥濆拰鈥淥鈥濅袱绉嶇姸鎬侊紝杩樺簲鍏锋湁绗笁绉嶇姸鎬...
  • 51鍗曠墖鏈哄瓨鍌ㄥ櫒鐨勭粍缁缁撴瀯鍜屽湴鍧绌洪棿鍒嗗埆鏄庢牱鐨?
    绛旓細51鍗曠墖鏈虹殑瀛樺偍鍣缁勭粐缁撴瀯鍖呮嫭绋嬪簭瀛樺偍鍣≧OM鍜屾暟鎹紦鍐插櫒RAM銆俁OM鐨勭┖闂村ぇ灏忓洜鍨嬪彿鑰屽紓锛屾瘮杈冨皬鐨勬槸512涓瓧鑺傦紝鏈澶х殑鏈64K瀛楄妭锛屼絾鍦板潃閮芥槸浠0000寮濮嬬殑銆備笉绠″崟鐗囨満鐨勫瀷鍙峰浣曪紝RAM鍧囦负256瀛楄妭锛屽叾涓00~1FH鏄伐浣滃瘎瀛樺櫒锛20~2FH鏄綅鍦板潃锛30~7FH鏄洿鎺ュ鍧鍖猴紝80~FFH鏄壒娈婂姛鑳藉瘎瀛樺櫒鍖哄拰闂存帴瀵诲潃鍖...
  • 鍗曠墖鏈虹殑瀛樺偍鍣ㄧ粨鏋
    绛旓細鍙槸闂鍑烘潵浜嗭紝鐪嬪浘2锛屼竴涓瀛樺偍鍣鏈夊ソ澶氬崟鍏冿紝绾挎槸骞惰仈鐨勶紝鍦ㄦ斁鍏ョ數鑽风殑鏃跺欙紝浼氬皢鐢佃嵎鏀惧叆鎵鏈夌殑鍗曞厓涓紝鑰岄噴鏀剧數鑽风殑鏃跺欙紝浼氭妸姣忎釜鍗曞厓涓殑鐢佃嵎閮芥斁鎺夛紝杩欐牱鐨勮瘽锛屼笉绠″瓨鍌ㄥ櫒鏈夊灏戜釜鍗曞厓锛岄兘鍙兘鏀惧悓涓涓暟锛岃繖褰撶劧涓嶆槸鎴戜滑鎵甯屾湜鐨勶紝鍥犳锛岃鍦缁撴瀯涓婄◢浣滃彉鍖栵紝鐪嬪浘2锛屽湪姣忎釜鍗曞厓涓婃湁涓帶鍒剁嚎...
  • 绠杩51鍗曠墖鏈虹殑瀛樺偍鍣閫昏緫绌洪棿鍒嗗竷,骞惰鏄庡綋瀛樺偍鍣ㄥ湴鍧鍙戠敓閲嶅彔鏃跺簲濡...
    绛旓細MCS-51鍗曠墖鏈哄瓨鍌ㄥ櫒缁撴瀯 1銆 绋嬪簭瀛樺偍鍣 MCS-51鍏锋湁64kB绋嬪簭瀛樺偍鍣ㄥ鍧绌洪棿锛屽畠鏄敤浜庡瓨鏀剧敤鎴风▼搴忋佹暟鎹拰琛ㄦ牸绛変俊鎭傚浜庡唴閮ㄦ棤ROM鐨8031鍗曠墖鏈猴紝瀹冪殑绋嬪簭瀛樺偍鍣ㄥ繀椤诲鎺ワ紝绌洪棿鍦板潃涓64kB锛屾鏃鍗曠墖鏈虹殑绔繀椤绘帴鍦般傚己鍒禖PU浠庡閮ㄧ▼搴忓瓨鍌ㄥ櫒璇诲彇绋嬪簭銆傚浜庡唴閮ㄦ湁ROM鐨8051绛夊崟鐗囨満锛屾甯歌繍琛屾椂锛屽垯闇鎺ラ珮...
  • mcs51鐨勫瓨鍌ㄥ櫒鐨勫閲忔槸澶氬皯
    绛旓細璇瀛樺偍鍣鐨勫閲忎负64K锛岀瓟妗堟槸锛圕锛夈傚洜涓哄湴鍧鐮佷粠0000-FFFF锛屽垯鏈澶х殑鍦板潃鍙锋槸FFFF锛屾崲绠楁垚鍗佽繘鍒舵暟灏辨槸65536锛屼篃灏辨槸璇ュ瓨鍌ㄥ櫒鐨勬渶澶у鍧鑼冨洿銆傚瓨鍌ㄥ櫒鐨勫閲忔槸鎸囦竴鐗囧瓨鍌ㄥ櫒鏈澶氳兘瀛樺偍澶氬皯涓崟浣嶄俊鎭傚湪杩欓噷鏄65536涓紝鎵浠ュ湪璁$畻鏈轰腑锛岀О璇ュ瓨鍌ㄥ櫒鐨勫閲忔渶澶у彲鎵╁睍鑷64K銆侻CS-51涓,绋嬪簭瀛樺偍鍣ㄩ氳繃...
  • MCS-51鍗曠墖鏈哄瓨鍌ㄥ櫒鍦缁撴瀯涓婃湁浠涔堢壒鐐?
    绛旓細MCS-51鍗曠墖鏈鍦ㄧ墿鐞缁撴瀯涓婃湁鍥涗釜瀛樺偍绌洪棿锛1銆佺墖鍐呯▼搴瀛樺偍鍣锛2銆佺墖澶栫▼搴忓瓨鍌ㄥ櫒锛3銆佺墖鍐呮暟鎹瓨鍌ㄥ櫒锛4銆佺墖澶栨暟鎹瓨鍌ㄥ櫒銆備絾鍦ㄩ昏緫涓婏紝鍗充粠鐢ㄦ埛鐨勮搴︿笂锛8051鍗曠墖鏈烘湁涓変釜瀛樺偍绌洪棿锛1銆佺墖鍐呭缁熶竴缂栧潃鐨64K鐨勭▼搴忓瓨鍌ㄥ櫒鍦板潃绌洪棿锛圡OVC锛夛紱2銆256B鐨勭墖鍐呮暟鎹瓨鍌ㄥ櫒鐨勫湴鍧绌洪棿锛圡OV锛夛紱3銆佷互鍙...
  • 鍒嗘瀽at89s52鍗曠墖鏈虹殑瀛樺偍鍣ㄧ粨鏋
    绛旓細at89s52鏈32涓壒娈婂姛鑳藉瘎瀛樺櫒锛屽畠浠绂绘暎鍦板垎甯冨湪鍐呴儴ram鐨80h锝瀎fh鍦板潃涓紝杩欎簺瀵勫瓨鐨勫姛鑳藉凡浣滀簡涓撻棬鐨勮瀹氾紝鐢ㄦ埛涓嶈兘淇敼鍏缁撴瀯銆5锛庡嚑涓敞鎰忛棶棰 锛1锛夊湴鍧鐨勯噸鍙犳 鍗曠墖鏈轰腑鐨勬墍鏈瀛樺偍鍣閮藉繀椤诲垎閰嶅湴鍧锛屽彲浠ュ鍧鐨勫湴鍧鑼冨洿涓64kb锛屾暟鎹瓨鍌ㄥ櫒涓庣▼搴忓瓨鍌ㄥ櫒閮藉崰鐢ㄧ浉鍚岀殑鍦板潃銆傜▼搴忓瓨鍌ㄥ櫒涓墖鍐呯墖澶0000...
  • 8051鍗曠墖鏈虹殑鍐呴儴纭欢缁撴瀯鍖呮嫭鍝簲澶ч儴鍒
    绛旓細8051鍗曠墖鏈虹殑鍐呴儴纭欢缁撴瀯鍖呮嫭锛1銆佷腑澶鐞嗗櫒CPU锛氬畠鏄崟鐗囨満鍐呴儴鐨勬牳蹇冮儴浠讹紝鍐冲畾浜嗗崟鐗囨満鐨勪富瑕佸姛鑳界壒鎬э紝鐢辫繍绠楀櫒鍜屾帶鍒跺櫒涓ゅぇ閮ㄥ垎缁勬垚銆2銆瀛樺偍鍣锛8051鍗曠墖鏈哄湪绯荤粺缁撴瀯涓婇噰鐢ㄤ簡鍝堜經鍨嬶紝灏嗙▼搴忓拰鏁版嵁鍒嗗埆瀛樻斁鍦ㄤ袱涓瓨鍌ㄥ櫒鍐咃紝涓涓О涓虹▼搴忓瓨鍌ㄥ櫒锛屽彟涓涓负鏁版嵁瀛樺偍鍣ㄥ湪鐗╃悊缁撴瀯涓婂垎绋嬪簭瀛樺偍鍣ㄥ拰鏁版嵁...
  • 鍗曠墖鏈虹殑瀛樺偍鍣鍙互鍒嗕负鍑犵?
    绛旓細鍗曠墖鏈虹殑瀛樺偍鍣鍙垎涓虹▼搴忓瓨鍌ㄥ櫒锛圧OM锛夊拰鏁版嵁瀛樺偍鍣紙RAM锛夈傜▼搴忓瓨鍌ㄥ櫒鏄笓闂ㄧ敤鏉ュ瓨鏀剧▼搴忓拰甯告暟鐨勩傛暟鎹瓨鍌ㄥ櫒鏄▼搴忓湪杩愯涓瓨鏀句复鏃舵暟鎹殑锛屾帀鐢靛悗鏁版嵁鍗充涪澶憋紝鐜板湪鏈変簺鍨嬪彿鐨勫崟鐗囨満鎻愪緵浜咵EPROM锛屽彲鐢ㄦ潵瀛樺偍鎺夌數鍚庨渶瑕佷繚瀛樼殑鍏抽敭鏁版嵁锛屽绯荤粺鐨勪竴浜涜缃弬鏁般
  • 扩展阅读:嵌入式最小系统 ... 单片机存储器思维导图 ... 51单片机存储器结构 ... 单片机的四个储存空间 ... 为什么不建议学单片机 ... 存储器基本结构框图 ... 单片机的存储器是指 ... 单片机的五大基本结构 ... 8051单片机存储器组织结构 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网