Motorola S08
The 9S08 (68HCS08 or S08 for short) is a 8-bit microcontroller (µC) family originally from Motorola, now produced by Freescale Semiconductor,[1] descended from the Motorola 6800 microprocessor. It is a CISC microcontroller. The 9S08 devices are more powerful and usually less expensive than the aging 68HC05 microcontrollers, and are found in almost any type of embedded systems. The larger members offer up to 128KB of paged flash, and 8KB of RAM. The paging scheme used allows for a theoretical maximum of 4MB of flash.
Internally, the 9S08 instruction set is upward compatible with the 6805, with the addition of stack indexed addressing modes. (Instructions using the SP register have opcodes prefixed with the byte 0x9E). It has a single eight-bit accumulator, A, one eight-bit index register, X, or one sixteen-bit index registers, HX (formed from the combination of H and X registers), a condition code register, a 16-bit stack pointer, and a program counter. For compatibility with the 6805 which does not have an H register, the most significant byte of the HX register, H, is cleared during reset, and H is the only register not stacked automatically when entering any ISR (Interrupt Service Routine). Some instructions treat the H and X registers as a combined 16-bit HX register. Unlike the 6805, the stack can be placed anywhere in memory using appropriate instructions.
The standard method of programming or debugging the 9S08 family is via a standard 6-pin BDM interface (only one pin is used for communication with the microcontroller).
A wide variety of peripherals is available for different members and/or packages. SCI, SPI, 10-bit or 12-bit A/D, (C)PWM, Input Captures are common with most members, but no external bus is available.
References
This article needs additional citations for verification. (March 2013) |