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.6)
图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口电路
本文关键字:单片机 综合-其它,单片机-工控设备 - 综合-其它
上一篇:EM78单片机存储器及寄存器结构