78P153 联系客服

发布时间 : 星期一 文章78P153更新完毕开始阅读14e39207eff9aef8941e06d0

Bit0(OD0) P60管脚的漏极开路使能控制位 0:漏极开路输出使能 ,1:漏极开路输出禁止 Bit1(OD1) P61管脚的漏极开路使能控制位, Bit2(OD2) P62管脚的漏极开路使能控制位 Bit3 未使用 ,Bit4(OD4) P64管脚的漏极开路使能控制位

Bit5(OD5) P65管脚的漏极开路使能控制位 ,Bit6(OD6) P66管脚的漏极开路使能控制位 Bit7(OD7) P67管脚的漏极开路使能控制位 ??IOCC寄存器是可读可写的。 6、IOCD(上拉控制寄存器)

Bit0(/PH0)P60管脚的上拉使能控制位 0:内部上拉使能 ,1:内部上拉禁止 Bit1(/PH1)P61管脚的上拉使能控制位 ,Bit2(/PH2)P62管脚的上拉使能控制位 Bit3 未使用。 Bit4(/PH4)P64管脚的上拉使能控制位

Bit5(/PH5)P65管脚的上拉使能控制位 ,Bit6(/PH6) P66管脚的上拉使能控制位 Bit7(/PH7) P67管脚的上拉使能控制位 ??IOCD寄存器是可读可写的 7、IOCE(WDT控制寄存器)

Bit7(WDTE) 看门狗定时器的使能控制位 0:WDT禁止 、1:WDT使能 ??WDTE是可读可写的。 Bit6(EIS) P60管脚(/INT)功能控制位 0:P60,双向I/O管脚 1:/INT,外部中断管脚。

在这种情况下,P60的I/O控制位(IOC6的Bit0)必须设置为“1”??当EIS为“0”时,/INT通道被屏蔽 。为“1”时,/INT管脚的状态可以由P6端口读取(R6)。??EIS是可读可写的 Bit0~5 未使用

8、IOCF(中断屏蔽寄存器)

Bit0(TCIE) TCIF中断使能位。 0:TCIF中断禁止 、1:TCIF中断使能 Bit1(ICIE) ICIF中断使能位。 0:ICIF中断禁止 、1:ICIF中断使能 Bit2(EXIE) EXIF中断使能位。 0:EXIF中断禁止 、1:EXIF中断使能 Bit3~7 未使用 ??通过设置IOCF的控制位为“1”使相应中断使能

??执行ENI指令使全局中断有效,DISI指令全局中断禁止。??IOCF寄存器是可读可写的 4.3 TCC/WDT & 预分频器

有一个8位元计数器可以作为TCC或WDT的预分频器。在同一时刻它只能提供给其中一方,这由CONT寄存器的PAB位决定。PSR0~PSR2位确定分配系数。若分配给TCC,则每次写TCC均将预分频器将被清0。若分配给WDT使用, WDT和预分频器均在执行指令“WDTC”和“SLEP”时清0。

", R1(TCC)是8位元的计时/计数器。TCC时钟源可以是内部时钟或者外部时钟(由TCC引脚输

入,触发沿可选择)。如果是内部时钟,每个指令周期TCC加1(无预分频器)。参考图5,CLK=Fosc/2或者CLK=Fosc/4取决于CODE的操作位CLKS。如果CLKS位为“0”,则CLK=Fosc/2,如果CLKS位为“1”,则CLK=Fosc/4。如果TCC的信号源来自于外部时钟输入,TCC管脚的下降沿或上升沿触发时TCC加1。 ", 看门狗定时器是一个自由运行的片内RC振荡器。当振荡驱动器关闭时(如在休眠模式下) 还将保持运行。在正常操作或者休眠模式时,WDT溢出时将引起芯片复位(若WDT使能)。在正 常工作时,WDT可由软件设置IOCE0的WDTE位来使能或禁止。在没有预分频器情况下,WDT溢出时 约为18ms1(默认值)。

4.4 I/O端口

I/O寄存器组,包括端口5和端口6,都是双向三态I/O端口。P6口除了P63外都可由软件设置为内部上拉或漏极开路输出。P6口具有输入状态变化中断(或唤醒)功能。P50~52和P60~62可由软件设置为下拉。除P63外,各I/O引脚都由I/O控制寄存器(IOC5~IOC6)定义为“输入”或“输出”。I/O寄存器组和I/O控制寄存器组都可读写。

注意:Vdd=5V,起振时间=16.5ms±30% ,Vdd=3V,起振时间=18ms±30% P6口输入改变引起唤醒/中断的用法

4.5、 复位和唤醒 1、复位

复位由下面情况引起: (1)上电复位

(2)/RESET引脚输入为“低” (3)WDT溢出(如果使能)

检测到复位后,系统将保持复位状态18ms2(振荡器起振时间)。 一旦RESET发生,单片机系统处于如下状态:

??振荡器起振,或继续振荡。 ??程序计数器(R2)清0

??所有的I/O引脚定义为输入模式(高阻状态)。 ??WDT和预分频器清0 ??上电时,R3高3位清0 ,??CONT寄存器除第6位(INT标志)外,全置为1 ??IOCB寄存器全置为“1” ??IOCC寄存器清0 ,??IOCD寄存器全置为“1” ??IOCE寄存器第7位置为1,第4、6位清0 ,??RF、IOCF寄存器的Bit0~2清0

执行“SLEP”指令可以转到休眠模式(低能耗模式)。进入休眠模式时,WDT(若使能)清0,但继续运行。单片机可被如下情况唤醒: (1)/RESET引脚上输入的外部复位信号 (2)WDT溢出(若使能) (3)P6的输入状态改变(如果设置有效)

前面两种情况将引起EM78P153S复位。R3的T、P标志位可以用来确定复位源。第三种情况下唤醒后程序继续执行,由中断状态来决定程序是否转入中断处理程序。如果在SLEP之前执行ENI,指令将在唤醒后从地址008H处开始执行。如果在SLEP之前执行DISI,指令将在唤醒后从SLEP的下一地址开始继续执行。

进入休眠模式之前,第2、3两种情况只有一种可被使用,即

[a] 如果休眠前P6输入唤醒使能,则WDT应由软件禁止,然而,代码选择寄存器中WDT仍为使能,因此,EM78P153S只能被第1或第3种情况唤醒。

[b]如果WDT使能,则P6输入唤醒应禁止。因此,EM78P153S只能被第1或第2种情况唤醒。参考中断的相关部分。

如果P6口输入变化中断被用于唤醒单片机(第a种情况),则如下指令应在SLEP指令前执行:

MOV A,@xxxx1110b ;选择WDT预分频

CONTW; WDTC ;清除WDT和预分频器 MOV A,@0xxxxxxxb ;WDT禁止 IOW RE;

MOV R6,R6 ;读端口6 MOV A,@00000x1xb ;使能P6的输入变化中断 IOW RF ; ENI(或DISI) ;使能(或禁止)全局中断 SLEP ;进入休眠 ( 左右顺序看程序) 注意:

1. 从休眠模式唤醒后,wdt自动使能。休眠模式唤醒后,wdt的使能和非使能应由软件适当定义 2. 为了避免p6口输入状态改变中断进入中断向量时或用于唤醒mcu时有复位发生,wdt预除器的比率须置的大过1:1 寄存器组的初始值汇总表

X:未使用 U:不确定或不重要 P:复位之前的值 t:查询表4 N:监视中断操作状态;当有中断时N=1,无中断发生时N=P 2、/RESET的配置

参考图10。当代码选项OPTION中的RESET位编程为0,则使能外部/RESET。如果编程为1,则使能内部/RESET(/RESET被内部的接到Vdd),P63//RST引脚作为P63使用。 3、R3中的T、P、RST的状态