文档详情

单片机的特殊功能寄存器.doc

发布:2017-03-29约2.23千字共3页下载文档
文本预览下载声明
51单片机的特殊功能寄存器ROM、有RAM、有并行I/O口,那么,除了这些东西之外,单片机内部究竟还有些什么?这些个零碎的东西怎么连在一起的? 从图中我们可以看出,在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。在一个51单片机的内部包含了这么多的东西。 I/O口的读写只要将数据送入到相应I/O口的锁存器就可以了,那么对于定时/计数器,串行I/O口等怎么用呢?在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。事实上,我们已接触过P1这个特殊功能寄存器了,还有哪些呢?看下表 地址 功能介绍 B F0H B寄存器 ACC   E0H 累加器 PSW   D0H 程序状态字 IP   B8H 中断优先级控制寄存器 P3   B0H P3口锁存器 IE   A8H 中断允许控制寄存器 P2   A0H P2口锁存器 SBUF 99H 串行口锁存器 SCON 98H 串行口控制寄存器 P1   90H P1口锁存器 TH1   8DH 定时器/计数器1(高8位) TH0 8CH 定时器/计数器1(低8位) TL1 8BH 定时器/计数器0(高8位) TL0   8AH 定时器/计数器0(低8位) TMOD 89H 定时器/计数器方式控制寄存器 TCON 88H 定时器/计数器控制寄存器 DPH   83H 数据地址指针(高8位) DPL 82H 数据地址指针(低8位) SP 81H 堆栈指针 P0 80H P0口锁存器 PCON 87H 电源控制寄存器 下面,我们介绍一下几个常用的SFR。 1ACC---是累加器,通常用A表示。 ACC中的缘故吧。它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。该标志常用作程序分枝转移的判断条件。 2、B--一个寄存器。 3、PSW-----程序状态字。CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。它的各位功能请看下表: D7 D6 D5 D4 D3 D2 D1 D0 CY AC F0 RS1 RS0 OV   P 下面我们逐一介绍各位的用途 CY:进位标志。8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。这样就没事了。有进、借位,CY=1;CY=0 78H+97H10010111) AC:(高半字节与低半字节间的进、借位)。 57H+3AH00111010) F0: RS1、RS0: 0V:OV=1;无溢出,OV=0。什么是溢出我们后面的章节会讲到。 P:ALU运算结果中二进制数位“1”的个数的奇偶性。若为奇数,则P=1,否则为0。 1,P=1;运算结果有偶数个1,P=0。 78H,显然1的个数为偶数,所以P=0。 4、P0、P1、P2、P3------这个我们已经知道,是四个并行输入/输出口的寄存器。它里面的内容对应着管脚的输出。 5、IE-----中断充许寄存器 A8H B7 B6 B5 B4 B3 B2 B1 B0 EA   - ET2 ES ET1 EX1 ET0 EX0 EA (IE.7):EA=0时,所有中断禁止(即不产生中断) EA=1时,各中断的产生由个别的允许位决定 - IE.6):保留 ET2(IE.5):定时2溢出中断充许(8052用) ES IE.4):串行口中断充许(ES=1充许,ES=0禁止) ET1(IE.3):定时1中断充许 EX1(IE.2):外中断INT1中断充许 ET0(IE.1):定时器0中断充许 EX0(IE.0):外部中断INT0的中断允许 7、IP-----中断优先级控制寄存器 B8H 6、指针寄存器 1)程序计数器PC 16位,寻址64KB范围, PC = 0000H (2)堆栈指针SP 8位,可软件设置初值,复位时SP = 07H 3)数据指针DPTR @R0、@R1、@DPTR;指明访问的数据存储器的单元地址,16位,寻址范围64KB。 DPTR = DPH + DPL。可以用它来访问外部数据存储器中的任一单元,如果不用,也可以作为通用寄存器来用,由我们自已决定如
显示全部
相似文档