设为首页 收藏本站
网站首页 | 学习天地 | 资料下载 | 产品介绍 | 软件下载 | 邮购说明 | 联系方式 | 发货查询 | 轻松一下 | 万年日历

 

第二章 EM78系列单片机硬件结构( 2.9 - End )

 

2.9.       休眠状态和唤醒

    EM78X56单片机除了正常工作状态外,还有一种休眠状态(或为掉电模式)。通过执行“SLEP”指令,即可进入休眠模式。单片机的休眠模式可被下列情况唤醒:

    ①由RESET产生的复位信号

    ②WDT超时溢出复位(若WDT启动)

    ③Port6输入变化(若使能Port6变化中断)

    前两种情况会产生单片机复位,状态寄存器R3的P和T标志可以用来判别是何种复位唤醒。第三种情况要考虑总的中断开启与否(执行ENI或DISI指令)决定单片机在唤醒之后是否跳到中断向量,若在执行“SLEP”指令之前:

    a.若开中断(ENI),则唤醒后程序跳到中断向量OO8H位置

    b.若关中断(DISI)则唤醒后程序从“SLEP”指令的下一条指令执行。

    同时进入休眠模式之前,只有②③两种之一可由软件使能。如果:

(a)Port6输入变化中断在“SLEP”指令之前使能,则WDT必须关闭。因此单片机只能在①③情况下唤醒

(b)WDT在“SLEP”指令之前使能,Port6输入变化中断必须关闭,因此单片机只能在①或②的情况下唤醒。

    在上述a种情况下,用Port6输入变化中断来唤醒单片机,则下述指令必须在“SLEP”之前执行:

    MOV A ,         XX000110b                   ;选择内部TCC时钟

    CONTW

    CLR R1                                       ;清除TCC和预分频器

    MOV A,         XXXX1110b                    ;选择WDT预分频系数

    CONTW

    WDTC                                         ;清WDT

    MOV            A,OXXXXXXXb                  ;关WDT

    IOW            RE

    MOV            R6,R6                         ;读取Port6

    MOV            A,00000X1Xb                   ;使能Port6输入中断

    IOW RF

    ENT (或 DISI)                                  ;使能(或关闭)总中断

    SLEP

    NOP                                            ;

    在使能Port6输入变化中断之前,必须先读取Port6(MOVR6,R6),因为输入的变化是通过目前的输入和原来R6中的内容比较而得出(如上例)。Port6除了被设为输出状态的引脚外,都有因电平改变而中断的特性。


特别注意:从休眠模式唤醒后,WDT将被使能,因此,唤醒后的WDT工作情况要重新设定。

图2.16  port6输入中断与唤醒电路图

2.10      中断功能

2.10.1.      硬件中断

    EM78X56系列有下列三种下降沿触发的硬件中断

    ①TCC定时器溢出中断

    ②Port6输入变化中断

    ③外部中断(P60/INT引脚)

    中断的控制通过中断屏蔽寄存器IOC、总中断开启指令ENI和关闭指令DISI来控制。当有中断产生时,程序指针将指向中断向量地址008H,并将当前PC压栈,进入中断服务程序,可由RF寄存器来查询是何中断源,在离开中断服务程序及使能中断之前,必须清除RF中的中断标志位以免重复中断。同时,中断服务程序中应保护原程序的环境(如:A内容、标志位等),返回中断时也应恢复原环境的内容,并开启中断。


除了RF的ICIF位外,RF中的其它位当有中断时标志位都置“1”,而不管中断屏蔽寄存器IOCF中相关的屏蔽位状态和ENI指令是否执行。注意:读RF结果是RF与IOCF相与的结果。如图2.17所示,为中断产生电路。“RETI”指令是从中断返回并开中断(等于执行ENI指令)

                        图2.17  中断产生电路

2.10.2.      软件中断

执行“INT”指令,将产生一个软中断,其中断向量为001H(地址002H~007H预留,必须为NOP)如下:

    ORG 0OOH

    JMP RESET ;复位地址(000H)

    JMP INT1  ;软中断入口地址(001H)

    NOP

    NOP

    NOP

    NOP

    NOP

    NOP

JMP INT2硬件中断入口地址(008H)

2.11.       振荡器

    EM78X56可以工作在RC振荡、晶振低频、晶振高频下,通过寄存器CODE OPTION中的(MS、HLF、HLP)来选择:

1.MS=0、HLF=0为RC振荡形式,振荡频率内外按Rext、Cext值所确定,它属于低成本、但频率精度要求不高的场合适用,RC振荡电路和RC对应值如下图2.18所示。

 


图2.18 RC振荡电路

 

Cext

Rext

Average [email protected],25℃

20pF

3.3k

5.1k

 10k

100k

3.20MHz

2.22MHz

1.28MHz

150KHz

2.47MHz

1.83MHz

1.14MHz

143KHz

100pF

3.3k

5.1k

 10k

100k

1.13MHz

 758KHz

 409KHz

  51KHz

974KHz

675KHz

376KHz

43.7KHz

300pF

3.3k

5.1k

 10k

100k

472KHz

310KHz

165KHz

17.5KHz

420KHz

283KHz

153KHz

17.0KHz

          表2.8  RC振荡电路中R、选值参考表

    2.MS=1、HLF=0、HLP=0为低频晶振方式,这种方式振荡器处于低频,低电压工作条件下,最大频率不超过4MHZ,单片机工件在低功能下。

    3.MS=1,HLF=1,HLP=1为高频晶振方式,振荡器处在高速工作条件下,所以最小振荡频率不小于1MHZ,在这种模式下,功耗将大于低频振荡方式。


图2.19  为晶振振荡电路.


图2.19  晶振振荡电路图

 

 

 

     晶振和陶瓷谐振器匹配的电容选值表如下:

Oscillator Type

Frequecy Mode

Frequency

C1(pF)

C2(pF)

Ceramic Resonators

HXT

455kHz

10~150

100~150

2.0MHz

20~40

20~40

4.0MHz

10~30

10~30

Crystal Oscillator

LXT

32.768kHz

25

15

100KHz

25

25

200KHz

25

25

455KHz

20~40

20~150

HXT

1.0MHz

15~30

15~30

2.0MHz

15

15

4.0MHz

15

15

表2.9  晶振容电路电容选值参考表

      晶振典型工作速度列表如下:

Conditions

VDD(V)

Fxt max.(M)

One cycles with two clocks

2.5

3.58

3

4

5

12

6.5

17

Two cycles with two clocks

2.5

3.84

3

5

5

15

6

17

One cycles with four clocks

2.5

8

3

10

5

28

6

33

Two cycles with four clocks

2.5

9

3

11

5

31

6

36

     注:X cycles:一个指令的周期数(专指(CALL、RET等)   X clocks:一个指令周期的振荡周期数

2.12.       结构选择寄存器(CODE OPTION)

    EM78X56的结构寄存器,并非一般的程序存贮器,它是不可存取,MASK版EM78X56只能是在掩膜时写入,对EM78P156 OTP型则可通过烧入器写入。它用来设定单片机的一些功能。

2.12.1.      EM78156/256/456(MASK版)结构寄存器

7

6

5

4

3

2

1

0

HLF

MS

/POVD

CLKS

CYES

Bit0(0(CYES):特殊指令(如:JMP、CALL、RET、RETL等,参看指令部分)的指令周期选择

       0:一个指令周期       1:二个指令周期

    Bit1(CLKS):指令周期时钟选择

       0:二个振荡时钟为一个指令周期

       1:四个振荡时钟为一个指令周期

    Bit2(POVD):启动电压检测器(注:使能电压检测器时将额外产生15μA功耗)

       0:使能       1:关闭

    Bit3(MS):振荡器形式选择

       0:RC型       1:XTAL(晶振或陶瓷谐振器)

    Bit4(HLF):XTAL频率选择

      0:低频(32.768KHZ)      1:高频

    只有当MS=1时此位方才有作用,当MS=0,HLF必须为“0”

    Bit5~7  未使用,须设为0

2.12.2.      EM78P156A/B(OTP型)结构选择寄存器

1结构选择寄存器

12

11

10

9

8

7

6~0

MS

ENWDTB

CLKS

CYES

HLF

HLP

——

Bit12(MS):振荡器形式选择

0:RC型                     1:XTAL型

Bit11(ENWDTB):看门狗使能

0:使能 WDT             1:关闭WDT

Bit10(CLKS):一个指令周期的振荡时钟数

0:2个振荡时钟          1:4个振荡时钟

Bit9(CYES):特殊指令的指令周期数

0:一个指令周期         1:二个指令周期

Bit8(HLP):XTAL频率选择

0:低频(32.768KHZ)1:高频

只有在MS=1时,此位才有用,当MS=0时HLF必须为“0”。

Bit7(HLP):功耗选择

0:低功耗                   1:高功耗

Bit6~0:未使用,缺省值为000001

以上OTP结构位在OTP烧写器软件中设置并烧入

2:OTP型EM78156A/B程序加密位和用户识别码寄存器

12

11~0

/PT

—  —  —

Bit12(/PT):加密位

0:加密使能         1:不加密

Bit11~0:用户识别码

以上内容都在OTP烧入器内程序设定并烧入。

2.13.       EM78X56单片机电气特性

  交流电气特性 (TA=0℃~70℃, TDD=5.0V±5%,TSS=0V)

参数

符号

条件

最小

典型

最大

单位

InputCLK duty cycle

Dclk

45

50

55

%

Instruction cycle time

(CLKS=“0”)

Tins

XTAL Type

125

DC

ns

RC Type

500

DC

ns

TCC input period

Ttcc

Note 1

(Tins+20)/N

 

ns

Device reset hold time

Tdr

 

18

ns

Watchdog timer period

Twdt

 

18

ns

Input pin setup time

Tset

 

0

ns

Input pin hold time

Thold

 

20

ns

Output pin delay time

Tdelay

 

50

ns


   注意:N=预分频系数

 

网站首页

声明: 部分文章来源于网络/若有侵犯你的权益/请联系我立即删除