文档介绍:EM78P447单片机硬件结构
EM78447 单片机是在 EM78X56 基础上发展而来,分 EM78447A (28PIN)和 EM78447B (32PIN) 两种,采用低功耗、高速CMOS工艺制造的8位单片机,本章将讲述EM784R0M、148个RAM、 20-24个I/O 口,8位预置器(PRESCALER)及8位计数器(TCC)、振荡器、看门狗、五级 堆栈、中断控制器、指令寄存器、译码器和其它一些寄存器等。:
FUNCTIONAL BLOCK DIAGRAM
EM78447内部功能框图
PC指针(寄存器R2)和堆栈的位数是12位,即寻址空间分别为4K, 一个程序页面为1K。 页面选择通过设定状态寄存器R3的Bit6 (PSI)、Bit5 (PSO)来完成,内容下表()所 示:
PSI (R3. 6)
PSO (R3. 5)
程序页面地址
0
0
0 页[000-3FF]
0
1
1 页[400-7FF]
1
1
2 页[800-BFF]
1
1
3 页[COO-FFF]
EM78447内部程序存储器和堆栈示意图如下:
PC
MOV R2, A
ADD R2, A
A9=A8=0
A9=A8 =0
EM78447可在同一页面内直接跳转(JMP)和调用子程序(CALL),即JMP时装入目标地 ,且PC+1压线,调用同1K页面内 的任何程序。
在EM447中,当需要跳转或调用不同页面的子程序时,则须在调用前将修改R3的 PSO/PSKPSO,执行JMP或CALL会将状态寄存器R3的PSO/PSKPSO载入PC的A10/A1K A10o
对PC (R2)进行直接操作指令如“MOVR2、A”、“ADDR2、A”、“BCR2, 0”都将 导致PC之第9及第10位(A9、A8)被清零,因此此类情况产生的任何跳转都限定在同一 页面的前256个地址
TBL指令把存在A中的相对地址加至R2(R2+A-R2),且R2的第9、10位(A9、A8)
IOCE
IOCF
IF
20
3B
不变,因此所产生的跳转可至整个页面。
堆栈
堆栈EM78447堆栈结构与EM78456相同,参见EM78456堆栈的章节。
EM78447的数据存储器分工作寄存器和特殊功能寄存器两大类,如图1. 4所示:
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
10
11
3F
R3F
R0间接寻址寄存器
R0并非一个实际工作的寄存器,只作为间接寻址用。(参EM78X56部分)
R1 (TCC)
参见EM78X56部分
R2 (程序计数器PC)和堆栈
•在复位情况下,R2每位均被置”1”,地址指向FFFH
•对R2进行写操作的指令一定需要二个指令周期,其它有关R2和堆栈的内容如§ 中所述。
R3状态寄存器(STATUS)
如下图所示,R3包括ALU运算标志、页面标志、复位状态等
7
6
5
4
3
2
1
0
GP
PS1
PSO
T
P
Z
DC
C
R4. RAM选择寄存器(RSR)
在间接寻址模式里,BitO-5用来选择寄存器(地址:00-3F)
Wit6〜7两位用来确定4个RAM页面中的那一个每个RAM页面为31个字,地址为20-3E
•未作间接寻址时,R4可作8位宽度的可读/写通用寄存器
R5为口 5的双向I/O 口寄存器,EM78447A:仅使用R5的低4位,其余高4位读为“0” EM78447B:8 位双向 I/O 口。
P6〜P7(口 6〜7)
是两个双向三态8位I/O 口寄存器
R8〜R1F、R20-F3E
R8-R1F:是通用寄存器
R20〜R3E: ,即每个页面都有31个寄存器 且地址为20H〜3EH,具体页面由R4的Bit6〜7决定。
R3F中断标志寄存器
7
6
5
4
3
2
1
0
一
一
一
一
EXIF
一
一
TCIF
表明有中断请求,“0”表目
月没有中L
折请求
BitO (TCIF) :TCC计数器1溢出中断标志位;当TCC计数器溢出时置“1”,可由软件 清零。
Bitl~2 :未使用
Bit3 (EXIF):外部中断标志位。当INT脚有下降沿触发时置“1”,可用软件清零。
Bit4〜7:未使用
•R3F可用软件清零,但不