When working with low-end microcontrollers like the Motorola MC68HC705J1A or the earlier ’K1, some features available on larger chips, like selectable “full speed” and “standby” clock oscillators, are sorely missed. This circuit idea arose from a need to run a ’K1 microcontroller at a slow clock to conserve battery power, while still enabling the MCU to “wake itself” at a much higher speed to perform RS-232 serial communications.
The basis for the switchable clock oscillator is the Harris HA7210, a chip that’s very easy to use and requires few extra components, such as the crystal itself and some decoupling capacitors. The output can be disabled (i.e. set to a high-impedance state), where it also has very little additional capacitance. The HA721 supply current is only 5 µA operating at 32.768 kHz, and it runs on a 2- to 7-V supply.
In this application, the MC68HC705J1A is used with bit 1 of port B set for speed control. The “highspeed” crystal (2.4576 MHz) generates serial communication (RS-232) baud rates. When the HA7120 oscillator is disabled, it’s essentially disconnected from the ordinary oscillator circuit of the MCU. This allows the MCU oscillator to function as normal, generating a “high-speed” clock of 2.4576 MHz. About 5 pF is added to the OSC1 pin by the HA7210, but this has no noticeable effect on frequency. An optional protection resistor is shown as a precaution against voltage overdrive for X1 (see the figure).
When the MCU’s program needs to, it can slow down the clock with a simple “BSET 1 PRTB1” command. This enables the HA7210 output, overriding the crystal of the ordinary MCU oscillator. The OSC1 pin now follows the logiclevel squarewave output of 32.768 kHz. The microcontroller now runs at a slow clock speed using very little current.