设为首页 收藏本站
网站首页 | 学习天地 | 资料下载 | 产品介绍 | 软件下载 | 邮购说明 | 联系方式 | 发货查询 | 轻松一下 | 万年日历
 
 
第二章 EM78系列单片机硬件结构( 2.6 - 2.8 )

 

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