超易学单片机入门(五)寄存器

    单片机的大部分指令,或者说单片机所做的大部分工作,多数在写入或读出寄存器。关于寄存器的初步概念我想我们已经建立起来了,它是一个能够存储8位二进制数据(最大255=0FFH)的单元,每个单元都有它的编号,我们叫做它的地址或地址编码.地址编码也是十六进制的.另外寄存器里的数据掉电就会丢失。

    寄存器的英文是RAM.

    PIC12CE519里面共有48个寄存器供我们操作使用,它们每一个都有固定的地址编码。地址编码并不是连续的号码,而是分成了两段:  

    第一段:  从00H 开始, 依次是01H, 02H, 03H ....0AH, 0BH......到1FH 结束.  计32个寄存器 
    第二段:  从30H 开始, 依次是31H, 32H, ......................到3FH 结束   计16个寄存器

    这种地址不是连续编号,而是要跳过一段的做法, 对于我们新手来说很是不习惯.为了让我们容易入门, 我们暂时先不管第二段RAM, 只当它不存在,所有程序我们只涉及到第一段连续的RAM地址.等我们熟练的掌握好了RAM的使用,再涉及第二段地址的RAM, 那时,你就会理解单片机设计者把它们分成两段的苦心了.

    为了规范,我们今后一律把RAM的分段, 叫做分页.第一地址段叫00页面,第二地址段叫01页面.例如:我们学过的I/O口电平控制寄存器GPIO,它的地址编码是06H,属于00页面.

    所有这32+16=48个寄存器除了在地址上分成了两个页面以外,又把它们分成两类:

    一类专用寄存器,一类通用寄存器.

    所谓专用,就是这个寄存器的功能已经由系统分配好了.例如:地址为06H的名称就做GPIO寄存器的功能,它的每个位都对应到一个I/O脚的电平.另一类是通用寄存器,你可以理解成它的功能系统没有事先预定,而是由你在编程序的时候随机使用.

    pic12ce519的专用寄存器有7个,位置在我们第00页面的最前面.这7个专用寄存器的地址编码是:00H,01H, 02H, ----06H,剩下的所有寄存器包括所有第01页面,全部都是通用寄存器.

    例子:在两个通用寄存器09H、0AH内写入常数FCH

    movlw     0FCH    '常数进W  
    movwf     9H      '复制W内的数到通用寄存器09H  
    movwf     0AH     '复制W内的数到通用寄存器0AH,由于此时W内并没有改变,W不用再进常数.

    从00H到06H都已经起好了名称,它们是专用寄存器,用处各有不同。以后我们会逐个介绍它们.剩下的都是通用寄存器或者叫普通寄存器(General Purpose Registers),意思是一般用途的寄存器。  

    内存图谱,不要求记下来,但是应该有个大体印象,用的时候会察看就可以了。等编程时间一长,就那么几个字节,自然就记住了。

    所谓字节是衡量二进制数据长度的一个单位。一个寄存器刚好能记住一个字节的数据。如果你要存储的数据比较大超过了255,那就要占2个存储器甚至更多。描述的时候通常我们不说这个数值占了多少个寄存器
,而是说这个数据是几个字节的。

    字节的英文是byte,一个二进制数的一位,叫比特,英文bit。1byte包含8bit。

永不止步步 发表于02-13 10:05 浏览65535次
分享到:

已有0条评论

暂时还没有回复哟,快来抢沙发吧

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

永不止步步
金币:67417个|学分:363741个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号