第三章 EM78447单片机硬件结构_第1页
第三章 EM78447单片机硬件结构_第2页
第三章 EM78447单片机硬件结构_第3页
第三章 EM78447单片机硬件结构_第4页
第三章 EM78447单片机硬件结构_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三章 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的程序存贮器(有OT

2、P和掩膜二个版本)·148个通用数据寄存器可直接寻址使用。·9个特殊功能寄存器·具有一个结构选择寄存器用于设置振荡器的工作方式等·具有五级堆栈令程序嵌套更自由。·三个双向三态I/O口(EM78447A: 20个I/OEM78447B: 24个I/O), 可分别设置为上拉或集电极开路等。·具有二个硬件中断和一个软件中断·两种工作模式:正常工作模式 2mA/5V 休眠模式 1A/5V(可由I/O唤醒)·具有R-OPTION功能,即用电阻的上拉、下拉来选择内部程序的执行。·一个带8位预置器的8位定时/计数器,一

3、个看门狗定时器(WDT)。·采用先进的加密方法保证用户代码不被读出。·工作电压:2.55.5V 工作频率DC20MHZ、工作温度0703.2. EM78447型号分类、命名方法及管脚功能说明3.2.1 型号分类(表)型 号ROM(Bit)RAM(Byte)I/O最短指令周期EM7447A4K×1314820100nsEM7447B4K×1314824100ns3.2.2 命名方法: EM 78 P 447 A P封装形式P-DIP M-SOIC S-SSOP区分 28/32引线 A-28PIN B-32PIN类型名P:OTP; 没有“P”为MASK版本单

4、片机系列号EMC公司字头 3.2.3 EM78447管脚功能描述7A 图3.1 EM78447管脚图管脚名称I/O功 能PIC16C55/57对应管脚名P50P53 I/0P50P53为低4位双向I/O口,在EM78447A中口只使用这低位脚RAORA3P54P57 I/OP50P57为高位双向I/O口,在EM78447B中口5为8位双向I/O口无P60P67 I/OP60P67为双向I/O口,可通过软件设置为内部上拉RBORB7P70P77 I/OP70P77为双向I/O口P74、P75可通过软件设为上拉P76、P77可设为开路输出,P70、P71具有Roption的功能。RCORC7INT

5、 I/O外部中断输入脚,下降沿触发中断无OSCI IXTAL型:晶体振荡器或外部时钟输入脚 RC 型:RC振荡器输入脚OSC1OSCO I/OXTAL型:晶体振荡器输出脚或外部时钟输入脚。RC型:输出一个指令周期的时钟信号OSC2RESET I施密特触发输入脚,当该脚保持低电平时,单片机复位MCLRTCC I实时时钟/计数器输入脚,施密特触发,当该脚不用时,必须接地或VCCRTCCVDD电源VDDVSS地VSSNC 未使用表3.1 EM447管脚功能描述3.3. EM78447内部结构框图EM78447在片内集成了一个8位算术运算单元ALU和工作寄存器ACC、4KROM、148个RAM、202

6、4个I/O口,8位预置器(PRESCALER)及8位计数器(TCC)、振荡器、看门狗、五级堆栈、中断控制器、指令寄存器、译码器和其它一些寄存器等。内部框图如所示:图3.2 EM78447内部功能框图3.4. 程序存储器和堆栈3.4.1 程序存储器EM78447内部程序存储器和堆栈示意图如下:MOV R2,A A9=A8=0ADD R2,A A9=A8 =0EM78447EM78447 8Bit PC堆栈1堆栈2堆栈3堆栈4椎栈5 CALL、RETRETLRETIA11 A10A9 A8A7A0 000:硬件中断和量地址001:软件中断向量地址FFF:复位地址000 pageo3FF400 pa

7、ge17FF800 page2BFFC00 page3FFF图.3 程序存储器结构框图PC指针(寄存器R2)和堆栈的位数是12位,即寻址空间分别为4K,一个程序页面为1K。页面选择通过设定状态寄存器R3的Bit6(PS1)、Bit5 (PS0)来完成,内容下表(表3.3)所示:PS1(R3.6)PSO(R3.5)程序页面地址000页000-3FF011页400-7FF112页800-BFF113页C00-FFF EM78447可在同一页面内直接跳转(JMP)和调用子程序(CALL),即JMP时装入目标地址至PC的低10位,CALL时装入目标地址至PC的低10位,且PC+1压线,调用同1K页面内

8、的任何程序。 在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指令把存在中的相对地址加至R2(R2 +AR2 ),且R2的第9、10位(A9、A8)不变,因此所产生的跳转可至整个页面。3.4.2 堆栈 堆栈EM78447堆栈结构与EM78456

9、相同,参见§有关EM78456堆栈的章节。3.5. 数据存储器RAM结构 EM78447的数据存储器分工作寄存器和特殊功能寄存器两大类,如图3.4所示:0001020304 05060708090A0B0C0D0E0F1011.1F20.3B3FR0R1(TCCCONT堆栈(5 级) R2(PC)R3(Status)R4(RSR)R5(Port5)IOC5IOC6R6(Port6)IOC7R8R7(Port7)R9RARBRCIOCERDREIOCFRF16x8通用寄存器1110010031x8BankRegister(Bank 3)31x8BankRegister(Bank 2)3

10、1x8BankRegister(Bank 1)31x8BankRegister(Bank 0)R3F图3.4 RAM结构图3.5.1 工作寄存器RO并非一个实际工作的寄存器,只作为间接寻址用。(参EM78X56部分)2.R1(TCC) 参见EM78X56部分3.R2(程序计数器PC)和堆栈·在复位情况下,R2每位均被置”1”,地址指向FFFH·对R2进行写操作的指令一定需要二个指令周期,其它有关R2和堆栈的内容如§3.4中所述。4R3状态寄存器(STATUS)如下图所示,R3包括ALU运算标志、页面标志、复位状态等76543210GPPS1PS0TPZDCC5.R

11、4.RAM选择寄存器(RSR)在间接寻址模式里,Bit0-5用来选择寄存器(地址:00-3F)·Bit67两位用来确定4个RAM页面中的那一个每个RAM页面为31个字,地址为20-3E ·未作间接寻址时,R4可作8位宽度的可读/写通用寄存器 6. R5为口5的双向I/O口寄存器,EM78447A: 仅使用R5的低4位,其余高4位读为“0” EM78447B:8位双向I/O口。 7P6P7(口67) 是两个双向三态8位I/O口寄存器 8.R8R1F、R20F3E R8R1F: 是通用寄存器 R20R3E: 31个通用寄存器地址它包含四个页面,即每个页面都有31个寄存器且地址为

12、20H3EH,具体页面由R4的it67决定。3F中断标志寄存器76543210EXIFTCIF·“1”表明有中断请求,“0”表明没有中断请求Bit0 (TCIF):TCC 计数器1溢出中断标志位;当TCC计数器溢出时置“1”,可由软件清零。Bit12 :未使用Bit3 (EXIF):外部中断标志位。当INT脚有下降沿触发时置“1”,可用软件清零。Bit47:未使用·R3F可用软件清零,但不能被置“1”·IOCF为中断屏蔽寄存器,通过指令读取R3F值,此时结果值为R3F和IOCF相与的结果3.5.2 特殊功能寄存器EM78447的特殊功能寄存器主要包括累加器控制寄存

13、器和WDT预分频器。1 累加器A内部数据传输或指令运算单元,属不可寻址单元。2 控制寄存器控制寄存器是用来控制I/O的工作状态、中断控制、看门狗控制等,它们的寄存器地址如图3.4,其读写只能采用指令I0R R或IOW R来完成。(1) CONT(控制寄存器)76543210/PHENINTTSTEPABPSR2PSR1PRR0寄存器与EM78X56的CONT相比仅增加了Bit7(/PHEN)其它完全一样。/PHEN: I/O上拉使能标志位0: P60P67和P74P75内部上拉电阻使能1: 上拉电阻关闭(2) IOC5IOC7(I/O口控制寄存器)IOC5IOC7分别为口5口7控制寄存器,按位

14、将IOC5、IOC6IOC7设为“1”时表示该脚设为输入(高阻抗),设为“0”时表示该脚为输出。在EM78447A中,IOC7使用IOC5的低4位和IOC6和IOC7。 (3)IOCE WTD控制寄存器 76543210-ODEWTESLPCROC/WUEBit0(/WUE): P6067P7475唤醒功能控制位 0: 使能唤醒功能 1: 禁止唤醒功能Bit1: 未使用Bit2: 未使用Bit3(ROC): R-OPTION选择位。 1: 使能P70、P71引脚的R-OPTION功能 0: 禁止R-OPTION功能 其它具体用法参见EM78X56有关R-OPTION部分。Bit4(SLPC):

15、用于控制振荡器的工作。 1: 由唤醒信号的下降沿(P60P67、 P74、P75)触发硬件“1“ 0: 由软件清零当SLPC由软件清零时,振荡器停止工作,单片机进入休眠模式2(Sleep2 mode)。所谓休眠模式,是有别于通常休眠模式,此种情况下一旦单片机被唤醒,先由振荡定时器(OST)延时约18ms后,再执行下条指令,如此可保证振荡器的稳定工作。由P60P67、P74、P75输入触发而产生的休民模式2唤醒的示意图如图所示。 Bit5(WTE): 使能看门狗定时器控制位 0: 关闭WDT 1: 使能WDT 注意: WDT起作用的先决条件结构选择寄存器(CODE OPTION)中WTC位为”1

16、”,若为”0”则WDT不起作用 Bit6(ODE): 集电极开路输出控制,可读写位 0: P76和P77为通常的I/O脚 1: P76和P77为集电极开路输出脚Bit7:未使用(4)IOCF(中断屏蔽寄存器) 76543210EXIETCIEBit0(TCIE) TCIF中断屏蔽位(TCC溢出中断) 0:屏蔽TCIF中断 1:允许TCIF中断Bit3(EXIE) EXIF中断屏蔽位(外部中断INT) 0:屏蔽EXIF中断 1:允许EXIF中断Bit12Bit47 未使用当将IOCF相应的控制位置“1”、则相应的中断允许,使用“ENI”指令时所有中断被开放,而使用“DISI”指令,则所有指令被关

17、闭。IOCF为可读写寄存器。图3.5 I/O唤醒Sleep2电路3.6. TCC/WDT及预分频器PrescalerEM78内置8位定时/计数器TCC和看门狗定时器与EM78X56完全相同,请参见EM78X56有关TCC/WDT及预分频器相关部分。3.7. I/O口(PROT5、PROT6、PORT7)EM78把I/O(口5、口6口7)作为一般工作寄存器R5、R6、R7来操作,它们为双向、三态输入/输出口,可通过控制寄存器来设置以下功能,如表3.4所示:功 能控制寄存器I/O脚I/O输入输出方向IOC5、IOC6、IOC7P50P57、P60P67、P70P77内部上拉电阻CONT(/PHEN

18、)P60P67、 P74P75集电极开路IOCE(ODE)P76P77R-PTIONIOCE(ROC)P70、P71休眠状态唤醒IOCF(ICIE)P60P67、P74P75表3.2 I/O控制功能分类表I/O口Port5、Port6、Port7的接口电路图如下:图3.6 I/O口电路及I/O控制寄存器图3.7 具有R-option功能引脚(P70、P71)I/O 电路3.8. EM78447复位3.8.1 产生复位条件EM78447的复位由以下情况产生: ·电源上电复位 ·/RESET脚输入低电平 ·WDT溢出(当WDT使用时)3.8.2 复位后的状态当单片机检

19、测到复位信号后会持续18ms的复位状态。一旦复位产生,芯片将处于下列状态:·振荡器继续动作或起动·程序计数器PC(R2)每位被置“”,转向复位地址FFFH·当上电时R3的Bit56为0,R4的Bit76为“0”,由此选择程序页面0、RAM页面0 ·所有I/O口脚均被设置为输入模式(高阻态) ·看门狗定时器和预置分频器被清零 ·除Bit6(INT中断使能标志位)外,CONT寄存器全设为“1” ·WDT控制寄存器IOCE Bit0、4、5设为“1”,Bit3、6设为“0” ·中断标志寄存器R3F中的标志位全部清零(Bi

20、t0、3) ·中断屏蔽寄存器IOCF的中断屏蔽位清零(Bit0、3)3.8.3 内部上电复位电路EM447内置一上电复位电路POR(POWER RESET)如图所示,上电后自动产生复位。图3.8 复位控制方框图所以一般情况下可不用在RESET端接复位电路,仅将RESET端接VDD即可3.9. 休眠状态和唤醒 EM78447单片机除了正常工作状态外,还有二种休眠状态(Sleep1、Sleep2)。通过执行“SLEP”指令,即可进入休眠模式,WDT(若使能)被清零且保持运行。单片机的休眠模式可被下列情况唤醒: 由RESET产生的复位信号WDT超时溢出复位休眠模式2(Sleep2)是由清I

21、OCE寄存器的SLPC位产生,在SLEEP2模式下,单片机可被下面情况唤醒:a. 输入触发(P60P67、P74、P75),继续从原处开始往下执行指令。SLEEP2模式之前,首先要选择P60P67、P74、P75为下降沿触发唤醒源,且要使能上拉电阻和唤醒功能,这样才能唤醒SLEPP2)。 特别注意:从休眠模式2唤醒后,WDT将被使能,因此,唤醒后的WDT工作情况要重新设定。超时溢出(若WDT使能)或RESET脚外部复位,这两种唤醒都使单片机复位。3.10. 中断功能3.10.1 硬件中断 EM447系列有下列二种下降沿触发的硬件中断 TCC定时器溢出中断 外部中断(/INT引脚)图3.9 中断

22、输入电路 中断的控制通过中断屏蔽寄存器IOCF、总中断开启指令ENI和关闭指令DISI来控制。当有中断产生时,程序指针将指向中断向量地址001H,并将当前PC压栈,进入中断服务程序,可由R3F寄存器来查询是何中断源,在离开中断服务程序及使能中断之前,必须清除R3F中的中断标志位以免重复中断。同时,中断服务程序中应保护原程序的环境(如:A内容、标志位等),返回中断时也应恢复原环境的内容,并开启中断。R3F中的相应位当有中断时标志位都置“1”,而不管中断屏蔽寄存器IOCF中相关的屏蔽位状态和ENI指令是否执行。注意:读R3F结果是R3F与IOCF相与的结果。如图所示,为中断产生电路。“RETI”指

23、令是从中断返回并开中断(等于执行ENI指令)3.10.2 软件中断执行“INT”指令,将产生一个软中断,其中断向量为002H3.11. 振荡器 图3.10 RC振荡电路 EM78447可以工作在RC振荡、晶振低频、晶振高频下,通过寄存器CODE OPTION中的(MS、HLF、HLP)来选择:1. MS=0、HLF=0为RC振荡形式,振荡频率按Rext、Cext值所确定,它属于低成本、但频率精度要求不高的场合适用,RC振荡电路如图所示,RC对应值如表所示。CextRextAverageFosc5V,25Average Fosc3V,2520pF 10k100k689KHz947KHz128KH

24、z100pF 10k100k 374KHz 389KHz 205KHz 34KHz866KHz626KHz350KHz41KHz300pF 10k100k242KHz160KHz 84KHz400KHz278KHz151KHz表3.3 RC振荡电路中R、C选值参考表 2.MS=1、HLF=0、HLP=0为低频晶振方式,这种方式振荡器处于低频、低电压工作条件下,最大频率不超过4MHZ,单片机工件在低功耗下。 3.MS=1,HLF=1,HLP=1为高频晶振方式,振荡器处在高速工作条件下,所以最小振荡频率不小于1MHZ,在这种模式下,功耗将大于低频振荡方式。晶体振荡参见EM78X56部分3.12.

25、结构选择寄存器(CODE OPTION) EM78447的结构寄存器,并非一般的程序存贮器,它是不可存取,MASK版EM78447只能是在掩膜时写入,对EM78P447 OTP型则可通过烧入器写入。CODE OPTION用来指定单片机的一些功能,如下所述:3.12.1 EM78447/AP/BP(MASK版)结构寄存器76543210CK2TYPWTCHLFMS Bit(MS):振荡器形式选择 0:RC型 1:XTAL(晶振或陶瓷谐振器) Bit1(HLF):XTAL频率选择 0:低频(32.768KHZ) 1:高频 Bit2(WTC):WDT选择位 0:关闭 1:使能Bit3(TYP):型号

26、选择位 :EM78447B :EM78447A Bit4(CK2):指令周期时钟选择 0:二个振荡时钟为一个指令周期 1:四个振荡时钟为一个指令周期 只有当MS=1时此位方才有作用,当MS=0,HLF必须为“0”Bit57:未使用3.12.2 EM78P447A/B(OTP型)结构选择寄存器结构选择寄存器各位说明如下:121110987650MSENWDTBCLKS/PTHLFHLPTYPBit12(MS):振荡器形式选择 0:RC型 1:XTAL型Bit11(ENWDTB):看门狗选择 0:使用 WDT 1:关闭WDTBit10(CLKS):一个指令周期的振荡时钟数 0:2个振荡时钟 1:4

27、个振荡时钟Bit9(/PT):程序加密选择位 0:程序加密 1:程序不加密Bit8(HLF):XTAL频率选择 0:低频(32.768KHZ) 1:高频 只有在MS=1时,此位才有用,当MS=0时HLF必须为“0”。Bit7(HLP):功耗选择 0:低功耗 1:高功耗Bit6(TYP):0:EM78P447 1:EM8P447ABit50未使用,缺省值为000000以上OTP结构位在OTP烧写软件中设置并烧入。3.13. EM78447单片机电气特性EM78447电气特性如下:绝对最大最小范围:ItemsSym.ConditionRatingTemperature under biasTOTR

28、0to70Storage temperatureTSTR-65to+150Input voltageTIN-0.3 VtoOutput voltageTOto直流电气特性 (TA=070, VDD=5.0V,VA=OV)ParameterSymConditionMin.Typ.Max.UnitInput Leakage Current for input pinsIIL1VIN=VDD,VSS±1AInput High VoltageVTHVInput Low VoltageVILVInput High Threshold VoltageVIHTRESET,TCC,INT0.85 VDDVDDVInput Low Threshold Vol

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论