W741E260 4-BIT FLASH MICROCONTROLLER Table of Contents-GENERAL DESCRIPTION .............................................................................................................................. 2 FEATURES...................................................................................................................................................... 2 PIN CONFIGURATION.................................................................................................................................... 4 PIN DESCRIPTION ......................................................................................................................................... 5 BLOCK DIAGRAM........................................................................................................................................... 6 FUNCTIONAL DESCRIPTION ........................................................................................................................ 7 ABSOLUTE MAXIMUM RATINGS ................................................................................................................ 37 DC CHARACTERISTICS............................................................................................................................... 37 AC CHARACTERISTICS............................................................................................................................... 39 PAD ASSIGNMENT AND POSITIONS.......................................................................................................... 39 TYPICAL APPLICATION CIRCUIT................................................................................................................ 41 INSTRUCTION SET TABLE .......................................................................................................................... 42 PACKAGE DIMENSIONS.............................................................................................................................. 93 -1- Publication Release Date: March 1998 Revision A2 W741E260 GENERAL DESCRIPTION The W741E260 is a high-performance 4-bit microcontroller (µC) that provides an LCD driver and the flash EEPROM for the program memory. The device contains a 4-bit ALU, two 8-bit timers, two dividers (for two oscillators) in dual-clock operation, a 32 × 4 LCD driver, and five 4-bit I/O ports (including 1 output port for LED driving). There are also five interrupt sources and 8-level subroutine nesting for interrupt applications. The W741E260 operates on very low current and has three power reduction modes, hold mode and stop mode in single-clock operation and the dual-clock slow operation, which help to minimize power dissipation. This chip is available for W741C250 and W741C260 bodies, which can be selected by option code. The W741E260 is suitable for end product manufacturer engineering testing and earlier samples before mass production. FEATURES • Operating voltage: 2.4V to 5.5V (LCD drive voltage: 3.0V, or 4.5V) • Crystal/Ceramic oscillator: up to 4 MHz • RC oscillator: up to 4 MHz • Dual-clock operation is selected by code option • Main oscillator − Crystal or RC oscillation circuit can be selected by code option − In crystal mode, high-frequency (400 KHz to 4 MHz) or low-frequency (32.768 KHz) oscillation should be selected by code option − In RC mode, attention must be paid to the high/low frequency oscillation option, because the LCD driver frequency and the ROM code emulation time are related to this option. • Sub-oscillator − Connect to 32768 Hz crystal only − Used in dual-clock operation • Memory − 2048 x 16-bit program flash EEPROM (including 2K x 4-bit look-up table) − 128 x 4-bit data RAM (including 16 working registers) − 32 x 4 LCD data RAM • 21 input/output pins − − − − Ports for input only: 2 ports/8 pins Input/output ports: 2 ports/8 pins High sink current for LED driving: 1 port/4 pins MFP output pin: 1 pin (MFP) • Power-down mode − Hold function: no operation (excluding main oscillator and sub-oscillator) − Stop function: no operation (excluding sub-oscillator) -2- W741E260 − Dual-clock slow operation mode: system is operated by the sub-oscillator (FOSC = Fs and Fm is stopped) • Five types of interrupts − Four internal interrupts (Divider0, Divider1, Timer0, Timer1) for W741C260 body; three internal interrupts (Divider0, Timer0, Timer1) for W741C250 body. − One external interrupt (RC Port) for W741C260 body; two external interrupts (RC port and INT pin) for W741C250 body. • LCD driver output − 32 segment x 4 common − Static, 1/2 duty (1/2 bias), 1/3 duty (1/2 or 1/3 bias), 1/4 duty (1/3 bias) driving mode can be selected − LCD driver output pins can be used as DC output port by code option − Clock source can be main oscillator clock in the single-clock operation mode, or sub-oscillator clock in the dual-clock operation mode; operation mode is selected by code option • MFP output pin − Output is software selectable as modulating or nonmodulating frequency − Works as frequency output specified by Timer 1 • Two built-in 14-bit frequency dividers − Divider0: the clock source is the output of the main oscillator − Divider1: the clock source is the output of the sub-oscillator • Two built-in 8-bit programmable countdown timers − Timer 0: one of two internal clock frequencies (FOSC/4 or FOSC/1024) can be selected − Timer 1: includes an auto-reload function and one of two internal clock frequencies (FOSC or FOSC/64) can be selected, or falling edge of pin RC.0 can be selected (output through MFP pin) • Built-in 18/14-bit watchdog timer selectable for system reset − Enable/Disable the watchdog timer can be controlled by command or by option code; the control source (command or option code) can be determined by another option code • Powerful instruction set: 118 instructions for W741C260 body 116 instructions for W741C250 body • 8-level subroutine (include interrupt) nesting • Up to 1 µS instruction cycle (with 4 MHz operating frequency) • Packaged in 80-pin QFP -3- Publication Release Date: March 1998 Revision A2 W741E260 PIN CONFIGURATION X X U X / / V R R M I R I O I A A F N E N N T N D N N 1 0 P T S C 1 1 C D C 2 O X O U T 2 V V M D D D D O D N H H D D E C 1 2 1 2 V D D 3 S E G 3 1 S E G 3 0 S E G 2 9 S E G 2 8 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 RA2 RA3 RB0 RB1 RB2 RB3 RC0 RC1 RC2 RC3 RD0 RD1 RD2 RD3 RE0 RE1 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 N N R R V V D C C C C E E S P A O O 2 3 S P T M M A 3 2 C O M 1 C O M 0 S E G 0 S E G 1 -4- S E G 2 S E G 3 S E G 4 S E G 5 S E G 6 S E G 7 S E G 8 S E G 9 S E G 1 0 S N E C G 1 1 SEG27 SEG26 SEG25 SEG24 SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 SEG15 SEG14 SEG13 SEG12 W741E260 PIN DESCRIPTION SYMBOL I/O FUNCTION XIN1 I Input pin for main-oscillator. Connected to crystal or resistor to generate system clock by code option. XOUT1 O Output pin for main-oscillator. Connected to crystal or resistor to generate system clock by code option. XIN2 I Input pin for sub-oscillator. Connected to 32.768 KHz crystal. XOUT2 O Output pin for sub-oscillator with internal oscillation capacitor. Connected to 32.768 KHz crystal. RA0 to RA3 I/O Input/Output port. Input/output mode specified by port mode 1 register (PM1). RB0 to RB3 I/O Input/Output port. Input/output mode specified by port mode 2 register (PM2). RC0 to RC3 I 4-bit port for input only. Each pin has an independent interrupt capability. RD0 to RD3 I 4-bit port for input only. RE0 to RE3 O Output port only. This port provides high sink current to drive LEDs. MFP O Output pin only. This pin can output modulating or nonmodulating frequency, or Timer 1 clock output specified by mode register 1 (MR1). RES I System reset pin with pull-high resistor. INT I External interrupt pin with pull-high resistor. This pin is bonding option for the W741C250 body. SEG0 to SEG31 O LCD segment output pins. COM0 to O Also can be used as DC output ports specified by option codes. LCD common signal output pins. COM3 COM0 Static 1/2 Duty 1/3 Duty 1/4 Duty Used Used Used Used Used Used Used Used Used COM1 Not Used COM2 Not Used Not Used COM3 Not Used Not Used Not Used Used The LCD alternating frequency can be selected by code option. DH1, DH2 I VDD1, VDD2, VDD3 I Connection terminals for voltage doubler (halver) capacitor. Positive (+) supply voltage terminal. Refer to Functional Description. -5- Publication Release Date: March 1998 Revision A2 W741E260 Pin description, continued SYMBOL I/O FUNCTION VDD I Positive power supply (+). VSS I Negative power supply (-). VPP I Voltage control pin for the flash EEPROM programming, erasing and verifying. This pin has a built-in pull-low resistor. MODE I Mode selection pin for the flash EEPROM programming, erasing and verifying. This pin has a built-in pull-low resistor. DATA I/O Data I/O pin for the flash EEPROM programming and verifying. This pin has a built-in pull-low resistor. BLOCK DIAGRAM COM0 to COM3 SEG0 to SEG31 LCD RAM (128 x 4) ACC DATA Flash EEPROM (2048 x 16) ALU MODE (look_up table 2K x 4) VPP STACK (8 Levels) Central Control Unit IEF HEF PEF HCF EVF SEF PSR0 SCR PR MR0 MR1 PM0 . . DH1 to 2 DRIVER +1(+2) PC VDD1 to 3 PORT RA RA0 to 3 PORT RB RB0 to 3 PORT RC RC0 to 3 PORT RD RD0 to 3 PORT RE RE0 to 3 . SEL MUX Timer 0 (8-bit) Modulation Frequency Pulse Timer 1 (8-bit) MFP Divider 1 (13/14-bit) VDD Watchdog Timer (4-bit) Divider 0 (14-bit) Timing Generator VSS INT RES XIN1 XOUT1 -6- XIN2 XOUT2 W741E260 FUNCTIONAL DESCRIPTION Program Counter (PC) Organized as an 11-bit binary counter (PC0 to PC10), the program counter generates the addresses ofthe 2048 × 16 on-chip flash EEPROM containing the program instruction. When the jump or subroutine call instructions or the interrupt or initial reset conditions are to be executed, the address corresponding to the instruction will be loaded into the program counter. The format used is shown below. ITEM ADDRESS INTERRUPT PRIORITY Initial Reset 000H - INT 0 (Divider0) 004H 1st INT 1 (Timer 0) 008H 2nd INT 2 (Port RC) 00CH 3rd INT 3 (Divider1 for W741C260; INT pin for W741C250) 014H 4th INT 4 (Timer 1) 020H 5th JMP Instruction XXXH - Subroutine Call XXXH - Stack Register (STACK) The stack register is organized as 11-bit x 8 levels (first-in, last-out). When either a call subroutine or an interrupt is executed, the program counter will be pushed onto the stack register automatically. At the end of a call subroutine or an interrupt service subroutine, the RTN instruction must be executed to pop the contents of the stack register into the program counter. When the stack register is pushed over the eighth level, the contents of the first level will be lost. In other words, the stack register is always eight levels deep. Program Memory (flash EEPROM) The flash EEPROM is used to store program codes; the look-up table is arranged as 2048 × 4 bits. The first three quarters of flash EEPROM (000H to 5FFH) are used to store instruction codes only, but the last quarter (600H to 7FFH) can store both instruction codes and the look-up table. Each look-up table element is composed of 4 bits, so the look-up table can be addressed up to 2048 elements. There are two registers (TABL and TABH) to be used in look-up table addressing and they are controlled by MOV TABH, R and MOV TABL, R instructions. When the instruction MOVC R is executed, the contents of the look-up table location address specified by TABH, TABL and ACC will be read and transferred to the data RAM. Refer to the instruction table for more details. The organization of the program memory is shown in Figure 1. -7- Publication Release Date: March 1998 Revision A2 W741E260 16 bits 000H TABH TABL ACC - x x x x x x x x x y y 2048 address Offset 0 1 1 x x x x x x x x x ROM address = 600H + Offset/4 600H 3 2 1 0 This area can be used to store both instruction code and look-up table Each element (4 bits) of the look-up table 7FFH 2048 x 16-bit Figure 1. Program Memory Organization Data Memory (RAM) 1. Architecture The static data memory (RAM) used to store data is arranged as 128 × 4 bits. The data memory can be addressed directly or indirectly. The organization of the data memory is shown in Figure 2. 4 bits 00H : 0FH Working Register 128 address 7FH 128 x 4-bit Figure 2. Data Memory Organization -8- W741E260 The first sixteen addresses (00H to 0FH) in the data memory are known as the working registers (WR). The other data memory is used as general memory and cannot operate directly with immediate data. The relationship between data memory locations and the page register (PAGE) in indirect addressing mode is described in the next section. 2. Page Register (PAGE) The page register is organized as a 4-bit binary register. The bit descriptions are as follows: 3 PAGE 2 1 0 R/W R/W R/W Note: R/W means read/write available. Bit 3 is reserved. Bit 2, Bit 1, Bit 0 Indirect addressing mode preselect bits: 000 = Page 0 (00H - 0FH) 001 = Page 1 (10H - 1FH) 010 = Page 2 (20H - 2FH) 011 = Page 3 (30H - 3FH) 100 = Page 4 (40H - 4FH) 101 = Page 5 (50H - 5FH) 110 = Page 6 (60H - 6FH) 111 = Page 7 (70H - 7FH) Accumulator (ACC) The accumulator (ACC) is a 4-bit register used to hold results from the ALU and transfer data between the memory, I/O ports, and registers. Arithmetic and Logic Unit (ALU) This is a circuit which performs arithmetic and logic operations. The ALU provides the following functions: • Logic operations: ANL, XRL, ORL • Branch decisions: JB0, JB1, JB2, JB3, JNZ, JZ, JC, JNC, DSKZ, DSKNZ, SKB0, SKB1, SKB2, SKB3 • Shift operations: SHRC, RRC, SHLC, RLC • Binary additions/subtractions: ADC, SBC, ADD, SUB, ADU, DEC, INC After any of the above instructions are executed, the status of the carry flag (CF) and zero flag (ZF) is stored in the internal registers. Otherwise CF can be stored or be read out by executing MOVA R, CF or MOV CF, R. -9- Publication Release Date: March 1998 Revision A2 W741E260 Clock Generator The W741E260 provides two oscillation circuits, main-oscillator and sub-oscillator. The main-oscillator can select the crystal or RC oscillation circuit by option codes to generate the system clock through external connections. If a crystal oscillator is used, a crystal or a ceramic resonator must be connected to XIN1 and XOUT1, and a capacitor must be connected if an accurate frequency is needed. When the oscillator is used, a high-frequency clock (400 KHz to 4 MHz) or low-frequency clock (32 KHz) can be selected for the system clock by means of option codes. If the RC oscillator is used, a resistor must be connected to XIN1 and XOUT1, and the high/low frequency clock option must be selected to suit the operation frequency. The sub-oscillator must be connected to a 32.768 KHz crystal through XIN2 and XOUT2 external pins when the dual-clock operation mode is selected by option code. The connection is shown in Figure 3. One machine cycle consists of a four-state system clock sequence and can run up to 1 µS with a 4 MHz system clock. XIN2 XIN1 Crystal 32 KHz or 400K to 4MHz or Resistor Crystal 32 KHz XOUT1 XOUT2 Figure 3. System Clock Oscillator Configuration Dual-clock operation This operation mode is selected by code option. In the dual-clock mode, the clock source of the LCD frequency selector should be the sub-oscillator clock (32768 Hz) only. But in the single-clock mode, the clock source of the LCD frequency selector will be Fm or Fm/32 (Fm: main oscillator clock). So when the STOP instruction is executing, the LCD will be turned off in the single-clock mode; but the LCD will keep working in the dual-clock mode. In this dual-clock mode, the normal operation is performed by generating the system clock from the main-oscillator clock (Fm). As required, the slow operation can be performed by generating the system clock from the sub-oscillator clock (Fs). The exchange of the normal operation and the slow operation is performed by resetting or setting the bit 0 of the system clock control register (SCR). If the SCR.0 is reset to 0, the clock source of the system clock generator is the main-oscillator clock; if the SCR.0 is set to 1, the clock source of the system clock generator is the sub-oscillator clock. In the dual-clock mode, the main-oscillator can stop oscillating when the STOP instruction is executing or the SCR.1 is set to 1. But in the single-clock mode, only the STOP instruction can stop the main-oscillator oscillating, because the SCR would be disabled in the single-clock mode. Therefore, in single-clock mode, the clock source of the system clock generator is the main-oscillator clock (FOSC = Fm). When the SCR is set or reset, we must pay attention to the following: 1. X000B → X011B: Disable the main-oscillator (Fm) should not be done simultaneously with changing the system clock source (FOSC) from Fm to Fs. The FOSC should be changed first from Fm to Fs before the main-oscillator (Fm) is disabled. The correct sequence is: X000B→X001B→X011B. - 10 - W741E260 2. X011B → X000B: Enabling the main-oscillator (Fm) should not be done simultaneously with changing the FOSC from Fs into Fm. The main-oscillator (Fm) should be enabled first before a delay subroutine is called to allow the main-oscillator to oscillate stably. The FOSC can now be changed from Fs into Fm. The correct sequence is therefore X011B→X001B→delay subroutine→X000B. The suggested delay for Fm is 20 mS for 455 KHz ceramic resonator and 10 mS for 4 MHz crystal. We must remember that the X010B state is inhibitive, because it will induce a system shutdown. The organization of the dual-clock operation mode is shown below. Mask Option (High/Low Freq.) HOLD SCR.0 XIN1 XOUT1 Fm Main Oscillator Fosc Fs SCR.1 enable/disable T1 T2 T3 T4 System Clock Generator Divider 0 Mask Option (High/Low Freq.) Fosc/32 XIN2 XOUT2 Mask Option (Single/Dual Clock) LCD Frequency Selector Fosc Sub-oscillator FLCD Mask Option (Single/Dual Clock) enable/disable Divider 1 INT4 HCF.4 SCR.3 (14/13 bit) Figure 4. The Dual Clock Operation Mode Control Diagram 3 SCR W 2 1 0 W W Note: W means write only. Bit 0 = 0 Main oscillator is selected (Fosc = Fm) = 1 Sub-oscillator is selected (Fosc = Fs) Bit 1 = 0 Enable Fm = 1 Disable Fm Bit 2 Reserved Bit 3 = 0 14-bit Divider1 is selected = 1 13-bit Divider1 is selected - 11 - Publication Release Date: March 1998 Revision A2 W741E260 Dual clock operation mode: - Sub-oscillator enable - SCR.0 = 0, FOSC = Fm - Flcd = Fs, in STOP mode LCD work continue Single clock operation mode: - Sub-oscillator disable - SCR not use, Main oscillator enable, FOSC = Fm - Flcd = FOSC (FOSC/32), in STOP mode LCD off Divider Each divider is organized as a 14-bit binary up-counter designed to generate periodic interrupts. When the main oscillator starts action, the Divider0 is incremented by each clock (FOSC). When an overflow occurs, the Divider0 event flag is set to 1 (EVF.0 = 1). The interrupt is executed if the Divider0 interrupt enable flag has been set (IEF.0 = 1), and the hold state is terminated if the hold release enable flag has been set (HEF.0 = 1). The last 4-stage of the Divider0 can be reset by executing a CLR DIVR0 instruction. If the main oscillator is connected to the 32768 Hz crystal, the EVF.0 will be set to 1 periodically at each 500 mS interval. If the sub-oscillator is enabled, the Divider1 is incremented by each clock (Fs). When an overflow occurs, the Divider1 event flag is set to 1 (EVF.4 = 1). The interrupt is executed if the Divider1 interrupt enable flag has been set (IEF.4 = 1), and the hold state is terminated if the hold release enable flag has been set (HEF.4 = 1). There are two time periods (250 mS & 500 mS) that can be selected by setting the SCR.3 bit. When SCR.3 = 0 (default), the 500 mS period time is selected; when SCR.3 = 1, the 250 mS period time is selected. Watchdog Timer (WDT) The watchdog timer (WDT) is organized as a 4-bit up counter and is designed to protect the program from unknown errors. The WDT is enabled when the corresponding option code bit of the WDT is set to 1. If the WDT overflows, the chip will be reset. At initial reset, the input clock of the WDT is FOSC/1024. The input clock of the WDT can be switched to FOSC/16384 (or FOSC/1024) by executing the SET PMF, #08H (or CLR PMF, #08H) instruction. The contents of the WDT can be reset by the instruction CLR WDT. In normal operation, the application program must reset WDT before it overflows. A WDT overflow indicates that the operation is not under control and the chip will be reset. The WDT minimun overflow period is 468.75 mS when the system clock (FOSC) is 32 KHz and WDT clock input is FOSC/1024. When the corresponding option code bit of the WDT is set to 0, and the WDT function is disabled. The organization of the Divider0 and watchdog timer is shown in Figure 5. - 12 - W741E260 Divider0 Fosc Q1 Q2 ...Q9 HEF.0 S Q10 Q11 Q12 Q13 Q14 R R R R R Q EVF.0 IEF.0 Hold mode release (HCF.0) Divider0 interrupt (INT0) 1. Reset 2. CLR EVF, #01H 3. CLR DIVR0 Fosc/16384 WDT PMF.3 Qw1 Qw2 Qw3 Qw4 Fosc/1024 R Enable /Disable Mask Option R R Overflow signal System Reset R 1. Reset 2. CLR WDT Figure 5. Organization of Divider0 and Watchdog Timer Parameter Flag (PMF) The parameter flag is organized as a 4-bit binary register (PMF.0 to PMF.3). The PMF is controlled by the SET PMF, #I or CLR PMF, #I instruction. The bit descriptions are as follows: 3 PMF 2 1 0 W Note: W means write only. Bit 0, Bit1, Bit2 Reserved Bit 3 = 0 The fundamental frequency of the watchdog timer is FOSC/1024. = 1 The fundamental frequency of the watchdog timer is FOSC/16384. Timer/Counter 1. Timer 0 (TM0) Timer 0 (TM0) is a programmable 8-bit binary down-counter. The specified value can be loaded into TM0 by executing the MOV TM0L (TM0H), R or MOV TM0, #I instructions. When the MOV TM0L (TM0H), R instructions are executed, the TM0 will stop down-counting (if the TM0 is down-counting), the MR0.3 will be reset to 0, and the specified value is loaded into TM0. If MR0.3 is set to 1, the event flag 1 (EVF.1) is reset and the TM0 starts to count. When it decrements to FFH, Timer 0 stops operating and generates an underflow (EVF.1 = 1). The interrupt is executed if the Timer 0 interrupt enable flag has been set (IEF.1 = 1); and the hold state is terminated if the hold release enable flag 1 has been set (HEF.1 = 1). The Timer 0 clock input can be set as FOSC/1024 or FOSC/4 by setting MR0.0 to 1 or by resetting MR0.0 to 0. The default timer value is FOSC/4. The organization of Timer 0 is shown in Figure 6. - 13 - Publication Release Date: March 1998 Revision A2 W741E260 If the Timer 0 clock input is FOSC/4: Desired time interval = (preset value +1) × 4 × 1/FOSC If the Timer 0 clock input is FOSC/1024: Desired time interval = (preset value +1) × 1024 × 1/FOSC Preset value: Decimal number of Timer 0 preset value, and FOSC: Clock oscillation frequency 1. Reset 2. CLR EVF, #02H 3. Reset MR0.3 to 0 4. MOV TM0L, R or MOV TM0H, R MR0.0 Disable Fosc/1024 HEF.1 8-bit Binary Down Counter (Timer 0) Fosc/4 Enable R Q EVF.1 8 MOV TM0H, R Hold mode release (HCF.1) IEF.1 Timer 0 interrupt (INT1) 4 4 1. Set MR0.3 to 1 2. MOV TM0, #I S MOV TM0L, R MOV TM0, #I 1. Reset 2. CLR EVF, #02H 3. Set MR0.3 to 1 4. MOV TM0, #I Figure 6. Organization of Timer 0 2. Timer 1 (TM1) Timer 1 (TM1) is also a programmable 8-bit binary down counter, as shown in Figure . Timer 1 can be used as a counter to count external events or to output an arbitrary frequency to the MFP pin. The input clock of Timer 1 can be one of three sources: FOSC/64, FOSC, or an external clock from the RC.0 input pin. The source can be selected by setting bit 0 and bit 1 of mode register 1 (MR1). At initial reset, the Timer 1 clock input is FOSC. If an external clock is selected as the clock source of Timer 1, the content of Timer 1 is decreased by 1 at the falling edge of RC.0. When the MOV TM1L, R or MOV TM1H, R instruction is executed, the specified data are loaded into the auto-reload buffer and the TM1 down-counting will be disabled (i.e. MR1.3 is reset to 0). If the bit 3 of MR1 is set (MR1.3 = 1), the contents of the auto-reload buffer will be loaded into the TM1 down counter, Timer 1 starts to down count, and the event flag 7 is reset (EVF.7 = 0). When the MOV TM1, #I instruction is executed, the event flag 7 (EVF.7) and MR1.3 are reset and the specified value is loaded into auto-reload buffer and TM1 by the internal hardware, then the MR1.3 is set, that is the TM1 starts to count by the hardware. When the timer decrements to FFH, it will generate an underflow (EVF.7 = 1) and be auto-reloaded with the specified data, after which it will continue to count down. An interrupt is executed if the interrupt enable flag 7 has been set to 1 (IEF.7 = 1), and the hold state is terminated if the hold mode release enable flag 7 is set to 1 (HEF.7 = 1). The specified frequency of Timer 1 can be delivered to the MFP output pin by programming bit 2 of MR1. Bit 3 of MR1 can be used to make Timer 1 stop or start counting. If the Timer 1 clock input is FT, then: - 14 - W741E260 Desired timer interval = (preset value +1) / FT Desired frequency for MFP output pin = FT ÷ (preset value + 1) ÷ 2 (Hz) Preset value: Decimal number of Timer 1 preset value, and FOSC: Clock oscillation frequency MOV TM1, #I MOV TM1L, R MOV TM1H, R 8 1. MR1.3 = 1 2. MOV TM1, #I Underflow signal 4 4 MR1.1 8 bits Enable FT 8-bit Binary Down Counter (Timer 1) Fosc/64 Fosc MR1.0 Disable Reset Set MR1.3 to 1 MOV TM1, #I Q EVF.7 1. Reset 2. INT 7 accept 3. CLR EVF, #80H 4. Set MR1.3 to 1 5. MOV TM1, #I Auto-reload buffer External clock via RC.0 S R 2 circuit MFP output pin Reset MR1.2 MFP signal 1. MR1.3 = 0 Figure 7. Organization of Timer 1 For example, when FT equals 32768 Hz, depending on the preset value of TM1, the MFP pin will output a single tone signal in the tone frequency range from 64 Hz to 16384 Hz. The relation between the tone frequency and the preset value of TM1 is shown in the table below. - 15 - Publication Release Date: March 1998 Revision A2 W741E260 3rd octave Tone frequency 4th octave TM1 preset value & MFP frequency Tone frequency 5th octave TM1 preset value & MFP frequency Tone frequency TM1 preset value & MFP frequency C 130.81 7CH 131.07 261.63 3EH 260.06 523.25 1EH 528.51 C# 138.59 75H 138.84 277.18 3AH 277.69 554.37 1CH 564.96 585.14 D 146.83 6FH 146.28 293.66 37H 292.57 587.33 1BH D# 155.56 68H 156.03 311.13 34H 309.13 622.25 19H 630.15 O E 164.81 62H 165.49 329.63 31H 327.68 659.26 18H 655.36 F 174.61 5DH 174.30 349.23 2EH 372.36 698.46 16H 712.34 N F# 185.00 58H 184.09 369.99 2BH 390.09 739.99 15H 744.72 G 196.00 53H 195.04 392.00 29H 420.10 783.99 14H 780.19 E G# 207.65 4EH 207.39 415.30 26H 443.81 830.61 13H 819.20 A 220.00 49H 221.40 440.00 24H 442.81 880.00 12H 862.84 A# 233.08 45H 234.05 466.16 22H 468.11 932.23 11H 910.22 B 246.94 41H 248.24 493.88 20H 496.48 987.77 10H 963.76 T Note: Central tone is A4 (440 Hz). Mode Register 0 (MR0) Mode Register 0 is organized as a 4-bit binary register (MR0.0 to MR0.3). MR0 can be used to control the operation of Timer 0. The bit descriptions are as follows: 3 MR0 2 1 W 0 W Note: W means write only. Bit 0 = 0 =1 The fundamental frequency of Timer 0 is FOSC/4. The fundamental frequency of Timer 0 is FOSC/1024. Bit 1 & Bit 2 are reserved Bit 3 = 0 Timer 0 stops down-counting. =1 Timer 0 starts down-counting. Mode Register 1 (MR1) Mode Register 1 is organized as a 4-bit binary register (MR1.0 to MR1.3). MR1 can be used to control the operation of Timer 1. The bit descriptions are as follows: MR1 3 2 1 0 W W W W Note: W means write only. - 16 - W741E260 Bit 0 = 0 The internal fundamental frequency of Timer 1 is FOSC. = 1 The internal fundamental frequency of Timer 1 is FOSC/64. Bit 1 = 0 The fundamental frequency source of Timer 1 is the internal clock. = 1 The fundamental frequency source of Timer 1 is the external clock from RC.0 input pin. Bit 2 = 0 The specified waveform of the MFP generator is delivered at the MFP output pin. = 1 The specified frequency of Timer 1 is delivered at the MFP output pin. Bit 3 = 0 Timer 1 stops down-counting. = 1 Timer 1 starts down-counting. Input/Output Ports RA, RB Port RA consists of pins RA.0 to RA.3 and Port RB consists of pins RB.0 to RB.3. At initial reset, input/output ports RA and RB are both in input mode. When RA and RB are used as output ports, CMOS or NMOS open drain output type can be selected by the PM0 register. Each pin of port RA or RB can be specified as input or output mode independently by the PM1 and PM2 registers. The MOVA R, RA or MOVA R, RB instructions operate the input functions and the MOV RA, R or MOV RB, R operate the output functions. For more details, refer to the instruction table and Figure 8. Input/Output Pin of the RA(RB) Vdd PM0.0 (or PM0.1) Output Buffer DATA BUS I/O PIN RA.n(RB.n) Enable MOV RA, R (or MOV RB, R) Instruction PM1.n (or PM2.n) Enable MOVA R, RA (or MOVA R, RB) instruction Figure 8. Architecture of Input/Output Pins - 17 - Publication Release Date: March 1998 Revision A2 W741E260 Port Mode 0 Register (PM0) The port mode 0 register is organized as 4-bit binary register (PM0.0 to PM0.3). PM0 can be used to determine the structure of the input/output ports; it is controlled by the MOV PM0, #I instruction. The bit descriptions are as follows: PM0 3 2 1 0 w w w w Note: W means write only. Bit 0 = 0 RA port is CMOS output type. Bit 0 = 1 RA port is NMOS open drain output type. Bit 1 = 0 RB port is CMOS output type. Bit 1 = 1 RB port is NMOS open drain output type. Bit 2 = 0 RC port pull-high resistor is disabled. Bit 2 = 1 RC port pull-high resistor is enabled. Bit 3 = 0 RD port pull-high resistor is disabled. Bit 3 = 1 RD port pull-high resistor is enabled. Port Mode 1 Register (PM1) The port mode 1 register is organized as 4-bit binary register (PM1.0 to PM1.3). PM1 can be used to control the input/output mode of port RA. PM1 is controlled by the MOV PM1, #I instruction. The bit descriptions are as follows: PM1 3 2 1 0 w w w w Note: W means write only. Bit 0 = 0 RA.0 works as output pin; Bit 0 = 1 RA.0 works as input pin Bit 1 = 0 RA.1 works as output pin; Bit 1 = 1 RA.1 works as input pin Bit 2 = 0 RA.2 works as output pin; Bit 2 = 1 RA.2 works as input pin Bit 3 = 0 RA.3 works as output pin; Bit 3 = 1 RA.3 works as input pin At initial reset, port RA is input mode (PM1 = 1111B). Port Mode 2 Register (PM2) The port mode 2 register is organized as 4-bit binary register (PM2.0 to PM2.3). PM2 can be used to control the input/output mode of port RB. PM2 is controlled by the MOV PM2, #I instruction. The bit descriptions are as follows: PM2 3 2 1 0 w w w w Note: W means write only. - 18 - W741E260 Bit 0 = 0 RB.0 works as output pin; Bit 0 = 1 RB.0 works as input pin Bit 1 = 0 RB.1 works as output pin; Bit 1 = 1 RB.1 works as input pin Bit 2 = 0 RB.2 works as output pin; Bit 2 = 1 RB.2 works as input pin Bit 3 = 0 RB.3 works as output pin; Bit 3 = 1 RB.3 works as input pin At initial reset, the port RB is input mode (PM2 = 1111B). Input Ports RC & RD Port RC consists of pins RC.0 to RC.3, and port RD consists of pins RD.0 to RD.3. Each pin of port RC and port RD can be connected to a pull-up resistor, which is controlled by the port mode 0 register (PM0). When the PEF, HEF, and IEF corresponding to the RC port are set, a signal change on the specified pins of port RC will execute the hold mode release or interrupt subroutine. Port status register 0 (PSR0) records the status of ports RC, i.e., any signal changes on the pins that make up the port. PSR0 can be read out and cleared by the MOV R, PSR0, and CLR PSR0 instructions. In addition, the falling edge signal on the pin of port RC specified by the instruction MOV SEF, #I will cause the device to exit the stop mode. Refer to Figure 9 and the instruction table for more details. The RD port is used as input port only, it has no hold mode release, wake-up stop mode or interrupt functions. Port Status Register 0 (PSR0) Port status register 0 is organized as 4-bit binary register (PSR0.0 to PSR0.3). PSR0 can be read or cleared by the MOVA R, PSR0, and CLR PSR0 instructions. The bit descriptions are as follows: PSR0 3 2 1 0 R R R R Note: R means read only. Bit 0 = 1 Signal change at RC.0 Bit 1 = 1 Signal change at RC.1 Bit 2 = 1 Signal change at RC.2 Bit 3 = 1 Signal change at RC.3 Port Enable Flag (PEF) The port enable flag is organized as 4-bit binary register (PEF.0 to PEF.3). Before port RC may be used to release the hold mode or perform interrupt function, the content of the PEF must be set first. The PEF is controlled by the MOV PEF, #I instruction. The bit descriptions are as follows: PEF 3 2 1 0 w w w w Note: W means write only. - 19 - Publication Release Date: March 1998 Revision A2 W741E260 PEF.0: Enable/disable the signal change at pin RC.0 to release hold mode or perform interrupt. PEF.1: Enable/disable the signal change at pin RC.1 to release hold mode or perform interrupt. PEF.2: Enable/disable the signal change at pin RC.2 to release hold mode or perform interrupt. PEF.3: Enable/disable the signal change at pin RC.3 to release hold mode or perform interrupt. DATA BUS PEF.0 PM0.2 D ck Signal change detector RC.0 Q PSR0.0 R HEF.2 PEF.1 PM0.2 D ck Signal change detector RC.1 Q D ck PSR0.1 Q EVF.2 HCF.2 R R IEF.2 INT 2 PEF.2 PM0.2 D ck Signal change detector RC.2 Q PSR0.2 CLR EVF, #I R Reset PEF.3 PM0.2 RC.3 D ck Signal change detector Q PSR0.3 R Reset MOV PEF, #I CLR PSR0 SEF.0 Falling edge detector SEF.1 Falling edge detector Wake up from STOP mode SEF.2 Falling edge detector SEF.3 Falling edge detector Figure 9. Architecture of Input Port RC Output Port RE When the MOV RE, R instruction is executed, the data in the RAM will be output to port RE and it provides a high sink current to drive LEDs. MFP Output Pin (MFP) The MFP output pin can output the Timer 1 clock or the modulation frequency; the output of the pin is determined by mode register 1 (MR1). The configuration of MFP is shown in Figure 9. When bit 2 of MR1 is reset to "0," the MFP output can deliver a modulation output in any combination of one signal from among DC, 4096Hz, 2048Hz, and one or more signals from among 128 Hz, 64 Hz, 8 Hz, 4 Hz, 2 Hz, or 1 Hz (when using a 32.768 KHz crystal). The MOV MFP, #I instruction is used to specify the - 20 - W741E260 modulation output combination. The data specified by the 8-bit operand and the MFP output pin are shown below. (Fosc = 32.768 KHz) R7 R6 0 0 0 1 1 0 1 1 R5 R4 R3 R2 R1 R0 0 0 0 0 0 0 Low level 0 0 0 0 0 1 128 Hz 0 0 0 0 1 0 64 Hz 0 0 0 1 0 0 8 Hz 0 0 1 0 0 0 4 Hz 0 1 0 0 0 0 2 Hz 1 0 0 0 0 0 1 Hz 0 0 0 0 0 0 High level 0 0 0 0 0 1 128 Hz 0 0 0 0 1 0 64 Hz 0 0 0 1 0 0 8 Hz 0 0 1 0 0 0 4 Hz 0 1 0 0 0 0 2 Hz 1 0 0 0 0 0 1 Hz 0 0 0 0 0 0 2048 Hz 0 0 0 0 0 1 2048 Hz * 128 Hz 0 0 0 0 1 0 2048 Hz * 64 Hz 0 0 0 1 0 0 2048 Hz * 8 Hz 0 0 1 0 0 0 2048 Hz * 4 Hz 0 1 0 0 0 0 2048 Hz * 2 Hz 1 0 0 0 0 0 2048 Hz * 1 Hz 0 0 0 0 0 0 4096 Hz 0 0 0 0 0 1 4096 Hz * 128 Hz 0 0 0 0 1 0 4096 Hz * 64 Hz 0 0 0 1 0 0 4096 Hz * 8 Hz 0 0 1 0 0 0 4096 Hz * 4 Hz 0 1 0 0 0 0 4096 Hz * 2 Hz 1 0 0 0 0 0 4096 Hz * 1 Hz - 21 - FUNCTION Publication Release Date: March 1998 Revision A2 W741E260 Interrupts The W741E260 provides four internal interrupt sources (Divider 0, Divider 1, Timer 0, Timer 1) and one external interrupt source (port RC) for W741C260 body or three internal interrupt sources (Divider 0, Timer 0, Timer 1) and two external interrupt sources ( port RC, INT pin) for W741C250 body. Vector addresses for each of the interrupts are located in the range of program memory (ROM) addresses 004H to 020H. The flags IEF, PEF, and EVF are used to control the interrupts. When EVF is set to "1" by hardware and the corresponding bits of IEF and PEF have been set by software, an interrupt is generated. When an interrupt occurs, all of the interrupts are inhibited until the EN INT or MOV IEF, #I instruction is invoked. The interrupts can also be disabled by executing the DIS INT instruction. When an interrupt is generated in hold mode, the hold mode will be released momentarily and interrupt subroutine will be executed. After the RTN instruction is executed in an interrupt subroutine, the µC will enter hold mode again. The operation flow chart is shown in Figure 11. The control diagram is shown below. Divider 0 overflow signal EN INT MOV IEF, #I S Q S Q IEF.0 EVF.1 IEF.1 R Port RC signal change S Q EVF.2 IEF.2 R Divider 1 overflow signal S Q S Q R 004H Interrupt Process Circuit Interrupt Vector Generator 008H 00CH 014H 020H EVF.4 IEF.4 R Timer 1 underflow signal Enable EVF.0 R Timer 0 underflow signal Initial Reset EVF.7 IEF.7 Initial Reset Disable CLR EVF, #I instruction DIS INT instruction Figure 10. Interrupt Event Control Diagram Interrupt Enable Flag (IEF) The interrupt enable flag is organized as an 8-bit binary register (IEF.0 to IEF.7). These bits are used to control the interrupt conditions. It is controlled by the MOV IEF, #I instruction. When one of these interrupts is accepted, the corresponding to the bit of the event flag will be reset, but the other bits are unaffected. In interrupt subroutine, these interrupts will be disabled till the instruction MOV IEF, #I or EN INT is executed again. Otherwise, these interrupts can be disabled by executing DIS INT instruction. The bit descriptions are as follows: - 22 - W741E260 7 IEF 6 5 w 4 3 w 2 1 0 w w w Note: W means write only. IEF.0 = 1 Interrupt 0 is accepted by overflow from the Divider 0. IEF.1 = 1 Interrupt 1 is accepted by underflow from the Timer 0. IEF.2 = 1 Interrupt 2 is accepted by a signal change at port RC. IEF.3 is reserved. IEF.4 = 1 Interrupt 4 is accepted by overflow from the Divider 1 for W741C260 body. Interrupt 4 is accepted by a falling edge signal at the INT pin for W741C250 body. IEF.5 & IEF.6 are reserved. IEF.7 = 1 Interrupt 7 is accepted by underflow from Timer 1. Stop Mode Operation In stop mode, all operations of the µC cease (excluding the operation of the sub-oscillator and divider 1 when the dual-clock operation mode is selected). The µC enters stop mode when the STOP instruction is executed and exits stop mode when an external trigger is activated (by a falling signal on the RC port for W741C260 body or by a falling signal on the RC port or a low level on the INT pin for W741C250 body). When the designated signal is accepted, the µC awakens and executes the next instruction (if the corresponding bits of IEF and PEF have been set, It will enter the interrupt service routine after stop mode released). To prevent erroneous execution, the NOP instruction should follow the STOP command. But In the dual-clock slow operation mode, the STOP instruction will disable the main-oscillator oscillating; the µC system is still operated by the sub-oscillator. Stop Mode Wake-up Enable Flag for RC Port (SEF) The stop mode wake-up flag for port RC is organized as an 4-bit binary register (SEF.0 to SEF.3). Before port RC may be used to make the device exit the stop mode, the content of the SEF must be set first. The SEF is controlled by the MOV SEF, #I instruction. The bit descriptions are as follows: SEF 3 2 1 0 w w w w Note: W means write only. SEF.0 = 1 Device will exit stop mode when falling edge signal is applied to pin RC.0 SEF.1 = 1 Device will exit stop mode when falling edge signal is applied to pin RC.1 SEF.2 = 1 Device will exit stop mode when falling edge signal is applied to pin RC.2 SEF.3 = 1 Device will exit stop mode when falling edge signal is applied to pin RC.3 - 23 - Publication Release Date: March 1998 Revision A2 W741E260 Hold Mode Operation In hold mode, all operations of the µC cease, except for the operation of the oscillator, Timer, Divider and LCD driver. The µC enters hold mode when the HOLD instruction is executed. The hold mode can be released in one of five ways: by the action of timer 0, timer 1, divider 0, divider 1, the RC port. Before the device enters the hold mode, the HEF, PEF, and IEF flags must be set to define the hold mode release conditions. For more details, refer to the instruction-set table and the following flow chart. Divider 0, Divider 1, Timer 0, Timer 1, Signal Change at RC Port In HOLD Mode? Yes Interrupt Enable? No No Interrupt Enable? Yes IEF Flag Set? Yes No IEF Flag Set? Yes No Yes Reset EVF Flag Execute Interrupt Service Routine Reset EVF Flag Execute Interrupt Service Routine HEF Flag Set? No (Note) No Yes (Note) Disable interrupt Disable interrupt HOLD PC <- (PC+1) Note: The bit of EVF corresponding to the interrupt signal will be reset. Figure 11. Hold Mode and Interrupt Operation Flow Chart - 24 - W741E260 Hold Mode Release Enable Flag (HEF) The hold mode release enable flag is organized as an 8-bit binary register (HEF.0 to HEF.7). The HEF is used to control the hold mode release conditions. It is controlled by the MOV HEF, #I instruction. The bit descriptions are as follows: 7 HEF 6 5 w 4 3 w 2 1 0 w w w Note: W means write only. HEF.0 = 1 Overflow from the Divider 0 causes Hold mode to be released. HEF.1 = 1 Underflow from Timer 0 causes Hold mode to be released. HEF.2 = 1 Signal change at port RC causes Hold mode to be released. HEF.3 is reserved. HEF.4 = 1 Overflow from the Divider 1 causes Hold mode to be released for W741C260 body. Falling edge signal at the INT pin causes Hold mode to be released for W741C250 body. HEF.5 & HEF.6 are reserved. HEF.7 = 1 Underflow from Timer 1 causes Hold mode to be released. Hold Mode Release Condition Flag (HCF) The hold mode release condition flag is organized as a 8-bit binary register (HCF.0 to HCF.7). It indicates by which interrupt source the hold mode has been released, and is loaded by hardware. The HCF can be read out by the MOVA R, HCFL and MOVA R, HCFH instructions. When any of the HCF bits is "1," the hold mode will be released and the HOLD instruction is invalid. The HCF can be reset by the CLR EVF or MOV HEF, #I (HEF = 0) instructions. When EVF and HEF have been reset, the corresponding bit of HCF is reset simultaneously. The bit descriptions are as follows: 7 HCF 6 5 4 R R 3 2 1 0 R R R Note: R means read only. HCF.0 = 1 Hold mode was released by overflow from the divider 0. HCF.1 = 1 Hold mode was released by underflow from the timer 0. HCF.2 = 1 Hold mode was released by a signal change at port RC. HCF.3 is reserved. HCF.4 = 1 Hold mode was released by overflow from the divider 1 for W741C260 body. Hold mode was released by a falling edge signal at the INT pin for W741C250 body. HCF.5 = 1 Hold mode was released by underflow from the timer 1. HCF.6 and HCF.7 are reserved. - 25 - Publication Release Date: March 1998 Revision A2 W741E260 Event Flag (EVF) The event flag is organized as a 8-bit binary register (EVF.0 to EVF.7). It is set by hardware and reset by CLR EVF, #I instruction or the occurrence of an interrupt. The bit descriptions are as follows: 7 EVF 6 5 R 4 3 R 2 1 0 R R R Note: R means read only. EVF.0 = 1 Overflow from divider 0 occurred. EVF.1 = 1 Underflow from timer 0 occurred. EVF.2 = 1 Signal change at port RC occurred. EVF.3 is reserved. EVF.4 = 1 Overflow from divider 1 occurred for W741C260 body. Falling edge signal at the INT pin occurred for W741C250 body. EVF.5 & EVF.6 are reserved. EVF.7 = 1 Underflow from Timer 1 occurred. Reset Function The W741E260 is reset either by a power-on reset or by using the external RES pin. The initial state of the W741E260 after the reset function is executed is described below. Program Counter (PC) TM0, TM1 MR0, MR1, PAGE registers PSR0 registers IEF, HEF, HCF, PEF, EVF, SEF flags SCR register Timer 0 input clock Timer 1 input clock MFP output Input/output ports RA, RB Output port RE RA & RB ports output type RC & RD ports pull-high resistors Input clock of the watchdog timer LCD display Segment output mode - 26 - 000H Reset Reset Reset Reset Reset FOSC/4 FOSC Low Input mode High CMOS type Disable FOSC/1024 OFF LCD drive output W741E260 LCD Controller/Driver The W741E260 can directly drive an LCD with 32 segment output pins and 4 common output pins for a total of 32 × 4 dots. Option codes can be used to select one of five options for the LCD driving mode: static, 1/2 Bias 1/2 duty, 1/2 Bias 1/3 duty, 1/3 Bias 1/3 duty, or 1/3 Bias 1/4 duty (see Figure 13). The alternating frequency of the LCD can be set as Fw/64, Fw/128, Fw/256, or Fw/512. In addition, option codes can also be used to set up four of the LCD driver output pins (segment 0 to segment 31) as a DC output port. The structure of the LCD alternating frequency (FLCD) is shown in Figure 12. Fosc or Fosc/32 Fw Q1 Fs Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Fw/64 Fw/128 Fw/256 Fw/512 Mask Option (Single/Dual Clock) FLCD Selector Figure 12. LCD Alternating Frequency (FLCD) Circuit Diagram Data Bus Option Codes LCD frequency selection Fw Clock Generator LCD drive mode selection LCD Mode Controller LCD DATA RAM (32 x 4 bits) MOV LCDM,#I instruction LCD duty & bias FLCD DH1 DH2 LCD Voltage Controller Commom Driver VDD VSS VDD1 to 3 COM0 to 3 LCD waveform Segment Driver/Controller SEG0 to 31 Figure 13. LCD Driver/Controller Circuit Diagram - 27 - Publication Release Date: March 1998 Revision A2 W741E260 When Fw = 32.768 KHz, the LCD frequency is as shown in the table below. LCD Frequency Fw/512 (64 Hz) Fw/256 (128 Hz) Fw/128 (256 Hz) Fw/64 (512 Hz) Static 64 128 256 512 1/2 Duty 32 64 128 256 1/3 Duty 21 43 85 171 1/4 Duty 16 32 64 128 Corresponding to the 32 LCD drive output pins, there are 32 LCD data RAM segments (LCDR00 to LCDR1F). Instructions such as MOV LCDR, #I; MOV WR, LCDR; MOV LCDR, WR; and MOV LCDR, ACC are used to control the LCD data RAM. The data in the LCD data RAM are transferred to the segment output pins automatically without program control. When the bit value of the LCD data RAM is "1," the LCD is turned on. When the bit value of the LCD data RAM is "0," LCD is turned off. The contents of the LCD data RAM (LCDR) are sent out through the segment0 to segment31 pins by a direct memory access. The relation between the LCD data RAM and segment/common pins is shown below. LCD Data RAM LCDR00 LCDR01 . . . LCDR1E LCDR1F Output Pin SEG0 SEG1 . . . SEG30 SEG31 COM3 bit 3 0/1 0/1 . . . 0/1 0/1 COM2 bit 2 0/1 0/1 . . . 0/1 0/1 COM1 bit 1 0/1 0/1 . . . 0/1 0/1 COM0 bit 0 0/1 0/1 . . . 0/1 0/1 The LCDON instruction turns the LCD display on (even in HOLD mode), and the LCDOFF instruction turns the LCD display off. At initial reset, all the LCD segments are lit. When the initial reset state ends, the LCD display is turned off automatically. To turn on the LCD display, the instruction LCDON must be executed. When the drive output pins are used as DC output ports (setting by option codes, please refer the user's manual of ASM741S assembler for more detail), CMOS output type or NMOS output type can be selected by executing the instruction MOV LCDM, #I. The relationship between the LCD data RAM and segment/common pins is shown below. The data in LCDR00 are transferred to the corresponding segment output port (SEG3 to SEG0) by a direct memory access. The other LCD data RAM segments can be used as normal data RAM to store data. LCD Data RAM LCDR00 LCDR03-LCDR01 LCDR04 LCDR07-LCDR05 . . . LCDR1C LCDR1F-LCDR1D Output Pin SEG3-SEG0 SEG7-SEG4 . . . SEG31-SEG30 - Bit 3 SEG3 SEG7 . . . SEG31 - - 28 - Bit 2 SEG2 SEG6 . . . SEG30 - Bit 1 SEG1 SEG5 . . . SEG29 - Bit 0 SEG0 SEG4 . . . SEG28 - W741E260 The relationship between the LCD drive mode and the maximum number of drivable LCD segments is shown below. LCD Drive Mode Max. Number of Drivable LCD Segment STATIC Connection at Power Input 32 (COM0) Connect VDD3, VDD2 to VDD1 1/2 Bias 1/2 Duty 64 (COM0-COM1) Connect VDD3 to VDD2 1/2 Bias 1/3 Duty 96 (COM0-COM2) Connect VDD3 to VDD2 1/3 Bias 1/3 Duty 96 (COM0-COM2) - 1/3 Bias 1/4 Duty 128 (COM0-COM3) - LCD Output Mode Type Flag (LCDM) The LCD output mode type flag is organized as an 8-bit binary register (LCDM.0 to LCDM.7). These bits are used to control the LCD output pins architecture. When LCD output pins are set to DC output mode by option codes, the architecture of these output pins (segment 0 to segment 31) can be selected as CMOS or NMOS type. It is controlled by the MOV LCDM, #I instruction. The bit descriptions are as follows: LCDM 7 6 5 4 3 2 1 0 w w w w w w w w Note: W means write only. LCDM.0 = 0 SEG0 to SEG3 work as CMOS output type. = 1 SEG0 to SEG3 work as NMOS output type. LCDM.1 = 0 SEG4 to SEG7 work as CMOS output type. = 1 SEG4 to SEG7 work as NMOS output type. LCDM.2 = 0 SEG8 to SEG11 work as CMOS output type. = 1 SEG8 to SEG11 work as NMOS output type. LCDM.3 = 0 SEG12 to SEG15 work as CMOS output type. = 1 SEG12 to SEG15 work as NMOS output type. LCDM.4 = 0 SEG16 to SEG19 work as CMOS output type. = 1 SEG16 to SEG19 work as NMOS output type. LCDM.5 = 0 SEG20 to SEG23 work as CMOS output type. = 1 SEG20 to SEG23 work as NMOS output type. LCDM.6 = 0 SEG24 to SEG27 work as CMOS output type. = 1 SEG24 to SEG27 work as NMOS output type. LCDM.7 = 0 SEG28 to SEG31 work as CMOS output type. = 1 SEG28 to SEG31 work as NMOS output type. The output waveforms for the five LCD driving modes are shown below. - 29 - Publication Release Date: March 1998 Revision A2 W741E260 Static Lighting System (Example) Normal Operating Mode VDD2 VDD1 VSS COM0 VDD2 VDD1 VSS Unlit LCD driver outputs Lit LCD driver outputs VDD2 VDD1 VSS 1/2 Bias 1/2 duty Lighting System (Example) Normal Operating Mode VDD2 VDD1 VSS COM0 VDD2 VDD1 VSS COM1 LCD driver outputs for seg. on COM0, COM1 sides being unlit VDD2 VDD1 VSS LCD driver outputs for only seg. on COM0 side being lit VDD2 VDD1 VSS - 30 - W741E260 1/2 Bias 1/2 duty Lighting System (Example) - Normal Operating Mode, continued LCD driver outputs for only seg. on COM1 side being lit VDD2 VDD1 VSS LCD driver outputs for seg. on COM0, COM1 sides being lit VDD2 VDD1 VSS 1/2 Bias 1/3 duty Lighting System (Example) Normal Operating Mode VDD2 VDD1 VSS COM0 COM1 VDD2 VDD1 VSS COM2 VDD2 VDD1 VSS VDD2 VDD1 VSS LCD driver outputs for all seg. on COM0,1,2 sides being unlit LCD driver outputs for only seg. on COM0 side being lit VDD2 VDD1 VSS LCD driver outputs for only seg. on COM1 side being lit VDD2 VDD1 VSS LCD driver outputs for only seg. on COM0,1 sides being lit VDD2 VDD1 VSS - 31 - Publication Release Date: March 1998 Revision A2 W741E260 1/2 Bias 1/3 duty Lighting System (Example) - Normal Operating Mode, continued LCD driver outputs for only seg. on COM2 side being lit VDD2 VDD1 VSS LCD driver outputs for only seg. on COM0,2 sides being lit VDD2 VDD1 VSS 1/3 Bias 1/3 duty Lighting System (Example) Normal Operating Mode VDD3 VDD2 VDD1 VSS COM0 VDD3 VDD2 VDD1 VSS COM1 VDD3 VDD2 VDD1 VSS COM2 VDD3 VDD2 VDD1 VSS LCD driver outputs for all seg. on COM0,1,2 sides being unlit LCD driver outputs for only seg. on COM0 side being lit VDD3 VDD2 VDD1 VSS LCD driver outputs for only seg. on COM1 side being lit VDD3 VDD2 VDD1 VSS LCD driver outputs for seg. on COM0,2 sides being lit VDD3 VDD2 VDD1 VSS - 32 - W741E260 1/3 Bias 1/3 duty Lighting System (Example) - Normal Operating Mode, continued LCD driver outputs for seg. on COM1,2 sides being lit VDD3 VDD2 VDD1 VSS LCD driver outputs for seg. on COM0,1,2 sides being lit VDD3 VDD2 VDD1 VSS 1/3 Bias 1/4 duty Lighting System (Example) Normal Operating Mode VDD3 VDD2 VDD1 VSS COM0 VDD3 VDD2 VDD1 VSS COM1 VDD3 VDD2 VDD1 VSS COM2 VDD3 VDD2 VDD1 VSS COM3 LCD driver outputs for only seg. on COM0 side being lit VDD3 VDD2 VDD1 VSS LCD driver outputs for only seg. on COM1 side being lit VDD3 VDD2 VDD1 VSS - 33 - Publication Release Date: March 1998 Revision A2 W741E260 1/3 Bias 1/4 duty Lighting System (Example) - Normal Operating Mode, continued LCD driver outputs for seg. on COM0, COM1 sides being lit VDD3 VDD2 VDD1 VSS LCD driver outputs for seg. on COM1, COM2,3 sides being lit VDD3 VDD2 VDD1 VSS LCD driver outputs for seg. on COM1 COM2 sides being lit VDD3 VDD2 VDD1 VSS LCD driver outputs for seg. on COM0 COM2,3 sides being lit VDD3 VDD2 VDD1 VSS LCD driver outputs for seg. on COM0 COM1,2,3 sides being lit VDD3 VDD2 VDD1 VSS - 34 - W741E260 The power connections for each LCD driving mode, which are determined by a mask option, are shown below. Static LCD Configuration 1/2 Bias LCD Configuration DH1 DH1 0.1uF DH1, DH2 floating DH2 DH2 VSS C H I P VSS VDD VDD C H I P VDD VDD 0.1uF VDD1 VDD1 VDD2 VDD2 VDD3 VDD3 VDD1 = 1/2 VDD, VDD2 = VDD3 = VDD VDD1 = VDD2 = VDD3 = VDD 1/3 Bias LCD Configuration DH1 0.1uF DH2 VSS C H I P VDD VDD 0.1uF VDD1 VDD2 VDD3 VDD1 = 1/2 VDD, VDD2 = VDD, VDD3 = 3/2 VDD - 35 - Publication Release Date: March 1998 Revision A2 W741E260 LCD Configuration, continued 1/3 Bias LCD Configuration DH1 0.1uF DH2 VSS C H I P VDD VDD 0.1uF VDD1 VDD2 VDD3 VDD1 = 1/3 VDD, VDD2 = 2/3 VDD, VDD3 = VDD EEPROM Program/Erase Description The built-in program code memory of the W741E260 is the EEPROM structure. This memory can be programmed, erased and verified through the VPP, MODE and DATA pins. The on board program/erase connection is shown below. WHC4403 XTAL 58 Xin1 57 Xout1 55 Vdd 51 Mode W741E260 1 Vss Vpp Data 5 6 7 JP9 Figure 14. The W741E260 Program/Erase Configuration - 36 - W741E260 ABSOLUTE MAXIMUM RATINGS PARAMETER RATING UNIT Supply Voltage to Ground Potential -0.3 to +7.0 V Applied Input/Output Voltage -0.3 to +7.0 V 120 mW 0 to +70 °C -55 to +150 °C Power Dissipation Ambient Operating Temperature Storage Temperature Note: Exposure to conditions beyond those listed under Absolute Maximum Ratings may adversely affect the life and reliability of the device. DC CHARACTERISTICS (VDD-VSS = 3.0V, Fm = 4.19 MHz, Fs = 32.768 KHz, Ta = 25° C, LCD on; unless otherwise specified) PARAMETER SYM. CONDITIONS MIN. TYP. MAX. UNIT - 2.4 - 5.5 V Op. Voltage VDD Op. Current (Crystal type) IOP1 No load (Ext-V) In dual-clock normal operation - 0.6 2.5 mA Op. Current (RC type) IOP2 No load (Ext-V) In dual-clock normal operation - 1 4 mA Op. Current (Crystal type) IOP3 No load (Ext-V) In dual-clock slow operation and Fm is stopped - 8.5 20 µA Hold Current (Crystal type) IHM1 Hold mode No load (Ext-V) In dual-clock normal operation - 280 450 µA Hold Current (RC type) IHM2 Hold mode No load (Ext-V) In dual-clock normal operation - 500 600 µA Hold Current (Crystal type) IHM3 Hold mode No load (Ext-V) In dual-clock slow operation and Fm is stopped - 4.0 6 µA Stop Current (Crystal type) ISM1 Stop mode No load (Ext-V) In dual-clock normal operation - 4.0 6 µA Stop Current (Crystal type) ISM2 Stop mode No load (Ext-V) In single-clock operation - 0.1 2 µA Input Low Voltage VIL - VSS - 0.3 VDD V - 37 - Publication Release Date: March 1998 Revision A2 W741E260 DC Characteristics, continued PARAMETER SYM. CONDITIONS MIN. TYP. MAX. UNIT - 0.7 VDD - VDD V Input High Voltage VIH MFP Output Low Voltage VML IOL = 3.5 mA - - 0.4 V MFP Output High Voltage VMH IOH = 3.5 mA 2.4 - - V Port RA, RB Output Low Voltage VABL IOL = 2.0 mA - - 0.4 V Port RA, RB Output high Voltage VABH IOH = 2.0 mA 2.4 - - V LCD Supply Current ILCD All Seg. ON - - 6 µA SEG0-SEG31 Sink Current (Used as LCD output) IOL1 VOL = 0.4V VLCD = 0.0V 0.4 - - µA SEG0-SEG31 Drive Current (Used as LCD output) IOH1 VOH = 2.4V VLCD = 3.0V 0.3 - - µA Segment output low voltage (Used as DC output) VSL IOL = 0.6 mA - - 0.4 V Segment output high voltage (Used as DC output) VSH IOH = 3 µA 2.4 - - V Port RE Sink Current IEL VOL = 0.9V 9 - - mA Port RE Source Current IEH VOH = 2.4V 0.4 1.2 - mA Input Port Pull-up Resistor RCD Port RC, RD 100 350 1000 KΩ INT Pull-up Resistor RINT - 50 250 1000 KΩ RES Pull-up Resistor RRES - 20 100 500 KΩ VPP Pull-down Resistor RVPP VDD = 5V 1.5 2 2.5 MΩ MODE Pull-down Resistor RMODE VDD = 5V 1.5 2 2.5 MΩ DATA Pull-down Resistor RDATA VDD = 5V 50 100 150 KΩ - 38 - W741E260 AC CHARACTERISTICS (VDD-VSS = 3.0V, Ta = 25° C; unless otherwise specified) PARAMETER Op. Frequency SYM. FOSC CONDITIONS MIN. TYP. MAX. RC type - - 4000 Crystal type 1 (Option low speed type) - 32.768 - 400 - 4190 - - 10 % Crystal type 2 (Option high speed type) Frequency Deviation by Voltage Drop for RC Oscillator ∆f f f(3V) − f(2.4V) f(3V) UNIT KHz Instruction Cycle Time TI One machine cycle - 4/FOSC - mS Reset Active Width TRAW FOSC = 32.768 KHz 1 - - µS Interrupt Active Width TIAW FOSC = 32.768 KHz 1 - - µS PAD ASSIGNMENT AND POSITIONS 2870 µm 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 1 2 3 4 5 Y 4840 µ m 6 7 8 9 (0,0) X 47 10 11 12 13 14 15 16 17 18 19 46 45 44 43 42 41 40 39 20 38 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 Note: The chip substrate must be connected to system ground (VSS). - 39 - Publication Release Date: March 1998 Revision A2 W741E260 PAD NO. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 PAD NAME RE2 RE3 VSS VPP DATA COM3 COM2 COM1 COM0 SEG0 SEG1 SEG2 SEG3 SEG4 SEG5 SEG6 X -1227.80 -1227.80 -1227.80 -1223.25 -1234.80 -1227.80 -1227.80 -1227.80 -1227.80 -1227.80 -1227.80 -1227.80 -1227.80 -1227.80 -1227.80 -1227.80 Y 1810.50 1680.50 1550.50 1079.40 656.85 36.20 -93.80 -223.80 -353.80 -483.80 -613.80 -743.80 -873.80 -1003.80 -1133.80 -1263.80 PAD NO. 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 PAD NAME SEG28 SEG29 SEG30 SEG31 VDD3 VDD2 VDD1 DH2 DH1 MODE XOUT2 XIN2 VDD XOUT1 XIN1 17 SEG7 -1227.80 -1393.80 54 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 SEG8 SEG9 SEG10 SEG11 SEG12 SEG13 SEG14 SEG15 SEG16 SEG17 SEG18 SEG19 SEG20 SEG21 SEG22 SEG23 SEG24 SEG25 SEG26 SEG27 -1227.80 -1227.80 -1227.80 -1227.80 -975.80 -845.80 -715.80 -585.80 -455.80 -325.80 -195.80 -65.80 64.20 194.20 324.20 454.20 584.20 714.20 844.20 974.20 -1523.80 -1653.80 -1783.80 -1913.80 -2163.80 -2163.80 -2163.80 -2163.80 -2163.80 -2163.80 -2163.80 -2163.80 -2163.80 -2163.80 -2163.80 -2163.80 -2163.80 -2163.80 -2163.80 -2163.80 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 INT MFP RA0 RA1 RA2 RA3 RB0 RB1 RB2 RB3 RC0 RC1 RC2 RC3 RD0 RD1 RD2 RD3 RE0 RE1 - 40 - RES X 1226.20 1226.20 1226.20 1226.20 1226.20 1226.20 1226.20 1226.20 1226.20 1226.20 1226.20 1226.20 1226.20 1226.20 1226.20 1226.20 Y -1913.80 -1783.80 -1653.80 -1523.80 -1393.80 -1263.80 -1133.80 -1003.80 -873.80 -112.50 640.50 770.50 900.50 1030.50 1160.50 1290.50 1226.20 1420.50 1226.20 1226.20 1226.20 1040.30 910.30 780.30 650.30 520.30 390.30 260.30 130.30 0.30 -129.70 -259.70 -389.70 -519.70 -649.70 -779.70 -909.70 1550.50 1680.50 1810.50 2141.70 2141.70 2141.70 2141.70 2141.70 2141.70 2141.70 2141.70 2141.70 2141.70 2141.70 2141.70 2141.70 2141.70 2141.70 2141.70 W741E260 TYPICAL APPLICATION CIRCUIT Vcc VDD RA0 COM0 RA3 COM3 RB0 RB1 RB2 RB3 SEG0 Output Signal LCD PANEL (1/3 Bias 1/4 Duty) SEG31 RC0 RC1 RC2 RC3 DH1 0.1 uF DH2 VDD1 VDD2 VDD3 RD0 RD1 RD2 RD3 Connect to capacitor and VDD to generate LCD voltage Vcc RES 0.1 uF RE0 RE1 RE2 RE3 XOUT1 XIN1 Vcc XOUT2 MFP 32.768 KHz XIN2 470 W VSS - 41 - 0.1 uF Publication Release Date: March 1998 Revision A2 W741E260 INSTRUCTION SET TABLE Symbol Description ACC: ACC.n: WR: PAGE: MR0: MR1: PM0: PM1: PM2: PSR0: PSR1: R: LCDR: R.n: I: L: Accumulator Accumulator bit n Working Register Page Register Mode Register 0 Mode Register 1 Port Mode 0 Port Mode 1 Port Mode 2 Port Status Register 0 Port Status Register 1 Memory (RAM) of address R LCD data RAM of address LDR Memory bit n of address R Constant parameter Branch or jump address CF: ZF: Carry Flag Zero Flag PC: TM0L: TM0H: TM1L: TM1H: TABL: TABH: IEF.n: HCF.n: HEF.n: SEF.n: PEF.n: EVF.n: Program Counter Low nibble of the Timer 0 counter High nibble of the Timer 0 counter Low nibble of the Timer 1 counter High nibble of the Timer 1 counter Low nibble of the look-up table address buffer High nibble of the look-up table address buffer Interrupt Enable Flag n HOLD mode release Condition Flag n HOLD mode release Enable Flag n STOP mode wake-up Enable Flag n Port Enable Flag n Event Flag n ! =: &: ^: EX: ←: Not equal AND OR Exclusive OR Transfer direction, result [PAGE*10H+()]: [P()]: Contents of address PAGE(bit2, bit1, bit0)*10H+() Contents of port P - 42 - W741E260 INSTRUCTION SET TABLE 1 Mnemonic Arithmetic Function Flag Affected Cycle ADD R, ACC ACC←(R) + (ACC) ZF, CF 1 ADD WR, #I ACC←(WR) + I ZF, CF 1 ADDR R, ACC ACC, R←(R) + (ACC) ZF, CF 1 ADDR WR, #I ACC, WR←(WR) + I ZF, CF 1 ADC R, ACC ACC←(R) + (ACC) + (CF) ZF, CF 1 ADC WR, #I ACC←(WR) + I + (CF) ZF, CF 1 ADCR R, ACC ACC, R←(R) + (ACC) + (CF) ZF, CF 1 ADCR WR, #I ACC, WR←(WR) + I + (CF) ZF, CF 1 ADU R, ACC ACC←(R) + (ACC) ZF 1 ADU WR, #I ACC←(WR) + I ZF 1 ADUR R, ACC ACC, R←(R) + (ACC) ZF 1 ADUR WR, #I ACC, W R←(WR) + I ZF 1 SUB R, ACC ACC←(R) - (ACC) ZF, CF 1 SUB WR, #I ACC←(WR) - I ZF, CF 1 SUBR R, ACC ACC, R←(R) - (ACC) ZF, CF 1 SUBR WR, #I ACC, WR←(WR) - I ZF, CF 1 SBC R, ACC ACC←(R) - (ACC) - (CF) ZF, CF 1 SBC WR, #I ACC←(WR) - I - (CF) ZF, CF 1 SBCR R, ACC ACC, R←(R) - (ACC) - (CF) ZF, CF 1 SBCR WR, #I ACC, WR←(WR) - I - (CF) ZF, CF 1 INC R ACC, R←(R) + 1 ZF, CF 1 DEC R ACC, R←(R) - 1 ZF, CF 1 - 43 - Publication Release Date: March 1998 Revision A2 W741E260 Instruction Set Table 1, continued Mnemonic Logic Operations Function Flag Affected Cycle ANL R, ACC ACC←(R) & (ACC) ZF 1 ANL WR, #I ACC←(WR) & I ZF 1 ANLR R, ACC ACC, R←(R) & (ACC) ZF 1 ANLR W, R #I ACC, WR←(WR) & I ZF 1 ORL R, ACC ACC←(R) ∧ (ACC) ZF 1 ORL WR, #I ACC←(WR) ∧ I ZF 1 ORLR R, ACC ACC, R←(R) ∧ (ACC) ZF 1 ORLR WR, #I ACC, WR←(WR) ∧ I ZF 1 XRL R, ACC ACC←(R) EX (ACC) ZF 1 XRL WR, #I ACC←(WR) EX I ZF 1 XRLR R, ACC ACC, R←(R) EX (ACC) ZF 1 XRLR WR, #I ACC, WR←(WR) EX I ZF 1 JMP L PC10~PC0←L10~L0 1 JB0 L PC10~PC0←L10~L0; if ACC.0 = "1" 1 JB1 L PC10~PC0←L10~L0; if ACC.1 = "1" 1 JB2 L PC10~PC0←L10~L0; if ACC.2 = "1" 1 JB3 L PC10~PC0←L10~L0; if ACC.3 = "1" 1 JZ L PC10~PC0←L10~L0; if ACC = 0 1 JNZ L PC10~PC0←L10~L0; if ACC ! = 0 1 JC L PC10~PC0←L10~L0; if CF = "1" 1 JNC L PC10~PC0←L10~L0; if CF != "1" 1 DSKZ R ACC, R←(R) - 1; skip if ACC = 0 ZF, CF 1 DSKNZ R ACC, R←(R) - 1; skip if ACC != 0 ZF, CF 1 SKB0 R Skip if R.0 = "1" 1 SKB1 R Skip if R.1 = "1" 1 SKB2 R Skip if R.2 = "1" 1 SKB3 R Skip if R.3 = "1" 1 Branch - 44 - W741E260 Instruction Set Table 1, continued Mnemonic Data Move Function Flag Affected Cycle MOV WR, R WR←(R) 1 MOV R, WR R←(WR) 1 MOVA WR, R ACC, WR←(R) ZF 1 MOVA R, WR ACC, R←(WR) ZF 1 MOV R, ACC R←(ACC) MOV ACC, R ACC←(R) MOV R, #I R←I 1 MOV WR, @R WR←[PR(bit2, bit1, bit0)x10H +(R)] 2 MOV @R, WR [PR(bit2, bit1, bit0)x10H +(R)]←WR 2 MOV TABL, R TABL←(R) 1 MOV TABH, R TABH←(R) 1 MOVC R R←[(TABH) × 10H + (TABL)] 2 MOVC WR, #I WR ← [(I6 ~ I0) × 10H + (ACC)] 2 1 ZF 1 Input & Output MOVA R, RA ACC, R←[RA] ZF 1 MOVA R, RB ACC, R←[RB] ZF 1 MOVA R, RC ACC, R←[RC] ZF 1 MOVA R, RD ACC, R←[RD] ZF 1 MOV RA, R [RA]←(R) 1 MOV RB R [RB]←(R) 1 MOV RE, R [RE]←(R) 1 MOV MFP, #I [MFP]← I 1 Flag & Register MOVA R, PAGE ACC, R←PAGE (Page Register) MOV PAGE, R PAGE←(R) 1 MOV MR0, #I MR0←I 1 MOV MR1, #I MR1←I 1 MOV PAGE, #I PAGE←I 1 MOVA R, CF ACC.0, R.0←CF ZF 1 MOV CF, R CF←(R.0) CF 1 MOVA R,HCFL ACC, R←HCF0~HCF3 ZF 1 MOVA R,HCFH ACC, R←HCF4~HCF7 ZF 1 - 45 - ZF 1 Publication Release Date: March 1998 Revision A2 W741E260 Instruction Set Table 1, continued CLR Mnemonic PMF, #I Function Clear Parameter Flag if In = 1 Flag Affected Cycle 1 NOTE 2 SET PMF, #I Set Parameter Flag if In = 1 MOV PM0, #I Port Mode 0← I 1 MOV PM1, #I Port Mode 1← I 1 MOV PM2, #I Port Mode 2← I 1 CLR EVF, #I Clear Event Flag if In = 1 1 MOV PEF, #I Set/Reset Port Enable Flag 1 MOV IEF, #I Set/Reset Interrupt Enable Flag 1 MOV HEF, #I Set/Reset HOLD mode release Enable Flag 1 MOV SEF, #I Set/Reset STOP mode wake-up Enable Flag for RC port 1 MOV SCR, #I SCR←I MOVA R, PSR0 ACC, R←Port Status Register 0 CLR PSR0 Clear Port Status Register 0 SET CF Set Carry Flag CF 1 CLR CF Clear Carry Flag CF 1 CLR DIVR0 Clear the last 4-bit of the Divider 0 1 CLR DIVR1 Clear the last 4-bit of the Divider 1 1 NOTE 1 CLR WDT Clear WatchDog Timer 1 NOTE 2 1 NOTE 1 ZF 1 1 1 Shift & Rotate SHRC R ACC.n, R.n←(R.n+1); ZF, CF 1 ZF, CF 1 ZF, CF 1 ZF, CF 1 ACC.3, R.3←0; CF←R.0 RRC R ACC.n, R.n←(R.n+1); ACC.3, R.3←CF; CF←R.0 SHLC R ACC.n, R.n←(R.n-1); ACC.0, R.0←0; CF←R.3 RLC R ACC.n, R.n←(R.n-1); ACC.0, R.0←CF; CF←R.3 - 46 - W741E260 Instruction Set Table 1, continued Mnemonic Function Flag Affected Cycle LCD MOV LCDR, #I LCDR← I 1 MOV WR, LCDR WR←(LCDR) 1 MOV LCDR, WR LCDR←(WR) 1 MOV LCDR, ACC LCDR←(ACC) 1 MOV LCDM, #I Select LCD output mode type 1 LCDON LCD ON 1 LCDOFF LCD OFF 1 Timer MOV TM0L, R TM0L←(R) 1 MOV TM0H, R TM0H←(R) 1 MOV TM0, #I Timer 0 set 1 MOV TM1L, R TM1L←(R) 1 MOV TM1H, R TM1H←(R) 1 MOV TM1, #I Timer 1 set 1 L STACK ← (PC)+1; 1 Subroutine CALL PC10 ~ PC0 ← L10 ~ L0 RTN (PC)← STACK 1 HOLD Enter Hold mode 1 STOP Enter Stop mode 1 NOP No Operation 1 Other EN INT Enable Interrupt Function 1 DIS INT Disable Interrupt Function 1 Note: 1. These instructions are available in W741C260 body, but inhibited in W741C250 body. 2. The bit0, bit1 and bit2 of PMF are reserved in W741C250 and W741C260 body. - 47 - Publication Release Date: March 1998 Revision A2 W741E260 INSTRUCTION SET TABLE 2 ADC R, ACC Add R to ACC with CF Machine Code: 0 0 0 0 1 0 0 0 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC ← (R) + (ACC) + (CF) Description: The contents of the data memory location addressed by R6 to R0, ACC, and CF are binary added and the result is loaded into the ACC. Flag Affected: CF & ZF ADC Add immediate data to WR with CF WR, #I Machine Code: 0 0 0 0 1 1 0 0 I3 I2 I1 I0 W3 W2 W1 W0 Machine Cycle: 1 Operation: ACC ← (WR) + I + (CF) Description: The contents of the Working Register (WR), I and CF are binary added and the result is loaded into the ACC. Flag Affected: CF & ZF ADCR R, ACC Add R to ACC with CF Machine Code: 0 0 0 0 1 0 0 1 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC, R ← (R) + (ACC) + (CF) Description: The contents of the data memory location addressed by R6 to R0, ACC, and CF are binary added and the result is placed in the ACC and the data memory. Flag Affected: CF & ZF - 48 - W741E260 Instruction Set Table 2, continued ADCR WR, #I Add immediate data to WR with CF Machine Code: 0 0 0 0 1 1 0 1 I3 I2 I1 I0 W3 W2 W1 W0 Machine Cycle: 1 Operation: ACC, WR ← (WR) + I + (CF) Description: The contents of the Working Register (WR), I, CF are binary added and the result is placed in the ACC and the WR. Flag Affected: CF & ZF ADD Add R to ACC R, ACC Machine Code: 0 0 0 1 1 0 0 0 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC ← (R) + (ACC) Description: The contents of the data memory location addressed by R6 to R0 and ACC are binary added and the result is loaded into the ACC. Flag Affected: CF & ZF ADD Add immediate data to WR WR, #I Machine Code: 0 0 0 1 1 1 0 0 I3 I2 I1 I0 W3 W2 W1 W0 Machine Cycle: 1 Operation: ACC ← (WR) + I Description: The contents of the Working Register (WR) and the immediate data I are binary added and the result is loaded into the ACC. Flag Affected: CF & ZF - 49 - Publication Release Date: March 1998 Revision A2 W741E260 Instruction Set Table 2, continued ADDR R, ACC Add R to ACC Machine Code: 0 0 0 1 1 0 0 1 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC, R ← (R) + (ACC) Description: The contents of the data memory location addressed by R6 to R0 and ACC are binary added and the result is placed in the ACC and the data memory. Flag Affected: CF & ZF ADDR Add immediate data to WR WR, #I Machine Code: 0 0 0 1 1 1 0 1 I3 I2 I1 I0 W3 W2 W1 W0 Machine Cycle: 1 Operation: ACC, WR ← (WR) + I Description: The contents of the Working Register (WR) and the immediate data I are binary added and the result is placed in the ACC and the WR. Flag Affected: CF & ZF ADU Add R to ACC and Carry Flag unchange R, ACC Machine Code: 0 0 1 0 1 0 0 0 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC ← (R) + (ACC) Description: The contents of the data memory location addressed by R6 to R0 and ACC are binary added and the result is loaded into the ACC. Flag Affected: ZF - 50 - W741E260 Instruction Set Table 2, continued ADU WR, #I Add immediate data to WR and Carry Flag unchange Machine Code: 0 0 1 0 1 1 0 0 I3 I2 I1 I0 W3 W2 W1 W0 Machine Cycle: 1 Operation: ACC ← (WR) + I Description: The contents of the Working Register (WR) and the immediate data I are binary added and the result is loaded into the ACC. Flag Affected: ZF ADUR Add R to ACC and Carry Flag unchange R, ACC Machine Code: 0 0 1 0 1 0 0 1 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC, R ← (R) + (ACC) Description: The contents of the data memory location addressed by R6 to R0 and ACC are binary added and the result is placed in the ACC and the data memory. Flag Affected: ZF ADUR Add immediate data to WR and Carry Flag unchange WR, #I Machine Code: 0 0 1 0 1 1 0 1 I3 I2 I1 I0 W3 W2 W1 W0 Machine Cycle: 1 Operation: ACC, WR ← (WR) + I Description: The contents of the Working Register (WR) and the immediate data I are binary added and the result is placed in the WR and the ACC. Flag Affected: ZF - 51 - Publication Release Date: March 1998 Revision A2 W741E260 Instruction Set Table 2, continued ANL R, ACC And R to ACC Machine Code: 0 0 1 0 1 0 1 0 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC ← (R) & (ACC) Description: The contents of the data memory location addressed by R6 to R0 and the ACC are ANDed and the result is loaded into the ACC. Flag Affected: ZF ANL And immediate data to WR WR, #I Machine Code: 0 0 1 0 1 1 1 0 I3 I2 I1 I0 W3 W2 W1 W0 Machine Cycle: 1 Operation: ACC ← (WR) & I Description: The contents of the Working Register (WR) and the immediate data I are ANDed and the result is loaded into the ACC. Flag Affected: ZF ANLR And R to ACC R, ACC Machine Code: 0 0 1 0 1 0 1 1 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC, R ← (R) & (ACC) Description: The contents of the data memory location addressed by R6 to R0 and the ACC are ANDed and the result is placed in the data memory and the ACC. Flag Affected: ZF - 52 - W741E260 Instruction Set Table 2, continued ANLR WR, #I And immediate data to WR Machine Code: 0 0 1 0 1 1 1 1 I3 I2 I1 I0 W3 W2 W1 W0 Machine Cycle: 1 Operation: ACC, WR ← (WR) & I Description: The contents of the Working Register (WR) and the immediate data I are ANDed and the result is placed in the WR and the ACC. Flag Affected: ZF CALL Call subroutine L Machine Code: 0 1 1 0 0 L10 L9 L8 L7 L6 L5 L4 L3 L2 L1 L0 Machine Cycle: 1 Operation: STACK ← (PC)+1; PC10 ~ PC0 ← L10 ~ L0 Description: The next program counter (PC10 to PC0) is saved in the STACK and then the direct address (L10 to L0) is loaded into the program counter. A subroutine is called. CLR Clear CF CF Machine Code: 0 1 0 1 0 0 Machine Cycle: 1 Operation: Clear CF Description: Clear Carry Flag to 0. Flag Affected: CF 0 0 - 53 - 0 0 0 0 0 0 0 0 Publication Release Date: March 1998 Revision A2 W741E260 Instruction Set Table 2, continued CLR DIVR0 Reset the last 4 bits of the DIVideR 0 Machine Code: 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 Machine Cycle: 1 Operation: Reset the last 4 bits of the divider 0 Description: When this instruction is executed, the last 4 bits of the divider 0 (14 bits) are reset. CLR Reset the last 4 bits of the DIVideR 1 DIVR1 Machine Code: 0 1 0 1 0 1 0 1 1 0 0 0 0 0 0 0 Machine Cycle: 1 Operation: Reset the last 4 bits of the divider 1 Description: When this instruction is executed, the last 4 bits of the divider 1 (14 bits) are reset. This instruction is available in W741C260 body, but it is inhibited in W741C250 body. CLR Clear ParaMeter Flag PMF, #I Machine Code: 0 0 0 1 0 1 1 Machine Cycle: 1 Operation: Clear Parameter Flag Description: Description of each flag: 0 1 0 0 0 I3 I2 I1 I0, I1, I2 : Reserved I3 = 1 : The input clock of the watchdog timer is Fosc/1024. - 54 - I0 W741E260 Instruction Set Table 2, continued CLR EVF, #I Clear EVent Flag Machine Code: 0 1 0 0 0 0 0 0 I7 I6 I5 I4 I3 I2 I1 I0 Machine Cycle: 1 Operation: Clear event flag Description: The condition corresponding to the data specified by I7 to I0 is controlled. CLR PSR0 I0~I7 Mode after execution of instruction I0 = 1 EVF0 caused by overflow from the divider 0 is reset. I1 = 1 EVF1 caused by underflow from the timer 0 is reset. I2 = 1 EVF2 caused by the signal change at port RC is reset. I3 Reserved I4 = 1 EVF4 caused by overflow from the divider 1 is reset for W741C260 body; EVF4 caused by the falling edge signal on INT pin is reset for W741C250 body. I5 & I6 Reserved I7 = 1 EVF7 caused by underflow from the timer 1 is reset. Clear Port Status Register 0 (RC port signal change flag) Machine Code: 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 Machine Cycle: 1 Operation: Clear Port Status Register 0 (RC port signal change flag) Description: When this instruction is executed, the RC port signal change flag (PSR0) is cleared. CLR Reset the last 4 bits of the WatchDog Timer WDT Machine Code: 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 Machine Cycle: 1 Operation: Reset the last 4 bits of the watchdog timer Description: When this instruction is executed, the last 4 bits of the watchdog timer are reset. - 55 - Publication Release Date: March 1998 Revision A2 W741E260 Instruction Set Table 2, continued DEC R Decrement R content Machine Code: 0 1 0 0 1 0 1 0 1 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC, R ← (R) - 1 Description: Decrement the data memory content and load result into the ACC and the data memory. Flag Affected: CF & ZF DIS Disable Interrupt function INT Machine Code: 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 Machine Cycle: 1 Operation: Disable interrupt function Description: Interrupt function is inhibited by executing this instruction. DSKNZ Decrement R content then skip if ACC ! = 0 R Machine Code: 0 1 0 0 1 0 0 0 1 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC, R ← (R) - 1; PC ← (PC) + 2 if ACC ! = 0 Description: Decrement the data memory content and load result into the ACC and the data memory. If ACC ! = 0, the program counter is incremented by 2 and produces a skip. Flag Affected: CF & ZF - 56 - W741E260 Instruction Set Table 2, continued DSKZ R Decrement R content then skip if ACC is zero Machine Code: 0 1 0 0 1 0 0 0 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC, R ← (R) - 1; PC ← (PC) + 2 if ACC = 0 Description: Decrement the data memory content and load result into the ACC and the data memory. If ACC = 0, the program counter is incremented by 2 and produces a skip. Flag Affected: CF & ZF EN Enable Interrupt function INT Machine Code: 0 1 0 1 0 0 0 0 1 1 0 0 Machine Cycle: 1 Operation: Enable interrupt function Description: This instruction enables the interrupt function. HOLD Enter the HOLD mode Machine Code: 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 Machine Cycle: 1 Operation: Enter the HOLD mode Description: The following two conditions cause the HOLD mode to be released. (1) An interrupt is accepted. (2) The HOLD release condition specified by the HEF is met. In HOLD mode, when an interrupt is accepted the HOLD mode will be released and the interrupt service routine will be executed. After completing the interrupt service routine by executing the RTN instruction, the µC will enter HOLD mode again. - 57 - Publication Release Date: March 1998 Revision A2 W741E260 Instruction Set Table 2, continued INC R Increment R content Machine Code: 0 1 0 0 1 0 1 0 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC, R ← (R) + 1 Description: Increment the data memory content and load the result into the ACC and the data memory. Flag Affected: CF & ZF JB0 Jump when bit 0 of ACC is "1" L Machine Code: 1 0 0 0 0 L10 L9 L8 L7 L6 L5 L4 L3 L2 L1 L0 Machine Cycle: 1 Operation: PC10 ~ PC0 ← L10 ~ L0; if ACC.0 = "1" Description: If bit 0 of the ACC is "1," PC10 to PC0 of the program counter are replaced with the data specified by L10 to L0 and a jump occurs. If bit 0 of the ACC is "0," the program counter (PC) is incremented. JB1 Jump when bit 1 of ACC is "1" L Machine Code: 1 0 0 1 0 L10 L9 L8 L7 L6 L5 L4 L3 L2 L1 L0 Machine Cycle: 1 Operation: PC10 ~ PC0 ← L10 ~ L0; if ACC.1 = "1" Description: If bit 1 of the ACC is "1," PC10 to PC0 of the program counter are replaced with the data specified by L10 to L0 and a jump occurs. If bit 1 of the ACC is "0," the program counter (PC) is incremented. - 58 - W741E260 Instruction Set Table 2, continued JB2 L Jump when bit 2 of ACC is "1" Machine Code: 1 0 1 0 0 L10 L9 L8 L7 L6 L5 L4 L3 L2 L1 L0 Machine Cycle: 1 Operation: PC10 ~ PC0 ← L10 ~ L0; if ACC.2="1" Description: If bit 2 of the ACC is "1," PC10 to PC0 of the program counter are replaced with the data specified by L10 to L0 and a jump occurs. If bit 2 of the ACC is "0," the program counter (PC) is incremented. JB3 Jump when bit 3 of ACC is "1" L Machine Code: 1 0 1 1 0 L10 L9 L8 L7 L6 L5 L4 L3 L2 L1 L0 Machine Cycle: 1 Operation: PC10 ~ PC0 ← L10 ~ L0; if ACC.3 = "1" Description: If bit 3 of the ACC is "1," PC10 to PC0 of the program counter are replaced with the data specified by L10 to L0 and a jump occurs. If bit 3 of the ACC is "0," the program counter (PC) is incremented. JC Jump when CF is "1" L Machine Code: 1 1 1 1 0 L10 L9 L8 L7 L6 L5 L4 L3 L2 L1 L0 Machine Cycle: 1 Operation: PC10 ~ PC0 ← L10 ~ L0; if CF = "1" Description: If CF is "1," PC10 to PC0 of the program counter are replaced with the data specified by L10 to L0 and a jump occurs. If the CF is "0," the program counter (PC) is incremented. - 59 - Publication Release Date: March 1998 Revision A2 W741E260 Instruction Set Table 2, continued JMP L Jump absolutely Machine Code: 0 1 1 1 0 L10 L9 L8 L7 L6 L5 L4 L3 L2 L1 L0 Machine Cycle: 1 Operation: PC10 ~ PC0 ← L10 ~ L0 Description: PC10 to PC0 of the program counter are replaced with the data specified by L10 to L0 and an unconditional jump occurs. JNC Jump when CF is not "1" L Machine Code: 1 1 0 1 0 L10 L9 L8 L7 L6 L5 L4 L3 L2 L1 L0 Machine Cycle: 1 Operation: PC10 ~ PC0 ← L10 ~ L0; if CF = "0" Description: If CF is "0," PC10 to PC0 of the program counter are replaced with the data specified by L10 to L0 and a jump occurs. If CF is "1," the program counter (PC) is incremented. JNZ Jump when ACC is not zero L Machine Code: 1 1 0 0 0 L10 L9 L8 L7 L6 L5 L4 L3 L2 L1 L0 Machine Cycle: 1 Operation: PC10 ~ PC0 ← L10 ~ L0; if ACC ! = 0 Description: If the ACC is not zero, PC10 to PC0 of the program counter are replaced with the data specified by L10 to L0 and a jump occurs. If the ACC is zero, the program counter (PC) is incremented. - 60 - W741E260 Instruction Set Table 2, continued JZ L Jump when ACC is zero Machine Code: 1 1 1 0 0 L10 L9 L8 L7 L6 L5 L4 L3 L2 L1 L0 Machine Cycle: 1 Operation: PC10 ~ PC0 ← L10 ~ L0; if ACC = 0 Description: If the ACC is zero, PC10 to PC0 of the program counter are replaced with the data specified by L10 to L0 and a jump occurs. If the ACC is not zero, the program counter (PC) is incremented. LCDON LCD ON Machine Code: 0 0 0 0 0 0 Machine Cycle: 1 Operation: LCD ON Description: Turn on LCD display. LCDOFF LCD OFF Machine Code: 0 0 0 0 0 0 Machine Cycle: 1 Operation: LCD OFF Description: Turn off LCD display. 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 - 61 - Publication Release Date: March 1998 Revision A2 W741E260 Instruction Set Table 2, continued MOV ACC, R Move R content to ACC Machine Code: 0 1 0 0 1 1 1 0 1 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC ← (R) Description: The contents of the data memory location addressed by R6 to R0 are loaded into the ACC. Flag Affected: ZF MOV Move R.0 content to CF CF, R Machine Code: 0 1 0 1 1 0 0 0 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: CF ← (R.0) Description: The bit 0 content of the data memory location addressed by R6 to R0 is loaded into CF. Flag Affected: CF - 62 - W741E260 Instruction Set Table 2, continued MOV HEF, #I Set/Reset Hold mode release Enable Flag Machine Code: 0 1 0 0 0 0 0 1 I7 Machine Cycle: 1 Operation: Hold mode release enable flag control Description: I6 I5 I4 I3 I2 I1 I0 I0~I7 Operation I0 = 1 The HEF0 is set so that overflow from the divider 0 caused the HOLD mode to be released. I1 = 1 The HEF1 is set so that underflow from the Timer 0 caused the HOLD mode to be released. I2 = 1 The HEF2 is set so that signal change at port RC caused the HOLD mode to be released. I3 Reserved I4 = 1 The HEF4 is set so that overflow from the divider 1 caused the HOLD mode to be released for W741C260 body; The HEF4 is set so that the falling edge signal at the INT pin caused the HOLD mode to be released for W741C250 body. I5 & I6 Reserved I7 = 1 The HEF7 is set so that underflow from the Timer 1 caused the HOLD mode to be released. - 63 - Publication Release Date: March 1998 Revision A2 W741E260 Instruction Set Table 2, continued MOV IEF, #I Set/Reset Interrupt Enable Flag Machine Code: 0 1 0 1 0 0 0 1 I7 I6 I5 I4 I3 I2 I1 I0 Machine Cycle: 1 Operation: Interrupt Enable flag Control Description: The interrupt enable flag corresponding to the data specified by I7-I0 is controlled: I0~I7 Operation I0 = 1 The IEF0 is set so that interrupt 0 (overflow from the divider 0) is accepted. I1 = 1 The IEF1 is set so that interrupt 1 (underflow from the Timer 0) is accepted. I2 = 1 The IEF2 is set so that interrupt 2 (signal change at port RC) is accepted. Reserved I3 MOV LCDM, #I I4 = 1 The IEF4 is set so that interrupt 4 (overflow from the divider 1) is accepted for W741C260 body; the IEF4 is set so that interrupt 4 (falling edge signal at the INT pin) is accepted for the W741C250 body. I5 & I6 Reserved I7 = 1 The IEF7 is set so that interrupt 7 (underflow from the Timer 1) is accepted. Select LCD output Mode type Machine Code: 0 0 0 0 0 0 1 1 I7 I6 I5 I4 I3 I2 I1 I0 Machine Cycle: 1 Operation: Select LCD output mode type Description: When LCD output pins are set to DC output mode, user can select CMOS or NMOS as output type. I0~I7 = 0 => CMOS type; I0~I7 = 1 => NMOS type. - 64 - W741E260 Instruction Set Table 2, continued MOV LCDR, ACC Move ACC content to LCDR Machine Code: 0 0 0 0 0 1 1 D4 D3 D2 D1 D0 0 0 0 0 Machine Cycle: 1 Operation: LCDR ← (ACC) Description: The contents of the ACC are loaded to the LCD data RAM (LCDR) location addressed by D4 to D0. MOV Load WR content to LCDR LCDR, WR Machine Code: 0 1 0 0 0 1 0 D4 D3 D2 D1 D0 W3 W2 W1 W0 Machine Cycle: 1 Operation: LCDR ← (WR) Description: The contents of the WR are loaded to the LCD data RAM (LCDR) location addressed by D4 to D0. MOV Load immediate data to LCDR LCDR, #I Machine Code: 0 0 0 0 0 1 0 D4 D3 D2 D1 D0 I3 I2 I1 I0 Machine Cycle: 1 Operation: LCDR ← I Description: The immediate data I are loaded to the LCD data RAM (LCDR) location addressed by D4 to D0. - 65 - Publication Release Date: March 1998 Revision A2 W741E260 Instruction Set Table 2, continued MOV MFP, #I Modulation Frequency Pulse generator Machine Code: 0 0 0 1 0 0 1 0 I7 I6 I5 I4 I3 I2 I1 I0 Machine Cycle: 1 Operation: [MFP] ← I Description: If the bit 2 of MR1 is "0," the waveform specified by I7 to I0 is delivered at the MFP output pin (MFP). The relation between the waveform and immediate data I is as follows: I5~I0 I0 = 1 I1 = 1 I2 = 1 I3 = 1 Signal Fosc 256 Fosc 512 Fosc 4096 Fosc 8192 I7 I6 Signal 0 0 Low 0 1 High 1 0 Fosc/16 1 1 Fosc/8 - 66 - I4 = 1 Fosc 16384 I5 = 1 Fosc 32768 W741E260 Instruction Set Table 2, continued MOV MR0, #I Load immediate data to Mode Register 0 (MR0) Machine Code: 0 0 0 1 0 0 1 1 1 0 0 Machine Cycle: 1 Operation: MR0 ← I Description: The immediate data I are loaded to the MR0. 0 I3 I2 I1 I0 MR0 bits description: bit 0 = 0 The fundamental frequency of Timer 0 is Fosc/4 = 1 The fundamental frequency of Timer 0 is Fosc/1024 bit 1 Reserved bit 2 Reserved bit 3 = 0 Timer 0 stop down-counting = 1 Timer 0 start down-counting - 67 - Publication Release Date: March 1998 Revision A2 W741E260 Instruction Set Table 2, continued MOV MR1, #I Load immediate data to Mode Register 1 (MR1) Machine Code: 0 0 0 1 0 0 1 1 0 0 0 Machine Cycle: 1 Operation: MR1 ← I Description: The immediate data I are loaded to the MR1. MR1 bit description: 0 I3 I2 I1 I0 bit0 = 0 The internal fundamental frequency of Timer 1 is Fosc = 1 The internal fundamental frequency of Timer 1 is Fosc/64 bit1 = 0 The fundamental frequency source of Timer 1 is internal clock = 1 The fundamental frequency source of Timer 1 is external clock via RC.0 input pin bit2 = 0 The specified waveform of the MFP generator is delivered at the MFP output pin = 1 The specified frequency of the Timer 1 is delivered at the MFP output pin bit3 = 0 Timer 1 stop down-counting = 1 Timer 1 start down-counting - 68 - W741E260 Instruction Set Table 2, continued MOV PAGE, #I Load immediate data to Page Register Machine Code: 0 1 0 1 0 1 1 0 1 0 0 0 I3 I2 I1 I0 Machine Cycle: 1 Operation: Page Register ← I Description: The immediate data I are loaded to the PR. Bit 3 is reserved. Bit 0, bit 1, and bit 2 indirect addressing mode preselect bits: bit2 bit1 bit0 0 0 0 = Page 0 (00H~0FH) 0 0 1 = Page 1 (10H~1FH) 0 1 0 = Page 2 (20H~2FH) 0 1 1 = Page 3 (30H~3FH) 1 0 0 = Page 4 (40H~4FH) 1 0 1 = Page 5 (50H~5FH) 1 1 0 = Page 6 (60H~6FH) 1 1 1 = Page 7 (70H~7FH) - 69 - Publication Release Date: March 1998 Revision A2 W741E260 Instruction Set Table 2, continued MOV PEF, #I Set/Reset Port Enable Flag Machine Code: 0 1 0 0 0 0 1 1 0 0 0 0 I3 I2 I1 I0 Machine Cycle: 1 Operation: Port enable flag control Description: The data specified by I can cause HOLD mode to be released or an interrupt to occur. The signal change on port RC is specified. I0~I7 MOV PM0, #I Signal change at port RC I0 = 1 RC0 I1 = 1 RC1 I2 = 1 RC2 I3 = 1 RC3 Set/Reset Port Mode 0 register Machine Code: 0 1 0 1 0 0 1 1 0 0 0 0 I3 I2 I1 Machine Cycle: 1 Operation: Set/Reset Port mode 0 register Description: I0 = 0: RA port is CMOS type; I0 = 1: RA port is NMOS type. I1 = 0: RB port is CMOS type; I1 = 1: RB port is NMOS type. I2 = 0: RC port pull-high resistor is disabled; I2 = 1: RC port pull-high resistor is enabled. I3 = 0: RD port pull-high resistor is disabled; I3 = 1: RD port pull-high resistor is enabled. - 70 - I0 W741E260 Instruction set table 2, continued MOV PM1, #I RA port independent Input/Output control Machine Code: 0 1 0 1 0 1 1 1 0 0 0 0 I3 I2 Machine Cycle: 1 Operation: RA port 4 pins input/output control is independent. Description: I0 = 0: RA.0 is output pin; I0 = 1: RA.0 is input pin. I1 = 0: RA.1 is output pin; I1 = 1: RA.1 is input pin. I2 = 0: RA.2 is output pin; I2 = 1: RA.2 is input pin. I3 = 0: RA.3 is output pin; I3 = 1: RA.3 is input pin. Default condition RA port is input mode (PM = 1111B). MOV PM2, #I RB port independent Input/Output control Machine Code: 0 1 0 1 0 1 1 1 1 0 0 0 I3 I2 Machine Cycle: 1 Operation: RB port 4 pins input/output control is independent. Description: I0 = 0: RB.0 is output pin; I0 = 1: RB.0 is input pin. I1 = 0: RB.1 is output pin; I1 = 1: RB.1 is input pin. I2 = 0: RB.2 is output pin; I2 = 1: RB.2 is input pin. I3 = 0: RB.3 is output pin; I3 = 1: RB.3 is input pin. Default condition RB port is input mode (PM2 = 1111B). - 71 - I1 I0 I1 I0 Publication Release Date: March 1998 Revision A2 W741E260 Instruction Set Table 2, continued MOV R, ACC Move ACC content to R Machine Code: 0 1 0 1 1 0 0 1 1 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: R ← (ACC) Description: The contents of the ACC are loaded to the data memory location addressed by R6 to R0. MOVA R, RA Input RA port data to ACC & R Machine Code: 0 1 0 1 1 0 1 1 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC , R ← [RA] Description: The data on port RA are loaded into the data memory location addressed by R6 to R0 and the ACC. Flag Affected: ZF MOVA Input RB port data to ACC & R R, RB Machine Code: 0 1 0 1 1 0 1 1 1 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC , R ← [RB] Description: The data on port RB are loaded into the data memory location addressed by R6 to R0 and the ACC. Flag Affected: ZF - 72 - W741E260 Instruction Set Table 2, continued MOVA R, RC Input RC port data to ACC & R Machine Code: 0 1 0 0 1 0 1 1 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC , R ← [RC] Description: The input data on the input port RC are loaded into the data memory location addressed by R6 to R0 and the ACC. Flag Affected: ZF MOVA R, RD Input RD port data to ACC & R Machine Code: 0 1 0 0 1 0 1 1 1 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC , R ← [RD] Description: The input data on the input port RD are loaded into the data memory location addressed by R6 to R0 and the ACC. Flag Affected: ZF MOV Move WR content to R R, WR Machine Code: 1 1 1 1 1 W3 W2 W1 W0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: R ← (WR) Description: The contents of the WR are loaded to the data memory location addressed by R6 to R0. - 73 - Publication Release Date: March 1998 Revision A2 W741E260 Instruction Set Table 2, continued MOV R, #I Load immediate data to R Machine Code: 1 0 1 1 1 I3 I2 I1 I0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: R←I Description: The immediate data I are loaded to the data memory location addressed by R6 to R0. MOV Output R content to RA port RA, R Machine Code: 0 1 0 1 1 0 1 0 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: [RA] ← (R) Description: The data in the data memory location addressed by R6 to R0 are output to the port RA. MOV Output R content to RB port RB, R Machine Code: Machine Cycle: Operation: Description: MOV RE, R 0 1 0 1 1 0 1 0 1 R6 R5 R4 R3 R2 R1 R0 6 1 [RB] ← (R) The contents of the data memory location addressed by R6 to R0 are output to the port RB. Output R content to port RE Machine Code: 0 1 0 1 1 1 1 0 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: [RE] ← (R) Description: The contents of the data memory location addressed by R6 to R0 are output to port RE. - 74 - W741E260 Instruction Set Table 2, continued MOV SCR, #I System Clock Register control Machine Code: 0 1 0 1 0 1 0 0 0 0 0 0 I3 I2 I1 I0 Machine Cycle: 1 Operation: System clock control Description: If the operation mode is the dual clock operation selected by the option codes, the system clock and oscillator can be arranged by controlling the system clock register. This command is just for the W741C260 body. SCR bits decription: MOV SEF, #I Bit 0 = 0, Fosc=Fm = 1, Fosc=Fs Bit 1 = 0, main oscillator is enabled = 1, main oscillator is disabled Bit 2 Reserved Bit 3 = 0, divider 1 is 14-stage = 1, divider 1 is 13-stage Set/Reset STOP mode waked-up Enable Flag for port RC Machine Code: 0 1 0 1 0 0 1 0 0 0 0 0 I3 I2 I1 I0 Machine Cycle: 1 Operation: Set/reset STOP mode wake-up enable flag for port RC Description: The data specified by I cause a wake-up from the STOP mode. The fallingedge signal on port RC can be specified independently. I0~I7 Falling edge signal at port RC I0 = 1 RC0 I1 = 1 RC1 I2 = 1 RC2 I3 = 1 RC3 - 75 - Publication Release Date: March 1998 Revision A2 W741E260 Instruction Set Table 2, continued MOV TM0, #I Timer 0 set Machine Code: 0 0 0 1 0 0 0 0 I7 I6 I5 I4 I3 I2 I1 I0 Machine Cycle: 1 Operation: Timer 0 set Description: The data specified by I7 to I0 is loaded to the Timer 0 to start the timer. MOV TM0L, R Move R content to TM0L Machine Code: 0 0 0 1 0 1 0 0 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: TM0L ← (R) Description: The contents of the data memory location addressed by R6 to R0 are loaded into the TM0L. MOV TM0H, R Move R content to TM0H Machine code: 0 0 0 1 0 1 0 0 1 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: TM0H ← (R) Description: The contents of the data memory location addressed by R6 to R0 are loaded into the TM0H. MOV TM1, #I Timer 1 set Machine Code: 0 0 0 1 0 0 0 1 I7 I6 I5 I4 I3 I2 I1 I0 Machine Cycle: 1 Operation: Timer 1 set Description: The data specified by I7 to I0 is loaded to the Timer 1 to start the timer. - 76 - W741E260 Instruction Set Table 2, continued MOV TM1L, R Move R content to TM1L Machine Code: 0 0 0 1 0 1 0 1 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: TM1L ← (R) Description: The contents of the data memory location addressed by R6 to R0 are loaded into the TM1L. MOV TM1H, R Move R content to TM1H Machine code: 0 0 0 1 0 1 0 1 1 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: TM1H ← (R) Description: The contents of the data memory location addressed by R6 to R0 are loaded into the TM1H. MOV WR, LCDR Load LCDR content to WR Machine Code: 0 1 0 0 0 1 1 D4 D3 D2 D1 D0 W3 W2 W1 W0 Machine Cycle: 1 Operation: WR ← (LCDR) Description: The contents of the LCD data RAM location addressed by D4 to D0 are loaded to the WR. MOV Move R content to WR WR, R Machine Code: 1 1 1 0 1 W3 W2 W1 W0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: WR ← (R) Description: The contents of the data memory location addressed by R6 to R0 are loaded to the WR. - 77 - Publication Release Date: March 1998 Revision A2 W741E260 Instruction Set Table 2, continued MOV WR, @R Indirect load from R to WR Machine Code: 1 1 0 0 1 W3 W2 W1 W0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 2 Operation: WR ← [PR (bit2, bit1, bit0) × 10H + (R)] Description: The data memory contents of address [PR (bit2, bit1, bit0) × 10H + (R)] are loaded to the WR. MOV Indirect load from WR to R @R, WR Machine Code: 1 1 0 1 1 W3 W2 W1 W0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 2 Operation: [PR (bit2, bit1, bit0) × 10H + (R)] ← WR Description: The contents of the WR are loaded to the data memory location addressed by [PR (bit2, bit1, bit0) × 10H + (R)] . MOV PAGE, R Move R content to Page Register Machine Code: 0 1 0 1 1 1 1 0 1 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: PR ← (R) Description: The contents of the data memory location addressed by R6 to R0 are loaded to the PR. - 78 - W741E260 Instruction Set Table 2, continued MOVA R, CF Move CF content to ACC.0 & R.0 Machine Code: 0 1 0 1 1 0 0 1 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC.0, R.0 ← (CF) Description: The content of CF is loaded to bit 0 of the data memory location addressed by R6 to R0 and the ACC. The other bits of the data memory and ACC are reset to "0." Flag Affected: ZF MOVA R, HCFH Move HCF4~7 to ACC & R Machine Code: 0 1 0 0 1 0 0 1 1 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC, R ← HCF4~7 Description: The contents of HCF bit 4 to bit 7 (HCF4 to HCF7) are loaded to the data memory location addressed by R6 to R0 and the ACC. The ACC contents and the meaning of the bits after execution of this instruction are as follows: Flag Affected: Bit 0 HCF4: "1" when the HOLD mode is released by overflow from Divide r 1 for the W741C260 body; HCF4: "1" when the HOLD mode is released by the falling edge signal at the INT pin for the W741C250 body. Bit 1 HCF7: "1" when the HOLD mode is released by underflow from Timer 1. Bit 2 Reserved. Bit 3 Reserved. ZF - 79 - Publication Release Date: March 1998 Revision A2 W741E260 Instruction Set Table 2, continued MOVA R, HCFL Move HCF0~3 to ACC & R Machine Code: 0 1 0 0 1 0 0 1 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC, R ← HCF0~3 Description: The contents of HCF bit 0 to bit 3 (HCF0 to HCF3) are loaded to the data memory location addressed by R6 to R0 and the ACC. The ACC contents and the meaning of the bits after execution of this instruction are as follows: Bit 0 HCF0: "1" when the HOLD mode is released by overflow from the Divider 0. Bit 1 HCF1: "1" when the HOLD mode is released by underflow from Timer 0. Bit 2 HCF2: "1" when the HOLD mode is released by a signal change on port RC. Bit 3 Reserved. Flag Affected: ZF MOVA R, PAGE Move Page Register content to ACC & R Machine Code: 0 1 0 1 1 1 1 1 1 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC , R ← (Page Register) Description: The contents of the Page Register (PR) are loaded to the data memory location addressed by R6 to R0 and the ACC. Flag Affected: ZF - 80 - W741E260 Instruction Set Table 2, continued MOVA R, PSR0 Move Port Status Register 0 content to ACC & R Machine Code: 0 1 0 0 1 1 1 1 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC, R ← RC port signal change flag (PSR0) Description: The contents of the RC port signal change flag (PSR0) are loaded to the data memory location addressed by R6 to R0 and the ACC. When the signal changes on any pin of the RC port, the corresponding signal change flag should be set to 1. Otherwise, it should be 0. Flag Affected: ZF MOVA Move WR content to ACC & R R, WR Machine Code: 0 1 1 1 1 W3 W2 W1 W0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC, R ← (WR) Description: The contents of the WR are loaded to the ACC and the data memory location addressed by R6 to R0. Flag Affected: ZF MOVA Move R content to ACC & WR WR, R Machine Code: 0 1 1 0 1 W3 W2 W1 W0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC, WR ← (R) Description: The contents of the data memory location addressed by R6 to R0 are loaded to the WR and the ACC. Flag Affected: ZF - 81 - Publication Release Date: March 1998 Revision A2 W741E260 Instruction Set Table 2, continued MOV TABL, R Move R content to TABL Machine Code: 1 0 0 1 1 0 0 0 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: TABL ← (R) Description: The contents of the data memory location addressed by R6 to R0 are loaded into the TABL. MOV TABH, R Move R content to TABH 1 Machine code: 0 0 1 1 0 0 0 1 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: TABH ← (R) Description: The contents of the data memory location addressed by R6 to R0 are loaded into the TABH. MOVC R Move look-up table ROM addressed by TABL and TABH to R 1 Machine code: 0 0 1 1 0 0 1 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 2 Operation: WR ← [(TABH) × 10H + (TABL)] Description: The contents of the look-up table ROM location addressed by TABH and TABL are loaded to R. - 82 - W741E260 Instruction Set Table 2, continued MOVC WR, #I Move look-up table ROM addressed by #I and ACC to WR 1 Machine code: 0 1 0 1 W3 W2 W1 W0 I6 I5 I4 I3 I2 I1 I0 Machine Cycle: 2 Operation: WR ← [(I6 ~ I0) × 10H + (ACC)] Description: The contents of the look-up table ROM location addressed by I6 to I0 and the ACC are loaded to R. NOP No Operation 0 Machine Code: 0 0 0 Machine Cycle: 1 Operation: No Operation ORL OR R to ACC R, ACC 0 Machine Code: 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC ← (R) ∧ (ACC) Description: The contents of the data memory location addressed by R6 to R0 and the ACC are ORed and the result is loaded into the ACC. Flag Affected: ZF - 83 - Publication Release Date: March 1998 Revision A2 W741E260 Instruction Set Table 2, continued ORL WR , #I OR immediate data to WR Machine Code: 0 0 1 1 1 1 1 0 I3 I2 I1 I0 W3 W2 W1 W0 Machine Cycle: 1 Operation: ACC ← (WR) ∧ I Description: The contents of the Working Register (WR) and the immediate data I are ORed and the result is loaded into the ACC. Flag Affected: ZF ORLR R, ACC OR R to ACC Machine Code: 0 0 1 1 1 0 1 1 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC, R ← (R) ∧ (ACC) Description: The contents of the data memory location addressed by R6 to R0 and the ACC are ORed and the result is placed in the data memory and the ACC. Flag Affected: ZF ORLR WR , #I OR immediate data to WR 0 Machine Code: 0 1 1 1 1 1 1 I3 I2 I1 I0 W3 W2 W1 W0 Machine Cycle: 1 Operation: ACC, WR ← (WR) ∧ I Description: The contents of the Working Register(WR) and the immediate data I are ORed and the result is placed in the WR and the ACC. Flag Affected: ZF - 84 - W741E260 Instruction Set Table 2, continued RLC R Rotate Left R with CF Machine Code: 0 1 0 0 1 1 0 0 1 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC.n, R.n ← (R.n-1); ACC.0, R.0 ← CF; CF ← R.3 Description: The contents of the ACC and the data memory location addressed by R6 to R0 are rotated left one bit, bit 3 is rotated into CF, and CF rotated into bit 0 (LSB). The same contents are loaded into the ACC. Flag Affected: CF & ZF RRC Rotate Right R with CF R Machine Code: 0 1 0 0 1 1 0 1 1 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC.n, R.n ← (R.n+1); ACC.3, R.3 ← CF; CF ← R.0 Description: The contents of the ACC and the data memory location addressed by R6 to R0 are rotated right one bit, bit 0 is rotated into CF, and CF is rotated into bit 3 (MSB). The same contents are loaded into the ACC. Flag Affected: CF & ZF RTN Return from subroutine Machine Code: 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 Machine Cycle: 1 Operation: (PC) ← STACK Description: The program counter (PC10 to PC0) is restored from the stack. A return from a subroutine occurs. - 85 - Publication Release Date: March 1998 Revision A2 W741E260 Instruction Set Table 2, continued SBC R, ACC Subtract ACC from R with Borrow Machine Code: 0 0 0 0 1 0 1 0 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC ← (R) - (ACC) - (CF) Description: The contents of the ACC and CF are binary subtracted from the contents of the data memory location addressed by R6 to R0 and the result is loaded into the ACC. Flag Affected: CF & ZF SBC Subtract immediate data from WR with Borrow WR, #I Machine Code: 0 0 0 0 1 1 1 0 I3 I2 I1 I0 W3 W2 W1 W0 Machine Cycle: 1 Operation: ACC ← (WR) - I - (CF) Description: The immediate data I and CF are binary subtracted from the contents of the WR and the result is loaded into the ACC. Flag Affected: CF & ZF SBCR R, ACC Subtract ACC from R with Borrow Machine Code: 0 0 0 0 1 0 1 1 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC, R ← (R) - (ACC) - (CF) Description: The contents of the ACC and CF are binary subtracted from the contents of the data memory location addressed by R6 to R0 and the result is placed in the ACC and the data memory. Flag Affected: CF & ZF - 86 - W741E260 Instruction Set Table 2, continued SBCR WR, #I Subtract immediate data from WR with Borrow Machine Code: 0 0 0 0 1 1 1 1 I3 I2 I1 I0 W3 W2 W1 W0 Machine Cycle: 1 Operation: ACC, R ← (WR) - I - (CF) Description: The immediate data I and CF are binary subtracted from the contents of the WR and the result is placed in the ACC and the WR. Flag Affected: CF & ZF SET Set CF CF Machine Code: 0 1 0 1 0 Machine Cycle: 1 Operation: Set CF Description: Set Carry Flag to 1. Flag Affected: CF SET Set ParaMeter Flag PMF, #I Machine Code: 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 I3 I2 I1 I0 Machine Cycle: 1 Operation: Set Parameter Flag Description: Description of each flag: I0, I1, I2 : Reserved I3 = 1 : The input clock of the watchdog timer is Fosc/16384. - 87 - Publication Release Date: March 1998 Revision A2 W741E260 Instruction Set Table 2, continued SHLC R SHift Left R with CF and LSB = 0 Machine Code: 0 1 0 0 1 1 0 0 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC.n, R.n ← (R.n-1); ACC.0, R.0 ← 0; CF ← R.3 Description: The contents of the ACC and the data memory location addressed by R6 to R0 are shifted left one bit, but bit 3 is shifted into CF, and bit 0 (LSB) is replaced with "0." The same contents are loaded into the ACC. Flag Affected: CF & ZF SHRC SHift Right R with CF and MSB = 0 R Machine Code: 0 1 0 0 1 1 0 1 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC.n, R.n ← (R.n+1); ACC.3, R.3 ← 0; CF ← R.0 Description: The contents of the ACC and the data memory location addressed by R6 to R0 are shifted right one bit, but bit 0 is shifted into CF, and bit 3 (MSB) is replaced with "0." The same contents are loaded into the ACC. Flag Affected: CF & ZF SKB0 If bit 0 of R is equal to 1 then skip R Machine Code: 1 0 0 0 1 0 0 0 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: PC ← (PC) + 2; if R.0 = 1“1” Description: If bit 0 of R is equal to 1, the program counter is incremented by 2 and a skip is produced. If bit 0 of R is not equal to 1, the program counter (PC) is incremented. - 88 - W741E260 Instruction Set Table 2, continued SKB1 R If bit 1 of R is equal to 1 then skip Machine Code: 1 0 0 0 1 0 0 0 1 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: PC ← (PC) + 2; if R.1 = 1“1” Description: If bit 1 of R is equal to 1, the program counter is incremented by 2 and a skip is produced. If bit 1 of R is not equal to 1, the program counter (PC) is incremented. SKB2 If bit 2 of R is equal to 1 then skip R Machine Code: 1 0 0 0 1 0 1 0 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: PC ← (PC) + 2; if R.2 = 1“1” Description: If bit 2 of R is equal to 1, the program counter is incremented by 2 and a skip is produced. If bit 2 of R is not equal to 1. The program counter (PC) is incremented. SKB3 If bit 3 of R is equal to 1 then skip R Machine Code: 1 0 0 0 1 0 1 0 1 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: PC ← (PC) + 2; if R.3 = 1“1” Description: If bit 3 of R is equal to 1, the program counter is incremented by 2 and a skip is produced. If bit 3 of R is not equal to 1, the program counter (PC) is incremented. - 89 - Publication Release Date: March 1998 Revision A2 W741E260 Instruction Set Table 2, continued STOP Enter the STOP mode Machine Code: 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 Machine Cycle: 1 Operation: STOP oscillator Description: Device enters STOP mode. When the falling edge signal of RC port is accepted, the µC will wake up and execute the next instruction. SUB Subtract ACC from R R, ACC Machine Code: 0 0 0 1 1 0 1 0 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC ← (R) - (ACC) Description: The contents of the ACC are binary subtracted from the contents of the data memory location addressed by R6 to R0 and the result is loaded into the ACC. Flag Affected: CF & ZF SUB Subtract immediate data from WR WR , #I Machine Code: 0 0 0 1 1 1 1 0 I3 I2 I1 I0 W3 W2 W1 W0 Machine Cycle: 1 Operation: ACC ← (WR) - I Description: The immediate data I are binary subtracted from the contents of the WR and the result is loaded into the ACC. Flag Affected: CF & ZF - 90 - W741E260 Instruction Set Table 2, continued SUBR R, ACC Subtract ACC from R Machine Code: 0 0 0 1 1 0 1 1 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC, R ← (R) - (ACC) Description: The contents of the ACC are binary subtracted from the contents of the data memory location addressed by R6 to R0 and the result is placed in the ACC and the data memory. Flag Affected: CF & ZF SUBR Subtract immediate data from WR WR, #I Machine Code: 0 0 0 1 1 1 1 1 I3 I2 I1 I0 W3 W2 W1 W0 Machine Cycle: 1 Operation: ACC, WR ← (WR) - I Description: The immediate data I are binary subtracted from the contents of the WR and the result is placed in the ACC and the WR. Flag Affected: CF & ZF XRL Exclusive OR R to ACC R, ACC Machine Code: 0 0 1 1 1 0 0 0 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC ← (R) EX (ACC) Description: The contents of the data memory location addressed by R6 to R0 and the ACC are exclusive-ORed and the result is loaded into the ACC. Flag Affected: ZF - 91 - Publication Release Date: March 1998 Revision A2 W741E260 Instruction Set Table 2, continued XRL WR, #I Exclusive OR immediate data to WR Machine Code: 0 0 1 1 1 1 0 0 I3 I2 I1 I0 W3 W2 W1 W0 Machine Cycle: 1 Operation: ACC ← (WR) EX I Description: The contents of the Working Register (WR) and the immediate data I are exclusive-ORed and the result is loaded into the ACC. Flag Affected: ZF XRLR R, ACC Exclusive OR R to ACC Machine Code: 0 0 1 1 1 0 0 1 0 R6 R5 R4 R3 R2 R1 R0 Machine Cycle: 1 Operation: ACC, R ← (R) EX (ACC) Description: The contents of the data memory location addressed by R6 to R0 and the ACC are exclusive-ORed and the result is placed in the data memory and the ACC. Flag Affected: ZF XRLR Exclusive OR immediate data to WR WR, #I Machine Code: 0 0 1 1 1 1 0 1 I3 I2 I1 I0 W3 W2 W1 W0 Machine Cycle: 1 Operation: ACC, WR ← (WR) EX I Description: The contents of the Working Register(WR) and the immediate data I are exclusive-ORed and the result is placed in the WR and the ACC. Flag Affected: ZF - 92 - W741E260 PACKAGE DIMENSIONS 80-Lead QFP HD D 80 65 64 1 E E H 24 41 25 e b 40 c 2 A A Seating Plane 1 See Detail F L A y L1 Symbol A A1 A2 b c D E e HD HE L L1 y 0 Detail F Dimension in mm Dimension in inches Min. Nom Max. Min. Nom Max. 0.130 3.30 0.004 0.10 0.107 0.112 0.117 2.73 2.85 2.97 0.012 0.014 0.018 0.30 0.35 0.45 0.004 0.006 0.010 0.10 0.15 0.25 0.546 0.551 0.556 13.87 14.00 14.13 20.00 20.13 0.782 0.787 0.792 19.87 0.025 0.031 0.037 0.65 0.80 0.728 0.740 0.752 18.49 18.80 19.10 0.964 0.976 0.988 24.49 24.80 25.10 0.039 0.047 0.055 1.00 1.20 1.40 0.087 0.094 0.103 2.21 2.40 2.62 0.004 0 12 0.95 0.10 0 - 93 - 12 Publication Release Date: March 1998 Revision A2 W741E260 NOTES: Headquarters Winbond Electronics (H.K.) Ltd. Rm. 803, World Trade Square, Tower II, No. 4, Creation Rd. III, 123 Hoi Bun Rd., Kwun Tong, Science-Based Industrial Park, Kowloon, Hong Kong Hsinchu, Taiwan TEL: 852-27513100 TEL: 886-3-5770066 FAX: 852-27552064 FAX: 886-3-5792766 http://www.winbond.com.tw/ Voice & Fax-on-demand: 886-2-27197006 Taipei Office 11F, No. 115, Sec. 3, Min-Sheng East Rd., Taipei, Taiwan TEL: 886-2-27190505 FAX: 886-2-27197502 Note: All data and specifications are subject to change without notice. - 94 - Winbond Electronics North America Corp. Winbond Memory Lab. Winbond Microelectronics Corp. Winbond Systems Lab. 2727 N. First Street, San Jose, CA 95134, U.S.A. TEL: 408-9436666 FAX: 408-5441798