第一节:片内RAM映射:
51:00H_7FH 128B片内(DATA),其中00H-07H: bank0,08H-0FH: bank1, 10H-17H: bank2,18H-1FH:bank3. 20H-2FH: 位寻址区(bdata)
30H-7FH: 堆栈区。 80H-FFH: SFR区
52: 增加了80H-FFH间接寻址的片内RAM(IDATA)
第二节: 特殊功能寄存器(51)
1TCON,地址:88H,定时器计数器控制,中断控制
| 位序 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
| 位地址 | 8FH | 8EH | 8DH | 8CH | 8BH | 8AH | H | 88H |
| 功能 | TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0 |
IT0/1:外部中断触发方式控制,置0,为低电平触发,置1,为下降沿触发。每个机器周期的S5P2器件多外部触发采样。响应中断需要两个机器周期。
IE0/1: 外部中断请求标志,CPU响应中断后,硬件自动将IE清0
TFx,定时器Tx溢出标志,计数溢出时,硬件将其置位,响应中断后,硬件将其清0,该位可由程序查询。
TRx, 定时器x运行控制,置1则启动定时器 ,清0则停止定时器。
2TMOD,地址:H, 定时器计数器工作方式控制
| 位序 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
| 位名称 | GATE | C/T | M1 | M0 | GATE | C/T | M1 | M0 |
| 功能 | 控制定时器T1 | 控制定时器T0 | ||||||
GATE: 取反后与外部中断输入或运算后再同TCON的TRx位相与控制计数器的启与停,GATE为0时,允许TRx开启或停止计数器,为1时,允许INTx开启或停止计数器。
M1M0:控制计时器的工作方式:
| M1M0 | 工作方式 | 说明(timer & counter,有C/T位控制) |
| 00 | 0 | 高8位和低5位组成13位计数器,低向高进位 |
| 01 | 1 | 16位计数器 |
| 10 | 2 | 自动再装入初值8位计数器,高8保存初值 |
| 11 | 3 | 定时器T0分为两个8位计数器,T1停止计数 |
3TL0, 地址:8AH, 定时器0低八位
4TL1, 地址:8BH, 定时器1低八位
5TH0, 地址:8CH, 定时器0高八位
6TH1, 地址:8DH, 定时器1高八位1
7SCON, 地址:98H,串行通信控制寄存器
| 位序 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
| 位地址 | 9FH | 9EH | 9DH | 9CH | 9BH | 9AH | 99H | 98H |
| 功能 | SM0 | SM1 | SM2 | REN | TB8 | RB8 | TI | RI |
| SM1SM0 | 工作方式 | 说明 |
| 00 | 0 | 移位寄存器方式(用于I/O口扩展) |
| 01 | 1 | 8位UART,波特率可变(由定时T1溢出率控制) |
| 10 | 2 | 9位UART,波特率为fOSC/或fOSC/32 |
| 11 | 3 | 9位UART, 波特率可变(由定时T1溢出率控制) |
REN:允许串行接收位,由软件置1时,允许接收,清0时。禁止接收
TB8:方式2和方式3中,发送的第9位数据,需要时由软件置位或复位。
RB8: 方式2和方式3中,接收到的第9位数据,在方式1时,RB是接收到停止位,在方式0时,不使用RB8.
TI:接收中断标志,由硬件置1,在方式0时,串行发送到第8位结束时置1;在其他方式,串行口发送停止位时置1。TI必须由软件清0。
RI:接收中断标志,由硬件置1。在方式0时(SM2应置0),接收到第8位结束时置1,当SM2=0的其他方式(方式0,1,3)时,接收到停止位置位“1”,当SM2=1时,若串口工作在方式2和3,接收到的第9位数据(RB8)为1时,才激活RI。在方式1时,只有接收到有效的停止位时才会激活RI。RI必须由软件清0
8SBUF, 地址:99H,串行通信数据缓冲器
9IE, 地址:A8H,中断使能控制寄存器
| 位序 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
| 位地址 | AFH | AEH | ADH | ACH | ABH | AAH | A9H | A8H |
| 功能 | EA | - | *ET2 | ES | ET1 | EX1 | ET0 | EX0 |
ET2: timers2 flowover interuption Enable for52, 1: Enable, 0: Disable
ES: serrial port interuption Enable, 1: Enable, 0: Disable
ET1/0: timers1/0 flowover interuption Enable, 1: Enable, 0: Disable
EX1/0: external interuption Enable, 1: Enable, 0: Disable
10IP, 地址:B8H,中断优先级控制寄存器
| 位序 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
| 位地址 | BFH | BEH | BDH | BCH | BBH | BAH | B9H | B8H |
| 功能 | - | - | *PT2 | PS | PT1 | PX1 | PT0 | PX0 |
⑾ PSW, 地址:D0H,程序状态字,
| 位序 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
| 位地址 | D7H | D6H | D5H | D4H | D3H | D2H | D1H | D0H |
| 功能 | CY | AC | F0 | RS1 | RS0 | OV | F1 | P |
RS1RS0:工作组寄存器选择位。OV:溢出标志。P:A的奇偶标志位
⑿ SP, 地址:81H,堆栈指针寄存器
⒀ P0: 80H, P1: 90H, P2: A0H, P3: B0H I/O口 锁存器
⒁ DPTR: 数据指针寄存器,16bit, DPH: 83H, DPL:82H
⒂ ACC 累加器A,地址:E0H
⒃ B 寄存器B, 地址F0H
⒄ T2CON,地址:C8H,定时器/计数器2控制,52所有
| 位序 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
| 位地址 | CFH | CEH | CDH | CCH | CBH | CAH | C9H | C8H |
| 功能 | TF2 | EXF2 | RCLK | TCLK | EXEN2 | TR2 | C/T2 | CP/RL2 |
⒆RLDH,地址CBH,定时器2自动重载时间常数,52所有(高字节)
⒇TL2, 地址CCH, 定时器2(低字节),52所有
(21)TH2, 地址CDH, 定时器2(高字节),52所有
(22) PCON, 地址:87H, 电压控制及波特率选择
| 位序 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
| 功能 | SMOD | - | - | - | GF1 | GF0 | PD | IDL |
PD:掉电方式控制位,置1后单片机,时钟信号停止,单片机停止工作,掉电方式。
GF0: 通用标志位
GF1:通用标志位
SMOD: 串行口波特率倍率控制位,为1时,波特率加倍。
第三节:中断向量表
| 中断源 | 中断请求标志 | 硬件自动清除? | m | 中断入口地址 |
| 外部中断0 | IE0 | 是(边沿触发) | 0 | 0003H |
| 否(电平触发) | ||||
| 定时器T0 | TF0 | 是 | 1 | 000BH |
| 外部中断1 | IE1 | 是(边沿触发) | 2 | 0013H |
| 否(电平触发) | ||||
| 定时器T1 | TF1 | 是 | 3 | 001B |
| 串行口 | RI,TI | 否 | 4 | 0023H |
| 定时器2 | TF2,EXF2 | 否 | 5 | 002BH |
| 中断源 | 优先权排序(降序) |
| IE0(外部中断0) | 5 |
| TF0(定时器0溢出中断) | 4 |
| IE1(外部中断1) | 3 |
| TF1(定时器1溢出中断) | 2 |
| RI+TI(串行口中断) | 1 |
| TF2+EXF2(定时器2溢出中断) | 0 |