sh66k12 SinoWealth Micro-Electronics Corp. Ltd, sh66k12 Datasheet - Page 3

no-image

sh66k12

Manufacturer Part Number
sh66k12
Description
Mask 4-bit Microcontroller With Lcd Driver
Manufacturer
SinoWealth Micro-Electronics Corp. Ltd
Datasheet
Functional Description
1. CPU
The CPU contains the following function blocks: Program
Counter,
Accumulator, Table Branch Register, Data Pointer (INX,
DPH, DPM, and DPL), and Stack.
(a) PC (Program Counter)
The Program Counter is used to address the 2K program
ROM. It consists of 12-bits: Page Register (PC11), and
Ripple Carry Counter (PC10, PC9, PC8, PC7, PC6, PC5,
PC4, PC3, PC2, PC1, PC0).
The program counter normally increases by one (+1) with
every execution of an instruction except in the following
cases:
(1) When executing a jump instruction (such as JMP, BA0,
(2) When executing a subroutine call instruction (CALL);
(3) When an interrupt occurs;
(4) When the chip is at the INITIAL RESET mode.
The program counter is loaded with data corresponding to
each instruction.
(b) ALU and CY
ALU performs arithmetic and logic operations. The ALU
provides the following functions:
Binary addition/subtraction (ADC, SBC, ADD, SUB, ADI,
SBI)
Decimal adjustment for addition/subtraction (DAA, DAS)
Logic operations (AND, EOR, OR, ANDIM, EORIM, ORIM)
2. ROM
The ROM can address 2048 words X 16 bits of program area from $000 to $7FF.
(a) Vector Address Area ($000 to $004)
The program is sequentially executed. There is an area address $000 through $004 that is reserved for a special interrupt
service routine such as starting vector address.
(b) Table Data Reference
Table Data can be stored in program memory and can be referenced by using Table Branch (TJMP) and Return Constant
(RTNW) instructions. The Table Branch Register (TBR) and Accumulator (AC) is placed by an offset address in program ROM.
TJMP instruction branch into address ((PC11 - PC8) X (2
value into (TBR, AC). ROM code bit7-bit4 is placed into TBR and bit3-bit0 into AC.
BAC);
Address
Arithmetic
$000H
$001H
$002H
$003H
$004H
Logic
Unit
(ALU),
JMP instruction
JMP instruction
JMP instruction
JMP instruction
JMP instruction
Instruction
Carry
Flag,
8
) + (TBR, AC)). The address is determined by RTNW to return look-up
3
Decision (BA0, BA1, BA2, BA3, BAZ, BC)
Logic Shift (SHR)
The Carry Flag (CY) holds the ALU overflow, which the
arithmetic operation generates. During an interrupt service
or call instruction, the carry flag is pushed into the stack and
restored back from the stack by the RTNI instruction. It is
unaffected by the RTNW instruction.
(c) Accumulator
Accumulator is a 4-bit register holding the results of the
arithmetic logic unit. In conjunction with ALU, data is
transferred between the accumulator and system register,
LCD RAM, or data memory can be performed.
(d) Stack
A group of registers used to save the contents of CY & PC
(10-0) sequentially with each subroutine call or interrupt. It is
organized 13 bits X 4 levels. The MSB is saved for CY. 4
levels are the maximum allowed for subroutine calls and
interrupts.
The contents of stack are returned sequentially to the PC
with the return instructions (RTNI/RTNW). Stack is operated
on a first-in, last-out basis. This 4-level nesting includes both
subroutine calls and interrupts requests. Note that program
execution may enter an abnormal state if the number of calls
and interrupt requests exceeds 4, and the bottom of stack
will be shifted out.
Jump to RESET service routine
Jump to External interrupt service routine
Jump to TIMER0 service routine
Jump to TIMER1 service routine
Jump to PB service routine (PORTB)
Function
SH66K12

Related parts for sh66k12