您的位置:首页单片机义隆单片机
内容搜索:
阅读内容
背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  

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

[日期:2008-02-12 ] [来源:东哥开发网(www.picavr.com) 作者:] [字体: (投递新闻)

2.6       TCC/WDT及预分频器Prescaler


EM78内置8位定时/计数器TCC和看门狗定时器、如下图2.5所示:
 
图2.5  TCC和WDT功能框图
 
TCC的时钟可以是内部指令周期时钟CLK(Fosc/2或Fosc/4)或通过TCC脚输入的外部脉冲,其计数采用递增方式,从O0开始计,当不使用预分频器时,每隔一个指令周期或者有一个外部脉冲时TCC会加1(TCC响应延时时间为2个机器周期),当TCC计数至FFH(16进制)时,在下一个计数发生时,将自动清零,并置TCC计数器溢出中断位TCIF如此往复。当TCC使用预分频器时,则外部或内部信号经过预分频器分频后再输出给TCC。

Tcc 输入波形图(CLKS=”0”)(见图2.7)
图2.6  TCC输入信号波形图
 
TCC和预分频器的控制主要由控制寄存器CONT(Bit0~5)来完成,预分频器的分频系数由PSR0~PSR2决定;预分频器是分配给TCC或WDT使用可由PAB位来决定,同一时间预分频器只能给TCC或WDT其中之一使用。
注意二点;
(1)预分频器分配给TCC使用时(PAB=0),所有写入TCC的指令都将清除预分频器
(2)当预分频器分配给WDT使用时(PAB=1),WDT和预分频器可被WDTC和SLEP指令清零。
看门狗定时器WDT是一片内自振荡式RC振荡器,即使外部振荡器被关闭(即工作在休眠模式),WDT也一直在计数。当WDT被使能,无论是在工作模式或休眠模式,若WDT超时,都将导致单片机复位,因此WDT主要用来防止单片机系统失控,一般WDT基本溢出周期约18ms(PAB=“0”),最大溢出周期约2.3S(PAB=“1”)。在正常情况下,当WDT溢出之前,须通过WDTC指令来对WDT清零以防产生复位。WDT的工作状态由寄存器CONT中的PAB、PSR2~PSRO位,IOCE的WDTE位(IOCE.7)、OTP型EM78X56的结构选择寄存器ENWDTB位来控制(烧写芯片时设定)。

2.7       I/O口(port5、port6)

EM78把I/O(口5、口6)作为一般工作寄存器R5、R6来操作,它们为双向、三态输入/输出口,可通过控制寄存器来设置以下功能,如表2.6所示:
功 能
控制寄存器
I/O脚
I/O输入输出方向
IOC5、IOC6
P50~P53、P60~P67
内部上拉电阻
IOCD
P60~P67
内部下拉电阻
IOCB
P50~P52、P60~P63
集电极开路
IOCC
P60~P67
/INT输入口
IOCE(EIS)
P60
R-option
IOCE(ROC)
P50、P51
休眠状态唤醒
IOCF(ICIE)
P60~P67
表2.6、I/O控制功能分类表
 
I/O口Port5、Port6的接口电路图如下所示:

图2.7  I/O口电路和I/O控制寄存器
 
其中图中:PCRD——口控制读      PDRD——口数据读
               PCWR——口控制写      PDWR——口数据写
               MUX ----多路选通器
R-option功能图2.8
 

图2.8  P60(INT)的I/O和控制寄存器
 

图2.9  P61~P67   I/O控制寄存器和I/O口电路
 
 

图2.10  带R-Option  功能的I/O口(P70、P71)电路
    当使用R-option功能时,往往地P0~51定义为输出脚使用,这样在读取R-option功能时
先把P50、P51设为输入并使能R-option功能,读取后,再关闭R-option功能,并把P50、P51设回输出,并不影响P50、P51的I/O使用。若外部电阻连接到P50(P51)作为R-option功能,将消耗一些电流,请特别注意。

2.8       EM87X56复位

2.8.1.      产生复位原因

EM78X56的复位由以下情况产生:
    ·电源上电复位或电压检测器复位(若有电压检测器)
    ·RESET脚输入低电平
    ·WDT溢出(当WDT使用时)

2.8.2.      复位状态

当单片机检测到复位信号后会持续18ms的复位状态。一旦复位产生,芯片将处于下列状态:
·振荡器继续动作或起动
    ·程序计数器PC(R2)被清零,转向复位地址000H
    ·所有I/O口脚均被设置为输入模式(高阻态)
    ·看门狗定时器和预置分频器被清零
    ·当上电时,状态寄存器的高三位被清零(RAM选BANKO)
    ·除Bit6(INT中断使能标志位)外,CONT寄存器全设为“1”
    ·下拉控制寄存器IOCB全设为“1”(下拉功能禁止)
    ·集电极开路控寄存器IOCC全设为“0”(开路功能禁止)
    ·上拉控制寄存器IOCD全设为“1”(上拉功能禁止)
    ·WDT控制寄存器IOCE  Bit7设为“1”,Bit1和Bit4设为“0”,即开WDT,置P60为I/O口,取消R-option功能
    ·中断标志寄存器RF中的标志位全部清零(Bit0~2)
    ·中断屏幕寄存器IOCF的中断屏幕位清零(Bit0~2)
    寄存器初始化值汇总表如下:
Address
Name
Reset Type
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
N/A
IOC5
Bit Name
X
X
X
X
C53
C52
C51
C50
Power-On
0
0
0
0
1
1
1
1
/RESET and WDT
0
0
0
0
1
1
1
1
Wake-Up from Pin Change
0
0
0
0
1
1
1
1
N/A
IOC6
Bit Name
C67
C66
C65
C64
C63
C62
C61
C60
Power-On
1
1
1
1
1
1
1
1
/PESET and WDT
1
1
1
1
1
1
1
1
Wake-Up from pin Change
1
1
1
1
1
1
1
1
0x05
P5
Bit Name
X
X
X
X
P53
P52
P51
P50
Power-On
1
1
1
1
1
1
1
1
/RESET and WDT
P
P
P
P
P
P
P
P
Wake-Up from Pin Change
P
P
P
P
P
P
P
P
0x06
P6
Bit Name
P67
P66
P65
P64
P63
P62
P61
P60
Power-On
1
1
1
1
1
1
1
1
/RESET and WDT
P
P
P
P
P
P
P
P
Wake-Up from Pin Change
P
P
P
P
P
P
P
P
N/A
CONT
Bit Name
X
INT
TS
TE
PAB
PSR2
PSR1
PSR0
Power-On
1
0
1
1
1
1
1
1
/RESET and WDT
1
0
1
1
1
1
1
1
Wake-Up from Pin Change
1
0
1
1
1
1
1
1
0x00
R0(IAR)
Bit Name
-
-
-
-
-
-
-
-
Power-On
U
U
U
U
U
U
U
U
/RESET and WDT
P
P
P
P
P
P
P
P
Wake-Up from Pin Change
P
P
P
P
P
P
P
P
0x01
R1(TCC)
Bit Name
-
-
-
-
-
-
-
-
Power~On
0
0
0
0
0
0
0
0
/RESET and WDT
0
0
0
0
0
0
0
0
Wake-Up from Pin Change
0
0
0
0
0
0
0
0
0x02
R2(PC)
Bit Name
-
-
-
-
-
-
-
-
Power-On
0
0
0
0
0
0
0
0
/RESET and WDT
0
0
0
0
0
0
0
0
Wake-Up from Pin Change
0
0
0
0
0
0
0
0
0x03
R3(SR)
Bit Name
GP
PS1
PS0
T
P
Z
DC
C
Power-On
0
0
0
1
1
U
U
U
/RESET and WDT
P
P
P
t
t
P
P
P
Wake-Up from Pin Change
P
P
P
t
t
P
P
P
0x04
R4(RSR)
Bit Name
X
X
-
-
-
-
-
-
Power-On
0
0
U
U
U
U
U
U
/RESET and WDT
0
0
P
P
P
P
P
P
Wake-Up from Pin Change
0
0
P
P
P
P
P
P
0x05
R5(P5)
Bit Name
X
X
X
X
P53
P52
P51
P50
Power-On
0
0
0
0
U
U
U
U
/RESET and WDT
0
0
0
0
P
P
P
P
Wake-Up from Pin Change
0
0
0
0
P
P
P
P
0x0F
RF(ISR)
Bit Name
X
X
X
X
X
EXIF
ICIF
TCIF
Power-On
0
0
0
0
0
0
0
0
/RESET and WDT
0
0
0
0
0
0
0
0
Wake-Up from Pin Change
0
0
0
0
0
0
0
0
0x0B
IOCB
Bit Name
/PD7
/PD6
/PD5
/PD4
X
/PD2
/PD1
/PD0
Power-On
1
1
1
1
1
1
1
1
/RESET and WDT
1
1
1
1
1
1
1
1
Wake-Up from Pin Change
1
1
1
1
1
1
1
1
0x0C
IOCC
Bit Name
OD7
OD6
OD5
OD4
OD3
OD2
OD1
OD0
Power-On
0
0
0
0
0
0
0
0
/RESET and WDT
1
1
1
1
1
1
1
1
Wake-Up from Pin Change
P
P
P
P
P
P
P
P
0x0D
IOCD
Bit Name
/PH7
/PH6
/PH4
/PH3
/PH3
/PH2
/PH1
/PH0
Power-On
1
1
1
1
1
1
1
1
/RESET and WDT
1
1
1
1
1
1
1
1
Wake-Up from Pin Change
1
1
1
1
1
1
1
1
0x0E
IOCE
Bit Name
WDTC
EIS
X
ROC
X
X
X
X
Power-On
1
0
1
0
1
1
1
1
/RESET and WDT
1
0
1
0
1
1
1
1
Wake-Up from Pin Change
1
0
1
0
1
1
1
1
0x0F
IOCF
Bit Name
X
X
X
X
X
EXIE
ICEI
TCIE
Power-On
1
1
1
1
1
0
0
0
/RESET and WDT
1
1
1
1
1
0
0
0
Wake-Up from Pin Change
1
1
1
1
1
0
0
0
0x10~0x3F
R10~R3F
Bit Name
-
-
-
-
-
-
-
-
Power-On
0
0
0
0
0
0
0
0
/RESET and WDT
P
P
P
P
P
P
P
P
Wake-Up from Pin Change
P
P
P
P
P
P
P
P
    X:未使用      U:未知      P:复位之前值     t:参见表2.4、2.5
表2.7  寄存器初始化值表

2.8.3.      内部上电复位电路和电压检测器

    1.内部上电复位电路
EM78X56系列内置一上电复位电路POR(POWUER RESET)如图2.11所示,上电后自动产生复位。

图2.11  复位控制方框图

所以一般情况下可不用在RESET端接复位电路,仅将Reset端接VDD即可
2.电压检测器
对EM78X56系列MASK版和EM78P156A型均内置-2.2V电压检测器,分别为可选用式和固定式两种,即对MASK版,可通过CODE OPTION的位/POVD来选择使能或关闭,而OTP型EM78P156A型,则不能通过CODE OPTION来选择,电压检测器功能已固化在内(电压检测器有15μA电流消耗),EM78P156B型则没有电压检测器功能。
 
    电压检测器电气特性如下表(TA=25℃)
Parameter
Symbol
Condition
Min.
Typ.
Max.
Unit
Detect voltage
Vdet
VDD =5V
2.0
2.2
2.4
V
Release voltage
Vrel
VDD =5V
Vdet x1.05
 
 
V
Current consumption
Iss
VDD =5V
 
 
20
μA
Operating voltage
Vop
 
0.7*
 
5.5
V
Temperature
Characteristic of Vdet
ΔVdet/
ΔTA
0℃≤T≤70℃
 
 
-2
mv/℃
    *当VDD=0.7V~Vdet之间时,电压检测器输出为低。

2.8.4.      外部复位电路

通常有下列几种情况需要加外部复位中路。
1. 当电源上升时间比较长时,通过RC电路来保证VDD达到最小工作电压时RESET脚保持复位状态

                                                                                                    
图2.12 外电源上电复位电位
 
    其中器件功能及值选择原则:
    ①R<40K(由于RESET吸入电流约50μA,为保证RESET端电压不大于0.2V)
    ②二极管D将使电容C在VDD掉电时能快速彻底放电
    ③R1取100~1K,为限流电阻,用来限制大的放电电流或静电ESD对RESET的冲击
    2.残存电压保护电路(二种)
   有些应用中,例如供电电池在几秒钟内松动后又恢复,此时将可能会在复位脚出现一个小于Vdd最小值又不为0的残存电压,因而便复位不正常,以下两种电路将解决此问题,

  

                
当VDD掉至VZ+0.7V时单片机复位(VZ为稳压管稳压值)
                                                                  图2.13残余电压保护电路1

   当VDD掉至下述值时三级管Q1 截止、单片机复位
VDD·    =0.7V
 
              ,                                                   (R3为限流电阻,可选100K)
 
图2.14残余电压保护电路2
 
单片机复位时序图如图2.15所示:

图2.15 单片机复位时序图
,                                                   (R3为限流电阻,可选100K)
 
图2.14残余电压保护电路2
 
单片机复位时序图如图2.15所示:

图2.15 单片机复位时序图
阅读:
录入:JETTA

推荐 】 【 打印
本文评论
      全部评论
发表评论


点评: 字数
姓名:
站长推荐