EDA365电子工程师网

标题: 51单片机里面SFR也就是特殊功能寄存器到底是在CPU里面还是RAM里面啊? [打印本页]

作者: 丁神    时间: 2012-1-10 18:08
标题: 51单片机里面SFR也就是特殊功能寄存器到底是在CPU里面还是RAM里面啊?
书上解析CPU的结构时,想A ,psw等这些寄存器说是CPU里面的,讲RAM得时候他们又是RAM里面的特殊功能寄存器区的,搞不清楚到底是哪个里面的啊?     还有像RAM在程序运行时的具体作用是什么啊?像MOV A #40H       这个指令是不是RAM就没起作用啊?求高手指点,谢谢!
作者: ArthurGXH    时间: 2012-2-12 21:36
我写了超过10年单片机程序(汇编的、C语言的),但是从来还没有想过寄存器是在CPU里还是RAM里。不过你可以认为是在RAM里,操作寄存器就是对相应的地址进行操作。RAM的作用,跟电脑的内存差不多。建议你用汇编语言写个程序,并用仿真器调试,这样比较容易学会。其实单片机(包括ARM7)都很简单,只要坚持就很容易学会。
作者: reflecter    时间: 2012-2-14 19:48
我写了超过10年单片机程序(汇编的、C语言的),但是从来还没有想过寄存器是在CPU里还是RAM里
( Q4 u3 U% o( i- T  w& s-------------------------------------------------------------------------------------------------------------------------------------------
. ^( J1 o, f) M; V哈哈,就如你结婚了10年,但不必完全理解(事实上也不可能)跟你处了10年的LP,每天在想啥一样
作者: ArthurGXH    时间: 2012-2-15 21:10
本帖最后由 ArthurGXH 于 2012-2-16 19:06 编辑
1 U* A0 b4 S; r: J4 ]% J0 H. {. D
reflecter 发表于 2012-2-14 19:48 ( b+ d# Q6 I8 g
我写了超过10年单片机程序(汇编的、C语言的),但是从来还没有想过寄存器是在CPU里还是RAM里6 T0 H& s' c% h5 q' v7 V
----------- ...

; U  s1 }' {) ~# \0 P: R& y5 V: E3 J8 O# d" q& u& T1 t: O
  台湾的多种4位、8位单片机我用了10年(包括NTK、Sitronix、tenx、Holtek、Sunplus等)。一般也就弄来单片机说明书就开发产品。单片机资料不会写明寄存器在CPU里还是在RAM里。但每个寄存器都有个地址,你对相应的地址进行操作也就行了。近三年,我一直用C51、PIC、ARM。我也只关心寄存器的地址和操作方法,其它的我都没兴趣知道。信不信由你。我更愿意认为寄存器在RAM里,即使有部分在CPU里。但对我又有什么影响呢。" J! c* \6 a+ `
  上次我的回答并没有误导新手的意思,只是希望新手们在学习时能抓住重点。! [) S$ q& ?1 }, s

作者: huangzj    时间: 2012-2-16 07:57
我记得特殊寄存器是在RAM里的,它的实际物理位置是RAM前面的128bit.不知道是不是,学校里学的。
作者: 阿宽    时间: 2012-5-10 12:51
在RAM中的某段地址中,具体地址我忘了
作者: inspiron1501    时间: 2012-6-18 11:34
sfr寄存器就是一个ram空间,有固定且唯一的地址编号,CPU可以访问这个数据,通过地址访问。就这么简单。
作者: wiwqop    时间: 2012-6-18 23:10
:):):):):)
作者: sxc1190    时间: 2012-7-16 17:33
我看过的资料都是RAM里,如果不对请高手指正,




欢迎光临 EDA365电子工程师网 (http://bbs.elecnest.cn/) Powered by Discuz! X3.2