第三章 EM78447单片机硬件结构概要 下载本文

深圳市世鹏电子科技有限公司 0755-83987638(10线)

第三章 EM78447单片机硬件结构

第三章 EM78447单片机硬件结构

EM78447单片机是在EM78X56基础上发展而来,分EM78447A(28PIN)和EM78447B(32PIN)两种,采用低功耗、高速CMOS工艺制造的8位单片机,本章将讲述EM78447A/B单片机的内部结构、存贮器、中断、I/O、看门狗、振荡器和电压检测器等特点。

3.1. EM78447A/B主要功能特点

·采用8位数据总线和13位指令总线独立分离的Harvard结构设计。

·采用RISC指令集,共有58条单字节指令,其中99.9%为单周期指令(对程序计数器PC指针进行写操作除外)

·4K×13的程序存贮器(有OTP和掩膜二个版本) ·148个通用数据寄存器可直接寻址使用。 ·9个特殊功能寄存器

·具有一个结构选择寄存器用于设置振荡器的工作方式等 ·具有五级堆栈令程序嵌套更自由。

·三个双向三态I/O口(EM78447A: 20个I/O.EM78447B: 24个I/O), 可分别设置为上拉或集电极开路等。

·具有二个硬件中断和一个软件中断

·两种工作模式:正常工作模式 2mA/5V

休眠模式 1μA/5V(可由I/O唤醒)

·具有R-OPTION功能,即用电阻的上拉、下拉来选择内部程序的执行。 ·一个带8位预置器的8位定时/计数器,一个看门狗定时器(WDT)。 ·采用先进的加密方法保证用户代码不被读出。

·工作电压:2.5~5.5V 工作频率DC~20MHZ、工作温度0℃~70℃

3.2. EM78447型号分类、命名方法及管脚功能说明

3.2.1

型号分类(表3.1)

型 号 EM7447A EM7447B ROM(Bit) 4K×13 4K×13 RAM(Byte) 148 148 I/O 20 24 最短指令周期 100ns 100ns 3.2.2 命名方法:

EM 78 P 447 A P

封装形式P-DIP M-SOIC S-SSOP

区分 28/32引线 A-28PIN B-32PIN 类型名 P:OTP; 没有“P”为MASK版本 单片机系列号

EMC公司字头

第 25 页

深圳市世鹏电子科技有限公司 0755-83987638(10线)

第三章 EM78447单片机硬件结构

3.2.3

EM78447管脚功能描述

7A

图3.1 EM78447管脚图

管脚名称 P50~P53 P54~P57 P60~P67 I/O I/0 I/O I/O I/O P70~P77 INT OSCI OSCO 功 能 PIC16C55/57 对应管脚名 RAO~RA3 I/O I I/O RESET TCC VDD VSS NC

I I —— —— —— P50~P53为低4位双向I/O口,在EM78447A中口5只使用这低4位脚 P50~P57为高4位双向I/O口,在EM78447B无 中口5为8位双向I/O口 P60~P67为双向I/O口,可通过软件设置为RBO~RB7 内部上拉 P70~P77为双向I/O口.P74、P75可通过RCO~RC7 软件设为上拉.P76、P77可设为开路输出,P70、P71具有R-option的功能。 外部中断输入脚,下降沿触发中断 无 XTAL型:晶体振荡器或外部时钟输入脚 OSC1 RC 型:RC振荡器输入脚 XTAL型:晶体振荡器输出脚或外部时钟输入OSC2 脚。 RC型:输出一个指令周期的时钟信号 施密特触发输入脚,当该脚保持低电平时,MCLR 单片机复位 实时时钟/计数器输入脚,施密特触发,当RTCC 该脚不用时,必须接地或VCC 电源 VDD 地 VSS 未使用 表3.1 EM447管脚功能描述 第 26 页

深圳市世鹏电子科技有限公司 0755-83987638(10线)

第三章 EM78447单片机硬件结构

3.3. EM78447内部结构框图

EM78447在片内集成了一个8位算术运算单元ALU和工作寄存器ACC、4KROM、148个RAM、20~24个I/O口,8位预置器(PRESCALER)及8位计数器(TCC)、振荡器、看门狗、五级堆栈、中断控制器、指令寄存器、译码器和其它一些寄存器等。内部框图如3.2所示:

图3.2 EM78447内部功能框图

3.4. 程序存储器和堆栈

第 27 页

深圳市世鹏电子科技有限公司 0755-83987638(10线)

第三章 EM78447单片机硬件结构

3.4.1 程序存储器

EM78447内部程序存储器和堆栈示意图如下:

EM78447 8Bit EM78447 A9 A8 A7~A0 PC A11 A10 堆栈1 CALL、RET 堆栈2 RETL 堆栈3 RETI 堆栈4 椎栈5 000:硬件中断和量地址 000 001:软件中断向量地址 pageo FFF:复位地址 3FF

400 page1 7FF

800 page2

BFF

C00 page3 FFF

图3.3 程序存储器结构框图

MOV R2,A A9=A8=0 ADD R2,A A9=A8 =0

PC指针(寄存器R2)和堆栈的位数是12位,即寻址空间分别为4K,一个程序页面为1K。页面选择通过设定状态寄存器R3的Bit6(PS1)、Bit5 (PS0)来完成,内容下表(表3.3)所示:

PS1(R3.6) 0 0 1 1 PSO(R3.5) 0 1 1 1 程序页面地址 0页[000-3FF] 1页[400-7FF] 2页[800-BFF] 3页[C00-FFF] EM78447可在同一页面内直接跳转(JMP)和调用子程序(CALL),即JMP时装入目标地址至PC的低10位,CALL时装入目标地址至PC的低10位,且PC+1压线,调用同1K页面内的任何程序。

在EM447中,当需要跳转或调用不同页面的子程序时,则须在调用前将修改R3的PS0/PS1、PS0,执行JMP或CALL会将状态寄存器R3的PS0/PS1、PS0载入PC的A10/A11、A10。

对PC(R2)进行直接操作指令如“MOV R2、A”、“ADD R2、A”、“BC R2,0”都将导致PC之第9及第10位(A9、A8)被清零,因此此类情况产生的任何跳转都限定在同一页面的前256个地址

TBL指令把存在A中的相对地址加至R2(R2 +A→R2 ),且R2的第9、10位(A9、A8)

第 28 页