概述:GMS87C1404是海力士半导体公司生产的一款CMOS 8位 8K/4K字节单片微控制器。它主要用于在控制器和电池充电器中。它提供以下标准功能:4K/8K字节的EPROM,192字节RAM,8位定时器/计数器,8位A/ D转换器,10位高速PWM输出,可编程蜂鸣器驱动,端口,8位串行通信口,片内振荡器和时钟电路。此外,还支持省电模式以降低功耗。它采用28脚封装,工作电压范围为2.5~5.5V。

 

一、GMS87C1404引脚功能排列

 

二、GMS87C1404功能和特性

* 内带4kROM和192字节在片RAM(包括堆栈);

* 8MHz时的指令周期为0.25μs;

* 具有8位双向多功能I/O口,可直接驱动LED显示;

* 内含8位A/D转换器;

* 内含1个8位时间间隔定时器;

* 内含4个8位定时/计数器;

* 内含2个10位高速PWM模式;

* 内含WATCHDOG定时器;

* 带有1个8位SPI串行接口;

* 具有12个中断源;

* 具有1个可编程蜂鸣器驱动口;

* 可支持省电模式STOP;

* 可选用RC振荡。

 

三、GMS87C1404功能详细介绍
GMS87C1404中的四个定时器/计数器不仅可以作为四个8位定时器/计数器使用,同时通过对定时方式寄存器TM0、TM1和TM2、TM3中有关位的设置还可以使它们工作在如下7种定时方式:

(1)8位计数器和8位捕捉方式;

(2)8位捕捉方式和8位比较输出方式;

( 3)8位定时/计数10位PWM方式;

( 4)16位定时器方式;

( 5)16位计数器发生;

(6)16位捕捉方式;

(7)16位比较输出方式。

另外,除了T0、T1、T2、T3四个定时器以外,GMS87C1404还有一个时间间隔定时器BITR,该时间间隔定时器只要一上电就一直运行而不能停止。它的时钟源可以是RC振荡器也可以是主振经分频后的信号。只要对CKCTLR寄存器中的BTCL位进行置1操作,就可以使BITR清零并重新向上计数,当计数计到FF并溢出后,芯片中的计数器/定时器便产生 BIT中断。因此,它可以作为在STOP方式下的片内唤醒定时器使用,同时也可以作为WATCHDOG定时器使用或其它定时器使用。

GMS87C1404中共有12个中断,分别为4个外部中断、4个定时中断、ADC中断、WDT中断、BIT中断和SPI中断。这些中断中的每一个都具有各自的优先级,并且中断可以嵌套。

GMS87C1404的蜂鸣器输出功能使得用户可以方便地选用无源蜂鸣器,该器件通过RBFUN和BUR寄存器的设置可以使RB1脚输出交替变化的方波以用于驱动蜂鸣器。其方波的频率为:

f(Hz)=fxin/[2×分频系数×(BUR+1)]

其中的分频系数和BUR的值均可以由BUR寄存器来确定。

除了片内所具有的WATCHDOG电路外,电源跌落检测(PFD)电路是GMS87C1404的又一个独特之处。对PFDR寄存器进行适当的设置可以使其在Vdd上的电压下降到2.5~3.5V的范围内,或使用2.0~3.0V电压范围内的保持时间超过50ns。通过该电源跌落检测电路还可以使MCU复位。跌落的电压是在OTP编程时由CONFIG寄存器的PFD位决定的。正是这一特点提高了GMS87C1404的抗干扰和抗死机的能力。

GMS87C1404的指令系统共有202条指令,其功能极为丰富。它不但包括了乘法和除法指令,同时还具有7条16位运算操作比较指令,这七条比较指令分别为ADDWdp、CMPWdp、DECWdp、INCWdp、LDYAdp、STYAdp和SUBWdp。通过这些指令可大大简化复杂和多字节的运算编程操作,提高编程的效率。

 

四、GMS87C1404内部方框图