WIZnet2012

单片机以太网控制芯片W7100A数据手册(一)

0
阅读(2765)

W7100A iMCU是一个单片机以太网嵌入式控制芯片,它的的结构是:内嵌8051单片机 + TCP/IP协议栈 + 10/100 高速以太网络MAC/PHY

W7100A 是 W7100 的升级版。它增加了一些新功能,如记忆锁定功能(Memory Lock)、休眠模式、最高支持16M字节外部存储空间、特别功能寄存器(SFR)和GPIO上拉/下拉的控制(Pull-Up/Down Control)。另有64QFN封装可供小型嵌入式装置使用.

今天给大家介绍一下W7100A的结构以及存储器的部分。

概述

1.1       简介

iMCU W7100A是一个集合了8051兼容微处理器内核,64K的SRAM以及高性能的硬件的TCP/IP协议栈内核的单片式以太网解决方案, 具有很高的表现能力、执行能力,以及易移植、易开发等特点。

W7100A网络单片机的TCP/IP内核是一个久经市场考验的全硬件TCP/IP协议栈,其集成了以太网的MAC和PHY。硬件的TCP/IP协议栈支持TCP、UDP、IPv4、ICMP、ARP、IGMP和PPPoE,并且已经在多年的众多应用中得以证明,成为了一项非常成熟的技术。

1.2 W7100A的特点

• 与标准8051微处理器完全兼容

• 运行速度比标准8051快4~5倍

• 内嵌10/100Mbps以太网物理层

• 设休眠模式以减低功耗

• 全硬件TCP/IP协议栈: TCP、UDP、IPv4、ICMP、ARP、IGMP、PPPoE和Ethernet

• 支持自动握手(全双工/半双工模式)及自动极性变换(MDI/MDIX)

• 支持ADSL连接 (支持与PAP/CHAP验证模式下的PPPOE协议)

• 支持8个独立SOCKET同时通讯

• 32K字节高速内部TCP/IP数据处理缓存

• 多功能LED信号输出(TX、RX、全双工/半双工,IP冲突、连接及速度等指示)

• 不支持IP分段

• 双数据指针(DPTR),可用于快速存储器块访问

○先进的INC和DEC模式

○ 自动切换当前DPTR

• 64K字节内部RAM

• 255字节内部数据Flash、64K字节内部程序Flash、2K字节内部Boot ROM

• 最高支持16M字节外部存储空间

• 中断控制器

○ 2个优先级別

○ 4个外部中断

○ 1个看门狗中断

• 4个8位I/O口

• 3个定时/计数器s

• 1个全双工UART

• 可编程看门狗定时器

• 提供DoCD™调试单元

• 高耐产品

○ 至少100,000次程序读写周期

○ 至少10年的数据储存能力

 

1.3   7100A的结构图和特点

图1.1显示W7100A的内部结构图,如下说明了详细的结构功能:

ALU – 在执行指令的过程中负责算术和逻辑运算。它包含累加器(ACC)、程序状态字(PSW)、B寄存器和相关的逻辑,如算术单元、逻辑运算单元、乘法器和除法器。

SFR –特殊控制寄存器的访问。它包含标准和用户定义的寄存器和相关的逻辑。使用所有直接寻址模式指令,可以快速访问用户定义的外部设备(包括读、写或修改)。

 

1.3.1   ALU(算术逻辑单元)

W7100A是与标准的8051单片机兼容的,并维持所有指令助记符和二进制的兼容性。W7100A结合了许多良好的设计,从而增强功能,使得W7100A的单片机能够高速地执行指令。

在W7100A单片机里的ALU负责执行大量的数据操作。它是由一个8位的算术逻辑单元(ALU)、一个ACC(0XE0)寄存器、一个B(0xF0)寄存器和PSW(0xD0)寄存器所组合而成。

ACC(0xE0)

图1.2 累加器ACC寄存器

 

 B寄存器在乘法和除法运算过程中使用。在其他情况下,该寄存器可被用作为SFR使用。

B(0xF0)

图1.3 B寄存器

ALU主要负责算术运算,如加法、减法、乘和法除法运算,还进行其它操作,如递增、递减、BCD十进制加调整和比较。逻辑单元利用"AND"、"OR"、"Exclusive OR"、"Complement"或"Rotation"来进行不同的操作。布尔处理器主要负责"位"的操作,如"set"、"clear"、"complement"、"jump-if-not-set"、"jump-if-set-and-clear"和 "move to/from carry"。

PSW(0xD0)

图1.4 程序状态字寄存器

图1.5 PSW寄存器

PSW寄存器包含的位,可以反映出MCU的当前运行状态。


1.3.2   TCPIP内核

图1.6 TCPIP内核结构图

以太网物理层(PHY)

W7100A包含了一个10BaseT/100BaseTX的以太网物理层。它支持全双工/半双工模式、自动握手和动极性变换(MDI/MDIX)。它还支持6个网络指示信号灯,如传送、接收、全双工/半双工模式、网络沖突、网络连接和网络速度。

TCPIP引擎

TCPIP引擎是基于WIZnet技术的硬件逻辑网络协议。

  • 802.3 Ethernet MAC (以太网介质访问控制)

它控制以太网CSMA/CD(载波监听、多点接入、冲突检测)的访问。这协议是以48位源/目的MAC地址为基础。

  • PPPoE (以太网上的点对点协议)

这实现在以太网上的点对点服务的协议技术。在传输时,它把有效载荷(点对点数据帧)封装在以太网帧内,然後在接收时把点对点帧解开。 PPPoE支持与PPPoE服务器以及PAP//CHAP认证进行点对点通信。

  • ARP (地址解析协议)

ARP是一种以通过使用IP地址来解析MAC地址的协议。它与对端交换ARP应答和ARP请求,来确定互相的MAC地址。

  • IP (互联网协议)

该协议应用于IP层以提供数据通信。因它并不支持IP分段,所以是不可能接收分段的数据包。除TCP或UDP外,支持其他所有的协议名。而在TCP或UDP的模式下,会使用硬件TCPIP协议栈。

  • ICMP (互联网控制信息协议)

ICMP提供互联网控制信息,如无法到达目的地等。当接收到一个PING请求的ICMP数据包时,一个PING答复的ICMP数据包就被发送。

  • IGMPv1/v2 (互联网分组管理协议 - 版本1/2)

该协议处理IGMP的信息,如加入/离开分组等。IGMP只在UDP多播模式下生效。它只支持IGMP版本1和2的逻辑,当使用较新版本的IGMP时,需要以手动方式在IP层实现。

  • UDP(用户报文协议)

该协议支持在UDP层的数据通信,还支持如单播、多播和广播等的用户报文。

  • TCP(传输控制协议)

该协议应用于TCP层以提供数据通信。它能支持TCP服务器和TCP客户端模式。

 

 1.4     引脚说明

1.4.1         引脚分配

封装类型: LQFP 100

 

 

图1.7 W7100A - LQFP100引脚分布

封装类型: QFN 64

图1.8 W7100A - QFN64引脚分配

1.4.2   引脚说明

下表描述了引脚的功能。所有引脚都是單向的,没有三态输出引脚和内部信号。

1.4.1 配置

1.4.2 定时器

1.4.3   UART

1.4.4   DoCD™可兼容调试器

1.4.5   中断/时钟

1.4.6   GPIO

注:用户可以通过PxPU/PxPD SFR控制GPIO I/O的驱动电压。

注:在这种情况下,GPIO 0~3可用于传输外部存储地址和数据。有关详情请参考2.3"外部数据存储器访问"。

1.4.7   外部存储器接口

注:当用户利用标准的8051接口使用外部存储器时,用户可以利用ALE引脚控制,在P0[7:0]传输数据[7:0]或地址[7:0]。

1.4.8   介质接口

为了获得最佳性能,

1.尽可能使RXIP/RXIN信号对的长度(RX)相等。

2.尽可能使TXOP/TXON信号对(TX)的长度相等。

3.尽可能使RXIP和RXIN的信号靠近。

4.尽可能使TXOP和TXON的信号靠近。

5.尽可能使RX和TX的信号对远离一些如偏置电阻或晶振的噪声信号。

6.使TX/RX的信号对保持正常。

欲了解更多详情,请参阅”W5100 Layout Guide.pdf.”

1.4.9   网络指示灯

1.4.10  电源信号

                                                 图1.9 电源设计

1.5         64引脚封装说明

1.5.1   100和64引脚封装的区别

注:在64引脚封装的情况下,PHY模式必须由PHYCONF SFR设置。因此,用户必须设置MODE_EN位以启动MODE2~0位的配置。然后设置MODE2~0的值和控制PHY_RSTn位以至PHY复位。复位后,64引脚封装的芯片将被初始化和正常运作。当用户使用64引脚封装芯片时,下面的代码必须在芯片初始化程序中执行。

如需了解更多详细PHYCONF SFR的资讯,请参阅第2.5.10"新的和扩展的SFR"。

 2. 存储器

W7100A的存储器分为两种类型:“代码存储器”和“数据存储器”。每个存储器可以使用内存锁定功能。如果存储器被锁定,从外部访问内部存储器将会被拒绝,也不能使用W7100A的调试器。如需详细地了解更多有关内存锁定功能的资讯,请参阅"WizISP程序指南"。

图2.1展示了W7100A存储器的大致结构。

图2.1 代码/数据存储器连接

注意:

我们推荐使用一个外部低压电源探测器以预防电源电压供给不足时的系统故障。

這將有效避免数据flash和代码flash数据丢失,SPAM数据丢失和CPU寄存器数据丢失。

请参考WIZnet网站上的iMCU W7100A的电路图

(集成电路例如:MAX811,MIC811,DS1811)

2.1         程序存储器

“程序存储器”包括从0x0000到0x07FF的启动ROM和从0x0000到0xFFFF的用户代码flash。系统重启之后,W7100A通常执行”程序存储器”中的启动代码。根据BOOTEN引脚(高低电平的不同),所执行的启动代码也不同。图2.2显示了启动代码的流程。启动之后,根据BOOTEN的电平,系统执行ISP进程或APP入口程序。当选择了ISP进程后(BOOTEN=1),启动ROM中的ISP代码将会运行,否则(BOOTEN=0),系统跳到APP入口处而不执行ISP程序。

ISP程序用于WizISP编程(当用户往代码FLASH中写代码时)。APP入口用于运行用户的应用程序代码。APP入口包括”存储映射转换代码”和跳转代码(能跳到用户应用程序代码FLASH存储器的起始地址0x0000)。存储映射转换图如下所示:

图2.2 启动顺序流程图

W7100A有两种初始状态 - “BOOT ROM/APP入口”和”FLASH存储器”,如图2.3所示。但是因为启动ROM/APP入口和FLASH存储器的地址是重叠的,它们都使用相同的地址(0x0000 ~ 0x07FF / 0xFFF7 ~ 0xFFFF),因此W7100A分别将”启动ROM/APP入口”和FLASH(64K)映射到代码和数据存储器。

用户应用程序代码可以写到FLASH中(映射为数据存储器)。但在这种状态下,FLASH不能作为程序存储器,因为这种状态是应用于写入应用程序代码。要将FLASH作程序存储器使用,需要进行存储器映射的切换。为了达到这个要求,用户需要设置BOOTEN为’0’,以选择用户应用程序模式,启动代码立即跳到应用程序入口,然后应用程序入口将禁止BOOT ROM,且将

FLASH存储器映射为程序代码存储器,如图2.3所示。改变程序代码存储器映射后,应用程序入口跳转到程序代码的起始地址(0x0000),工作过程如下:

图2.3 应用程序入口(APP ENTRY)处理

如果选择APP模式,整个64K的FLASH都将作为程序存储器,但两个FLASH和APP入口的地址都是重叠的。因此,为了完整使用64K的FLASH,”APP入口”必须从代码存储器中解除映射,为了达到这个目的,用户应该在启动代码中将WCONF(0xFF)中的RB位置为0。这一过程如下所示:

图2.4 RB=0时改变程序存储器状态

WCONF(0xFF)

当FLASH区域超过0xFFF7时,下面的代码必须加入到启动代码中。如果使用这种方法,W7100A在系统复位后将立即禁止APP入口地址。

在启动代码中设置引脚BOOTEN为0,且清WCONF的RB位,那么W7100A内部的64K FLASH将全部作为程序存储器使用。

2.1.1   程序存储器等待状态

程序存储器的等待状态是由内部WTST(0x92)进行管理的,等待状态的周期是由WTST寄存器确定的。详细内容请参考2.5.10节’新的 & 扩展的SFR’。

 

 2.2         数据存储器

W7100A内部有64K字节的RAM、64K字节的TCPIP内核和255字节的数据FLASH。数据FLASH用于存储用户IP地址、MAC地址、子网掩码、端口号等。另外W7100A有16M的数据存储外扩能力,下图是数据存储映射图。这个存储器只能通过MOVX指令访问,外部存储器可以由用户自己扩展。

图2.5 数据存储映射

2.2.1   数据存储器等待状态

数据存储器的等待状态由CKCON(0x8E)进行管理。等待状态的周期是由是由CKCON中的值确定的。请参考2.5.10节’新的&扩展的SFR’的内容。

2.3       外部数据存储器访问

外部地址引脚和数据引脚有两种访问模式。第一种模式是用标准8051的地址锁存方式,第二种是直接将所有引脚作为地址线。用户也可以用地址引脚和数据引脚作为GPIO。请参考第10节’电气特性’中关于外部存储器访问速度的内容。

表2.1 外部存储器访问模式

2.3.1   标准8051接口

这种方法的外部接口与通用8051一样。但是地址范围可以通过设置EM[2:0](外部存储器模式,在WCONF(0xFF)中)来设置可访问的地址范围。当用户设置EM[2:0]到”001”,P0用于地址/数据总线,P2用于高位地址(A[15:8])。P1和P3用于GPIO。如下图所示:

图2.6 标准8051外部引脚访问模式(EM[2:0]=“001”)

当用户设置EM[2:0]为”011”,就像上面的情形一样,P0用于地址/数据总线,P2用于较高位的地址线(A[15:8])。但是P3用于最高位的地址总线(A[23:16]),地址总线被扩展了。剩下的P1用作GPIO,如下图所示:

图2.7 标准8051外部引脚访问模式(EM[2:0]=“011”)

在标准8051外部引脚的访问模式下,MCU控制着ALE(地址锁存使能)信号来区分地址和数据信号。用户可以通过ALECON(0x9F)来设置ALE信号的持续长度,对于ALECON的详细信息,参考2.5.10节’新的&扩展的SFR’。

 

 2.3.2   直接接口

这种方法直接将端口与地址线相连,当用户设置EM[2:0]为”101”,P0用于数据线(D[7:0],P1作为低地址线(A[7:0]),P2用于较高地址线(A[15:8])。剩下的P3用于GPIO。用这种方法,用户能将端口连向地址线而不用地址锁存,如下图所示。

图2.8 直接8051外部引脚访问模式(EM[2:0]=“101”)

当用户设置EM[2:0]为”111”,P0,P1,P2与上一种情况的功能一样,P3用于高端地址(A[23:16])。在这种模式下,没有端口可用于GPIO,如下图所示。

图2.9 直接8051外部引脚访问模式(EM[2:0]=“111”)

2.4        内部数据存储器和特殊功能寄存器

内部存储器和特殊功能寄存器的地址映射如下图表示:

图2.10 内部存储器映射

内部RAM的最低地址有4组分区,每个分区包含8个寄存器;还有一个可以位寻址的字节段,地址范围在0x20~0x2F,共128位,一个208字节的缓存区(0x30~0xFF),非直接地址模式范围是:0x80~0xFF,最高128字节可以作为内部存储器访问。但直接地址总线模式下的0x80~0xFF,这个区域作为SFR来访问的。

 

 

图2.11 SFR存储器映射图

新的SFR – 新的特殊功能寄存器(SFR),本节将对这些寄存器作详细的描述。

扩展的SFR –在标准8051基础上扩展的寄存器,在本节将详细描述这些寄存器。

标准 – 标准8051特殊功能寄存器,也将在本节描述。

最左边那些地址的尾数为0或8的特殊功能寄存器都算可以位寻址的。

 

 

2.1         特殊功能寄存器(SFR)定义

下面将描述W7100A内核的特殊功能寄存器及其他们的功能。请参考2.5.11”外设特殊功能寄存器”章节,了解标准的特殊功能寄存器和外设特殊功能寄存器。

2.5.1   程序存储器”写”允许位

在PCON寄存器内有一个程序存储器”写”允许位(PWE),它禁止或允许使用MOVX指令对程序存储器进行写操作。

当PWE设置”1”时,”MOVX @DPTR,A”指令将数据从累加器A写到程序存储器中,地址由DPTR寄存器(DPH:DPL)确定。

“MOVX @Rx, A”指令将数据从累加器A写入到程序存储器中,地址由P2寄存器(bits 15:8)和Rx寄存器决定(bits 7:0)。

PCON(0x87)

 

图2.12 PCON寄存器的PWE位

注意:

1.    PCON.2 ~ PCON.0位为保留位,必须设置为0。

2.5.2   程序存储器等待状态寄存器

等待状态寄存器提供程序存储器访问时间信息。

WTST(0x92)

图2.13 程序存储器等待状态寄存器

注意:

1.    这些位只有在CPU取指令和MOVC指令时有效,因为程序存储器写操作是MOVX指令,所以CKCON寄存器调节”代码写”的脉冲宽度。

2.    读周期最小4个时钟周期,最大8个时钟周期。

表2.2 WTST寄存器的值

取指令时,程序存储器只能由MOVC指令访问,程序存储器可以最小4个时钟等待状态进行读操作,时序图如下。

图2.14 最少等待状态(WTST=‘4’)时,对程序存储器同步读的波形图

说明:

1.Clk             – 系统时钟频率 (88.4736MHz)

2.ADDRESS    – 修改程序字节的实际地址

3.CODE_RD    – 程序存储器的读信号

4.CODE          – 写入到程序存储器的数据

程序存储器可以用MOVX指令以最小4个时钟周期写入,它可以使W7100A内核对高速和低速程序存储器操作,时序图如下:

图2.15 最小等待状态(WTST=‘4’)程序存储器写时序图

注意:

1. Clk            – 系统时钟频率(88.4736MHz)

2. ADDRESS   – 修改程序字节的实际地址

3. CODE         – 修改程序字节的实际代码

4. CODE_WR  – 程序存储器的写信号

5. PRG           – 程序存储器

 

 2.5.3   扩展的数据指针寄存器

当访问的地址空间超过64K时,扩展的数据指针寄存器DPX0,DPX1和MXAX具有重要的意义,复位后,DPX0,DPX1和MXAX恢复位默认的0x00.

DPX0(0x93)

图2.16 扩展的数据指针寄存器

DPX1(0x95)

图2.17 扩展的数据指针寄存器

MXAX (0xEA)

图2.18 MOVX@RI扩展寄存器

当MOVX指令使用DPTR0/DPTR1时,最高位地址A[23:16]总是等于DPX0(0x93)/DPX1(0x95)。当MOVX指令使用R0或R1时,最高位地址A[23:16]总是等于MXAX(0xEA)的值。A[15:8]的值等于P2(0xA0)。

2.5.4   数据指针寄存器

双数据指针寄存器用于快速的数据块的复制。DPTR0和DPTR1位于4个特殊功能寄存器地址,有效的DPTR由SEL位选择(0x86.0)。如果SEL=0,选择DPTR0(0x83:0x82),否则选择DPTR1(0x85:0x84)。

DPTR0(0x83:0x82)

说明:

TSL – 翻转选择允许位。当TSL置1,运行下面的指令时,该位翻转SEL位。

INC DPTR

MOV DPTR, #data16

MOVC A, @A + DPTR

MOVX @DPTR, A

MOVX A, @DPTR

当TSL = 0时, DPTR相关的指令不影响SEL的状态,没有使用的位读出时为0或1。

表2.3 DPTR0,DPTR1操作

选中的数据指针寄存器在下面的指令中使用

MOVX @DPTR, A

MOVX A, @DPTR

MOVC A, @A + DPTR

JMP @A + DPTR

INC DPTR

MOV DPTR, #data16

2.5.5   时钟控制寄存器

时钟控制寄存器CKCON(0x8E)包含MD[2:0]位,它确定对数据存储器读写信号的时钟脉冲宽度。

图2.22 时钟控制寄存器-时钟延展位

数据存储器读写信号只有在MOVX指令期间有效。MD[2:0]的目的的调整与外部IO设备之间的通信速率,比如低速RAM、LCD显示器等等。复位后,MD[2:0]将恢复默认值0x07,这个值适合与低速设备的接口。用户可以改变MD[2:0]的值以提高或降低软件的运行速度。MD[2:0]可以在程序运行过程中的任何时候更改(在两个MOVX之间更改以获得不同的访问速度)。

表2.4 MD[2:0]位

读写脉冲宽度最少有3个时钟周期,最多有8个时钟周期。

2.5.6   内部存储器等待状态寄存器

内部存储器等待状态寄存器INTWTST(0x9C)用于设置内部64K字节RAM,TCPIP核以及255字节内部Flash的访问时间。

INTWTST (0x9C)

图2.23 内部存储器等待状态寄存器

  • Ram WTST: 设置64K字节RAM访问时间,有2位值:0~3
  • TCPIP核WTST:设置TCPIP核访问时间,有3位值:0~7
  • Flash WTST: 设置内部Flash访问时间,有3位值:0~7

内部RAM WTST值对应于下表中的值。

表2.5 RAM WTST位的值

TCPIP核,内部flash WTST的值对应于下表所示的访问时间值

2.5.7   地址锁存启动寄存器

ALECON SFR用于标准8051的外部引脚访问模式。ALE(地址锁存使能)的持续时间信号能被ALECON SFR来控制。

如果我们设置ALECON为1,ALE信号将会在1个时钟之后被”拉”到”0”。如果设置ALECON为”n”,ALE信号将会保持1+n个时钟,然后变为0。

ALE持续时间=ALECON值+1个时钟周期

ALECON的初始值位0xFF。用户可以根据外部设备的速度来配置这个值。

图2.24 内部存储器等待状态寄存器

2.5.8   外部存储器等待状态寄存器

EXTWTST SFR用于配置外部存储器访问时序。用这个16位的寄存器可以配置的值范围为0到65535。

图2.27 堆栈指针寄存器

这个指针在数据被通过执行PUSH和CALL命令存储之前递增,而在数据被执行POP、RET、和RETI命令调出后递减。换句话说,堆栈指针总是指向最后的有效堆栈字节。

2.5.10   新的和外扩的特殊功能寄存器

PHY_IND(0xEF): PHY指示寄存器,显示W7100A内部PHY的当前状态

图2.28 PHY状态寄存器

注意:

FDX : 0 – 全双工 / 1 – 半双工

SPD : 0 – 100Mbps / 1 – 10Mbps

LINK       : 0 – 连接终断 / 1 – 开启连接

ISPID(0xF1) : ISP的ID寄存器

ISPADDR16(0xF2) :       ISP的16位地址寄存器

ISPDATA(0xF4) :    ISP的数据寄存器

CKCBK(0xF5) :      CKCON备份寄存器

DPX0BK(0xF6) :    DPX0备份寄存器

DPX1BK(0xF7) :    DPX1备份寄存器

DPSBK(0xF9) :      DPX备份寄存器

RAMBA16(0xFA) :RAM基址寄存器

RAMEA16(0xFC) :RAM终止地址寄存器

PHYCONF(0xFE):W7100A PHY操作模式,重启,掉电配置寄存器

PHYCONF(0xFE)

图2.29 内部PHY配置寄存器

注意:

  •  PHY_RSTn:

重启W7100A的内部PHY,如果用户想通过这一位来重启PHY,首先给这一位置1,在重启时间之后手动清零。关于重启时间,请参考第10节的”电气特性”。

  • PHY_PWDN:

1 - 掉电模式:关闭内嵌的以太网PHY以节省电能

0 – 正常操作模式

  • MODE_EN:

1 – 通过MODE2~0来配置W7100A的操作模式/0-不用MODE2~0位。在64引脚的QFN封装中,必须用这一位和MODE2~0来配置W7100A的操作模式

  • MODE2 ~ 0:

请参考1.4.2中”引脚描述”中PM2~0引脚的设置值,MODE2~0位的值与PM2~0的值一样。

  •   -      :

保留,必须设为0

例> MODE2~0在模式选择上的使用

注:RB   : 0 – ISP结束不重新启动/ 1 – ISP结束重新启动

(APP入口(0xFFF7 ~ 0xFFFF)读/写使能)

ISPEN     : 0 –启动W7100A的ISP / 1 – 禁止ISP启动

EM[2:0]  : 外存储模式, 请参考2.3部分”请参考2.3节’外部数据存储访问’”

FB   : ISP时Flash忙指示,只读。

BE   : Boot使能 (1 – Boot启动运行 / 0 – 应用程序运行)。只读。

CLKCNT0(0xDC):W7100A内核时钟计数寄存器bit0 ~ 7。

2.5.11   外设寄存器

  • P0,P1,P2,P3: 端口寄存器,详细内容请参考第4节”I/O端口”中关于I/O端口的功能。
  • TCON(0x88):  Timer0/1配置寄存器。请参考5.1节’计数器0,1’详细了解timer0/1的功能。
  • TMOD(0x89): Timer0/1配置寄存器。请参考5.1节’计数器0,1’详细了解Timer0/1的功能。
  • TH0(0x8C),TL0(0x8A):Timer0的计数寄存器。请参考5.1节’计数器0,1’详细了解Timer0/1的功能。
  • TH1(0x8D),TL1(0x8B):Timer1的计数寄存器。请参考5.1节’计数器0,1’详细了解Timer0/1的功能。
  • SCON(0x98):  UART配置寄存器,请参考第6节’UART’详细了解UART功能。
  • SBUF(0x99):   UART数据缓冲寄存器,请参考第6节’UART’详细了解UART功能。
  • IE(0xA8):       UART中断启动位.请参考第6节’UART’详细了解UART功能。
  • IP(0xB8):       中断优先级寄存器中的UART位,请参考第6节’UART’详细了解UART功能。
  • TA(0xC7):      定时访问寄存器,请参考第7节’看门狗计数器’详细了解看门狗定时器的定时访问功能。
  • T2CON(0xC8):       Timer2配置寄存器,详细信息请参考5.2节’计数器2’,了解Timer2的功能。
  • RLDH(0xCB),RLDL(0xCA):Timer2捕获寄存器。详细信息请参考5.2节’计数器2’,了解Timer2的功能。
  • TH2(0xCD),TL2(0xCC):Timer2计数寄存器。详细信息请参考5.2节’计数器2’,了解Timer2的功能。
  • PSW(0xD0):   程序状态寄存器,详细信息请参考1.3.1节”ALU”。
  • WDCON(0xD8):     看门狗控制寄存器。详细信息请参考第7节’看门狗计数器’。 

感谢关注!