台湾义隆单片机硬件结构

第二章 EM78系列单片机硬件结构
EM78系列单片机是采用低功耗、高速CMOS工艺制造的8位单片机,本章将以EM78X56(包括EM78156EM78256EM78456)为例来讲述EM78系列单片机的内部结构、存贮器、中断I/O、看门狗、振荡器和电压检测器等特点。
2.1.      主要功能特点
·采用8位数据总线和13指令总线独立分离的Harvard结构设计。
·采用RISC指令集,共有57条单字节指令,其中99%为单周期指令(对程序计数器PC指针    进行写操作除外)。
·1K4KX13的程序存贮器(有OTP和掩膜二个版本)。
·48个通用数据寄存器可直接寻址使用。
·14个特殊功能寄存器。
·具有一个结构选择寄存器用于设置振荡器的工作方式等。
·具有五级堆栈令程序嵌套更自由。
·两个双向三态I/O口,12I/O线,可分别设置为上拉、下拉或集电极开路等。
·具有三个硬件中断和一个软件中断。
·两种工作模式:正常工作模式    2mA/5V
                休眠模式        1μA/5V(可由I/O唤醒)
·具有R-OPTION功能,即用电阻的上拉、下拉来选择内部程序的执行。
·一个带8位预置器的8位定时/计数器,一个看门狗定时器(WDT)。
·采用先进的加密方法保证用户代码不被读出。
·工作电压:2.55.5V    工作频率DC36MHZ、工作温度070℃。
2.2.      EM78X56型号分类、命名方法及管脚功能说明
2.2.1.      型号分类(2.1)
 
ROMBit
RAMByte
I/O
最短指令周期
EM78156
1KX13
56
12
111ns
EM78256
2KX13
56
12
111ns
EM78456
4KX13
56
12
111ns
2.2.2.      命名方法:
        EM  78  P 156  A  P
 
封装形式P-DIP    M-SOIC  S-SSOP
内置电压检测功能  A-    B-
类型名
POTP 没有P”为MASK版本
单片机系列号
EMC公司字头
 2.2.3.      EM78X56管脚功能描述
2.1  EM78156管脚图(EM78256EM78456管脚同上)
 
管脚名称
I/O
       
PIC16C54/56
对应管脚名
P50P53
 I/0
P50P53为双向I/O,P50P51同时为R-Option功能脚,P5052能通过软件设置为下拉
RAORA3
P60P67
 I/O
P60P67为双向I/O口,可通过软件设置为上拉或开路输出;另外,P6063可设为下拉
RBORB7

INT0
 I/O
外部中断输入脚,下降沿触发中断(P60
OSCI
 I
XTAL型:晶体振荡器或外部时钟输入脚    R C  RC振荡器输入脚
OSC1
OSCO
 I/O
XTAL型:晶体振荡器输出脚或外部时钟输入脚。
RC型:输出一个指令周期的时钟信号
OSC2
RESET
 I
微型光纤光谱仪
施密特触发输入脚,当该脚保持低电平时,单片机复位
MCLR
TCC
 I
实时时钟/计数器输入脚,施密特触发,当该脚不用时,必须接地或VCC
RTCC
VDD
——
电源
VDD
VSS
——
VSS
2.2  EM78X56管脚功能描述
2.3.      EM78内部结构框图
    EM78X56在片内集成了一个8位算术运算单元ALU和工作寄存器ACC1K4KROM56RAM12I/O口,8位预置器(Prescaler)及8位计数器(TCC)、振荡器、看门狗、五级堆栈、中断控制器、指令寄存器、译码器和其它一些寄存器等。内部框图如图2.2所示:
    EM78系列单片机采用8位数据/控制总线和13位指令总线独立分离的Harvard结构,流水线指令,即当一条指令在执行中,下一条指令已被从ROM取出放在指令寄存器等待执行,如此EM78系列几乎全部为单周期指令,执行速度更快。
EM78系列数据存贮器均可视为寄存器来寻址编程,分工作寄存器和特殊功能寄存器二大类,2.5节将详细讲述寄存器的使用方法。

2.2  EM78X56内部功能框图
2.4.      程序存储器和堆栈
2.4.1.      程序存储器
EM78X56内部程序存储器和堆栈示意图如下:

2.3  程序存储器结构框图
 
PC指针(寄存器R2)和堆栈的位数依照型号EM78156EM78256EM78456分别是10位、11位、12位,即寻地空间分别为1K2K4K,一个程序页面为1K。页面选择通过设定状态寄存器R3Bit6PS1. Bit5 (PS0)来完成,内容下表(2.3)所示:
 
PS1R3.6
PSOR3.5
程序页面地址
0
0
0[000-3FF]EM78X56没有PS1PS0
0
1
1[400-7FF]EM78256/456
1
1
2[800-BFF]EM78256/456
1
1
3[C00-FFF]EM78456
      ·对EM78156μPS1PS0位为通用读/写位
      ·对EM78256μPS1为通用读/写位
    EM78X56可在同一页面内直接跳转(JMP)和调用子程序(CALL),即JMP时装入目标地址至PC的低10,CALL时装入目标地址至PC的低10,PC+1压栈,调用同1K页面内的任何程序。
    EM78256/EM78456中,当需要跳转或调用不同页面的子程序时,则须在调用前将修改R3PS0/PS1PS0,执行JMPCALL后将状态寄存器R3PS0/PS1PS0载入PCA10/A11A10
    有一情况需特别注意:对PCR2)进行直接操作指令如MOV R2A”、ADD R2A”、BC R20都将导致PC之第9及第10位(A9A8)被清零,因此此类情况产生的任何跳转都限定在同一页面的前256个地址(查表指令的使用均在此限制内)
2.4.2.      堆栈
 EM78X56有五级堆栈,遵循后入先出的原则实现程序多至五级嵌套调用.通常堆栈使用如下:
    CALL和中断响应时PC+1压栈;
    当子程序或中断返回,执行RETRETL(带参数返回)RETI(中断返回),将栈顶值(1)弹回程序计数器PC、同时将堆栈2的值拷贝到堆栈1,堆栈3的值拷贝到堆栈2,以此类推。
    要注意的是RETRETLRETI指令并没有改变R3中的PS0PS1位便返回到原来调用程序的页面,所以当从一次跨页的子程序调用返回时,一定要用指令恢复R3中原先的PS0PS1值。
2.5.      数据存储器RAM结构
    EM78X56的数据存储器分工作寄存器、特殊功能寄存器和一般通用寄存器三大类,如图2.4所示:
2.5.1.      工作寄存器
1.R0间接寻址寄存器
RO并非一个实际工作的寄存器,只作为间接寻址用。任何对RO进行操作的指令,实际上是存取由RAM选择寄存器R4所指定的RAM内容。
2.R1TCC
此寄存器为8位定时铁锰结核/计数器,可由程序进行读/写操作。它用于对外加在TCC脚上的脉冲进行计数,或对内部时钟计数。
3.R2(程序计数器PC)和堆栈
·在复位情况下,R2被清零,地址指向OOOH
·对R2进行写操作的指令一定需要二个指令周期,其它有关R2和堆栈的内容§2.4中所述.
 
 

2.4  RAM结构图
 
4R3状态寄存器(STATUS
如下表所示,R3包括ALU运算标志、页面标志、复位状态等
7
6
5
4
3
2
1
0
GP
PS1
PS0
T
P
Z
DC
C
 
Bit0(C) :进位标志
Bit1(DC):辅助进位标志
Bit2(Z) :零标志,当一算术或逻辑运算结果为0时,则置该位为1
Bit3(P) :掉电模式位。当系统上电时或执行WDTC”指令后,置该位为1”;当执行SLEP”指令后,该位被置0
Bit4(T) :超时位,当系统上电或执行SLEP”和WDTC”指令时,置位为1”;当WDT溢出时置位为0
Bit5(PSO)页面选择低位
Bit6(PS1)艾虎生页面选择高位
通过PT位来判断复位产生的原因如表2.4所示:
 
T    P
复位产生原因
O    O
WDT溢出唤醒SLEEP
O  *P
工作模式时WDT溢出
1    0
脚位变化唤醒SLEEP
1    1
系统上电
*P  *P
工作模式复位
     
 秦皇岛雾霾影响T/P的事件如下表2.5所示:
文件
T
P
WDTC指令
1
1
WDTC溢出
0
*P
SLEP指令
1
0
脚位变化唤醒
1
1
差不多先生传读后感            *P:指复位前的值
    GP:一般用途的读/写位
5.R4  RAM选择寄存器(RSR
在间接寻址模式里,Bit0-5用来选择寄存器(地址:00-06OF-3F
例如  MOV  A@0x10
      MOV  R4,A
      MOV  A, @0x11
      MOV  R0, A     ; R10=11H
其结果是将16进制的11”值送入由R4指的10”单元中。
·Bit67未使用
·未作间接寻址时,R4可作6位宽度的可读/写通用寄存器.
6. R5R6(口5~口6):分别为口5、口6的输入/输出寄存器,EM78I/O映射为寄存器来操作,R68位,R5仅有低4位有效。
7RF中断状态寄存器
7
6
5
4
3
2
1
0
EXIF
ICIF
TCIF
祥林嫂之死
·“1”表明有中断请求,0表明没有中断请求
Bit0 (TCIF):TCC 计数器1溢出中断标志位;当TCC计数器1溢出时置1”,可由软件清零。
Bit1 (ICIF):6输入变化中断标志位,当口6输入变化时置1”,可由软件清零。
Bit2 (EXIF):外部中断标志位。当INT脚有下降沿触发时置1”,可用软件清零。
Bit37:未使用
·RF可用软件清零,但不能被置1
·IOCF为中断屏蔽寄存器,通过指令读取RF值,此时结果值为RFIOCF相与的结果
8R10R3F
·R10R3F48X8位一般通用寄存器。
2.5.2.      特殊功能寄存器
EM78X56的特殊功能寄存器主要包括累加器.控制寄存器和WDT预分频器。

本文发布于:2024-09-22 04:08:59,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/257831.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:寄存器   指令   程序   中断   功能
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议