|
||||||
|
||||||
![]() STMicroelectronics ST6 |
|
View block
|
|
The accumulator-based ST6 with only 40 instructions is a low-end µC with two 8-bit index registers; two 8-bit, general-purpose registers; an 8-bit accumulator register; and a 12-bit program counter. All basic arithmetic operations involve the accumulator as one parameter and end by placing a result into the accumulator. However, the ST6 is not a classic accumulator-based CPU. Loads are a bit more flexible; the accumulator can be the source or destination. Also, the ST6 can directly increment and decrement both memory and registers without passing through the accumulator.
Registers and peripherals are memory-mapped in the chip's address space. To configure a peripheral or send or receive data to or from a peripheral, a program simply writes to or reads from the peripheral's memory registers.
The ST6 has a six-level fixed stack to hold the program counter on subroutine calls or interrupts. The stack is not user-accessible, and, therefore, the CPU has no stack-pointer register. If the stack is full and a call or interrupt occurs, the CPU pushes the current program-counter value onto the stack, moves all stack entries down one, and loses the last (first-in) entry.
The program counter directly addresses as much as 4 kbytes of program memory. A banking scheme that uses a dedicated memory-mapped banking register can expand the program memory. The device can bank the lower 2 kbytes of ROM, providing access to higher 2-kbyte pages in program memory, which ranges as high as 20 kbytes. Program memory can also hold constants or tables, which the CPU accesses via a 64-byte, memory-mapped window in RAM that maps into ROM.
Power management: Wait mode discontinues CPU processing but leaves the peripherals enabled. After disabling the watchdog timer, the CPU enters stop mode and stops the clock, peripherals, and all internal processing. Both modes maintain RAM and enable interrupt to wake the CPU. You can program and selectively turn off most peripherals.
Special instructions: The ST6's bit-manipulation instructions are set and clear. Math functions include add, subtract, increment, and decrement. Relative jumps are restrained to -15 to +16 locations.
Special on-chip peripherals: The ST6 family offers multifunction I/O pins with programmable input and output modes, programmable pullups, analog multiplexing, and automatic switching between alternate peripheral resource functions and general-purpose I/O pins. Data, data-direction, and pullup registers allow you to configure each pin to meet an application's requirements. High-current I/O pins are also available. An autoreload timer is available on the ST623X, 5X, and 6X families. You can also use this timer for waveform generation and analysis. Some ST6 devices support a serial peripheral interface (SPI) with programmable transmission modes and master/slave capabilities. You may also use the SPI to implement asynchronous serial communications, such as RS-232C links, with limited processor overhead. The ST624X has an LCD driver with control logic, a programmable prescaler, and dedicated LCD RAM.
Development tools: STMicroelectronics offers development tools including starter kits, in-circuit emulators, and programming boards. Software tools include the ST6-Realizer automatic code generator, which allows you to generate code without knowledge of the ST6. The company also offers a Windows-based development-tool environment.
Second sources: There are no second sources for the ST6.
| EDN Access | Feedback | Table of Contents |
Copyright © 1998 EDN Magazine, EDN Access. EDN is a registered trademark of Reed Properties Inc, used under license. EDN is published by Cahners Business Information, a unit of Reed Elsevier Inc.