|
第二章 EM78系列单片机硬件结构( 2.6
- 2.8 )
EM78内置8位定时/计数器TCC和看门狗定时器、如下图2.5所示:

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

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位来控制(烧写芯片时设定)。
EM78把I/O(口5、口6)作为一般工作寄存器R5、R6来操作,它们为双向、三态输入/输出口,可通过控制寄存器来设置以下功能,如表2.6所示:
I/O口Port5、Port6的接口电路图如下所示:

图2.7 I/O口电路和I/O控制寄存器
其中图中:PCRD——口控制读
PDRD——口数据读

图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功能,将消耗一些电流,请特别注意。
当单片机检测到复位信号后会持续18ms的复位状态。一旦复位产生,芯片将处于下列状态:
·程序计数器PC(R2)被清零,转向复位地址000H
·当上电时,状态寄存器的高三位被清零(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)
|