To all our customers Regarding the change of names mentioned in the document, such as Mitsubishi Electric and Mitsubishi XX, to Renesas Technology Corp. The semiconductor operations of Hitachi and Mitsubishi Electric were transferred to Renesas Technology Corporation on April 1st 2003. These operations include microcomputer, logic, analog and discrete devices, and memory chips other than DRAMs (flash memory, SRAMs etc.) Accordingly, although Mitsubishi Electric, Mitsubishi Electric Corporation, Mitsubishi Semiconductors, and other Mitsubishi brand names are mentioned in the document, these names have in fact all been changed to Renesas Technology Corp. Thank you for your understanding. Except for our corporate trademark, logo and corporate statement, no changes whatsoever have been made to the contents of the document, and these changes do not constitute any alteration to the contents of the document itself. Note : Mitsubishi Electric will continue the business operations of high frequency & optical devices and power devices. Renesas Technology Corp. Customer Support Dept. April 1, 2003 MITSUBISHI 8-BIT SINGLE-CHIP MICROCOMPUTER 740 FAMILY / 38000 SERIES 3822 User’s Manual Group keep safety first in your circuit designs ! ● Mitsubishi Electric Corporation puts the maximum effort into making semiconductor products better and more reliable, but there is always the possibility that trouble may occur with them. Trouble with semiconductors may lead to personal injury, fire or property damage. Remember to give due consideration to safety when making your circuit designs, with appropriate measures such as (i) placement of substitutive, auxiliary circuits, (ii) use of non-flammable material or (iii) prevention against any malfunction or mishap. Notes regarding these materials ● These materials are intended as a reference to assist our customers in the selection of the Mitsubishi semiconductor product best suited to the customer’s application; they do not convey any license under any intellectual property rights, or any other rights, belonging to Mitsubishi Electric Corporation or a third party. ● Mitsubishi Electric Corporation assumes no responsibility for any damage, or infringement of any third-party’s rights, originating in the use of any product data, diagrams, charts or circuit application examples contained in these materials. ● All information contained in these materials, including product data, diagrams and charts, represent information on products at the time of publication of these materials, and are subject to change by Mitsubishi Electric Corporation without notice due to product improvements or other reasons. It is therefore recommended that customers contact Mitsubishi Electric Corporation or an authorized Mitsubishi Semiconductor product distributor for the latest product information before purchasing a product listed herein. ● Mitsubishi Electric Corporation semiconductors are not designed or manufactured for use in a device or system that is used under circumstances in which human life is potentially at stake. Please contact Mitsubishi Electric Corporation or an authorized Mitsubishi Semiconductor product distributor when considering the use of a product contained herein for any specific purposes, such as apparatus or systems for transportation, vehicular, medical, aerospace, nuclear, or undersea repeater use. ● The prior written approval of Mitsubishi Electric Corporation is necessary to reprint or reproduce in whole or in part these materials. ● If these products or technologies are subject to the Japanese export control restrictions, they must be exported under a license from the Japanese government and cannot be imported into a country other than the approved destination. Any diversion or reexport contrary to the export control laws and regulations of JAPAN and/or the country of destination is prohibited. ● Please contact Mitsubishi Electric Corporation or an authorized Mitsubishi Semiconductor product distributor for further details on these materials or the products contained therein. Preface This user’s manual describes Mitsubishi’s CMOS 8bit microcomputers 3822 Group. After reading this manual, the user should have a through knowledge of the functions and features of the 3822 Group, and should be able to fully utilize the product. The manual starts with specifications and ends with application examples. For details of software, refer to the “SERIES 740 <SOFTWARE> USER’S MANUAL.” BEFORE USING THIS USER’S MANUAL This user’s manual consists of the following three chapters. Refer to the chapter appropriate to your conditions, such as hardware design or software development. 1. Organization ● CHAPTER 1 HARDWARE This chapter describes features of the microcomputer, operation of each peripheral function and electric characteristics. ● CHAPTER 2 APPLICATION This chapter describes usage and application examples of peripheral functions, based mainly on setting examples of related registers. ● CHAPTER 3 APPENDIX This chapter includes precautions for systems development using the microcomputer, a list of control registers, the masking confirmation forms (mask ROM version), ROM programming confirmation forms (One Time PROM version) and mark specification forms which are to be submitted when ordering. 2. Structure of register The figure of each register structure describes its functions, contents at reset, and attributes as follows : Bits Bit attributes (Note 2) Values immediately after reset release (Note 1) b7 b6 b5 b4 b3 b2 b1 b0 1 CPU mode register (CPUM) [Address:3B16] B 0 Name Processor mode bits 1 2 3 4 5 Stack page selection bit Fix this bit to “1.” Port XC switch bit Main clock (XIN–XOUT) stop bit 6 Main clock division ratio selection bit 7 Internal system clock selection bit : Bit in which nothing is allocated Functions b1b0 00: Single-chip mode 01: 10: Not available 11: 0 : 0 page 1 : 1 page 0 : I/O port 1 : XCIN, XCOUT 0 : Oscillating 1 : Stopped 0 : f(XIN)/2 (high-speed mode) 1 : f(XIN)/8 (middle-speed mode) 0 : XIN-XOUT selected (middle-/high-speed mode) 1 : XCIN-XCOUT selected (low-speed mode) At reset R W 0 0 0 1 0 1 1 ✕ 0 1 0 : Bit that is not used for control of the corresponding function Notes 1: Values immediately after reset release 0••••••“0” at reset release 1••••••“1” at reset release ?••••••Undefined or reset release 2: Bit attributes••••••The attributes of control register bits are classified into 3 types : read-only, write-only and read and write. In the figure, these attributes are represented as follows : R••••••Read W••••••Write ••••••Write enabled ••••••Read enabled ✕ ••••••Write disabled ✕ ••••••Read disabled ✽ ••••••Only “0” write enabled 0 ••••••Fixed to “0” 0 ••••••Fix to “0” 1 ••••••Fixed to “1” 1 ••••••Fix to “1” Table of contents Table of contents CHAPTER 1. HARDWARE Description ..................................................................................................................................... 1-2 Features .......................................................................................................................................... 1-2 Applications ................................................................................................................................... 1-2 Pin configuration .......................................................................................................................... 1-3 Functional block diagram ........................................................................................................... 1-4 Pin description .............................................................................................................................. 1-5 Part numbering .............................................................................................................................1-7 Group expansion .......................................................................................................................... 1-8 Group expansion (extended operating temperature version) .............................................. 1-9 Functional description ............................................................................................................... 1-10 Central processing unit (CPU) ................................................................................................ 1-10 CPU mode register ................................................................................................................. 1-10 Memory................................................................................................................................... 1-11 I/O ports .................................................................................................................................. 1-13 Interrupts ................................................................................................................................ 1-18 Timers..................................................................................................................................... 1-21 Serial I/O................................................................................................................................. 1-25 A-D converter ......................................................................................................................... 1-29 LCD drive control circuit ......................................................................................................... 1-30 φ clock output function ............................................................................................................ 1-36 Reset circuit ............................................................................................................................ 1-37 Clock generating circuit .......................................................................................................... 1-39 Notes on programming ........................................................................................................... 1-42 Data required for mask orders ................................................................................................ 1-43 Absolute maximum ratings ..................................................................................................... 1-44 Recommended operating conditions ...................................................................................... 1-44 Electrical characteristics ......................................................................................................... 1-46 A-D converter characteristics ................................................................................................. 1-48 Timing requirements 1 ............................................................................................................ 1-49 Timing requirements 2 ............................................................................................................ 1-49 Switching characteristics 1 ..................................................................................................... 1-50 Switching characteristics 2 ..................................................................................................... 1-50 Timing diagram ....................................................................................................................... 1-51 CHAPTER 2. APPLICATION 2.1 I/O pins .................................................................................................................................... 2-2 2.1.1 I/O ports ........................................................................................................................... 2-2 2.1.2 Function pins ................................................................................................................... 2-7 2.1.3 Application examples....................................................................................................... 2-8 2.1.4 Notes on use ................................................................................................................. 2-12 2.2 Interrupts ............................................................................................................................... 2-15 2.2.1 Explanation of operations .............................................................................................. 2-15 2.2.2 Control ........................................................................................................................... 2-19 2.2.3 Related registers ........................................................................................................... 2-22 2.2.4 INT interrupts ................................................................................................................. 2-28 2.2.5 Key input interrupt ......................................................................................................... 2-29 2.2.6 Notes on use ................................................................................................................. 2-31 i 3822 GROUP USER’S MANUAL Table of contents 2.3 Timer X and timer Y .......................................................................................................... 2-32 2.3.1 Explanation of timer X operations .................................................................................. 2-32 2.3.2 Explanation of timer Y operations .................................................................................. 2-42 2.3.3 Related registers ........................................................................................................... 2-50 2.3.4 Register setting example ............................................................................................... 2-65 2.3.5 Application examples ..................................................................................................... 2-74 2.3.6 Notes on use ................................................................................................................. 2-81 2.4 Timer 1, timer 2, and timer 3 .......................................................................................... 2-84 2.4.1 Explanation of operations .............................................................................................. 2-84 2.4.2 Related registers ........................................................................................................... 2-89 2.4.3 Register setting example ............................................................................................... 2-98 2.4.4 Application example ......................................................................................................2-99 2.4.5 Notes on use ............................................................................................................... 2-101 2.5 Serial I/O ............................................................................................................................. 2-102 2.5.1 Explanation of operations ............................................................................................ 2-102 2.5.2 Pins .............................................................................................................................. 2-119 2.5.3 Related registers ......................................................................................................... 2-120 2.5.4 Register setting example ............................................................................................. 2-128 2.5.5 Notes on use ............................................................................................................... 2-138 2.6 A-D converter ..................................................................................................................... 2-140 2.6.1 Explanation of operations ............................................................................................ 2-140 2.6.2 Conversion method ..................................................................................................... 2-141 2.6.3 Pins .............................................................................................................................. 2-145 2.6.4 Related registers ......................................................................................................... 2-146 2.6.5 Measuring various A-D converter standard characteristics ......................................... 2-154 2.6.6 Register setting example ............................................................................................. 2-156 2.6.7 Application example .................................................................................................... 2-161 2.6.8 Notes on use ............................................................................................................... 2-163 2.7 LCD drive control circuit ................................................................................................. 2-164 2.7.1 Explanation of operations ............................................................................................ 2-164 2.7.2 Pins .............................................................................................................................. 2-165 2.7.3 Related registers ......................................................................................................... 2-168 2.7.4 Register setting example ............................................................................................. 2-175 2.7.5 Application examples ................................................................................................... 2-177 2.7.6 Notes on use ............................................................................................................... 2-181 2.8 Standby function ............................................................................................................... 2-182 2.8.1 Stop mode ................................................................................................................... 2-182 2.8.2 Wait mode ................................................................................................................... 2-187 2.8.3 State transitions of internal clock φ ...................................................................................... 2-190 2.9 Reset .................................................................................................................................... 2-191 2.9.1 Explanation of operations ............................................................................................ 2-191 2.9.2 Internal state of the microcomputer immediately after reset release ........................... 2-193 2.9.3 Reset circuit ................................................................................................................. 2-194 2.9.4 Notes on the RESET pin ............................................................................................. 2-195 2.10 Oscillation circuit .............................................................................................................2-196 2.10.1 Oscillation circuit........................................................................................................ 2-196 2.10.2 Internal clock φ .......................................................................................................... 2-198 2.10.3 Oscillating operation .................................................................................................. 2-200 2.10.4 Oscillation stabilizing time ......................................................................................... 2-203 3822 GROUP USER’S MANUAL ii Table of contents CHAPTER 3. APPENDIX 3.1 Built-in PROM version .......................................................................................................... 3-2 3.1.1 Product expansion ........................................................................................................... 3-2 3.1.2 Performance overview ..................................................................................................... 3-3 3.1.3 Pin configuration .............................................................................................................. 3-4 3.1.4 Functional block diagram ................................................................................................ 3-7 3.1.5 Notes on use ................................................................................................................... 3-8 3.2 Countermeasures against noise ....................................................................................... 3-10 3.2.1 Shortest wiring length .................................................................................................... 3-10 3.2.2 Connection of a bypass capacitor across the VSS line and the VCC line ....................... 3-11 3.2.3 Wiring to analog input pins ............................................................................................ 3-12 3.2.4 Oscillator concerns ........................................................................................................ 3-12 3.2.5 Installing an oscillator away from signal lines where potential levels change frequently............................ 3-13 3.2.6 Oscillator protection using VSS pattern .......................................................................... 3-13 3.2.7 Set up for I/O ports ........................................................................................................ 3-13 3.2.8 Providing of watchdog timer function by software ......................................................... 3-14 3.3 Control registers .................................................................................................................. 3-15 3.4 List of instruction codes ................................................................................................... 3-29 3.5 Machine instructions ........................................................................................................... 3-30 3.6 Mask ROM ordering method ............................................................................................. 3-40 3.7 Mark specification form ..................................................................................................... 3-44 3.8 Package outlines ................................................................................................................. 3-46 3.9 SFR allocation ...................................................................................................................... 3-48 3.10 Pin configuration ............................................................................................................... 3-49 iii 3822 GROUP USER’S MANUAL List of figures List of figures CHAPTER 1. HARDWARE Fig. 1 Pin configuration of M38223M4-XXXFP .................................................................................. 1-2 Fig. 2 Pin configuration of M38223M4-XXXGP/HP ........................................................................... 1-3 Fig. 3 Function block diagram ........................................................................................................... 1-4 Fig. 4 Part numbering ........................................................................................................................ 1-7 Fig. 5 Memory expansion plan (1) ..................................................................................................... 1-8 Fig. 6 Memory expansion plan (2) ..................................................................................................... 1-9 Fig. 7 Structure of CPU mode register ............................................................................................ 1-10 Fig. 8 Memory map diagram ............................................................................................................ 1-11 Fig. 9 Memory map of special function register (SFR) .................................................................... 1-12 Fig. 10 Structure of PULL register A and PULL register B .............................................................. 1-13 Fig. 11 Port block diagram (1) ......................................................................................................... 1-15 Fig. 12 Port block diagram (2) ......................................................................................................... 1-16 Fig. 13 Port block diagram (3) ......................................................................................................... 1-17 Fig. 14 Interrupt control ................................................................................................................... 1-19 Fig. 15 Structure of interrupt-related registers ................................................................................. 1-19 Fig. 16 Connection example when input interrupt and port P2 block diagram ................................ 1-20 Fig. 17 Timer block diagram ............................................................................................................ 1-21 Fig. 18 Structure of timer X mode register ....................................................................................... 1-22 Fig. 19 Structure of timer Y mode register ....................................................................................... 1-23 Fig. 20 Structure of timer 123 mode register ................................................................................... 1-24 Fig. 21 Block diagram of clock synchronous serial I/O .................................................................... 1-25 Fig. 22 Operation of clock synchronous serial I/O function ............................................................. 1-25 Fig. 23 Block diagram of UART serial I/O ........................................................................................ 1-26 Fig. 24 Operation of UART serial I/O function ................................................................................. 1-26 Fig. 25 Structure of serial I/O control registers ................................................................................ 1-28 Fig. 26 Structure of A-D control register .......................................................................................... 1-29 Fig. 27 A-D converter block diagram ............................................................................................... 1-29 Fig. 28 Structure of segment output enable register and LCD mode register ................................. 1-30 Fig. 29 Block diagram of LCD controller/driver ................................................................................ 1-31 Fig. 30 Example of circuit at each bias ............................................................................................ 1-32 Fig. 31 LCD display RAM map ........................................................................................................ 1-33 Fig. 32 LCD drive waveform (1/2 bias) ............................................................................................ 1-34 Fig. 33 LCD drive waveform (1/3 bias) ............................................................................................ 1-35 Fig. 34 Structure of φ output control register ................................................................................... 1-36 Fig. 35 Example of reset circuit ....................................................................................................... 1-37 Fig. 36 Internal status of microcomputer immediately after reset .................................................... 1-37 Fig. 37 Reset sequence ................................................................................................................... 1-38 Fig. 38 Ceramic resonator circuit ..................................................................................................... 1-39 Fig. 39 External clock input circuit ................................................................................................... 1-39 Fig. 40 System clock generating circuit block diagram .................................................................... 1-40 Fig. 41 State transitions of internal clock φ ............................................................................................... 1-41 Fig. 42 Programming and testing of One Time PROM version ....................................................... 1-43 Fig. 43 Circuit for measuring output switching characteristics ........................................................ 1-50 Fig. 44 Timing diagram .................................................................................................................... 1-51 3822 GROUP USER’S MANUAL i List of figures CHAPTER 2. APPLICATION Fig. 2.1.1 I/O port write and read ....................................................................................................... 2-2 Fig. 2.1.2 Structure of port Pi (i = 2, 4 to 7) direction register ............................................................ 2-3 Fig. 2.1.3 Structure of ports P0 and P1 direction registers ................................................................ 2-4 Fig. 2.1.4 Port direction register setting example .............................................................................. 2-5 Fig. 2.1.5 Structure of PULL register A .............................................................................................. 2-6 Fig. 2.1.6 Structure of PULL register B .............................................................................................. 2-6 Fig. 2.1.7 Connection example 1 for key input .................................................................................. 2-8 Fig. 2.1.8 Key input control procedure 1 ............................................................................................ 2-8 Fig. 2.1.9 Timing diagram 1 where switch A is pressed ....................................................................2-9 Fig. 2.1.10 Connection example 2 for key input .............................................................................. 2-10 Fig. 2.1.11 Key input control procedure 2 ........................................................................................ 2-10 Fig. 2.1.12 Timing diagram 2 where switch A is pressed ................................................................ 2-11 Fig. 2.2.1 Interrupt operation diagram .............................................................................................2-15 Fig. 2.2.2 Changes of stack pointer and program counter upon acceptance of interrupt request ... 2-17 Fig. 2.2.3 Processing time up to execution of interrupt processing routine ..................................... 2-18 Fig. 2.2.4 Timing after acceptance of interrupt request ................................................................... 2-18 Fig. 2.2.5 Interrupt control diagram ................................................................................................. 2-19 Fig. 2.2.6 Example of multiple interrupts ......................................................................................... 2-21 Fig. 2.2.7 Memory allocation of interrupt-related registers .............................................................. 2-22 Fig. 2.2.8 Structure of interrupt edge selection register ................................................................... 2-22 Fig. 2.2.9 Structure of interrupt request register 1 ...........................................................................2-23 Fig. 2.2.10 Structure of interrupt request register 2 ......................................................................... 2-24 Fig. 2.2.11 Structure of interrupt control register 1 .......................................................................... 2-25 Fig. 2.2.12 Structure of interrupt control register 2 .......................................................................... 2-26 Fig. 2.2.13 Structure of processor status register ............................................................................ 2-27 Fig. 2.2.14 Structure of interrupt edge selection register ................................................................. 2-28 Fig. 2.2.15 Connection example when key input interrupt is used, and port P2 block diagram ....................................... 2-29 Fig. 2.2.16 Setting values (corresponding to Figure 2.2.15) of key input interrupt-related registers ................................ 2-30 Fig. 2.2.17 Register setting example ............................................................................................... 2-31 Fig. 2.3.1 Timer mode operation example ....................................................................................... 2-33 Fig. 2.3.2 Pulse output mode operation example ............................................................................ 2-35 Fig. 2.3.3 Event counter mode operation example .......................................................................... 2-37 Fig. 2.3.4 Pulse width measurement mode operation example ....................................................... 2-39 Fig. 2.3.5 Timer mode operation example with real time port function ............................................ 2-41 Fig. 2.3.6 Timer mode operation example ....................................................................................... 2-43 Fig. 2.3.7 Period measurement mode operation example ............................................................... 2-45 Fig. 2.3.8 Event counter mode operation example .......................................................................... 2-47 Fig. 2.3.9 Pulse width HL continuously measurement mode operation example ............................ 2-49 Fig. 2.3.10 Memory allocation of timer X- and the timer Y-related registers ................................... 2-50 Fig. 2.3.11 Structure of port P5 direction register ............................................................................ 2-51 Fig. 2.3.12 Structure of timer X latch ............................................................................................... 2-52 Fig. 2.3.13 Structure of timer X counter ........................................................................................... 2-53 Fig. 2.3.14 Structure of timer Y latch ............................................................................................... 2-54 Fig. 2.3.15 Structure of timer Y counter ........................................................................................... 2-55 Fig. 2.3.16 Structure of timer X mode register ................................................................................. 2-56 Fig. 2.3.17 Structure of timer Y mode register ................................................................................. 2-59 Fig. 2.3.18 Structure of interrupt request register 1 ......................................................................... 2-61 Fig. 2.3.19 Structure of interrupt request register 2 ......................................................................... 2-62 Fig. 2.3.20 Structure of interrupt control register 1 .......................................................................... 2-63 Fig. 2.3.21 Structure of interrupt control register 2 .......................................................................... 2-64 Fig. 2.3.22 Example of setting registers for using timer mode ........................................................ 2-65 Fig. 2.3.23 Example of setting registers for using pulse output mode ............................................. 2-66 Fig. 2.3.24 Example of setting registers for using event counter mode ........................................... 2-67 Fig. 2.3.25 Example of setting registers for using pulse width measurement mode ....................... 2-68 Fig. 2.3.26 Example of setting registers for using real time port ..................................................... 2-69 Fig. 2.3.27 Example of setting registers for using timer mode ........................................................ 2-70 ii 3822 GROUP USER’S MANUAL List of figures Fig. 2.3.28 Example of setting registers for using period measurement mode ............................... 2-71 Fig. 2.3.29 Example of setting registers for using event counter mode ........................................... 2-72 Fig. 2.3.30 Example of setting registers for using pulse width HL continuously measurement mode .............................. 2-73 Fig. 2.3.31 Example of peripheral circuit ......................................................................................... 2-74 Fig. 2.3.32 Connection of timer and setting of division ratio ............................................................ 2-74 Fig. 2.3.33 Setting of related registers ............................................................................................. 2-75 Fig. 2.3.34 Control procedure .......................................................................................................... 2-75 Fig. 2.3.35 Example of peripheral circuit ......................................................................................... 2-76 Fig. 2.3.36 Setting of related registers ............................................................................................. 2-76 Fig. 2.3.37 Ringer signal waveform ................................................................................................. 2-77 Fig. 2.3.38 Operation timing when ringer signal is input .................................................................. 2-77 Fig. 2.3.39 Control procedure .......................................................................................................... 2-78 Fig. 2.3.40 Timer X interrupt processing procedure example when real time port is used .............. 2-79 Fig. 2.3.41 Application connection example when RTP is used ...................................................... 2-80 Fig. 2.3.42 RTP output example ...................................................................................................... 2-80 Fig. 2.4.1 Timer mode operation example ....................................................................................... 2-85 Fig. 2.4.2 Rewriting example of counter and latch corresponding to timers 1 or 3 .......................... 2-86 Fig. 2.4.3 Rewriting example of timer 2 counter and timer 2 latch (Writing in timer 2 latch only) .... 2-87 Fig. 2.4.4 Pulse output example ...................................................................................................... 2-88 Fig. 2.4.5 Memory allocation of timer-related registers ................................................................... 2-89 Fig. 2.4.6 Structure of latches .......................................................................................................... 2-90 Fig. 2.4.7 Structure of timer counters .............................................................................................. 2-91 Fig. 2.4.8 Structure of timer 123 mode register ............................................................................... 2-92 Fig. 2.4.9 Structure of interrupt request register 1 ........................................................................... 2-94 Fig. 2.4.10 Structure of interrupt request register 2 ......................................................................... 2-95 Fig. 2.4.11 Structure of interrupt control register 1 .......................................................................... 2-96 Fig. 2.4.12 Structure of interrupt control register 2 .......................................................................... 2-97 Fig. 2.4.13 Example of setting registers for timers 1, 2, and 3 ........................................................ 2-98 Fig. 2.4.14 Setting of related registers ............................................................................................. 2-99 Fig. 2.4.15 Control procedure ........................................................................................................2-100 Fig. 2.5.1 External connection example in clock synchronous mode ............................................ 2-102 Fig. 2.5.2 Shift clock ......................................................................................................................2-103 Fig. 2.5.3 Transmit operation in clock synchronous mode ............................................................2-106 Fig. 2.5.4 Transmit timing example in clock synchronous mode ...................................................2-107 Fig. 2.5.5 Receive operation in clock synchronous mode .............................................................2-109 Fig. 2.5.6 Receive timing example in clock synchronous mode ....................................................2-109 Fig. 2.5.7 Transmit/receive timing example in clock synchronous mode ......................................2-110 Fig. 2.5.8 External connection example in UART mode ................................................................ 2-111 Fig. 2.5.9 Transfer data format in UART mode .............................................................................2-113 Fig. 2.5.10 All transfer data formats in UART mode ......................................................................2-114 Fig. 2.5.11 Transmit timing example in UART mode ..................................................................... 2-116 Fig. 2.5.12 Receive timing example in UART mode ......................................................................2-118 Fig. 2.5.13 Memory allocation of serial I/O-related registers ......................................................... 2-120 Fig. 2.5.14 Structure of transmit/receive buffer register ................................................................ 2-120 Fig. 2.5.15 Structure of serial I/O status register ........................................................................... 2-121 Fig. 2.5.16 Structure of serial I/O control register ..........................................................................2-123 Fig. 2.5.17 Structure of UART control register .............................................................................. 2-126 Fig. 2.5.18 Transmitting method in clock synchronous mode (1) .................................................. 2-128 Fig. 2.5.19 Transmitting method in clock synchronous mode (2) .................................................. 2-129 Fig. 2.5.20 Receiving method in clock synchronous mode (1) ......................................................2-130 Fig. 2.5.21 Receiving method in clock synchronous mode (2) ......................................................2-131 Fig. 2.5.22 Transmitting method in UART mode (1) ......................................................................2-132 Fig. 2.5.23 Transmitting method in UART mode (2) ......................................................................2-133 Fig. 2.5.24 Receiving method in UART mode (1) ..........................................................................2-134 Fig. 2.5.25 Receiving method in UART mode (2) ..........................................................................2-135 3822 GROUP USER’S MANUAL iii List of figures Fig. 2.6.1 Changes in A-D conversion register and comparison voltage during A-D conversion .. 2-143 Fig. 2.6.2 A-D converter equivalent connection diagram ............................................................... 2-144 Fig. 2.6.3 Memory allocation of A-D converter-related registers ................................................... 2-146 Fig. 2.6.4 Structure of A-D control register .................................................................................... 2-147 Fig. 2.6.5 Structure of A-D conversion register ............................................................................. 2-148 Fig. 2.6.6 Structure of CPU mode register .................................................................................... 2-149 Fig. 2.6.7 Structure of port P5 direction register ............................................................................ 2-150 Fig. 2.6.8 Structure of port P6 direction register ............................................................................ 2-151 Fig. 2.6.9 Structure of interrupt request register 2 ......................................................................... 2-152 Fig. 2.6.10 Structure of interrupt control register 2 ........................................................................ 2-153 Fig. 2.6.11 Absolute accuracy of A-D converter ............................................................................ 2-154 Fig. 2.6.12 Differential non-linearity error of A-D converter ........................................................... 2-155 Fig. 2.6.13 Operating conditions for using A-D converter .............................................................. 2-156 Fig. 2.6.14 Register initialization example when internal trigger is selected (1) ............................ 2-157 Fig. 2.6.15 Register initialization example when internal trigger is selected (2) ............................ 2-158 Fig. 2.6.16 Register initialization example when external trigger is selected (1) ........................... 2-159 Fig. 2.6.17 Register initialization example when external trigger is selected (2) ........................... 2-160 Fig. 2.6.18 Example of peripheral circuit ....................................................................................... 2-161 Fig. 2.6.19 Setting of related registers ........................................................................................... 2-161 Fig. 2.6.20 Control procedure ........................................................................................................ 2-162 Fig. 2.7.1 Memory allocation of LCD display-related registers ...................................................... 2-168 Fig. 2.7.2 Structure of segment output enable register ................................................................. 2-169 Fig. 2.7.3 Structure of LCD mode register ..................................................................................... 2-171 Fig. 2.7.4 Structure of port P0 direction register ............................................................................ 2-172 Fig. 2.7.5 Structure of port P1 direction register ............................................................................ 2-173 Fig. 2.7.6 Structure of PULL register A .......................................................................................... 2-174 Fig. 2.7.7 Example of setting registers for LCD display (1) ........................................................... 2-175 Fig. 2.7.8 Example of setting registers for LCD display (2) ........................................................... 2-176 Fig. 2.7.9 8-segment LCD panel display pattern example when the duty ratio number is 4 ......... 2-177 Fig. 2.7.10 LCD panel example ..................................................................................................... 2-178 Fig. 2.7.11 Segment allocation example ....................................................................................... 2-178 Fig. 2.7.12 LCD display RAM setting example .............................................................................. 2-178 Fig. 2.7.13 Setting of related registers ........................................................................................... 2-179 Fig. 2.7.14 Control procedure ........................................................................................................ 2-180 Fig. 2.8.1 Oscillation stabilizing time at restoration by reset input ................................................. 2-183 Fig. 2.8.2 Execution sequence example at restoration by occurrence of INT0 Interrupt request .. 2-185 Fig. 2.8.3 Reset input time .............................................................................................................2-188 Fig. 2.8.4 State transitions of internal clock φ......................................................................................... 2-190 Fig. 2.9.1 Internal reset state hold/release timing .......................................................................... 2-191 Fig. 2.9.2 Internal processing sequence immediately after reset release ..................................... 2-192 Fig. 2.9.3 Internal state of microcomputer immediately after reset release ................................... 2-193 Fig. 2.9.4 Poweron reset conditions .............................................................................................. 2-194 Fig. 2.9.5 Poweron reset circuit examples ..................................................................................... 2-194 Fig. 2.10.1 Oscillating circuit example using ceramic resonators .................................................. 2-196 Fig. 2.10.2 External clock input circuit example ............................................................................ 2-197 Fig. 2.10.3 Clock generating circuit block diagram ........................................................................ 2-198 Fig. 2.10.4 Structure of φ output control register ........................................................................... 2-199 Fig. 2.10.5 State transitions of internal clock φ ...................................................................................... 2-202 Fig. 2.10.6 Oscillation stabilizing time at poweron ......................................................................... 2-203 Fig. 2.10.7 Oscillation stabilizing time at reoscillation of XIN ....................................................................... 2-204 iv 3822 GROUP USER’S MANUAL List of figures CHAPTER 3. APPENDIX Fig. 3.1.1 Pin configuration of EPROM version (top view) ................................................................ 3-4 Fig. 3.1.2 Pin configuration of One Time PROM version (top view) (1) ............................................. 3-5 Fig. 3.1.3 Pin configuration of One Time PROM version (top view) (2) ............................................. 3-6 Fig. 3.1.4 Functional block diagram of built-in PROM version ........................................................... 3-7 Fig. 3.1.5 Programming and testing of One Time PROM version (shipped in blank) ........................ 3-9 Fig. 3.2.1 Wiring for the RESET input pin ........................................................................................ 3-10 Fig. 3.2.2 Wiring for clock I/O pins ................................................................................................... 3-10 Fig. 3.2.3 Wiring for the VPP pin of the One Time PROM and the EPROM version ........................ 3-11 Fig. 3.2.4 Bypass capacitor across the VSS line and the VCC line ................................................... 3-11 Fig. 3.2.5 Analog signal line and a resistor and a capacitor ............................................................ 3-12 Fig. 3.2.6 Wiring for large current signal line ................................................................................... 3-12 Fig. 3.2.7 Wiring to a signal line where potential levels change frequently ..................................... 3-13 Fig. 3.2.8 VSS pattern on the underside of an oscillator .................................................................. 3-13 Fig. 3.2.9 Setup for I/O ports ........................................................................................................... 3-13 Fig. 3.2.10 Watchdog timer by software .......................................................................................... 3-14 Fig. 3.3.1 Structure of port P0 and P1 direction registers ................................................................ 3-15 Fig. 3.3.2 Structure of port Pi (i = 2, 4 to 7) direction registers ........................................................ 3-15 Fig. 3.3.3 Structure of PULL register A ............................................................................................ 3-16 Fig. 3.3.4 Structure of PULL register B ............................................................................................ 3-16 Fig. 3.3.5 Structure of serial I/O status register ............................................................................... 3-17 Fig. 3.3.6 Structure of serial I/O control register .............................................................................. 3-18 Fig. 3.3.7 Structure of UART control register .................................................................................. 3-19 Fig. 3.3.8 Structure of timer X mode register ................................................................................... 3-20 Fig. 3.3.9 Structure of timer Y mode register ................................................................................... 3-21 Fig. 3.3.10 Structure of timer 123 mode register ............................................................................. 3-22 Fig. 3.3.11 Structure of φ output control register ............................................................................. 3-22 Fig. 3.3.12 Structure of A-D control register .................................................................................... 3-23 Fig. 3.3.13 Structure of segment output register ............................................................................. 3-24 Fig. 3.3.14 Structure of LCD mode register ..................................................................................... 3-25 Fig. 3.3.15 Structure of interrupt edge selection register ................................................................. 3-26 Fig. 3.3.16 Structure of CPU mode register .................................................................................... 3-26 Fig. 3.3.17 Structure of interrupt request register 1 ......................................................................... 3-27 Fig. 3.3.18 Structure of interrupt request register 2 ......................................................................... 3-27 Fig. 3.3.19 Structure of interrupt control register 1 .......................................................................... 3-28 Fig. 3.3.20 Structure of interrupt control register 2 .......................................................................... 3-28 3822 GROUP USER’S MANUAL v List of tables List of tables CHAPTER 1. HARDWARE Table 1 Pin description (1) ................................................................................................................. 1-5 Table 2 Pin description (2) ................................................................................................................. 1-6 Table 3 List of supported products .................................................................................................... 1-8 Table 4 I/O ports functions .............................................................................................................. 1-14 Table 5 Interrupt vector addresses and priorities ............................................................................ 1-18 Table 6 Maximum number of display pixels at each duty ratio ........................................................ 1-30 Table 7 Bias control and applied voltage to VL1–VL3 ........................................................................................ 1-32 Table 8 Duty ratio control and common pins used .......................................................................... 1-32 Table 9 Programming adapter ......................................................................................................... 1-43 Table 10 Absolute maximum ratings ............................................................................................... 1-44 Table 11 Recommended operating conditions (1) ........................................................................... 1-44 Table 12 Recommended operating conditions (2) ........................................................................... 1-45 Table 13 Electrical characteristics (1) .............................................................................................. 1-46 Table 14 Electrical characteristics (2) .............................................................................................. 1-47 Table 15 A-D converter characteristics ........................................................................................... 1-48 Table 16 Timing requirements 1 ...................................................................................................... 1-49 Table 17 Timing requirements 2 ...................................................................................................... 1-49 Table 18 Switching characteristics 1 ............................................................................................... 1-50 Table 19 Switching characteristics 2 ............................................................................................... 1-50 CHAPTER 2. APPLICATION Table 2.1.1 Memory allocation of port registers ................................................................................ 2-3 Table 2.1.2 Memory allocation of port direction registers .................................................................. 2-4 Table 2.1.3 I/O ports which either pull-up or pull-down is controlled by software .............................. 2-5 Table 2.1.4 Termination of unused pins .......................................................................................... 2-14 Table 2.2.1 Interrupt sources and interrupt request generating conditions ..................................... 2-16 Table 2.2.2 List of interrupt bits for individual interrupt sources ...................................................... 2-20 Table 2.3.1 Real time ports and data storage bits ........................................................................... 2-40 Table 2.3.2 Relation between timer X operating mode bits and operating modes .......................... 2-57 Table 2.3.3 Relation between timer Y operating mode bits and operating modes .......................... 2-60 Table 2.3.4 Table example for timer X setting value ....................................................................... 2-80 Table 2.3.5 Table example for RTP setting value ........................................................................... 2-80 Table 2.4.1 Relation between timer 2 count source selection bit and count sources ...................... 2-93 Table 2.4.2 Relation between timer 3 count source selection bit and count sources ...................... 2-93 Table 2.4.3 Relation between timer 1 count source selection bit and count sources ...................... 2-93 Table 2.5.1 Baud rate selection table (reference values) .............................................................. 2-112 Table 2.5.2 Each bit function of UART transmit data ....................................................................2-113 Table 2.5.3 Control contents of transmit enable bit ....................................................................... 2-124 Table 2.5.4 Control contents of receive enable bit ........................................................................2-125 Table 2.5.5 Relation between UART control register and transfer data formats ...........................2-127 Table 2.6.1 Expression for comparison voltage “Vref ” ...................................................................2-141 Table 2.6.2 List of pin functions used in A-D converter .................................................................2-145 Table 2.7.1 Pin functions by setting segment output enable register ............................................ 2-165 Table 2.7.2 Pin functions by setting the corresponding registers when they are not used as segment output pins .. 2-166 Table 2.7.3 Setting of segment output pins for LCD display ......................................................... 2-166 Table 2.7.4 Setting of input ports P34-P37 and I/O ports P0, P1 ...................................................2-167 Table 2.7.5 Setting of pull-down pins ............................................................................................2-167 Table 2.8.1 State in the stop mode ................................................................................................ 2-182 Table 2.8.2 State in wait mode ......................................................................................................2-187 Table 2.9.1 Timers 1 and 2 at reset ...............................................................................................2-192 i 3822 GROUP USER’S MANUAL List of tables CHAPTER 3. APPENDIX Table 3.1.1 Product expansion of built-in PROM version .................................................................. 3-2 Table 3.1.2 Performance overview of built-in PROM version ............................................................ 3-3 3822 GROUP USER’S MANUAL ii CHAPTER 1 HARDWARE MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER • LCD drive control circuit DESCRIPTION The 3822 group is the 8-bit microcomputer based on the 740 family core technology. The 3822 group has the LCD drive control circuit an 8-channel AD converter, and a Serial I/O as additional functions. The various microcomputers in the 3822 group include variations of internal memory size and packaging. For details, refer to the section on part numbering. For details on availability of microcomputers in the 3822 group, refer to the section on group expansion. • • FEATURES • Basic machine-language instructions ....................................... 71 • The minimum instruction execution time ............................ 0.5 µs (at 8MHz oscillation frequency) • Memory size ROM .................................................................. 4 K to 32 K bytes RAM ................................................................. 192 to 1024 bytes Programmable input/output ports ............................................. 49 Software pull-up/pull-down resistors (Ports P0-P7 except Port P4 0) Interrupts .................................................. 17 sources, 16 vectors (includes key input interrupt) Timers ........................................................... 8-bit ✕ 3, 16-bit ✕ 2 Serial I/O1 ..................... 8-bit ✕ 1 (UART or Clock-synchronized) Serial I/O2 ........................................................ 8-bit ✕ 8 channels • • • • • • • • Bias ................................................................................... 1/2, 1/3 Duty ............................................................................ 1/2, 1/3, 1/4 Common output .......................................................................... 4 Segment output ......................................................................... 32 2 Clock generating circuit Clock (X IN-XOUT) .................................. Internal feedback resistor Sub-clock (XCIN -XCOUT) .......... Without internal feedback resistor (connect to external ceramic resonator or quartz-crystal oscillator) Power source voltage In high-speed mode .................................................... 4.0 to 5.5 V (at 8MHz oscillation frequency and high-speed selected) In middle-speed mode ................................................2.5 to 5.5 V (at 8MHz oscillation frequency and middle-speed selected) In low-speed mode ...................................................... 2.5 to 5.5 V (Extended operating temperature version: 3.0 V to 5.5 V) Power dissipation In high-speed mode ........................................................... 32 mW (at 8 MHz oscillation frequency) In low-speed mode .............................................................. 45 µW (at 32 kHz oscillation frequency, at 3 V power source voltage) Operating temperature range ................................... – 20 to 85°C (Extended operating temperature version: –40 to 85°C) APPLICATIONS Camera, household appliances, consumer electronics, etc. 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 SEG8 SEG9 SEG10 SEG11 P34 /SEG12 P35 /SEG13 P36/SEG14 P37/SEG15 P00/SEG16 P01/SEG17 P02/SEG18 P03 /SEG19 P04/SEG20 P05/SEG21 P06/SEG22 P07/SEG23 P10 /SEG24 P11/SEG25 P12/SEG26 P13/SEG27 P14/SEG28 P15/SEG29 P16/SEG30 P17/SEG31 PIN CONFIGURATION (TOP VIEW) 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 M38223M4-XXXFP VL2 VL1 P67 /AN7 P66/AN6 P65/AN5 P64/AN4 P63/AN3 P62 /AN2 P61/AN1 P60/AN0 P57 /ADT P56 / TOUT P55 /CNTR1 P54/CNTR0 P53/RTP1 P52/RTP0 P51/INT3 P50/INT2 P47/SRDY P46 /SCLK P45/ TXD P44/RXD P43 /INT1 P42/INT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 VCC VREF AVSS COM3 COM2 COM1 COM0 VL3 Package type : 80P6N-A 80-pin plastic-molded QFP Fig. 1 Pin configuration of M38223M4-XXXFP 1-2 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 P20 P21 P22 P23 P24 P25 P26 P27 VSS XOUT XIN P70 /XCOUT P71 /XCIN RESET P40 P41 /φ MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 SEG10 SEG11 P34/SEG12 P35 /SEG13 P36/SEG14 P37/SEG15 P00/SEG16 P01 /SEG17 P02/SEG18 P03/SEG19 P04/SEG20 P05/SEG21 P06 /SEG22 P07/SEG23 P10/SEG24 P11/SEG25 P12/SEG26 P13 /SEG27 P14/SEG28 P15/SEG29 PIN CONFIGURATION (TOP VIEW) 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 M38223M4-XXXGP M38223M4-XXXHP 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 P16/SEG30 P17/SEG31 P20 P21 P22 P23 P24 P25 P26 P27 VSS XOUT XIN P70/XCOUT P71/XCIN RESET P40 P41/φ P42/INT0 P43/INT1 P67/AN7 P66 /AN6 P65/AN5 P64/AN4 P63 /AN3 P62/AN2 P61/AN1 P60 /AN0 P57/ADT P56/ TOUT P55 /CNTR1 P54/CNTR0 P53/RTP1 P52/RTP0 P51/INT3 P50/INT2 P47/SRDY P46 /SCLK P45/ TXD P44/RXD 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 SEG9 SEG8 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 VCC VREF AVSS COM 3 COM 2 COM 1 COM 0 VL3 VL2 VL1 Package type : 80P6S-A/80P6D-A 80-pin plastic-molded QFP Fig. 2 Pin configuration of M38223M4-XXXGP/HP 1-3 XCIN 1 2 3 4 5 6 7 8 I/O port P6 I/O port P7 72 73 VREF AVSS (0 V) TOUT PS PCL S Y X A P5(8) I/O port P5 I/O port P4 17 18 19 20 21 22 23 24 P4(8) ROM SI/O(8) Input port P3 55 56 57 58 P3(8) Timer X(16) Timer Y(16) Timer 1(8) Timer 2(8) Timer 3(8) 30 71 Data bus (0 V) VSS (5 V) VCC CNTR0,CNTR1 RTP 0,RTP 1 CPU 25 Reset input RESET 9 10 11 12 13 14 15 16 PCH A-D converter(8) 26 27 XCOUT Subclock output P6(8) XCIN Subclock input φ P7(2) XCOUT 29 28 Clock generating circuit Clock output XOUT Clock input XIN ADT 1-4 INT2 ,INT3 Fig. 3 Functional block diagram INT0,INT1 φ FUNCTIONAL BLOCK DIAGRAM (Package : 80P6S-A) I/O port P2 31 32 33 34 35 36 37 38 P2(8) LCD display RAM (16 bytes) RAM Key-on wake up I/O port P1 39 40 41 42 43 44 45 46 P1(8) I/O port P0 47 48 49 50 51 52 53 54 P0(8) LCD drive control circuit COM0 COM1 COM2 COM3 SEG0 SEG1 SEG2 SEG3 SEG4 SEG5 SEG6 SEG7 SEG8 SEG9 SEG10 SEG11 77 76 70 69 68 59 61 60 67 66 65 64 63 62 75 74 VL1 VL2 VL3 80 79 78 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER Real time port function MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER PIN DESCRIPTION Pin Name Function Function except a port function VCC , VSS Power source • Apply voltage of 2.5 V to 5.5 V to V CC, and 0 V to V SS. VREF Analog reference voltage • Reference voltage input pin for A-D converter. AVSS Analog power source • GND input pin for A-D converter. • Connect to V SS. RESET Reset input •Reset input pin for active “L” XIN Clock input XOUT Clock output • Input and output pins for the main clock generating circuit. • Feedback resistor is built in between XIN pin and X OUT pin. • Connect a ceramic resonator or a quartz-crystal oscillator between the X IN and X OUT pins to set the oscillation frequency. • If an external clock is used, connect the clock source to the XIN pin and leave the X OUT pin open. • This clock is used as the oscillating source of system clock. VL1 – VL3 LCD power source • Input 0 ≤ VL1 ≤ VL2 ≤ V L3 ≤ VCC voltage • Input 0 – V L3 voltage to LCD COM 0 – COM3 Common output • LCD common output pins • COM2 and COM3 are not used at 1/2 duty ratio. • COM3 is not used at 1/3 duty ratio. SEG 0 – SEG11 Segment output • LCD segment output pins P00 /SEG 16 – P07 /SEG 23 I/O port P0 I/O port P1 8-bit I/O port CMOS compatible input level CMOS 3-state output structure I/O direction register allows each port to be individually programmed as either input or output. • Pull-down control is enabled. • LCD segment pins P10 /SEG24 – P17 /SEG 31 • • • • P20 – P27 I/O port P2 • • • • 8-bit I/O port CMOS compatible input level CMOS 3-state output structure I/O direction register allows each pin to be individually programmed as either input or output. • Pull-up control is enabled. • Key input (key-on wake up) interrupt input pins P30 /SEG 12 – P37 /SEG 15 Input port P3 • 4-bit Input port • CMOS compatible input level • Pull-down control is enabled. • LCD segment pins P40 Input port P4 • 1-bit input pin • CMOS compatible input level P41 / φ I/O port P4 • • • • P42 /INT0 , P43 /INT1 P44/RXD, P45/TXD, P46 /SCLK, P47/SRDY 7-bit I/O port CMOS compatible input level CMOS 3-state output structure I/O direction register allows each pin to be individually programmed as either input or output. • Pull-up control is enabled. • φ clock output pin • Interrupt input pins • Serial I/O1 function pins 1-5 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER PIN DESCRIPTION Pin Name Function Function except a port function P50/INT2 , P51/INT3 I/O port P5 P52 /RTP0 , P53 /RTP1 • • • • 8-bit I/O port CMOS compatible input level CMOS 3-state output structure I/O direction register allows each pin to be individually programmed as either input or output. • Pull-up control is enabled. • Interrupt input pins • Real time port function pins • Timer function pins P54 /CNTR0 , P55 /CNTR1 • Timer output pin P56/T OUT • A-D trigger input pin P57/ADT P60 /AN0P67/AN 7 I/O port P6 • • • • 8-bit I/O port CMOS compatible input level CMOS 3-state output structure I/O direction register allows each pin to be individually programmed as either input or output. • Pull-up control is enabled. • A-D conversion input pins P70/X COUT, P71/X CIN I/O port P7 • • • • • Sub-clock generating circuit I/O pins (Connect a resonator. External clock cannot be used.) 1-6 2-bit I/O port CMOS compatible input level CMOS 3-state output structure I/O direction register allows each pin to be individually programmed as either input or output. • Pull-up control is enabled. MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER PART NUMBERING Product M3822 3 M 4 - XXX FP Package type FP : 80P6N-A package GP : 80P6S-A package HP : 80P6D-A package FS : 80D0 package ROM number Omitted in some types. Normally, using hyphen When electrical characteristic, or division of quality identification code using alphanumeric character – : Standard D : Extended operating temperature version ROM/PROM size 1 : 4096 bytes 2 : 8192 bytes 3 : 12288 bytes 4 : 16384 bytes 5 : 20480 bytes 6 : 24576 bytes 7 : 28672 bytes 8 : 32768 bytes The first 128 bytes and the last 2 bytes of ROM are reserved areas ; they cannot be used. Memory type M : Mask ROM version E : EPROM or One Time PROM version RAM size 0 : 192 bytes 1 : 256 bytes 2 : 384 bytes 3 : 512 bytes 4 : 640 bytes 5 : 768 bytes 6 : 896 bytes 7 : 1024 bytes Fig. 4 Part numbering 1-7 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER GROUP EXPANSION (3) Packages 80P6N-A ............................. 0.8 mm-pitch plastic molded QFP 80P6S-A ........................... 0.65 mm-pitch plastic molded QFP 80P6D-A ............................. 0.5 mm-pitch plastic molded QFP 80D0 ................ 0.8 mm-pitch ceramic LCC (EPROM version) Mitsubishi plans to expand the 3822 group as follows: (1) Support for mask ROM, One Time PROM, and EPROM versions (2) ROM/PROM size .......................................... 8 K to 16 K bytes RAM size ....................................................... 384 to 512 bytes Memory Expansion Plan ROM size (bytes) 32K 28K 24K 20K Mass product 16K M38223M4/E4 12K Mass product 8K M38223M2 4K 192 256 384 512 640 768 896 1024 RAM size (bytes) Fig. 5 Memory expansion plan (1) As of May 1996 Currently supported products are listed below. Product M38223M4-XXXFP M38223E4-XXXFP M38223E4FP M38223M4-XXXGP M38223E4-XXXGP M38223E4GP M38223M4-XXXHP M38223E4-XXXHP M38223E4HP M38223E4FS M38222M2-XXXFP M38222M2-XXXGP M38222M2-XXXHP 1-8 (P) ROM size (bytes) ROM size for User in ( ) RAM size (bytes) Package 80P6N-A 16384 (16254) 512 80P6S-A 80P6D-A 8192 (8062) 384 80D0 80P6N-A 80P6S-A 80P6D-A Remarks Mask ROM version One Time PROM version One Time PROM version (blank) Mask ROM version One Time PROM version One Time PROM version (blank) Mask ROM version One Time PROM version One Time PROM version (blank) EPROM version Mask ROM version MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER GROUP EXPANSION (EXTENDED OPERATING TEMPERATURE VERSION) (2) ROM size ................................................................ 16 K bytes RAM size .................................................................. 512 bytes (3) Packages 80P6N-A ............................. 0.8 mm-pitch plastic molded QFP Mitsubishi plans to expand the 3822 group (extended operating temperature version) as follows: (1) Support for mask ROM, One Time PROM, and EPROM versions Memory Expansion Plan ROM size (bytes) 32K 28K 24K 20K Under development 16K M38223M4D 12K Mass product 8K M38222M2D 4K 192 256 384 512 640 768 896 1024 RAM size (bytes) Products under development: the development schedule and specification may be revised without notice. Fig. 6 Memory expansion plan (2) As of May 1996 Currently supported products are listed below. Product ROM size (bytes) ROM size for User in ( ) RAM size (bytes) Package M38223M4DXXXFP M38222M2DXXXGP 16384(16254) 8192(8062) 512 384 80P6N-A 80P6S-A Remarks Mask ROM version Mask ROM version 1-9 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER FUNCTIONAL DESCRIPTION Central Processing Unit (CPU) The 3822 group uses the standard 740 family instruction set. Refer to the table of 740 family addressing modes and machine instructions or the SERIES 740 <Software> User’s Manual for details on the instruction set. Machine-resident 740 family instructions are as follows: The FST and SLW instruction cannot be used. The STP, WIT, MUL, and DIV instruction can be used. CPU Mode Register The CPU mode register is allocated at address 003B 16. The CPU mode register contains the stack page selection bit and the internal system clock selection bit. b7 b0 CPU mode register (CPUM (CM) : address 003B 16) Processor mode bits b1 b0 0 0 : Single-chip mode 0 1 : 1 0 : Not available 1 1 : Stack page selection bit 0 : RAM in the zero page is used as stack area 1 : RAM in page 1 is used as stack area Not used (returns “1” when read) (Do not write “0” to this bit) Port XC switch bit 0 : I/O port 1 : XCIN , XCOUT Main clock ( X IN –XOUT ) stop bit 0 : Oscillating 1 : Stopped Main clock division ratio selection bit 0 : f(XIN )/2 (high-speed mode) 1 : f(XIN )/8 (middle-speed mode) Internal system clock selection bit 0 : XIN -XOUT selected (middle-/high-speed mode) 1 : XCIN -XCOUT selected (low-speed mode) Fig. 7 Structure of CPU mode register 1-10 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER MEMORY Special Function Register (SFR) Area The Special Function Register area in the zero page contains control registers such as I/O ports and timers. RAM RAM is used for data storage and for stack area of subroutine calls and interrupts. Zero Page The 256 bytes from addresses 0000 16 to 00FF16 are called the zero page area. The internal RAM and the special function registers (SFR) are allocated to this area. The zero page addressing mode can be used to specify memory and register addresses in the zero page area. Access to this area with only 2 bytes is possible in the zero page addressing mode. Special Page ROM The first 128 bytes and the last 2 bytes of ROM are reserved for device testing and the rest is user area for storing programs. Interrupt Vector Area The 256 bytes from addresses FF0016 to FFFF 16 are called the special page area. The special page addressing mode can be used to specify memory addresses in the special page area. Access to this area with only 2 bytes is possible in the special page addressing mode. The interrupt vector area contains reset and interrupt vectors. RAM area 000016 RAM size (bytes) Address XXXX16 192 00FF 16 004016 256 013F 16 005016 384 01BF16 512 023F 16 640 02BF16 768 033F 16 896 03BF16 1024 043F 16 SFR area LCD display RAM area Zero page 010016 RAM XXXX16 Reserved area 044016 Not used ROM area ROM size (bytes) Address YYYY16 Address ZZZZ 16 4096 F000 16 F080 16 8192 E00016 E080 16 12288 D00016 D08016 16384 C00016 C08016 20480 B00016 B080 16 24576 A00016 A080 16 28672 900016 908016 32768 800016 808016 YYYY16 Reserved ROM area (128 bytes) ZZZZ 16 ROM FF0016 FFDC16 Interrupt vector area Special page FFFE16 Reserved ROM area FFFF 16 Fig. 8 Memory map diagram 1-11 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER 000016 Port P0 (P0) 000116 Port P0 direction register (P0D) 002016 Timer X (low) (TXL) 002116 Timer X (high) (TXH) 000216 Port P1 (P1) 000316 Port P1 direction register (P1D) 002216 Timer Y (low) (TYL) 002316 Timer Y (high) (TYH) 000416 Port P2 (P2) 000516 Port P2 direction register (P2D) 002416 Timer 1 (T1) 000616 Port P3 (P3) 000716 000816 Port P4 (P4) 000916 Port P4 direction register (P4D) 002716 Timer X mode register (TXM) 002816 Timer Y mode register (TYM) 002916 Timer 123 mode register (T123M) 000A16 Port P5 (P5) 000B16 Port P5 direction register (P5D) 002A16 φ output control register (CKOUT) 000C16 Port P6 (P6) 000D16 Port P6 direction register (P6D) 002C16 000E16 Port P7 (P7) 000F16 Port P7 direction register (P7D) 002E16 001016 003016 001116 003116 001216 003216 001316 003316 001416 003416 A-D control register (ADCON) 001516 003516 A-D conversion register (AD) 003616 001616 PULL register A (PULLA) 001716 PULL register B (PULLB) 001816 Transmit/Receive buffer register(TB/RB) 001916 Serial I/O1 status register (SIO1STS) 001A16 Serial I/O1 control register (SIO1CON) 001B16 UART control register (UARTCON) 001C16 Baud rate generator (BRG) 001D16 001E16 001F16 Fig. 9 Memory map of special function register (SFR) 1-12 002516 Timer 2 (T2) 002616 Timer 3 (T3) 002B16 002D16 002F 16 003716 003816 Segment output enable register (SEG) 003916 LCD mode register (LM) 003A16 Interrupt edge selection register (INTEDGE) 003B16 CPU mode register (CPUM) 003C16 Interrupt request register 1(IREQ1) 003D16 Interrupt request register 2(IREQ2) 003E16 Interrupt control register 1(ICON1) 003F 16 Interrupt control register 2(ICON2) MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER I/O PORTS Direction Registers (ports P2, P41–P4 7, and P5–P7) The 3822 group has 49 programmable I/O pins arranged in seven I/O ports (ports P0–P2 and P41 –P4 7 and P5–P7). The I/O ports P2, P41–P47, and P5–P7 have direction registers which determine the input/output direction of each individual pin. Each bit in a direction register corresponds to one pin, each pin can be set to be input port or output port. When “0” is written to the bit corresponding to a pin, that pin becomes an input pin. When “1” is written to that bit, that pin becomes an output pin. If data is read from a pin set to output, the value of the port output latch is read, not the value of the pin itself. Pins set to input are floating. If a pin set to input is written to, only the port output latch is written to and the pin remains floating. Direction Registers (ports P0 and P1) Ports P0 and P1 have direction registers which determine the input /output direction of each individual port. Each port in a direction register corresponds to one port, each port can be set to be input or output. When “0” is written to the bit 0 of a direction register, that port becomes an input port. When “1” is written to that port, that port becomes an output port. Bits 1 to 7 of ports P0 and P1 direction registers are not used. b7 b0 PULL register A (PULLA : address 0016 16) P00 –P07 pull-down P10 –P17 pull-down P20 –P27 pull-up P30 –P37 pull-down P70 , P71 pull-up Not used (return “0” when read) b7 b0 PULL register B (PULLB : address 0017 16) P41 –P43 pull-up P44 –P47 pull-up P50 –P53 pull-up P54 –P57 pull-up P60 , P63 pull-up P64 –P67 pull-up Not used (return “0” when read) 0 : Disable 1 : Enable Note : The contents of PULL register A and PULL register B do not affect ports programmed as the output ports. Fig. 10 Structure of PULL register A and PULL register B Ports P3 and P40 These ports are only for input. Pull-up/Pull-down Control By setting the PULL register A (address 001616 ) or the PULL register B (address 0017 16), ports except for port P4 0 can control either pull-down or pull-up (pins that are shared with the segment output pins for LCD are pull-down; all other pins are pull-up) with a program. However, the contents of PULL register A and PULL register B do not affect ports programmed as the output ports. 1-13 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER Pin Name Input/Output P00 /SEG16 – P07 /SEG23 Port P0 Input/output, individual ports P10 /SEG24 – P17 /SEG31 Port P1 Input/output, individual ports P20 – P27 Port P2 Input/output, individual bits P34 /SEG12 – P37 /SEG15 Port P3 Input I/O Format CMOS compatible input level CMOS 3-state output CMOS compatible input level CMOS 3-state output CMOS compatible input level CMOS 3-state output CMOS compatible input level Non-Port Function LCD segment output LCD segment output Key input(Key-on wake up) interrupt input LCD segment output Related SFRs PULL register A Segment output enable register PULL register A Segment output enable register PULL register A Interrupt control register 2 PULL register A Segment output enable register φ clock output P41 / φ External interrupt input Port P4 P44 /RXD P45 /TXD P46 /SCLK1 P47 /SRDY Serial I/O function I/O P50 /INT2 , P51 /INT3 Input/output, individual bits P52 /RTP0 , P53 /RTP1 P54 /CNTR0 CMOS compatible input level CMOS 3-state output External interrupt input Real time port function oputput Timer I/O Port P5 P55 /CNTR1 Timer I/O P56/T OUT Timer output P57 /ADT A-D trigger input P60 /AN0– P67 /AN7 P70 /XCOUT P71 /XCIN COM 0-COM3 SEG0 -SEG11 Port P6 A-D conversion input Port P7 Sub-clock generating circuit I/O LCD common output Common Segment output LCD segment output PULL register B φ output control register PULL register B Interrupt edge selection register PULL register B Serial I/O control register Serial I/O status register UART control register PULL register B Interrupt edge selection register PULL register B Timer X mode register PULL register B Timer X mode register PULL register B Timer Y mode register PULL register B Timer 123 mode register PULL register B A-D control register PULL register A CPU mode register LCD mode register Segment output enable register Note : Make sure that the input level at each pin is either 0 V or VCC during execution of the STP instruction. When an input level is at an intermediate potential, a current will flow from VCC to V SS through the input-stage gate. 1-14 (1) (2) (3) (4) P40 P42 /INT0 , P43 /INT1 Diagram No. (5) (2) (6) (7) (8) (9) (2) (10) (11) (12) (13) (12) (14) (15) (16) (17) (18) MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER (1)Ports P0, P1 (2)Ports P2, P42 , P43, P50 , P51 VL2/VL3 Pull-up control VL1/VSS Segment output enable bit (Note) Direction register Direction register Data bus Data bus Port latch Port latch Key input (Key-on wake up) interrupt input INT0 –INT3 interrupt input Pull-down control Segment output enable bit Note : Bit 0 of direction register (3)Ports P34 –P37 (4)Port P40 VL2/VL3 Data bus VL1/VSS Pull-down control Segment output enable bit (6)Port P44 (5)Port P41 Pull-up control Pull-up control Serial I/O enable bit Reception enable bit Direction register Data bus Port latch φ output control bit φ Direction register Data bus Port latch Serial I/O input Fig. 11 Port block diagram (1) 1-15 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER (8)Port P46 (7)Port P45 Pull-up control P45/TXD P-channel output disable bit Serial I/O enable bit Transmission enable bit Direction register Data bus Serial I/O clock-synchronized selection bit Serial I/O enable bit Pull-up control Serial I/O mode selection bit Serial I/O enable bit Direction register Data bus Port latch Port latch Serial I/O clock output Serial I/O output Serial I/O clock input (9) Port P47 (10)Ports P52 , P53 Serial I/O mode selection bit Serial I/O enable bit SRDY output enable bit Direction register Data bus Pull-up control Pull-up control Direction register Port latch Data bus Port latch Real time port control bit Date for real time port Serial I/O ready output (11) Port P54 (12) Ports P5 5 , P57 Pull-up control Pull-up control Direction register Direction register Data bus Port latch Data bus Port latch Timer X operating mode bit (Pulse output mode selection) Timer output CNTR0 interrupt input Fig. 12 Port block diagram (2) 1-16 CNTR1 interrupt input A-D trigger interrupt input MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER (14) Port P6 (13) Port P56 Pull-up control Pull-up control Direction register Direction register Data bus Data bus Port latch Port latch TOUT output control bit Timer output A-D conversion input Analog input pin selection bit (15) Port P7 0 (16) Port P7 1 Port selection/Pull-up control Port selection/Pull-up control Port XC switch bit Direction register Data bus Port XC switch bit Direction register Port latch Data bus Port latch Oscillation circuit Sub-clock generating circuit input Port P7 1 Port XC switch bit (17) COM0–COM3 (18) SEG 0–SEG11 VL2/VL3 VL3 VL2 VL1 The gate input signal of each transistor is controlled by the LCD duty ratio and the bias value. VL1/VSS The voltage applied to the sources of P-channel and N-channel transistors is the controlled voltage by the bias value. VSS Fig. 13 Port block diagram (3) 1-17 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER INTERRUPTS Interrupt Operation Interrupts occur by seventeen sources: eight external, eight internal, and one software. When an interrupt is received, the contents of the program counter and processor status register are automatically stored into the stack. The interrupt disable flag is set to inhibit other interrupts from interfering.The corresponding interrupt request bit is cleared and the interrupt jump destination address is read from the vector table into the program counter. Interrupt Control Each interrupt is controlled by an interrupt request bit, an interrupt enable bit, and the interrupt disable flag except for the software interrupt set by the BRK instruction. An interrupt occurs if the corresponding interrupt request and enable bits are “1” and the interrupt disable flag is “0”. Interrupt enable bits can be set or cleared by software. Interrupt request bits can be cleared by software, but cannot be set by software. The BRK instruction cannot be disabled with any flag or bit. The I flag disables all interrupts except the BRK instruction interrupt. Notes on Use When the active edge of an external interrupt (INT 0–INT3, CNTR0 , or CNTR 1) is changed, the corresponding interrupt request bit may also be set. Therefore, please take following sequence; (1) Disable the external interrupt which is selected. (2) Change the active edge selection. (3) Clear the interrupt request bit which is selected to “0”. (4) Enable the external interrupt which is selected. Table 1. Interrupt vector addresses and priority Interrupt Source Priority Vector Addresses (Note 1) High Low FFFD 16 FFFC 16 Reset (Note 2) 1 INT 0 2 FFFB16 FFFA16 INT 1 3 FFF916 FFF816 Serial I/O reception 4 FFF716 FFF616 Serial I/O transmission 5 FFF516 FFF416 Timer X Timer Y Timer 2 Timer 3 6 7 8 9 FFF316 FFF116 FFEF16 FFED16 FFF216 FFF016 FFEE 16 FFEC16 CNTR 0 10 FFEB 16 FFEA 16 CNTR 1 11 FFE916 FFE816 Timer 1 12 FFE716 FFE616 INT 2 13 FFE516 FFE416 INT 3 14 FFE316 FFE216 Key input (Key-on wake up) 15 FFE116 FFE016 At detection of either rising or falling edge of INT1 input At completion of serial I/O data reception At completion of serial I/O transmit shift or when transmission buffer is empty At timer X underflow At timer Y underflow At timer 2 underflow At timer 3 underflow At detection of either rising or falling edge of CNTR0 input At detection of either rising or falling edge of CNTR1 input At timer 1 underflow At detection of either rising or falling edge of INT2 input At detection of either rising or falling edge of INT3 input At falling of conjunction of input level for port P2 (at input mode) At falling of ADT input ADT 16 FFDF 16 FFDE16 At completion of A-D conversion A-D conversion BRK instruction Interrupt Request Generating Conditions At reset At detection of either rising or falling edge of INT0 input 17 FFDD 16 FFDC16 At BRK instruction execution Notes 1 : Vector addresses contain interrupt jump destination addresses. 2 : Reset function in the same way as an interrupt with the highest priority. 1-18 Remarks Non-maskable External interrupt (active edge selectable) External interrupt (active edge selectable) Valid when serial I/O1 is selected Valid when serial I/O1 is selected External interrupt (active edge selectable) External interrupt (active edge selectable) External interrupt (active edge selectable) External interrupt (active edge selectable) External interrupt (valid when an “L” level is applied) Valid when ADT interrupt is selected External interrupt (valid at falling) Valid when A-D interrupt is selected Non-maskable software interrupt MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER Interrupt request bit Interrupt enable bit Interrupt disable flag (I) Interrupt request BRK instruction Reset Fig. 14 Interrupt control b7 b0 Interrupt edge selection register (INTEDGE : address 003A 16) INT0 interrupt edge selection bit INT1 interrupt edge selection bit INT2 interrupt edge selection bit INT3 interrupt edge selection bit Not used (return “0” when read) b7 b0 0 : Falling edge active 1 : Rising edge active Interrupt request register 1 (IREQ1 : address 003C 16 ) b7 b0 INT0 interrupt request bit INT1 interrupt request bit Serial I/O receive interrupt request bit Serial I/O transmit interrupt request bit Timer X interrupt request bit Timer Y interrupt request bit Timer 2 interrupt request bit Timer 3 interrupt request bit Interrupt request register 2 (IREQ2 : address 003D 16 ) CNTR0 interrupt request bit CNTR1 interrupt request bit Timer 1 interrupt request bit INT2 interrupt request bit INT3 interrupt request bit Key input interrupt request bit ADT/AD conversion interrupt request bit Not used (returns “0” when read) 0 : No interrupt request issued 1 : Interrupt request issued b7 b0 Interrupt control register 1 (ICON1 : address 003E 16) INT0 interrupt enable bit INT1 interrupt enable bit Serial I/O receive interrupt enable bit Serial I/O transmit interrupt enable bit Timer X interrupt enable bit Timer Y interrupt enable bit Timer 2 interrupt enable bit Timer 3 interrupt enable bit b7 0 b0 Interrupt control register 2 (ICON2 : address 003F 16) CNTR0 interrupt enable bit CNTR1 interrupt enable bit Timer 1 interrupt enable bit INT2 interrupt enable bit INT3 interrupt enable bit Key input interrupt enable bit ADT/AD conversion interrupt enable bit Not used (returns “0” when read) (Do not write “1” to this bit) 0 : Interrupts disabled 1 : Interrupts enabled Fig. 15 Structure of interrupt-related registers 1-19 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER An example of using a key input interrupt is shown in Figure 10, where an interrupt request is generated by pressing one of the keys consisted as an active-low key matrix which inputs to ports P20–P23. Key Input Interrupt (Key-on Wake Up) A Key input interrupt request is generated by applying “L” level to any pin of port P2 that have been set to input mode. In other words, it is generated when AND of input level goes from “1” to “0”. Port PXx "L" level output PULL register A Bit 2 = "1" Port P27 direction register = "1" ✽ ✽✽ Port P27 latch ✽ ✽✽ Port P26 latch Key input interrupt request P27 output Port P26 direction register = "1" P26 output ✽ ✽✽ ✽ ✽✽ Port P25 direction register = "1" Port P25 latch P25 output Port P24 direction register = "1" Port P24 latch P24 output ✽ ✽✽ ✽ ✽✽ P23 input P22 input ✽ ✽✽ ✽ ✽✽ P21 input P20 input Port P23 direction register = "0" Port P23 latch Port P2 Input reading circuit Port P22 direction register = "0" Port P22 latch Port P21 direction register = "0" Port P21 latch Port P20 direction register = "0" Port P20 latch ✽ P-channel transistor for pull-up ✽ ✽ CMOS output buffer Fig. 16 Connection example when using key input interrupt and port P2 block diagram 1-20 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER TIMERS Read and write operation on 16-bit timer must be performed for both high and low-order bytes. When reading a 16-bit timer, read the high-order byte first. When writing to a 16-bit timer, write the low-order byte first. The 16-bit timer cannot perform the correct operation when reading during the write operation, or when writing during the read operation. The 3822 group has five timers: timer X, timer Y, timer 1, timer 2, and timer 3. Timer X and timer Y are 16-bit timers, and timer 1, timer 2, and timer 3 are 8-bit timers. All timers are down count timers. When the timer reaches “00 16”, an underflow occurs at the next count pulse and the corresponding timer latch is reloaded into the timer and the count is continued. When a timer underflows, the interrupt request bit corresponding to that timer is set to “1”. Real time port control bit “1” Data bus Q D P60 P60 data for real time port Latch P60 direction register “0” P60 latch Real time port control bit “1” Q D P61 P61 data for real time port Real time port control bit “0” Latch P61 direction register “0” P61 latch Timer X mode register write signal “1” f(XIN )/16 (f(XCIN )/16 in low-speed mode ✽) P54 /CNTR0 Timer X stop control bit Timer X operating mode bit “00”,“01”,“11” CNTR0 active edge switch bit “0” “10” “1” Pulse width measurement mode CNTR0 active edge switch bit “0” Timer X write control bit Timer X (low) latch (8) Timer X (high) latch (8) Timer X (low) (8) Timer X (high) (8) CNTR0 interrupt request Pulse output mode QS Timer Y operating mode bit “00”,“01”,“10” T “1” Q P54 direction register Pulse width HL continuously measurement mode P54 latch Rising edge detection Period measurement mode Falling edge detection P55 /CNTR1 f(XIN )/16 (f(XCIN )/16 in low-speed mode ✽) Timer Y stop control bit Timer Y (low) latch (8) “00”,“01”,“11” Timer Y (high) latch (8) Timer Y (low) (8) Timer Y (high) (8) “10” Timer Y operating mode bit “1” f(X IN )/16 (f(XCIN )/16 in low-speed mode ✽) Timer 1 count source selection bit “0” Timer 1 latch (8) XCIN CNTR1 interrupt request “11” Pulse output mode CNTR1 active edge switch bit “0” Timer X interrupt request Timer 2 count source selection bit Timer 2 latch (8) “0” Timer 1 (8) “1” Timer 2 (8) “1” Timer 2 write control bit Timer Y interrupt request Timer 1 interrupt request Timer 2 interrupt request f(XIN)/16 (f(XCIN )/16 in low-speed mode✽) TOUT output active edge switch bit “0” P56/TOUT TOUT output control bit QS T “1” Q P56 latch P56 direction register TOUT output control bit f(XIN )/16(f(XCIN )/16 in low-speed mode ✽) ✽Internal clock φ = XCIN /2. “0” Timer 3 latch (8) Timer 3 (8) “1” Timer 3 count source selection bit Timer 3 interrupt request Fig. 17 Timer block diagram 1-21 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER Timer X Timer X is a 16-bit timer that can be selected in one of four modes and can be controlled the timer X write and the real time port by setting the timer X mode register. Timer mode The timer counts f(XIN)/16 (or f(X CIN)/16 in low-speed mode). Pulse output mode Each time the timer underflows, a signal output from the CNTR 0 pin is inverted. Except for this, the operation in pulse output mode is the same as in timer mode. When using a timer in this mode, set the corresponding port P54 direction register to output mode. Event counter mode The timer counts signals input through the CNTR0 pin. Except for this, the operation in event counter mode is the same as in timer mode. When using a timer in this mode, set the corresponding port P5 4 direction register to input mode. Pulse width measurement mode The count source is f(XIN )/16 (or f(XCIN)/16 in low-speed mode). If CNTR0 active edge switch bit is “0”, the timer counts while the input signal of CNTR0 pin is at “H”. If it is “1”, the timer counts while the input signal of CNTR 0 pin is at “L”. When using a timer in this mode, set the corresponding port P5 4 direction register to input mode. Timer X Write Control If the timer X write control bit is “0”, when the value is written in the address of timer X, the value is loaded in the timer X and the latch at the same time. If the timer X write control bit is “1”, when the value is written in the address of timer X, the value is loaded only in the latch. The value in the latch is loaded in timer X after timer X underflows. If the value is written in latch only, unexpected value may be set in the high-order counter when the writing in high-order latch and the underflow of timer X are performed at the same timing. Note on CNTR0 Interrupt Active Edge Selection CNTR0 interrupt active edge depends on the CNTR0 active edge switch bit. Real Time Port Control While the real time port function is valid, data for the real time port are output from ports P5 2 and P5 3 each time the timer X underflows. (However, after rewriting a data for real time port, if the real time port control bit is changed from “0” to “1”, data are output without the timer X.) If the data for the real time port is changed while the real time port function is valid, the changed data are output at the next underflow of timer X. Before using this function, set the corresponding port direction registers to output mode. b7 b0 Timer X mode register (TXM : address 0027 16) Timer X write control bit 0 : Write value in latch and counter 1 : Write value in latch only Real time port control bit 0 : Real time port function invalid 1 : Real time port function valid P52 data for real time port P53 data for real time port Timer X operating mode bits b5 b4 0 0 : Timer mode 0 1 : Pulse output mode 1 0 : Event counter mode 1 1 : Pulse width measurement mode CNTR0 active edge switch bit 0 : Count at rising edge in event counter mode Start from “H” output in pulse output mode Measure “H” pulse width in pulse width measurement mode Falling edge active for CNTR 0 interrupt 1 : Count at falling edge in event counter mode Start from “L” output in pulse output mode Measure “L” pulse width in pulse width measurement mode Rising edge active for CNTR 0 interrupt Timer X stop control bit 0 : Count start 1 : Count stop Fig. 18 Structure of timer X mode register 1-22 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER Timer Y Timer Y is a 16-bit timer that can be selected in one of four modes. Timer mode The timer counts f(XIN)/16 (or f(XCIN )/16 in low-speed mode). Period measurement mode CNTR1 interrupt request is generated at rising/falling edge of CNTR1 pin input signal. Simultaneously, the value in timer Y latch is reloaded in timer Y and timer Y continues counting down/Except for the above-mentioned, the operation in period measurement mode is the same as in timer mode. The timer value just before the reloading at rising/falling of CNTR1 pin input signal is retained until the timer Y is read once after the reload. The rising/falling timing of CNTR 1 pin input signal is found by CNTR1 interrupt. When using a timer in this mode, set the corresponding port P55 direction register to input mode. Event counter mode The timer counts signals input through the CNTR1 pin. Except for this, the operation in event counter mode is the same as in timer mode. When using a timer in this mode, set the corresponding port P55 direction register to input mode. b7 b0 Timer Y mode register (TYM : address 0028 16) Not used (return “0” when read) Timer Y operating mode bits b5 b4 0 0 : Timer mode 0 1 : Period measurement mode 1 0 : Event counter mode 1 1 : Pulse width HL continuously measurement mode CNTR1 active edge switch bit 0 : Count at rising edge in event counter mode Measure the falling edge to falling edge period in period measurement mode Falling edge active for CNTR 1 interrupt 1 : Count at falling edge in event counter mode Measure the rising edge period in period measurement mode Rising edge active for CNTR 1 interrupt Timer Y stop control bit 0 : Count start 1 : Count stop Fig. 19 Structure of timer Y mode register Pulse width HL continuously measurement mode CNTR1 interrupt request is generated at both rising and falling edges of CNTR1 pin input signal. Except for this, the operation in pulse width HL continuously measurement mode is the same as in period measurement mode. When using a timer in this mode, set the corresponding port P55 direction register to input mode. Note on CNTR1 Interrupt Active Edge Selection CNTR1 interrupt active edge depends on the CNTR1 active edge switch bit. However, in pulse width HL continuously measurement mode, CNTR1 interrupt request is generated at both rising and falling edges of CNTR1 pin input signal regardless of the setting of CNTR1 active edge switch bit. 1-23 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER Timer 1, Timer 2, Timer 3 Timer 1, timer 2, and timer 3 are 8-bit timers. The count source for each timer can be selected by timer 123 mode register. The timer latch value is not affected by a change of the count source. However, because changing the count source may cause an inadvertent count down of the timer. Therefore, rewrite the value of timer whenever the count source is changed. Timer 2 Write Control If the timer 2 write control bit is “0”, when the value is written in the address of timer 2, the value is loaded in the timer 2 and the latch at the same time. If the timer 2 write control bit is “1”, when the value is written in the address of timer 2, the value is loaded only in the latch. The value in the latch is loaded in timer 2 after timer 2 underflows. Timer 2 Output Control When the timer 2 (T OUT) is output enabled, an inversion signal from pin TOUT is output each time timer 2 underflows. In this case, set the port P5 6 shared with the port TOUT to the output mode. Note on Timer 1 to Timer 3 When the count source of timer 1 to 3 is changed, the timer counting value may be changed large because a thin pulse is generated in count input of timer . If timer 1 output is selected as the count source of timer 2 or timer 3, when timer 1 is written, the counting value of timer 2 or timer 3 may be changed large because a thin pulse is generated in timer 1 output. Therefore, set the value of timer in the order of timer 1, timer 2 and timer 3 after the count source selection of timer 1 to 3. 1-24 b7 b0 Timer 123 mode register (T123M : address 0029 16) TOUT output active edge switch bit 0 : Start at “H” output 1 : Start at “L” output TOUT output control bit 0 : T OUT output disabled 1 : T OUT output enabled Timer 2 write control bit 0 : Write data in latch and counter 1 : Write data in latch only Timer 2 count source selection bit 0 : Timer 1 output 1 : f(XIN )/16 (or f(XCIN )/16 in low-speed mode) Timer 3 count source selection bit 0 : Timer 1 output 1 : f(XIN )/16 (or f(XCIN )/16 in low-speed mode) Timer 1 count source selection bit 0 : f(XIN )/16 (or f(XCIN )/16 in low-speed mode) 1 : f(XCIN ) Not used (return “0” when read) Note : Internal clock φ is f(XCIN)/2 in the low-speed mode. Fig. 20 Structure of timer 123 mode register MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER SERIAL I/O Clock Synchronous Serial I/O Mode Serial I/O can be used as either clock synchronous or asynchronous (UART) serial I/O. A dedicated timer (baud rate generator) is also provided for baud rate generation. Clock synchronous serial I/O mode can be selected by setting the mode selection bit of the serial I/O control register to “1”. For clock synchronous serial I/O, the transmitter and the receiver must use the same clock. If an internal clock is used, transfer is started by a write signal to the TB/RB (address 001816). Data bus Serial I/O control register Address 0018 16 Receive buffer Receive shift register P44/RXD Address 001A 16 Receive buffer full flag (RBF) Receive interrupt request (RI) Shift clock Clock control circuit P46 /SCLK1 f(XIN ) Serial I/O synchronization clock selection bit Frequency division ratio 1/(n+1) BRG count source selection bit Baud rate generator P47/SRDY1 F/F 1/4 Address 001C 16 1/4 Clock control circuit Falling-edge detector Transmit shift register shift completion flag (TSC) Transmit interrupt source selection bit Serial I/O transmit interrupt request (TI) Shift clock P45 /TXD Transmit shift register Transmit buffer register (TB) Address 0018 16 Transmit buffer empty flag (TBE) Address 0019 16 Serial I/O status register Data bus Fig. 21 Block diagram of clock synchronous serial I/O Transfer shift clock (1/2 to 1/2048 of the internal clock, or an external clock) Serial output T XD D0 D1 D2 D3 D4 D5 D6 D7 Serial input R XD D0 D1 D2 D3 D4 D5 D6 D7 Receive enable signal S RDY1 Write signal to receive/transmit buffer register (address 0018 16) TBE = 0 TBE = 1 TSC = 0 RBF = 1 TSC = 1 Overrun error (OE) detection Notes 1 : The transmit interrupt (TI) can be selected to occur either when the transmit buffer register has emptied (TBE=1) or after the transmit shift operation has ended (TSC=1), by setting the transmit interrupt source selection bit (TIC) of the serial I/O control register. 2 : If data is written to the transmit buffer register when TSC=0, the transmit clock is generated continuously and serial data is output continuously from the T XD pin. 3 : The receive interrupt (RI) is set when the receive buffer full flag (RBF) becomes “1” . Fig. 22 Operation of clock synchronous serial I/O function 1-25 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER Asynchronous Serial I/O1 (UART) Mode ter, but the two buffers have the same address in memory. Since the shift register cannot be written to or read from directly, transmit data is written to the transmit buffer register, and receive data is read from the receive buffer register. The transmit buffer register can also hold the next data to be transmitted, and the receive buffer register can hold a character while the next character is being received. Clock asynchronous serial I/O1 mode (UART) can be selected by clearing the serial I/O mode selection bit of the serial I/O control register to “0”. Eight serial data transfer formats can be selected, and the transfer formats used by a transmitter and receiver must be identical. The transmit and receive shift registers each have a buffer regis- Data bus Address 0018 16 Serial I/O control register Address 001A16 Receive buffer register(RB) OE Character length selection bit P44 /RXD ST detector 7 bits Receive buffer full flag (RBF) Serial I/O receive interrupt request (RI) Receive shift register 1/16 8 bits PE FE UART control register Address 001B16 SP detector Clock control circuit Serial I/O synchronization clock selection bit P46 /SCLK1 f(XIN ) Frequency division ratio 1/(n+1) Baud rate generator Address 001C 16 BRG count source selection bit 1/4 ST/SP/PA generator Transmit shift register shift completion flag (TSC) 1/16 P45 /TXD Transmit shift register Transmit interrupt source selection bit Transmit interrupt request (TI) Character length selection bit Transmit buffer register Address 0018 16 Transmit buffer empty flag (TBE) Serial I/O status register Address 0019 16 Data bus Fig. 23 Block diagram of UART serial I/O Transmit or receive clock Transmit buffer register write signal TBE=0 TSC=0 TBE=1 Serial output T XD TBE=0 TSC=1✽ TBE=1 ST D0 D1 SP ST D0 1 start bit 7 or 8 data bits 1 or 0 parity bit 1 or 2 stop bit (s) Receive buffer register read signal ✽Generated RBF=0 RBF=1 Serial input R XD ST D0 D1 D1 SP ST D0 D1 SP at 2nd bit in 2-stop-bit mode RBF=1 SP Notes 1 : Error flag detection occurs at the same time that the RBF flag becomes “1” (at 1st stop bit, during reception). 2 : The transmit interrupt (TI) can be selected to occur when either the TBE or TSC flag becomes “1”, depending on the setting of the transmit interrupt source selection bit (TIC) of the serial I/O control register. 3 : The receive interrupt (RI) is set when the RBF flag becomes “1”. 4 : After data is written to the transmit buffer register when TSC=1, 0.5 to 1.5 cycles of the data shift cycle is necessary until changing to TSC=0. Fig. 24 Operation of UART serial I/O function 1-26 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER Serial I/O Control Register (SIO1CON) 001A16 The serial I/O control register contains eight control bits for the serial I/O function. UART Control Register (UARTCON) 001B16 The UART control register consists of four control bits (bits 0 to 3) which are valid when asynchronous serial I/O is selected and set the data format of an data transfer. One bit in this register (bit 4) is always valid and sets the output structure of the P45/T XD pin. Serial I/O Status Register (SIO1STS) 001916 The read-only serial I/O status register consists of seven flags (bits 0 to 6) which indicate the operating status of the serial I/O function and various errors. Three of the flags (bits 4 to 6) are valid only in UART mode. The receive buffer full flag (bit 1) is cleared to “0” when the receive buffer is read. If there is an error, it is detected at the same time that data is transferred from the receive shift register to the receive buffer register, and the receive buffer full flag is set. A write to the serial I/O status register clears all the error flags OE, PE, FE, and SE (bit 3 to bit 6, respectively). Writing “0” to the serial I/O enable bit SIOE (bit 7 of the Serial I/O Control Register) also clears all the status flags, including the error flags. All bits of the serial I/O status register are initialized to “0” at reset, but if the transmit enable bit (bit 4) of the serial I/O control register has been set to “1”, the transmit shift completion flag (bit 2) and the transmit buffer empty flag (bit 0) become “1”. Transmit Buffer/Receive Buffer Register (TB/ RB) 001816 The transmit buffer register and the receive buffer are located at the same address. The transmit buffer register is write-only and the receive buffer register is read-only. If a character bit length is 7 bits, the MSB of data stored in the receive buffer register is “0”. Baud Rate Generator (BRG) 001C16 The baud rate generator determines the baud rate for serial transfer. The baud rate generator divides the frequency of the count source by 1/(n + 1), where n is the value written to the baud rate generator. 1-27 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER b7 b0 Serial I/O status register (SIOSTS : address 0019 16) Transmit buffer empty flag (TBE) 0: Buffer full 1: Buffer empty b0 Serial I/O control register (SIO1CON : address 001A 16) BRG count source selection bit (CSS) 0: f(XIN ) 1: f(XIN )/4 Transmit shift register shift completion flag (TSC) 0: Transmit shift in progress 1: Transmit shift completed Overrun error flag (OE) 0: No error 1: Overrun error SRDY1 output enable bit (SRDY) 0: P47 pin operates as ordinary I/O pin 1: P47 pin operates as S RDY1 output pin Parity error flag (PE) 0: No error 1: Parity error Transmit interrupt source selection bit (TIC) 0: Interrupt when transmit buffer has emptied 1: Interrupt when transmit shift operation is completed Framing error flag (FE) 0: No error 1: Framing error Transmit enable bit (TE) 0: Transmit disabled 1: Transmit enabled Summing error flag (SE) 0: (OE) U (PE) U (FE) =0 1: (OE) U (PE) U (FE) =1 Receive enable bit (RE) 0: Receive disabled 1: Receive enabled Not used (returns “1” when read) Serial I/O mode selection bit (SIOM) 0: Asynchronous serial I/O (UART) 1: Clock synchronous serial I/O UART control register (UARTCON : address 001B 16) Character length selection bit (CHAS) 0: 8 bits 1: 7 bits Parity enable bit (PARE) 0: Parity checking disabled 1: Parity checking enabled Parity selection bit (PARS) 0: Even parity 1: Odd parity Stop bit length selection bit (STPS) 0: 1 stop bit 1: 2 stop bits P45 /TXD P-channel output disable bit (POFF) 0: CMOS output (in output mode) 1: N-channel open-drain output (in output mode) Not used (return “1” when read) Fig. 25 Structure of serial I/O control registers 1-28 b0 Serial I/O1 synchronization clock selection bit (SCS) 0: BRG output divided by 4 when clock synchronized serial I/O is selected. BRG output divided by 16 when UART is selected. 1: External clock input when clock synchronized serial I/O is selected. External clock input divided by 16 when UART is selected. Receive buffer full flag (RBF) 0: Buffer empty 1: Buffer full b7 b7 Serial I/O enable bit (SIOE) 0: Serial I/O disabled (pins P44 –P47 operate as ordinary I/O pins) 1: Serial I/O enabled (pins P44 –P47 operate as serial I/O pins) MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER A-D CONVERTER The functional blocks of the A-D converter are described below. A-D Conversion Register (AD) 003516 The A-D conversion register is a read-only register that contains the result of an A-D conversion. When reading this register during an A-D conversion, the previous conversion result is read. A-D Control Register (ADCON) 003416 Comparator and Control Circuit The comparator and control circuit compares an analog input voltage with the comparison voltage and stores the result in the A-D conversion register. When an A-D conversion is completed, the control circuit sets the AD conversion completion bit and the AD interrupt request bit to “1”. Note that the comparator is constructed linked to a capacitor, so set f(XIN) to at least 500 kHz during A-D conversion. The A-D control register controls the A-D conversion process. Bits 0 to 2 of this register select specific analog input pins. Bit 3 signals the completion of an A-D conversion. The value of this bit remains at “0” during an A-D conversion, then changes to “1” when the A-D conversion is completed. Writing “0” to this bit starts the A-D conversion. Bit 4 controls the transistor which breaks the through current of the resistor ladder. When bit 5, which is the AD external trigger valid bit, is set to “1”, this bit enables A-D conversion even by a falling edge of an ADT input. Set ports which share with ADT pins to input when using an A-D external trigger. b7 b0 A-D control register (ADCON : address 0034 16) Analog input pin selection bits 0 0 0 : P60 /AN0 0 0 1 : P61 /AN1 0 1 0 : P62 /AN2 0 1 1 : P63 /AN3 1 0 0 : P64 /AN4 1 0 1 : P65 /AN5 1 1 0 : P66 /AN6 1 1 1 : P67 /AN7 AD conversion completion bit 0 : Conversion in progress 1 : Conversion completed VREF input switch bit 0 : OFF 1 : ON AD external trigger valid bit 0 : A-D external trigger invalid 1 : A-D external trigger valid Interrupt source selection bit 0 : Interrupt request at A-D conversion completed 1 : Interrupt request at ADT input falling Not used (returns “0” when read) Comparison Voltage Generator The comparison voltage generator divides the voltage between AVSS and VREF by 256, and outputs the divided voltages. Channel Selector The channel selector selects one of the input ports P6 7/AN 7 to P60/AN0 . Fig. 26 Structure of A-D control register Data bus b0 b7 A-D control register P57/ADT 3 ADT/A-D interrupt request A-D control circuit P61/AN1 P62/AN2 P63/AN3 P64/AN4 P65/AN5 Channel selector P60/AN0 Comparator A-D conversion register 8 Resistor ladder P66/AN6 P67/AN7 AVSS VREF Fig. 27 A-D converter block diagram 1-29 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER the segment output enable register and the LCD display RAM, the LCD drive control circuit starts reading the display data automatically, performs the bias control and the duty ratio control, and displays the data on the LCD panel. LCD DRIVE CONTROL CIRCUIT The 3822 group has the built-in Liquid Crystal Display (LCD) drive control circuit consisting of the following. LCD display RAM Segment output enable register LCD mode register Selector Timing controller Common driver Segment driver Bias control circuit A maximum of 32 segment output pins and 4 common output pins can be used. Up to 128 pixels can be controlled for LCD display. When the LCD enable bit is set to “1” after data is set in the LCD mode register, • • • • • • • • b7 Table 2. Maximum number of display pixels at each duty ratio Duty ratio 2 3 4 Maximum number of display pixel 64 dots or 8 segment LCD 8 digits 96 dots or 8 segment LCD 12 digits 128 dots or 8 segment LCD 16 digits b0 Segment output enable register (SEG : address 0038 16) Segment output enable bit 0 0 : Input ports P3 4 –P37 1 : Segment output SEG 12–SEG15 Segment output enable bit 1 0 : I/O ports P0 0, P01 1 : Segment output SEG 16,SEG17 Segment output enable bit 2 0 : I/O ports P0 2–P07 1 : Segment output SEG 18–SEG23 Segment output enable bit 3 0 : I/O ports P1 0,P11 1 : Segment output SEG 24,SEG25 Segment output enable bit 4 0 : I/O port P1 2 1 : Segment output SEG 26 Segment output enable bit 5 0 : I/O ports P1 3–P17 1 : Segment output SEG 27–SEG31 Not used (return “0” when read) (Do not write “1” to this bit) b7 b0 LCD mode register (LM : address 0039 16) Duty ratio selection bits 0 0 : Not available 0 1 : 2 (use COM 0,COM 1) 1 0 : 3 (use COM 0–COM 2) 1 1 : 4 (use COM 0–COM 3) Bias control bit 0 : 1/3 bias 1 : 1/2 bias LCD enable bit 0 : LCD OFF 1 : LCD ON Not used (returns “0” when read) (Do not write “1” to this bit) LCD circuit divider division ratio selection bits 0 0 : CLOCK input 0 1 : 2 division of CLOCK input 1 0 : 4 division of CLOCK input 1 1 : 8 division of CLOCK input LCDCK count source selection bit (Note) 0 : f(XCIN )/32 1 : f(XIN )/8192 Note : LCDCK is a clock for a LCD timing controller. Fig. 28 Structure of segment output enable register and LCD mode register 1-30 SEG2 SEG3 P34 /SEG12 Bias control bit VSS VL1 VL2 VL3 Bias control LCD display RAM P16 /SEG30 P17/SEG31 Segment Segment driver driver Segment Segment Segment Segment driver driver driver driver SEG1 Selector Selector Selector Selector Selector Selector SEG0 Address 004F16 Address 004116 Address 0040 16 Data bus Common driver Common driver Common driver COM0 COM1 COM2 COM3 Common driver 2 Timing controller 2 LCD circuit divider division ratio selection bits Duty ratio selection bits LCD enable bit LCDCK LCD divider “0” f(XCIN )/32 LCDCK count source selection bit “1” f(XIN )/8192 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER Fig. 29 Block diagram of LCD controller/driver 1-31 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER Bias Control and Applied Voltage to LCD Power Input Pins To the LCD power input pins (VL1 –VL3 ), apply the voltage shown in Table 3 according to the bias value. Select a bias value by the bias control bit (bit 2 of the LCD mode register). Table 3. Bias control and applied voltage to VL1–VL3 Bias value 1/3 bias 1/2 bias VL3 =VLCD VL2 =VL1=1/2 VLCD Common Pin and Duty Ratio Control The common pins (COM 0–COM 3 ) to be used are determined by duty ratio. Select duty ratio by the duty ratio selection bits (bits 0 and 1 of the LCD mode register). Voltage value VL3 =VLCD VL2 =2/3 VLCD VL1 =1/3 VLCD Note 1 : VLCD is the maximum value of supplied voltage for the LCD panel. Table 4. Duty ratio control and common pins used Duty ratio 2 3 4 Duty ratio selection bit Bit 0 Bit 1 1 0 0 1 1 1 Common pins used COM0, COM1 (Note 1) COM0–COM2 (Note 2) COM0–COM3 Notes 1 : COM2 and COM3 are open 2 : COM3 is open Contrast control VL3 Contrast control VL3 R1 VL2 R4 VL2 R2 VL1 VL1 R5 R3 1/3 bias R1 = R2 = R3 Fig. 30 Example of circuit at each bias 1-32 1/2 bias R4 = R5 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER LCD Display RAM LCD Drive Timing Address 004016 to 004F16 is the designated RAM for the LCD display. When “1” are written to these addresses, the corresponding segments of the LCD display panel are turned on. The LCDCK timing frequency (LCD drive timing) is generated internally and the frame frequency can be determined with the following equation; f(LCDCK)= (frequency of count source for LCDCK) (divider division ratio for LCD) Frame frequency= f(LCDCK) duty ratio Bit 7 6 5 4 3 2 1 0 Address 004016 004116 COM3 COM2 COM1 COM0 COM3 COM2 COM1 COM0 SEG1 SEG0 SEG3 SEG2 004216 004316 004416 SEG5 SEG7 SEG9 SEG4 SEG6 SEG8 004516 004616 004716 004816 SEG11 SEG13 SEG10 SEG12 SEG15 SEG17 SEG19 SEG14 SEG16 SEG18 SEG21 SEG23 SEG25 SEG20 SEG22 SEG24 SEG27 SEG29 SEG31 SEG26 SEG28 SEG30 004916 004A16 004B16 004C16 004D16 004E16 004F16 Fig. 31 LCD display RAM map 1-33 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER Internal logic LCDCK timing 1/4 duty Voltage level VL3 VL2=VL1 VSS COM0 COM1 COM2 COM3 VL3 VSS SEG0 OFF COM3 ON COM2 COM1 OFF COM0 COM3 ON COM2 COM1 COM0 1/3 duty VL3 VL2=VL1 VSS COM0 COM1 COM2 VL3 VSS SEG0 ON OFF COM0 COM2 ON COM1 OFF COM0 COM2 ON COM1 OFF COM0 COM2 1/2 duty VL3 VL2=VL1 VSS COM0 COM1 VL3 VSS SEG0 ON OFF ON OFF ON OFF ON OFF COM1 COM0 COM1 COM0 COM1 COM0 COM1 COM0 Fig. 32 LCD drive waveform (1/2 bias) 1-34 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER Internal logic LCDCK timing 1/4 duty Voltage level VL3 VL2 VL1 VSS COM0 COM1 COM2 COM3 VL3 SEG0 VSS OFF COM3 ON COM2 COM1 OFF COM0 COM3 ON COM2 COM1 COM0 1/3 duty VL3 VL2 VL1 VSS COM0 COM1 COM2 VL3 SEG0 VSS ON OFF COM0 COM2 ON COM1 OFF COM0 COM2 ON COM1 OFF COM0 COM2 1/2 duty VL3 VL2 VL1 VSS COM0 COM1 VL3 SEG0 VSS ON OFF ON OFF ON OFF ON OFF COM1 COM0 COM1 COM0 COM1 COM0 COM1 COM0 Fig. 33 LCD drive waveform (1/3 bias) 1-35 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER φ CLOCK OUTPUT FUNCTION The internal system clock φ can be output from port P4 1 by setting the φ output control register. Set bit 1 of the port P4 direction register to when outputting φ clock. b7 b0 φ output control register (CKOUT : address 002A 16) φ output control bit 0 : Port function 1 : φ clock output Not used (return “0” when read) Fig. 34 Structure of φ output control register 1-36 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER RESET CIRCUIT To reset the microcomputer, RESET pin should be held at an “L” level for 2 µs or more. Then the RESET pin is returned to an “H” level (the power source voltage should be between 2.5 V and 5.5 V, and the oscillation should be stable), reset is released. In order to give the X IN clock time to stabilize, internal operation does not begin until after 8200 XIN clock cycles (timer 1 and timer 2 are connected together and 512 cycles of f(XIN)/16) are complete. After the reset is completed, the program starts from the address contained in address FFFD 16 (high-order byte) and address FFFC16 (low-order byte). Make sure that the reset input voltage is less than 0.5 V for VCC of 2.5 V (Extended operating temperature version: the reset input voltage is less than 0.6V for VCC of 3.0V). Address 0016 ( 2 ) Port P1 direction register (0003 16) • • • 0016 ( 3 ) Port P2 direction register (000516) • • • 0016 ( 4 ) Port P4 direction register (000916) • • • 0016 ( 5 ) Port P5 direction register (000B16) • • • 0016 ( 6 ) Port P6 direction register (000D 16) • • • 0016 ( 7 ) Port P7 direction register (000F16 ) • • • 0016 ( 8 ) PULL register A (001616) • • • 0 0 0 0 1 0 1 1 ( 9 ) PULL register B (001716) • • • RESET VCC Power source voltage (Note) 0V Reset input voltage 0V 0.2VCC Note. Reset release voltage : VCC = 2.5V (Extended operating temperature version : 3.0V) RESET VCC Power source voltage detection circuit Fig. 35 Example of reset circuit 0016 (10) Serial I/O status register (001916) • • • 1 0 0 0 0 0 0 0 (11) Serial I/O control register (001A16) • • • Power on Register contents ( 1 ) Port P0 direction register (000116) • • • 0016 (12) UART control register (001B16) • • • 1 1 1 0 0 0 0 0 (13) Timer X (low) (002016 ) • • • FF16 (14) Timer X (high) (002116 ) • • • FF16 (15) Timer Y (low) (002216 ) • • • FF16 (16) Timer Y (high) (002316 ) • • • FF16 (17) Timer 1 (002416 ) • • • FF16 (18) Timer 2 (002516 ) • • • 0116 (19) Timer 3 (002616 ) • • • FF16 (20) Timer X mode register (002716 ) • • • 0016 (21) Timer Y mode register (002816 ) • • • 0016 (22) Timer 123 mode register (002916 ) • • • 0016 (23) φ output control register (002A16) • • • 0016 (24) A-D control register (003416 ) • • • 0 0 0 0 1 0 0 0 (25) Segment output enable register (003816 ) • • • 0016 (26) LCD mode register (003916 ) • • • 0016 (27) Interrupt edge selection register (003A16) • • • 0016 (28) CPU mode register (003B16) • • • 0 1 0 0 1 0 0 0 (29) Interrupt request register 1 (003C16) • • • 0016 (30) Interrupt request register 2 (003D16) • • • 0016 (31) Interrupt control register 1 (003E16) • • • 0016 (32) Interrupt control register 2 (003F16) • • • 0016 (33) Processor status register (34) Program counter (PS) ✕ ✕ ✕ ✕ ✕ 1 ✕ ✕ (PCH) Contents of address FFFD 16 (PCL ) Contents of address FFFC 16 Note ✕ : Undefined The contents of all other registers and RAM are undefined after reset, so they must be initialized by software. Fig. 36 Internal state of microcomputer after reset 1-37 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER XIN φ RESET Internal reset Reset address from vector table Address ? Data ? ? ? FFFC FFFD ADL ADH, ADL ADH SYNC XIN : about 8200 clock cycles Fig. 37 Reset sequence 1-38 Notes 1 : f(XIN ) and f(φ) are in the relationship : f(XIN ) = 8 • f(φ) Notes 2 : A question mark (?) indicates an undefined status that depends on the previous status. MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER CLOCK GENERATING CIRCUIT Oscillation Control The 3822 group has two built-in oscillation circuits. An oscillation circuit can be formed by connecting a resonator between XIN and XOUT (XCIN and X COUT). Use the circuit constants in accordance with the resonator manufacturer's recommended values. No external resistor is needed between XIN and X OUT since a feed-back resistor exists on-chip. However, an external feed-back resistor is needed between XCIN and X COUT. To supply a clock signal externally, input it to the XIN pin and make the X OUT pin open. The sub-clock XCIN-X COUT oscillation circuit cannot directly input clocks that are externally generated. Accordingly, be sure to cause an external resonator to oscillate. Immediately after poweron, only the XIN oscillation circuit starts oscillating, and X CIN and X COUT pins function as I/O ports. The pull-up resistor of X CIN and XCOUT pins must be made invalid to use the sub-clock. Stop mode If the STP instruction is executed, the internal clock φ stops at an “H” level, and XIN and XCIN oscillators stop. Timer 1 is set to “FF16 ” and timer 2 is set to “0116”. Either XIN or XCIN divided by 16 is input to timer 1 as count source, and the output of timer 1 is connected to timer 2. The bits of the timer 123 mode register except bit 4 are cleared to “0”. Set the timer 1 and timer 2 interrupt enable bits to disabled (“0”) before executing the STP instruction. Oscillator restarts at reset or when an external interrupt is received, but the internal clock φ is not supplied to the CPU until timer 2 underflows. This allows time for the clock circuit oscillation to stabilize. Frequency Control Middle-speed mode The internal clock φ is the frequency of XIN divided by 8. After reset, this mode is selected. Wait mode If the WIT instruction is executed, the internal clock φ stops at an “H” level. The states of XIN and XCIN are the same as the state before the executing the WIT instruction. The internal clock restarts at reset or when an interrupt is received. Since the oscillator does not stop, normal operation can be started immediately after the clock is restarted. High-speed mode The internal clock φ is half the frequency of XIN . Low-speed mode The internal clock φ is half the frequency of XCIN. A low-power consumption operation can be realized by stopping the main clock X IN in this mode. To stop the main clock, set bit 5 of the CPU mode register to “1”. When the main clock X IN is restarted, set enough time for oscillation to stabilize by programming. Note: If you switch the mode between middle/high-speed and lowspeed, stabilize both X IN and X CIN oscillations. The sufficient time is required for the sub-clock to stabilize, especially immediately after poweron and at returning from stop mode. When switching the mode between middle/highspeed and low-speed, set the frequency on condition that f(XIN)>3f(XCIN ). • • XCIN XCOUT Rf XIN Rd CCOUT CCIN XOUT CIN COUT Fig. 38 Ceramic resonator circuit XCIN Rf CCIN XCOUT XIN Open Rd CCOUT XOUT External oscillation circuit VCC VSS Fig. 39 External clock input circuit 1-39 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER XCOUT XCIN “1” “0” Port XC switch bit XIN XOUT Timer 1 count source selection bit Internal system clock selection bit (Note) Low-speed mode “1” 1/2 “0” Middle-/High-speed mode Timer 2 count source selection bit “1” Timer 1 1/2 1/4 “0” “0” Timer 2 “1” Main clock division ratio selection bit Middle-speed mode Timing φ (Internal system clock) High-speed mode or Low-speed mode Main clock stop bit Q S S R STP instruction WIT instruction Q R Reset Interrupt disable flag I Interrupt request Note : When using the low-speed mode, set the port X C switch bit to “1” . Fig. 40 Clock generating circuit block diagram 1-40 Q S R STP instruction MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER Reset ” “0 CM ” “1 M6 C ” “1 ” “0 CM7=0(8 MHz selected) CM6=0(High-speed) CM5=0(8 MHz oscillating) CM4=0(32 kHz stopped) C “0 M4 ” CM “1 ” 6 “1 ” “0 ” Middle-speed mode (f(φ) =1 MHz) CM6 “1” “0” CM6 “1” “0” High-speed mode (f(φ) =4 MHz) CM7 =0(8 MHz selected) CM6 =0(High-speed) CM5 =0(8 MHz oscillating) CM4 =1(32 kHz oscillating) CM7 “1” CM7 “1” “0” “0” CM7=0(8 MHz selected) CM6=1(Middle-speed) CM5=0(8 MHz oscillating) CM4=1(32 kHz oscillating) “0” CM7=1(32 kHz selected) CM6=1(Middle-speed) CM5=0(8 MHz oscillating) CM4=1(32 kHz oscillating) ” CM5 “1” 5 CM ” “1 M6 C ” “1 Low-speed mode (f(φ) =16 kHz) CM7=1(32 kHz selected) CM6=1(Middle-speed) CM5=1(8 MHz stopped) CM4=1(32 kHz oscillating) Low-speed mode (f(φ) =16 kHz) “0 ” “0 “1 ” CM7=1(32 kHz selected) CM6=0(High-speed) CM5=0(8 MHz oscillating) CM4=1(32 kHz oscillating) C “0 M5 ” CM 6 “1 ” “0 ” CM6 “1” “0” Low-speed mode (f(φ) =16 kHz) CM5 “1” CM4 “1” 4 High-speed mode (f(φ) =4 MHz) “0” “0” “0” CM 7=0(8 MHz selected) CM6 =1(Middle-speed) CM5 =0(8 MHz oscillating) CM4=0(32 kHz stopped) CM 4 “1” CM6 “1” Middle-speed mode (f(φ) =1 MHz) Low-speed mode (f(φ) =16 kHz) “0” CM7 =1(32 kHz selected) CM6 =0(High-speed) CM5 =1(8 MHz stopped) CM4 =1(32 kHz oscillating) b7 b4 CPU mode register (CPUM : address 003B 16) CM4 : Port Xc switch bit 0: I/O port 1: XCIN , XCOUT CM5 : Main clock (XIN –XOUT ) stop bit 0: Oscillating 1: Stopped CM6 : Main clock division ratio selection bit 0: f(XIN )/2 (high-speed mode) 1: f(XIN )/8 (middle-speed mode) CM7 : Internal system clock selection bit 0: XIN –XOUT selected (middle-/high-speed mode) 1: XCIN –XCOUT selected (low-speed mode) Notes 1 : Switch the mode by the allows shown between the mode blocks. (Do not switch between the mode directly without an allow.) 2 : The all modes can be switched to the stop mode or the wait mode and returned to the source mode when the stop mode or the wait mode is ended. 3 : Timer and LCD operate in the wait mode. 4 : When the stop mode is ended, a delay of approximately 1 ms occurs automatically by timer 1 and timer 2 in middle-/high-speed mode. 5 : When the stop mode is ended, a delay of approximately 0.25 s occurs automatically by timer 1 and timer 2 in low-speed mode. 6 : Wait until oscillation stabilizes after oscillating the main clock X IN before the switching from the low-speed mode to middle-/highspeed mode. 7 : The example assumes that 8 MHz is being applied to the X IN pin and 32 kHz to the X CIN pin. φ indicates the internal clock. Fig. 41 State transitions of internal clock 1-41 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER NOTES ON PROGRAMMING Processor Status Register Serial I/O The contents of the processor status register (PS) after a reset are undefined, except for the interrupt disable flag (I) which is “1”. After a reset, initialize flags which affect program execution. In particular, it is essential to initialize the index X mode (T) and the decimal mode (D) flags because of their effect on calculations. In clock synchronous serial I/O, if the receive side is using an external clock and it is to output the SRDY signal, set the transmit enable bit, the receive enable bit, and the SRDY output enable bit to “1”. Serial I/O continues to output the final bit from the TXD pin after transmission is completed. Interrupt A-D Converter The contents of the interrupt request bits do not change immediately after they have been written. After writing to an interrupt request register, execute at least one instruction before performing a BBC or BBS instruction. The comparator uses internal capacitors whose charge will be lost if the clock frequency is too low. Make sure that f(XIN) is at least 500 kHz during an A-D conversion. Do not execute the STP or WIT instruction during an A-D conversion. Decimal Calculations To calculate in decimal notation, set the decimal mode flag (D) to “1”, then execute an ADC or SBC instruction. Only the ADC and SBC instructions yield proper decimal results. After executing an ADC or SBC instruction, execute at least one instruction before executing a SEC, CLC, or CLD instruction. In decimal mode, the values of the negative (N), overflow (V), and zero (Z) flags are invalid. The carry flag can be used to indicate whether a carry or borrow has occurred. Initialize the carry flag before each calculation. Clear the carry flag before an ADC and set the flag before an SBC. Timers If a value n (between 0 and 255) is written to a timer latch, the frequency division ratio is 1/(n + 1). Multiplication and Division Instructions The index mode (T) and the decimal mode (D) flags do not affect the MUL and DIV instruction. The execution of these instructions does not change the contents of the processor status register. Ports The contents of the port direction registers cannot be read. The following cannot be used: • The data transfer instruction (LDA, etc.) • The operation instruction when the index X mode flag (T) is “1” • The addressing mode which uses the value of a direction register as an index • The bit-test instruction (BBC or BBS, etc.) to a direction register • The read-modify-write instruction (ROR, CLB, or SEB, etc.) to a direction register Use instructions such as LDM and STA, etc., to set the port direction registers. 1-42 Instruction Execution Time The instruction execution time is obtained by multiplying the frequency of the internal clock φ by the number of cycles needed to execute an instruction. The number of cycles required to execute an instruction is shown in the list of machine instructions. The frequency of the internal clock φ is half of the X IN frequency. MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER DATA REQUIRED FOR MASK ORDERS ROM PROGRAMMING METHOD The following are necessary when ordering a mask ROM production: (1) Mask ROM Order Confirmation Form (2) Mark Specification Form (3) Data to be written to ROM, in EPROM form (three identical copies) The built-in PROM of the blank One Time PROM version and builtin EPROM version can be read or programmed with a generalpurpose PROM programmer using a special programming adapter. Set the address of PROM programmer in the user ROM area. Package Name of Programming Adapter 80P6N-A PCA4738F-80A 80P6S-A PCA4738G-80 80P6D-A PCA4738H-80 80D0 PCA4738L-80A The PROM of the blank One Time PROM version is not tested or screened in the assembly process and following processes. To ensure proper operation after programming, the procedure shown in Figure 36 is recommended to verify programming. Programming with PROM programmer Screening (Caution) (150°C for 40 hours) Verification with PROM programmer Functional check in target device Caution : The screening temperature is far higher than the storage temperature. Never expose to 150 °C exceeding 100 hours. Fig. 42 Programming and testing of One Time PROM version 1-43 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER ABSOLUTE MAXIMUM RATINGS Symbol VCC VI VI VI VI Parameter Power source voltage Input voltage P00 –P07, P10–P17, P2 0–P27, P34 –P37, P40–P47, P5 0–P57, P60 –P67, P70, P71 Input voltage VL1 Input voltage VL2 Input voltage VL3 Input voltage RESET, XIN VO Output voltage P00–P07 , P10–P17 VO Output voltage P34–P37 Output voltage P20–P27 , P41–P47, P50 –P57, P60–P67, P70 , P71 Output voltage SEG 0–SEG11 Output voltage XOUT Power dissipation Operating temperature Storage temperature VI VO VO VO Pd Topr Tstg Ratings –0.3 to 7.0 Unit –0.3 to V CC +0.3 V –0.3 to V L2 VL1 to VL3 VL2 to VCC +0.3 –0.3 to VCC +0.3 –0.3 to VCC +0.3 –0.3 to VL3 +0.3 –0.3 to VL3 +0.3 V V V V V V V –0.3 to VCC +0.3 V –0.3 to VL3 +0.3 –0.3 to VCC +0.3 300 –20 to 85 (Note 1) –40 to 125 (Note 2) V V mW °C °C Conditions All voltages are based on V SS. Output transistors are cut off. At output port At segment output At segment output Ta = 25 °C V Notes 1 : Extended operating temperature version : –40 to 85°C 2 : Extended operating temperature version : –65 to 150°C RECOMMENDED OPERATING CONDITIONS (VCC = 2.5 to 5.5 V, Ta = –20 to 85°C, unless otherwise noted. Extended operating temperature version : V CC = 3.0 to 5.5 V, Ta = –40 to –20°C and VCC = 2.5 to 5.5V, Ta = –20 to 85°C) Symbol VCC Parameter Power source voltage High-speed mode f(XIN)=8 MHz Middle-speed mode Ta = –20 to 85°C f(XIN)=8 MHz Ta = –40 to –20°C Low-speed mode VSS VREF AVSS VIA VIH VIH VIH VIH VIL VIL VIL VIL 1-44 Ta = –20 to 85°C Ta = –40 to –20°C Power source voltage A-D conversion reference input voltage Analog power source voltage Analog input voltage AN 0–AM 7 “H” input voltage P00–P07, P10–P17 , P34–P37, P40 , P41, P45 , P47, P52, P53, P56 , P60–P67, P70 , P71 (CM4 =0) “H” input voltage P20–P27, P42–P44 , P46, P50 , P51, P54, P55 , P57 “H” input voltage RESET “H” input voltage XIN “L” input voltage P00–P07, P10–P17 , P34–P37, P40 , P41, P45 , P47, P52, P53, P56 , P60–P67, P70 , P71 (CM4 =0) “L” input voltage P20–P27, P42–P44 , P46, P50 , P51, P54, P55 , P57 “L” input voltage RESET “L” input voltage XIN Min. 4.0 2.5 3.0 2.5 3.0 Limits Typ. 5.0 5.0 5.0 5.0 5.0 0 Max. 5.5 5.5 5.5 5.5 5.5 Unit V AVSS VCC V V V V 0.7 VCC VCC V 0.8 VCC 0.8 VCC 0.8 VCC VCC VCC VCC V V V 0 0.3 VCC V 0 0 0 0.2 VCC V 0.2 VCC 0.2 VCC V 2 VCC 0 V MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER RECOMMENDED OPERATING CONDITIONS (VCC = 2.5 to 5.5 V, Ta = –20 to 85°C, unless otherwise noted. Extended operating temperature version : VCC = 3.0 to 5.5 V, Ta = –40 to –20°C and VCC = 2.5 to 5.5 V, Ta = –20 to 85°C) Symbol ΣI OH(peak) ΣI OH(peak) ΣI OL(peak) ΣI OL(peak) ΣI OH(avg) ΣI OH(avg) ΣI OL(avg) ΣI OL(avg) I OH(peak) I OH(peak) I OL(peak) I OL(peak) I OH(avg) I OH(avg) Parameter “H” total peak output current “H” total peak output current “L” total peak output current “L” total peak output current “H” total average output current “H” total average output current “L” total average output current “L” total average output current “H” peak output current “H” peak output current “L” peak output current “L” peak output current “H” average output current “H” average output current I OL(avg) I OL(avg) “L” average output current “L” average output current f(CNTR 0) f(CNTR 1) Input frequency for timers X and Y (duty cycle 50 %) f(XIN) f(XCIN ) P00–P07 , P10 –P17, P2 0–P2 7 (Note 1) P41–P47,P5 0–P57, P60–P67 , P70, P71 (Note 1) P00–P07 , P10 –P17, P2 0–P2 7 (Note 1) P41–P47,P5 0–P57, P60–P67 , P70, P71 (Note 1) P00–P07 , P10 –P17, P2 0–P2 7 (Note 1) P41–P47,P5 0–P57, P60–P67 , P70, P71 (Note 1) P00–P07 , P10 –P17, P2 0–P2 7 (Note 1) P41–P47,P5 0–P57, P60–P67 , P70, P71 (Note 1) P00–P07, P10–P17 (Note 2) P20–P27, P41–P47 , P50–P57, P60 –P67, P70, P71 (Note 2) P00–P07 , P10 –P17 (Note 2) P20–P27, P41–P47 , P50–P57, P60 –P67, P70, P71 (Note 2) P00–P07, P10–P17 (Note 3) P20–P27, P41–P47 , P50–P57, P60 –P67, P70, P71 (Note 3) P00–P07, P10–P17 (Note 3) P20–P27, P40–P47 , P50–P57, P60 –P67, P70, P71 (Note 3) 4.0 V ≤ V CC ≤ 5.5 V 2.5 V ≤ V CC ≤ 4.0 V High-speed mode (4.0 V ≤ VCC ≤ 5.5 V) Main clock input oscillation High-speed mode (2.5 V ≤ VCC ≤ 4.0 V) frequency (Note 4) Middle-speed mode Sub-clock input oscillation frequency (Note 4, 5) Limits Min. Typ. Max. –40 –40 40 40 –20 –20 20 20 –2 Unit mA mA mA mA mA mA mA mA mA –5 mA 5 mA 10 mA –1.0 mA –2.5 mA 2.5 mA 5.0 mA 4.0 MHz (2XVCC)–4 MHz 8.0 (4XVCC)–8 8.0 32.768 50 MHz MHz MHz kHz Notes 1 : The total output current is the sum of all the currents flowing through all the applicable ports. The total average current is an average value measured over 100 ms. The total peak current is the peak value of all the currents. 2 : The peak output current is the peak current flowing in each port. 3 : The average output current is an average value measured over 100 ms. 4 : When the oscillation frequency has a duty cycle of 50%. 5 : When using the microcomputer in low-speed mode, make sure that the sub-clock input oscillation frequency on condition that f(XCIN ) < f(XIN)/3. 1-45 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER ELECTRICAL CHARACTERISTICS (VCC = 4.0 to 5.5 V, Ta = –20 to 85°C, unless otherwise noted. Extended operating temperature version : VCC = 3.0 to 5.5 V, Ta = –40 to –20°C and VCC = 2.5 to 5.5 V, Ta = –20 to 85°C) Symbol VOH VOH VOL VOL VT+ – VT– VT+ – VT– VT+ – VT– I IH Parameter “H” output voltage P00–P0 7, P10–P1 7 “H” output voltage P20–P2 7, P41–P4 7,P50–P5 7, P60–P6 7, P70, P71 (Note 1) “L” output voltage P00–P0 7, P10–P1 7 “L” output voltage P20–P2 7, P41–P4 7, P50–P57, P60–P6 7, P70, P71 (Note 1) Hysteresis Hysteresis Hysteresis “H” input current CNTR0, CNTR1 , INT0–INT 3, P2 0–P27 RXD, SCLK RESET P00–P0 7, P10–P1 7, P30–P3 7 Test conditions IOH = –2.5 mA IOH = –0.6 mA VCC = 2.5 V IOH = –5 mA IOH = –1.25 mA IOH = –1.25 mA VCC = 2.5 V IOL = 5 mA IOL = 1.25 mA IOL = 1.25 mA VCC = 2.5 V IOL = 10 mA IOL = 2.5 mA IOL = 2.5 mA VCC = 2.5 V RESET: VCC=2.5 V to 5.5 V VI = VCC Pull-downs “off” VCC= 5.0 V, Ta = –20 to 85°C VI = V CC Ta = –40 to –20°C Pull-downs “on” VCC= 3.0 V, VI = V CC Pull-downs “on” I IH “H” input current P20–P2 7, P40–P4 7, P50–P57, P60–P6 7, P70, P71 VI = V CC I IH I IH “H” input current “H” input current RESET XIN VI = V CC I IL “L” input current P00–P0 7, P10–P1 7, P34–P37, P40 I IL “L” input current P20–P2 7, P41–P4 7, P50–P57, P60–P6 7, P70–P7 7 Ta = –20 to 85°C Min. VCC–2.0 Max. Unit V VCC–1.0 V VCC–2.0 VCC–0.5 V V VCC–1.0 V 2.0 0.5 V V 1.0 V 2.0 0.5 V 1.0 V 5.0 30 6.0 70 140 70 170 25 45 25 55 µA µA µA 5.0 µA 5.0 µA µA –5.0 µA –5.0 µA 4.0 VI = V CC V V V V 0.5 0.5 0.5 Ta = –40 to –20°C VI = VSS Pull-ups “off” VCC= 5.0 V, VI = VSS Pull-ups “on” VCC= 3.0 V, VI = VSS Pull-ups “on” VI = V SS VI = V SS Limits Typ. –30 –70 –140 µA –6 –25 –45 µA µA –5.0 “L” input current RESET –4.0 µA “L” input current XIN Note 1 : When “1” is set to port XC switch bit (bit 4 of address 003B16) of CPU mode register, the drive ability of port P70 is different from the value above mentioned. I IL I IL 1-46 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER ELECTRICAL CHARACTERISTICS (VCC = 2.5 to 5.5 V, T a = –20 to 85°C, unless otherwise noted. Extended operating temperature version : VCC = 3.0 to 5.5 V, T a = –40 to –20°C and V CC = 2.5 to 5.5 V, T a = –20 to 85°C) Symbol VRAM I CC Parameter RAM hold voltage Power source current Test conditions When clock is stopped • High-speed mode, VCC = 5 V f(XIN) = 8 MHz f(XCIN ) = 32.768 kHz Output transistors “off” A-D converter in operating • High-speed mode, VCC = 5 V f(XIN) = 8 MHz (in WIT state) f(XCIN ) = 32.768 kHz Output transistors “off” A-D converter stopped • Low-speed mode, VCC = 5 V, Ta ≤ 55°C f(XIN) = stopped f(XCIN ) = 32.768 kHz Output transistors “off” • Low-speed mode, VCC = 5 V, Ta = 25°C f(XIN) = stopped f(XCIN ) = 32.768 kHz (in WIT state) Output transistors “off” • Low-speed mode, VCC = 3 V, Ta ≤ 55°C f(XIN) = stopped f(XCIN ) = 32.768 kHz Output transistors “off” • Low-speed mode, VCC = 3 V, Ta = 25°C f(XIN) = stopped f(XCIN ) = 32.768 kHz (in WIT state) Output transistors “off” All oscillation stopped (in STP state) Output transistors “off” Ta = 25 °C Ta = 85 °C Min. 2.0 Limits Typ. Max. 5.5 Unit V 6.4 13 mA 1.6 3.2 mA 25 36 µA 7.0 14.0 µA 15 22 µA 4.5 9.0 µA 0.1 1.0 µA 10 1-47 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER A-D CONVERTER CHARACTERISTICS (VCC = 4.0 to 5.5 V, VSS = 0 V, Ta = –20 to 85°C, 4 MHz ≤ f(X IN) ≤ 8 MHz, middle-/high-speed mode, unless otherwise noted. Extended operating temperature version : VCC = 3.0 to 5.5 V, Ta = –40 to –20°C and VCC = 2.5 to 5.5 V, Ta = –20 to 85°C) Symbol Parameter – – Resolution Absolute accuracy (excluding quantization error) VCC = VREF = 5 V Conversion time f(XIN) = 8 MHz t CONV Test conditions RLADDER Ladder resistor VREF Reference input current VREF = 5 V I IA Analog port input current Note : When an internal trigger is used in middle-speed mode, it is 14 µs. 1-48 Min. Limits Typ. Max. 8 ±2 12.5 (Note) Unit Bits LSB µs 12 35 100 kΩ 50 150 200 µA 5.0 µA MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER TIMING REQUIREMENTS 1(VCC = 4.0 to 5.5 V, VSS = 0 V, Ta = –20 to 85°C, unless otherwise noted. Extended operating temperature version : VCC = 3.0 to 5.5 V, Ta = –40 to –20°C and VCC = 2.5 to 5.5 V, Ta = –20 to 85°C) Symbol t w(RESET) t c(X IN) t wH(XIN) t wL(XIN) t c(CNTR) t wH(CNTR) t wL(CNTR) t wH(INT) t wL(INT) t c(S CLK) t wH(SCLK) t wL(S CLK) tsu(R X D–SCLK ) th(S CLK–RX D) Parameter Reset input “L” pulse width Main clock input cycle time (XIN input) Main clock input “H” pulse width Main clock input “L” pulse width CNTR0, CNTR1 input cycle time CNTR0, CNTR1 input “H” pulse width CNTR0 , CNTR1 input “L” pulse width INT0 to INT3 input “H” pulse width INT0 to INT3 input “L” pulse width Serial I/O clock input cycle time (Note) Serial I/O clock input “H” pulse width (Note) Serial I/O clock input “L” pulse width (Note) Serial I/O input set up time Serial I/O input hold time Min. 2 125 45 40 200 80 80 80 80 800 370 370 220 100 Limits Typ. Max. Unit µs ns ns ns ns ns ns ns ns ns ns ns ns ns Note : When f(X IN) = 8 MHz and bit 6 of address 001A16 is “1” (clock synchronous). Divide this value by four when f(XIN) = 8 MHz and bit 6 of address 001A16 is “0” (UART). TIMING REQUIREMENTS 2(VCC = 2.5 to 4.0 V, VSS = 0 V, Ta = –20 to 85°C, unless otherwise noted. Extended operating temperature version : VCC = 3.0 to 5.5 V, Ta = –40 to –20°C and VCC = 2.5 to 5.5 V, Ta = –20 to 85°C) Symbol t w(RESET) t c(X IN) t wH(XIN) t wL(XIN) t c(CNTR) t wH(CNTR) t wL(CNTR) t wH(INT) t wL(INT) t c(S CLK) t wH(SCLK) t wL(S CLK) tsu(R X D–SCLK ) th(S CLK–RX D) Parameter Reset input “L” pulse width Main clock input cycle time (XIN input) Main clock input “H” pulse width Main clock input “L” pulse width CNTR0, CNTR1 input cycle time CNTR0, CNTR1 input “H” pulse width CNTR0, CNTR1 input “L” pulse width INT0 to INT3 input “H” pulse width INT0 to INT3 input “L” pulse width Serial I/O clock input cycle time (Note) Serial I/O clock input “H” pulse width (Note) Serial I/O clock input “L” pulse width (Note) Serial I/O input set up time Serial I/O input hold time Min. 2 125 45 40 500 230 230 230 230 2000 950 950 400 200 Limits Typ. Max. Unit µs ns ns ns ns ns ns ns ns ns ns ns ns ns Note : When f(X IN) = 2 MHz and bit 6 of address 001A16 is “1” (clock synchronous). Divide this value by four when f(XIN) = 2 MHz and bit 6 of address 001A16 is “0” (UART). 1-49 MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER SWITCHING CHARACTERISTICS 1(VCC = 4.0 to 5.5 V, VSS = 0 V, Ta = –20 to 85°C, unless otherwise noted. Extended operating temperature version : VCC = 3.0 to 5.5 V, Ta = –40 to –20°C and VCC = 2.5 to 5.5 V, Ta = –20 to 85°C) Symbol t wH(SCLK) t wL(S CLK) td(S CLK–TX D) tv(SCLK –TXD) t r(SCLK ) t f(SCLK) t r(CMOS) t f(CMOS) Parameter Min. tc(SCLK)/2–30 tc(SCLK)/2–30 Serial I/O clock output “H” pulse width Serial I/O clock output “L” pulse width Serial I/O output delay time (Note 1) Serial I/O output valid time (Note 1) Serial I/O clock output rising time Serial I/O clock output falling time CMOS output rising time (Note 2) CMOS output falling time (Note 2) Limits Typ. Max. 140 –30 10 10 30 30 30 30 Unit ns ns ns ns ns ns ns ns Notes 1 : When the P45/T XD P-channel output disable bit of the UART control register (bit 4 of address 001B16 ) is “0”. 2 : XOUT and XCOUT pins are excluded. SWITCHING CHARACTERISTICS 2 (VCC = 2.5 to 4.0 V, VSS = 0 V, Ta = –20 to 85°C, unless otherwise noted. Extended operating temperature version : VCC = 3.0 to 5.5 V, Ta = –40 to –20°C and VCC = 2.5 to 5.5 V, Ta = –20 to 85°C) Symbol t wH(SCLK) t wL(S CLK) td(S CLK–TX D) tv(SCLK –TXD) t r(SCLK ) t f(SCLK) t r(CMOS) t f(CMOS) Parameter Min. tc(SCLK )/2–50 tc(SCLK )/2–50 Serial I/O clock output “H” pulse width Serial I/O clock output “L” pulse width Serial I/O output delay time (Note 1) Serial I/O output valid time (Note 1) Serial I/O clock output rising time Serial I/O clock output falling time CMOS output rising time (Note 2) CMOS output falling time (Note 2) Limits Typ. 350 –30 20 20 Notes 1 : When the P45/T XD P-channel output disable bit of the UART control register (bit 4 of address 001B16 ) is “0”. 2 : XOUT and XCOUT pins are excluded. Measurement output pin 1 kΩ 100 pF Measurement output pin 100 pF CMOS output N-channel open-drain output (Note) Note : When bit 4 of the UART control register (address 001B 16) is “1”. (N-channel open-drain output mode) Fig. 43 Circuit for measuring output switching characteristics (1) 1-50 Max. 50 50 50 50 Unit ns ns ns ns ns ns ns ns MITSUBISHI MICROCOMPUTERS 3822 Group SINGLE-CHIP 8-BIT CMOS MICROCOMPUTER TIMING DIAGRAM tc(CNTR) twH(CNTR) CNTR 0,CNTR1 twL(CNTR) 0.8VCC 0.2VCC twH(INT) INT0–INT3 twL(INT) 0.8VCC 0.2VCC tw(RESET) RESET 0.8VCC 0.2VCC tc(XIN) twL(XIN ) twH(XIN) XIN 0.8VCC 0.2VCC tc(SCLK) tf tr twL(SCLK) SCLK 0.8VCC 0.2VCC tsu(RXD-SCLK ) RX D twH(SCLK ) th(SCLK -RXD) 0.8VCC 0.2VCC td(SCLK -TXD) tv(SCLK-TXD) TXD Fig. 44 Timing diagram 1-51 CHAPTER 2 APPLICATION 2.1 2.2 2.3 2.4 I/O pins Interrupts Timer X and timer Y Timer 1, timer 2, and timer 3 2.5 Serial I/O 2.6 A-D converter 2.7 LCD drive control circuit 2.8 Standby function 2.9 Reset 2.10 Oscillating circuit APPLICATION 2.1 I/O pins 2.1 I/O pins 2.1.1 I/O ports (1) I/O port write and read ■The input-only ports and programmable I/O ports set for the input mode The input-only ports and the programmable I/O ports set for the input mode are floating. The value (pin state) input to the port is read by reading the port register corresponding to each port. In writing data into the port register corresponding to each port, the data is only written to the port register but the pin remains in the floating state. ■Output-only ports and programmable I/O ports set for the output mode The value written to the port register corresponding to an output port or a programmable I/O port set for the output mode is output externally through a transistor. In reading the data of the port transistor corresponding to each port, the pin state is not read but the value written to the port register is read. Accordingly, even if the output “H” voltage is reduced or the output “L” voltage is increased by external load, the previous output value is correctly read. At output : •An output value is set by writing to the port register. •Reading a port register is possible. At input : •Writing to a port register is possible. •A pin state is read by reading the port register. “H” level output Port direction register (“1”) Port direction register✽ (“0”) Port register (at writing) Port register “L” level output Port register (at reading) Read the pin state ✽ : The P- and N-channel transistors are cut off. Fig. 2.1.1 I/O port write and read 2–2 3822 GROUP USER’S MANUAL APPLICATION 2.1 I/O pins Table 2.1.1 shows the memory allocation of the port registers corresponding to each port. Table 2.1.1 Memory allocation of port registers Port Port register address 0000 16 0002 16 0004 16 0006 16 0008 16 000A 16 000C16 000E 16 P0 P1 P2 P3 P4 P5 P6 P7 (2) Input/output switching of programmable I/O ports Input/output switching of the programmable I/O ports is performed by the port direction register corresponding to each port (Note). Figure 2.1.2 shows the structure of the port Pi (i = 2, 4 to 7) direction register, and Table 2.1.2 shows the memory allocation of the port direction registers corresponding to each port. Figure 2.1.4 shows a port direction register setting example. Note: In ports P0 and P1, input/output switching is performed by a port unit. By setting bit 0 of the corresponding direction register to “0,” the port is set for the input mode. By setting to “1,” the port is set for the output mode. Figure 2.1.3 shows the structure of the ports P0 and P1 direction registers. Port Pi direction register b7 b6 b5 b4 b3 b2 b1 b0 Port Pi direction register (PiD) (i = 2, 4 to 7) [Address 05 16, 0916, 0B 16, 0D 16, 0F 16] B 0 1 2 3 4 5 6 7 Name Port Pi direction register Functions 0 : Port Pi 0 input mode 1 : Port Pi 0 output mode 0 : Port Pi 1 input mode 1 : Port Pi 1 output mode 0 : Port Pi 2 input mode 1 : Port Pi 2 output mode 0 : Port Pi 3 input mode 1 : Port Pi 3 output mode 0 : Port Pi 4 input mode 1 : Port Pi 4 output mode 0 : Port Pi 5 input mode 1 : Port Pi 5 output mode 0 : Port Pi 6 input mode 1 : Port Pi 6 output mode 0 : Port Pi 7 input mode 1 : Port Pi 7 output mode At reset 0 R W × 0 × 0 × 0 × 0 × 0 × 0 × 0 × Notes 1: Nothing is allocated bit 0 of port P4 direction register and bit 2 to bit 7 of port P7 direction register. These bits cannot be written to. 2: The contents of the port Pi direction register cannot be read out (refer to “2.1.4 Notes on use” ) Fig. 2.1.2 Structure of port Pi (i = 2, 4 to 7) direction register 3822 GROUP USER’S MANUAL 2–3 APPLICATION 2.1 I/O pins Port P0 direction register, port P1 direction register b7 b6 b5 b4 b3 b2 b1 b0 Port P0 direction register (P0D) [Address 01 16] Port P1 direction register (P1D) [Address 03 16] B Name 0 Port P0 direction register / Port P1 direction register Functions 0 : All bits are input mode 1 : All bits are output mode 1 Nothing is allocated. These bits cannot be written to to and be read out. 7 At reset R W 0 × 0 × × Note: In ports P0 and P1, input/output switching is performed by a port unit. By setting bit 0 of the corresponding port direction register to “0”, the port is set for the input mode. By setting to “1”, the port is set for the output mode. Nothing is allocated for bits 1 to 7 of the port P0 direction register, and these bits cannot be written to. Fig. 2.1.3 Structure of ports P0 and P1 direction registers Table 2.1.2 Memory allocation of port direction registers Port P0 P1 P2 P4 P5 P6 P7 2–4 3822 GROUP USER’S MANUAL Port direction register address 0001 16 0003 16 0005 16 0009 16 000B 16 000D 16 000F16 APPLICATION 2.1 I/O pins b7 Example : When setting “6B16” 0 1 1 0 1 0 1 b0 1 to the port P2 direction register Input/output direction of port P2 P27 P26 P25 P24 P23 P22 P21 P20 Input Output Output Input Output Input Output Output Fig. 2.1.4 Port direction register setting example (3) Pull-up control and pull-down control The ports shown in Table 2.1.3 are controlled for pull-up and pull-down by software. Either pull-up or pull-down is controlled by the PULL register A (address 001616 ) and the PULL register B (address 001716 ). Figure 2.1.5 shows the structure of the PULL register A and Figure 2.1.6 shows the structure of the PULL register B. Table 2.1.3 I/O ports which either pull-up or pull-down is controlled by software Control Pull-down Pull-up Ports P0, P1, P3 P2, P4 1 to P47 , P5 to P7 3822 GROUP USER’S MANUAL 2–5 APPLICATION 2.1 I/O pins PULL register A b7 b6 b5 b4 b3 b2 b1 b0 PULL register A (PULLA) [Address 16 16] B Name 0 Port P0 0–P0 7 pull-down bit 1 Port P1 0–P1 7 pull-down bit 2 Port P2 0–P2 7 pull-up bit 3 Port P3 0–P3 7 pull-down bit 4 Port P7 0, P7 1 pull-up bit Functions 0 : No pull-down 1 : Pull-down 0 : No pull-down 1 : Pull-down 0 : No pull-up 1 : Pull-up 0 : No pull-down 1 : Pull-down 0 : No pull-up 1 : Pull-up 5 Nothing is allocated. These bits cannot be written to to and are fixed to “0” at reading. 7 At reset R W 1 1 0 1 0 0 0 × Note: For ports set for the output mode, pull-up or pull-down is impossible. Fig. 2.1.5 Structure of PULL register A PULL register B b7 b6 b5 b4 b3 b2 b1 b0 PULL register B (PULLB) [Address 17 16] B Name 0 Port P4 1-P43 pull-up bit 1 Port P4 4-P47 pull-up bit 2 Port P5 0-P53 pull-up bit 3 Port P5 4-P57 pull-up bit 4 Port P6 0-P63 pull-up bit 5 Port P6 4-P67 pull-up bit Functions 0 : No pull-up 1 : Pull-up 0 : No pull-up 1 : Pull-up 0 : No pull-up 1 : Pull-up 0 : No pull-up 1 : Pull-up 0 : No pull-up 1 : Pull-up 0 : No pull-up 1 : Pull-up 6, 7 Nothing is allocated. These bits cannot be written to and are fixed to “0” at reading. At reset R W 0 0 0 0 0 0 0 Note: For ports set for the output mode, pull-up is impossible. Fig. 2.1.6 Structure of PULL register B 2–6 3822 GROUP USER’S MANUAL 0 × APPLICATION 2.1 I/O pins 2.1.2 Function pins Each function pin except I/O ports is described below. (1) V CC pin and V SS pin Power source input pins. In the high-speed mode, apply 5.5 V to the VCC pin. In the middle-speed mode or the low-speed mode, apply 2.5 V to 5.5 V to the VCC pin. In all modes, apply 0 V to the V SS pin. (2) V REF pin The reference voltage input pin for the A-D converter. Apply 2 V to V CC to the V REF pin. (3) AV SS pin The GND input pin for the A-D converter. Apply the same voltage as that applied to the VSS pin to the AVSS pin. (4) V L1 pin, VL2 pin and V L3 pin Power source input pins for LCD. Apply 0 V L1 V L2 V L3 V CC of voltage to these pins. (5) Pins XIN and X OUT An input pin and an output pin for the main clock generating circuit. (6) RESET pin The 3822 group is reset internally by keeping the level of this pin at “L” for 2 µs or more. Reset state is released by returning the level of this pin to “H”. (7) Pins SEG0 to SEG11 Segment signal output pins for LCD. (8) Pins COM 0 to COM 3 Common signal output pins for LCD. 3822 GROUP USER’S MANUAL 2–7 APPLICATION 2.1 I/O pins 2.1.3 Application examples The basic structure for key input without a pull-up resistor and an application examples of it are described below. In contrast to a method which uses a pull-up resistor, dissipating current incessantly, this method requires only a charging current for a very small capacitance, so it is especially suitable for a battery-driven unit. In the following description, ports A, B, C and D are only tentative names and differ from the real port names. (1) Basic structure for key input Figure 2.1.7 shows a connection example 1 for key input without a pull-up resistor and Figure 2.1.8 shows the key input control procedure 1. Figure 2.1.9 shows a timing diagram 1 where switch A is pressed. CMOS I/O port A SW A CMOS I/O port B SW B CMOS I/O port C SW C Virtual capacitor (C) r = 10 kΩ Fig. 2.1.7 Connection example 1 for key input ✽1 Key input ✽1 In the case of no key input, output “L” (Noise countermeasure). ✽2 ✽2 A virtual capacitor (C) is charged by outputting “H.” (For capacitance, refer to the next page.) Output “H” for charging to each port After inputting data into the port direction register, judge ON/OFF of key input. ✽3 Set the port direction register for input mode with an instruction immediately after “H” is output. (For the limit timer for ON/OFF judgment and the discharging time at ON, refer to the next page.) ✽3 ✽4 For double reading to ensure data, repeat ✽2 and ✽3. ✽4 Fig. 2.1.8 Key input control procedure 1 2–8 3822 GROUP USER’S MANUAL APPLICATION 2.1 I/O pins ➀ ➁ ➂ ➃ Charge time T ➄ “L” output t2 “H” output “H” output Input Input Port input CMOS I/O port B “L” output CMOS I/O port C “L” output “H” output ➆ Charge time t2 CMOS I/O port A ➅ Input Read port state “H” output Input “H” output Input t1 “H” output Input Fig. 2.1.9 Timing diagram 1 where switch A is pressed The discharging time (➂,➃) after completion of charge in Figure 2.1.9 is shown with the following expression. The discharging time (T) is obtained with T = CR. ●The capacitance of the virtual capacitor (C) is: Capacitance of microcomputer output transistors and input transistors ... Approx. 10 pF Capacitance of package pin ............................................................................. Several pF + Capacitance of each key wiring ....................................................................... Several pF (minimum) Approx. 10 pF ●In the leak current standard at 5 V, the maximum value is 5 µA and the standard value is 0.05 µA. Accordingly, the minimum resistance (R) is 1 MΩ and the standard resistance is 100 MΩ. In the above condition, the discharging time (T) is obtained as follows: T (minimum) = 10 pF ✕ 1 MΩ = 10 ✕ 10 -12 ✕ 1 ✕ 10 6 = 10 ✕ 10 -6 (s) T (standard) = 10 pF ✕ 100 MΩ = 10 ✕ 10 -12 ✕ 100 ✕ 10 6 = 1 ✕ 10 -3 (s) Accordingly, the discharging time (T) is 10 µs (minimum) to 1 ms (standard). 3822 GROUP USER’S MANUAL 2–9 APPLICATION 2.1 I/O pins ✻The discharging time (t2) at ON is obtained with t = Cr in the same way as the previous page, with the result of t = 100 ns. ✻Judge ON/OFF of key input within the time (t 1) which is obtained as follows: After the completion of “H” output, V t1 = V O ✕ e –t1/T t 1 = –T ✕ 1n Vt1 VO V O : “H” output voltage V t1 : Input voltage after t 1(s) <Example> The standard time at V O = 5.0 V, V t1 = 3.5 V t 1 = –1 ✕ 10 –3 ✕ 1n 3.5 = 357 µs 5.0 (2) Key input application example According to the key input without a pull-up resistor described in (1), an effective application example where there are enough ports is shown below. This method reduces both current dissipation and quantity of parts compared with the example shown in (1). Figure 2.1.10 shows a connection example 2 for key input using port D and Figure 2.1.11 shows the key input control procedure 2. Figure 2.1.12 shows a timing diagram 2 where switch A is pressed. CMOS I/O port A SW A CMOS I/O port B SW B CMOS I/O port C SW C CMOS I/O port D Virtual capacitor (C) Fig. 2.1.10 Connection example 2 for key input ✽1 Key input ✽1 In the case of no key input, output “L” (Noise countermeasure). ✽2 Output “H” for charging to each port ✽2 A virtual capacitor (C) is charged by outputting “H.” (For capacitance, refer to the previous page.) ✽3 Set the port direction register for the input mode ✽4 After inputting data into the port direction register, judge ON/OFF of key input. ✽3 Set the port direction register for input mode with an instruction immediately after “H” is output. (For the limit timer for ON/OFF judgment and the discharging time at ON, refer to the next page.) ✽4 Output “L” with the next instruction (refer to “Figure 2.1.12 (A)”) ✽5 For double reading to ensure data, repeat ✽2 and ✽3. ✽5 Fig. 2.1.11 Key input control procedure 2 2–10 3822 GROUP USER’S MANUAL APPLICATION 2.1 I/O pins (A) ➀ (A) ➁ ➂ ➃ T Charge time ➄ “L” output t2 “H” output “H” output Input Input Port input CMOS I/O port B “L” output “H” output ➆ Charge time t2 CMOS I/O port A ➅ Input Input port state “H” output Input “H” output Input t1 CMOS I/O port C “L” output CMOS I/O port D “L” output “H” output “H” output Input “L” output “H” output “L” output Fig. 2.1.12 Timing diagram 2 where switch A is pressed With the exception that “L” is output using port D for key input (refer to “Figure 2.1.12 (A)”), the basic structure is the same as that shown in (1). The examples shown in (1) and (2) are already put into practical use. However, be sure to evaluate them on the user’s side. In this example, the ports are the same structure as the equivalent circuit which a pull-up resistor of about 1 k is connected. 3822 GROUP USER’S MANUAL 2–11 APPLICATION 2.1 I/O pins 2.1.4 Notes on use When using I/O ports, note the following. (1) Reading the port direction register The value of the port direction register is not readable. The following cannot be used: • the data transfer instruction (LDA, etc.) • the operation instruction when the index X mode flag (T) is “1” • the addressing mode which uses the value of a direction register as an index • the bit-test instruction (BBC or BBS, etc.) to a direction register • the read-modify-write instruction (ROR, CLB, or SEB, etc.) to a direction register Use instructions such as LDM and STA, etc., to set the port direction registers. (2) When the data register (port latch) of an I/O port is modified with the bit managing instruction When the data register (port latch) of an I/O port is modified with the bit managing instruction ✽1, the value of the unspecified bit may be changed. REASON The bit managing instructions are read-modify-write form instructions for reading and writing data by a byte unit. Accordingly, when these instructions are executed on a bit of the data register of an I/O port, the following is executed to all bits of the data register. ●As for a bit which is set for an input port: The pin state is read in the CPU, and is written to this bit after bit managing. ●As for a bit which is set for an output port: The bit value is read in the CPU, and is written to this bit after bit managing. Note the following: ●Even when a port which is set as an output port is changed for an input port, its data register holds the output data. ●As for a bit of which is set for an input port, its value may be changed even when not specified with a bit managing instruction in case where the pin state differs from its data register contents ✽1 bit managing instructions : SEB and CLB instruction (3) Pull-up control and pull-down control To pull-up or pull-down ports by software, note the following. ●When ports P0, P1 and P3 are used as segment output pins for LCD, the settings of the pull-down bits corresponding to these ports of the PULL register A are invalid (pull-down is impossible). ●When ports P0–P2, P4 1 –P47 and P5–P7 are set for the output mode, the settings of the bits corresponding to these ports of the PULL register A and PULL register B are invalid (pull-up or pulldown are impossible). 2–12 3822 GROUP USER’S MANUAL APPLICATION 2.1 I/O pins (4) Notes in standby state In standby state ✽2 for low-power dissipation, do not make input levels of an input port and an I/O port “undefined”, especially for I/O ports of the P-channel and the N-channel open-drain. Pull-up (connect the port to VCC) or pull-down (connect the port to VSS) these ports through a resistor. When determining a resistance value, note the following points: ●External circuit ●Variation of output levels during the ordinary operation When using built-in pull-up or pull-down resistor as an option, note on varied current values. ●When setting as an input port : Fix its input level ●When setting as an output port : Prevent current from flowing out to external REASON Even when setting as an output port with its direction register, in the following state: ●P-channel......when the content of the data register (port latch) is “0” ●N-channel......when the content of the data register (port latch) is “1” the transistor becomes the OFF state, which causes the ports to be the high-impedance state. Note that the level becomes “undefined” depending on external circuits. Accordingly, the potential which is input to the input buffer in a microcomputer is unstable in the state that input levels of a input port and an I/O port are “undefined”. This may cause power source current. ✽2 standby state : the stop mode by executing the STP instruction the wait mode by executing the WIT instruction 3822 GROUP USER’S MANUAL 2–13 APPLICATION 2.1 I/O pins (5) Termination of unused pins Table 2.1.4 shows termination of unused pins. Table 2.1.4 Termination of unused pins Pins Terminations P20 –P27 P41 /φ P44 /RxD P45 /TxD P46 /SCLK P47 /SRDY ➀After set for the input mode and put the built-in pull-up resistor in the ON state, P52 /RTP 0 open. ✽1 P53 /RTP 1 ➁Set for the output mode and open at “L” or “H”.✽2 P54 /CNTR 0 P55 /CNTR 1 P56 /T OUT P57 /ADT P60 /AN0–P67 /AN7 P70 /XCOUT P71 /XCIN P00 /SEG16–P0 7/SEG23 ➀After set for the input mode and put the built-in pull-down resistor in the ON P10 /SEG24–P1 7/SEG31 state, open.✽1 ➁Set for the output mode and open at “L” or “H”.✽2 Connect each pin to V CC or VSS through each resistor of 1k to 10 k . P40 P42 /INT0 ➀After disabling INT interrupts, set for the input mode, and put the pull-up builtP43 /INT1 in resistor in the ON state, open.✽1 P50 /INT2 ➁Set for the output mode and open at “L” or “H”.✽2 P51 /INT3 VL1–VL3 Connect to VSS level COM0–COM3 SEG0–SEG11 Open P34 /SEG12–P3 7/SEG15 ✽1 After reset and before the built-in pull-up (pull-down) resistor is put in the ON state by software, the built-in pull-up (pull-down) resistor is in the OFF state. Because of this, the potential at these pins are “undefined” and the power source current may increase. Since the direction register setup may be changed for the output mode because of a program runaway or noise, set direction register for the input mode periodically. And make the length of wiring which is connected I/O ports within 2 cm. ✽2 After reset and before I/O ports are switched for the output mode by software, I/O ports are set for the input mode. Because of this, the potential at these pins are “undefined” and the power source current may increase in the input mode. Since the direction register setup may be changed for the input mode because of a program runaway or noise, set direction register for the output mode periodically. And make the length of wiring which is connected I/O ports within 2 cm. 2–14 3822 GROUP USER’S MANUAL APPLICATION 2.2 Interrupts 2.2 Interrupts 2.2.1 Explanation of operations When an interrupt request is accepted, the contents immediately before acceptance of the interrupt requests of the following registers is automatically pushed onto the stack area in the order of ➀, ➁ and ➂. ➀High-order (PCH) contents of program counter ➁Low-order (PCL ) contents of program counter ➂Contents of processor status register (PS) After the contents of the above registers are pushed onto the stack area, the accepted interrupt vector address enters the program counter and consequently the interrupt processing routine is executed. When the RTI instruction is executed at the end of the interrupt processing routine, the contents of the above registers pushed onto the stack area are restored to the respective registers in the order of ➂, ➁ and ➀ and the processing executed immediately before acceptance of the interrupts is continued. Figure 2.2.1 shows an interrupt operation diagram. Executing routine ······· Interrupt occurs (Accepting interrupt request) Suspended operation Resume processing Contents of program counter (high-order) are pushed onto stack Contents of program counter (low-order) are pushed onto stack Contents of processor status register are pushed onto stack ······· Interrupt processing routine RTI instruction Contents of processor status register are poped from stack Contents of program counter (low-order) are poped from stack Contents of program counter (high-order) are poped from stack : Operation commanded by software : Internal operation to be performed automatically Fig. 2.2.1 Interrupt operation diagram 3822 GROUP USER’S MANUAL 2–15 APPLICATION 2.2 Interrupts (1) Interrupt request generating conditions Table 2.2.1 shows interrupt sources and interrupt request generating conditions. The occurrence of an interrupt request causes the corresponding interrupt request bit to be set to “1.” When the following conditions are satisfied in this state, the interrupt request is accepted. For details, refer to “2.2.2 Control”. ➀Interrupt disable flag = “0” (interrupts enabled) ➁Interrupt enable bit = “1” (interrupts enabled) Table 2.2.1 Interrupt sources and interrupt request generating conditions Interrupt sources Interrupt request generating conditions Reference INT 0 At detection of either rising or falling edge of INT0 input 2.2.4 INT interrupts (Active edge selectable) At detection of either rising or falling edge of INT1 input INT 1 (Active edge selectable) At completion of serial I/O data reception Serial I/O receive At completion of serial I/O transmit shift or when transmit 2.5 Serial I/O Serial I/O transmit buffer is empty At timer X underflow Timer X 2.3 Timer X and timer Y At timer Y underflow Timer Y At timer 2 underflow Timer 2 2.4 Timer 1, timer 2, and timer 3 At timer 3 underflow Timer 3 At detection of either rising or falling edge of CNTR0 CNTR0 input (Active edge selectable) 2.3 Timer X and timer Y At detection of either rising or falling edge of CNTR1 CNTR1 input (Active edge selectable) Timer 1 At timer 1 underflow 2.4 Timer 1, timer 2, and timer 3 INT 2 At detection of either rising or falling edge of INT2 input (Active edge selectable) INT 3 At detection of either rising or falling edge of INT3 input 2.2.4 INT interrupts (Active edge selectable) At falling of conjunction of input level for port P2 (at Key input 2.2.5 Key input interrupt input mode) (Key-on wake up) At detection of falling edge of ADT input ADT 2.6 A-D converter A-D conversion At completion of A-D conversion BRK instruction At BRK instruction execution SERIES 740 <SOFTWARE> USER’S MANUAL 2–16 3822 GROUP USER’S MANUAL APPLICATION 2.2 Interrupts (2) Processing upon acceptance of an interrupt request Upon acceptance of an interrupt request, the following operations are automatically performed. ➀The processing being executed is stopped. ➁The contents of the program counter and the processor status register are pushed onto the stack area. Figure 2.2.2 shows changes of the stack pointer and the program counter upon acceptance of an interrupt request. ➂Concurrently with the push operation, the jump destination address (the beginning address of the interrupt processing routine) of the occurring interrupt stored in the vector address is set in the program counter, then the interrupt processing routine is executed. ➃After the interrupt processing routine is started, the corresponding interrupt request bit is automatically cleared to “0.” The interrupt disable flag is set to “1” so that multiple interrupts are disabled. Accordingly, for executing the interrupt processing routine, it is necessary to set the jump destination address in the vector area corresponding to each interrupt. Stack area Program counter PCL Program counter (high-order) PCH Program counter (low-order) Interrupt disable flag = “0” Stack pointer S (S) (S) Interrupt request is accepted Program counter PCL Vector address PCH (from Interrupt vector area) Stack area Interrupt disable flag = “1” (s) – 3 Processor status register Stack pointer S Program counter (low-order) (S) – 3 (S) Program counter (high-order) Fig. 2.2.2 Changes of stack pointer and program counter upon acceptance of interrupt request 3822 GROUP USER’S MANUAL 2–17 APPLICATION 2.2 Interrupts (3) Timing after acceptance of an interrupt request The interrupt processing routine is started at the timing of machine cycle after completion of the executing instruction. Figure 2.2.3 shows the processing time up to the execution of an interrupt processing routine and Figure 2.2.4 shows timing after the acceptance of an interrupt request. Interrupt operation starts Interrupt request occurs ✽ ✽ Waiting time for pipeline postprocessing Main routine 0 to 16 cycles Push onto stack Vector fetch 2 cycles Interrupt processing routine 5 cycles 7 to 23 cycles (At internal system clock φ = 3.15 MHz, 2.2 µ s to 7.3 µ s) ✽ : Refer to “Figure 2.2.4” Fig. 2.2.3 Processing time up to execution of interrupt processing routine Waiting time for pipeline postprocessing Push onto stack Vector fetch Interrupt operation starts φ SYNC RD WR Address bus Data bus PC Not used S, SPS S-1, SPS S-2, SPS PCH PCL BL PS BH AL AL, AH AH SYNC : CPU operation code fetch cycle (This is an internal signal which cannot be observed from the external unit.) BL, BH : Vector address of each interrupt AL, AH : Jump destination address of each interrupt (Note) SPS : “0016” or “0116” Note: Refer to “Table 6 in CHAPTER 1 HARDWARE .” Fig. 2.2.4 Timing after acceptance of interrupt request 2–18 3822 GROUP USER’S MANUAL APPLICATION 2.2 Interrupts 2.2.2 Control For interrupts except the BRK instruction interrupt, the acceptance of interrupt can be controlled by an interrupt request bit, an interrupt enable bit, and an interrupt disable flag. In this section, control of interrupts except the BRK instruction interrupt is described and Figure 2.2.5 shows an interrupt control diagram. Interrupt request bit Interrupt enable bit Interrupt request Interrupt disable flag BRK instruction Reset Fig. 2.2.5 Interrupt control diagram An interrupt request bit, an interrupt enable bit and an interrupt disable flag function independently and do not affect each other. An interrupt is accepted when all the following conditions are satisfied. ●Interrupt request bit — “1” ●Interrupt enable bit — “1” ●Interrupt disable flag — “0” Though the interrupt priority is determined by software, a variety of priority processing can be performed by software using the above bits and flag. Table 2.2.2 shows a list of interrupt bits for individual interrupt sources. (1) Interrupt request bits The interrupt request bits are allocated to the interrupt request register 1 (address 003C16 ) and interrupt request register 2 (address 003D16 ). The occurrence of an interrupt request causes the corresponding interrupt request bit to be set to “1.” The interrupt request bit is held in the “1” state until the interrupt is accepted. When the interrupt is accepted, this bit is automatically cleared to “0.” Each interrupt request bit can be set to “0” by software, but it cannot be set to “1” by software. 3822 GROUP USER’S MANUAL 2–19 APPLICATION 2.2 Interrupts (2) Interrupt enable bits The interrupt enable bits are allocated to the interrupt control register 1 (address 003E16 ) and the interrupt control register 2 (address 003F16 ). The interrupt enable bits control the acceptance of the corresponding interrupt request. When an interrupt enable bit is “0,” the corresponding interrupt request is disabled. If an interrupt request occurs when this bit is “0,” the corresponding interrupt request bit is only set to “1” and this interrupt is not accepted. In this case, unless the interrupt request bit is set to “0” by software, the interrupt request bit remains in the “1” state. When an interrupt enable bit is “1,” the corresponding interrupt is enabled. If an interrupt request occurs when this bit is “1,” this interrupt is accepted (at interrupt disable flag = “0”). Each interrupt enable bit can be set to “0” or “1” by software. (3) Interrupt disable flag The interrupt disable flag is allocated to bit 2 of the processor status register. The interrupt disable flag controls the acceptance of interrupt request. When this flag is “1,” the acceptance of interrupt requests is disabled. When the flag is “0,” the acceptance of interrupt requests is enabled. This flag is set to “1” with the SEI instruction and is set to “0” with the CLI instruction. When a main routine branches to an interrupt processing routine, this flag is automatically set to “1,” so that multiple interrupts are disabled. To use multiple interrupts, set this flag to “0” with the CLI instruction within the interrupt processing routine. Figure 2.2.6 shows an example of multiple interrupts. Table 2.2.2 List of interrupt bits for individual interrupt sources Interrupt request bit Interrupt sources Address Bit INT 0 003C16 b0 INT 1 003C16 b1 003C16 Serial I/O reception b2 003C16 Serial I/O transmission b3 003C16 Timer X b4 003C16 Timer Y b5 003C16 Timer 2 b6 003C16 Timer 3 b7 003D16 CNTR0 b0 003D16 CNTR1 b1 003D16 Timer 1 b2 003D16 b3 INT 2 003D 16 b4 INT 3 Key input 003D16 b5 ADT/A-D conversion 003D16 b6 2–20 3822 GROUP USER’S MANUAL Interrupt enable bit Address 003E16 003E16 003E16 003E16 003E16 003E16 003E16 003E16 003F16 003F16 003F16 003F16 003F16 003F16 003F16 Bit b0 b1 b2 b3 b4 b5 b6 b7 b0 b1 b2 b3 b4 b5 b6 APPLICATION 2.2 Interrupts Interrupt request Nesting Reset Time Main routine I=1 C1 = 0, C2 = 0 Interrupt request 1 C1 = 1 I=0 Interrupt 1 I=1 Interrupt request 2 Multiple interrupt C2 = 1 I=0 Interrupt 2 I=1 RTI I=0 RTI I=0 I : Interrupt disable flag C1 : Interrupt enable bit of interrupt 1 C2 : Interrupt enable bit of interrupt 2 : They are set automatically. : Set by software. Fig. 2.2.6 Example of multiple interrupts 3822 GROUP USER’S MANUAL 2–21 APPLICATION 2.2 Interrupts 2.2.3 Related registers Figure 2.2.7 shows memory allocation of interrupt-related registers. Each of these registers is described below. Address 003A16 Interrupt edge selection register (INTEDGE) 003B16 003C16 Interrupt request register 1 (IREQ1) 003D16 Interrupt request register 2 (IREQ2) 003E16 Interrupt control register 1 (ICON1) 003F16 Interrupt control register 1 (ICON2) Fig. 2.2.7 Memory allocation of interrupt-related registers (1) Interrupt edge selection register (address 003A16 ) The interrupt edge selection register selects an active edge of each INT interrupt. Bit 0 to bit 3 select active edges of INT0 –INT3 pins inputs. In the “0” state, the falling edge ( ) of the corresponding pin input is active. In the “1” state, the rising edge ( ) of the corresponding pin input is active. Figure 2.2.8 shows the structure of the interrupt edge selection register. Interrupt edge selection register b7 b6 b5 b4 b3 b2 b1 b0 Interrupt edge selection register (INTEDGE) [Address 3A B 0 1 2 3 4 to 7 Name Functions 0 : Falling edge active INT0 interrupt edge 1 : Rising edge active selection bit 0 : Falling edge active INT1 interrupt edge 1 : Rising edge active selection bit 0 : Falling edge active INT2 interrupt edge 1 : Rising edge active selection bit 0 : Falling edge active INT3 interrupt edge 1 : Rising edge active selection bit Nothing is allocated. These bits cannot be written to and are fixed to “0” at reading. Fig. 2.2.8 Structure of interrupt edge selection register 2–22 3822 GROUP USER’S MANUAL 16] At reset R W 0 0 0 0 0 0 × APPLICATION 2.2 Interrupts (2) Interrupt request register 1 (IREQ1) and interrupt request register 2 (IREQ2) The interrupt request register 1 (address 003C16 ) and the interrupt request register 2 (address 003D16 ) indicate whether an interrupt request has occurred or not. Figure 2.2.9 shows the structure of the interrupt request register 1 and Figure 2.2.10 shows the structure of the interrupt request register 2. The occurrence of an interrupt request causes the corresponding bit to be set to “1.” This interrupt request bit is automatically cleared to “0” by the acceptance of the interrupt request. The interrupt request bits can be set to “0” by software, but it cannot be set to “1” by software. The occurrence of each interrupt is controlled by the interrupt enable bits (refer to the next item). Interrupt request register 1 b7 b6 b5 b4 b3 b2 b1 b0 Interrupt request register 1 (IREQ1) [Address 3C 16] B Name Functions 0 INT0 interrupt request bit INT1 interrupt request bit Serial I/O receive interrupt request bit Serial I/O transmit interrupt request bit Timer X interrupt request bit Timer Y interrupt request bit Timer 2 interrupt request bit Timer 3 interrupt request bit 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 1 2 3 4 5 6 7 At reset R W 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 ✽ ✽ : “0” can be set by software, but “1” cannot be set. Fig. 2.2.9 Structure of interrupt request register 1 3822 GROUP USER’S MANUAL 2–23 APPLICATION 2.2 Interrupts Interrupt request register 2 b7 b6 b5 b4 b3 b2 b1 b0 Interrupt request register 2 (IREQ2) [Address 3D B Name 16] Functions CNTR 0 interrupt request bit 1 CNTR 1 interrupt request bit 2 Timer 1 interrupt request bit 3 INT2 interrupt request bit 4 INT3 interrupt request bit 5 Key input interrupt request bit 6 ADT/A-D conversion interrupt request bit 0 7 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued Nothing is allocated. This bit cannot be written to and is fixed to “0” at reading. ✽ : “0” can be set by software, but “1” cannot be set. Fig. 2.2.10 Structure of interrupt request register 2 2–24 3822 GROUP USER’S MANUAL At reset R W 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 0 × APPLICATION 2.2 Interrupts (3) Interrupt control register 1 (ICON1) and interrupt control register 2 (ICON2) The interrupt control register 1 (address 003E16 ) and the interrupt control register 2 (address 003F16 ) control each interrupt request source. Figure 2.2.11 shows the structure of the interrupt control register 1 and Figure 2.2.12 shows the structure of the interrupt control register 2. When an interrupt enable bit is “0,” the corresponding interrupt request is disabled. If an interrupt request occurs when this bit is “0,” the corresponding interrupt request bit is only set to “1,” and the interrupt request is not accepted. When an interrupt enable bit is “1,” the corresponding interrupt request is enabled. If an interrupt request occurs when this bit is “1,” the interrupt request is accepted (at interrupt disable flag = “0”). Each interrupt enable bit can be set to “0” or “1” by software. Interrupt control register 1 b7 b6 b5 b4 b3 b2 b1 b0 Interrupt control register 1 (ICON1) [Address 3E16] B 0 1 2 Name INT0 interrupt enable bit INT1 interrupt enable bit Serial I/O receive interrupt enable bit 3 Serial I/O transmit interrupt enable bit 4 Timer X interrupt enable bit 5 Timer Y interrupt enable bit Timer 2 interrupt 6 enable bit 7 Timer 3 interrupt enable bit Functions 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled At reset R W 0 0 0 0 0 0 0 0 Fig. 2.2.11 Structure of interrupt control register 1 3822 GROUP USER’S MANUAL 2–25 APPLICATION 2.2 Interrupts Interrupt control register 2 b7 b6 b5 b4 b3 b2 b1 b0 0 Interrupt control register 2 (ICON2) [Address 3F16] B Name CNTR 0 interrupt 0 enable bit 1 CNTR1 interrupt enable bit 2 3 4 5 6 7 Timer 1 interrupt enable bit INT2 interrupt enable bit INT3 interrupt enable bit Key input interrupt enable bit ADT/A-D conversion interrupt enable bit Fix this bit to “0.” Functions 0 : Interrupts disabled 1 : Interrupts enabled 0 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 Fig. 2.2.12 Structure of interrupt control register 2 2–26 At reset R W 3822 GROUP USER’S MANUAL 0 0 0 0 0 0 0 0 APPLICATION 2.2 Interrupts (4) Processor status register The processor status register is an 8-bit register. Figure 2.2.13 shows the structure of the processor status register. Bit 2 related to an interrupt is described below. ■Interrupt disable flag : bit 2 The interrupt disable flag controls the acceptance of interrupt requests except BRK instruction interrupt. When this flag is “1,” the acceptance of an interrupt request is disabled. When this flag is “0,” the acceptance of an interrupt request is enabled. This flag is set to “1” with the SEI instruction and is set to “0” with the CLI instruction. When a main routine branches to an interrupt processing routine, this flag is automatically set to “1,” so that multiple interrupts are disabled. To use multiple interrupts, set this flag to “0” with the CLI instruction within the interrupt processing routine. Processor status register b7 b2 Undefined 1 b0 Undefined Processor status register (PS) B b7 Flag name 0 C : Carry flag 1 Z : Zero flag 2 I : Interrupt disable flag 3 D : Decimal mode flag 4 B : Break flag 5 T : Index X mode flag 6 V : Overflow flag 7 N : Negative flag b0 indicates initial value immediately after reset Fig. 2.2.13 Structure of processor status register 3822 GROUP USER’S MANUAL 2–27 APPLICATION 2.2 Interrupts 2.2.4 INT interrupts The INT interrupt requests occur by detecting a level change of each INT pin (INT0 –INT 3). (1) Active edge selection As an active edge, falling edge ( ) detection or rising edge ( ) detection can be selected by bits 0 to 3 of the interrupt selection register (address 003A 16 ). In the “0” state, the falling edge of the corresponding pin is detected. In the “1” state, the rising edge of the corresponding pin is detected. The pins INT 0 to INT 3 are also used as I/O ports P42 , P43, P5 0, and P5 1, but no register to switch between INT pin and I/O port is available. When the port is an input port, the active edges of the port are always detected. Accordingly, when using ports P4 2, P4 3, P5 7 and P60 as input ports, put the corresponding INT interrupt into the disabled state. If this interrupt is not disabled, an INT interrupt is caused by pin level change, so that the program runs away. Figure 2.2.14 shows the structure of the interrupt edge selection register. Interrupt edge selection register b7 b6 b5 b4 b3 b2 b1 b0 Interrupt edge selection register (INTEDGE) [Address 3A B Name Functions 0 : Falling edge active 0 INT0 interrupt edge 1 : Rising edge active selection bit 0 : Falling edge active 1 INT1 interrupt edge 1 : Rising edge active selection bit 0 : Falling edge active 2 INT2 interrupt edge 1 : Rising edge active selection bit 0 : Falling edge active 3 INT3 interrupt edge 1 : Rising edge active selection bit 4 Nothing is allocated. These bits cannot be to written to and are fixed to “0” at reading. 7 Fig. 2.2.14 Structure of interrupt edge selection register 2–28 3822 GROUP USER’S MANUAL 16] At reset R W 0 0 0 0 0 0 × APPLICATION 2.2 Interrupts 2.2.5 Key input interrupt The Key input interrupt request occurs when an “L” level voltage is applied to the pin set for the input mode of the port P2. For interrupt sources except the INT interrupts and the Key input interrupt, refer to “CHAPTER 1”. (1) Connection example when the Key input interrupt is used When using the Key input interrupt, after set ports P20 to P23 for the input mode, configure an “L” level valid key-matrix. Figure 2.2.15 shows a connection example when the key input interrupt is used, and a port P2 block diagram. In the connection example in Figure 2.2.15, an Key input interrupt request is caused by pressing the key corresponding to one of ports P2 0 to P2 3. Port PXx “L” level output PULL register A, b2 = “1” ✽1 ✽2 Port P2 7 Port P2 direction register, b7 = “1” latch ✽1 ✽2 Port P2 6 Port P2 direction register, b6 = “1” latch ✽1 ✽2 Port P2 5 Port P2 direction register, b5 = “1” latch ✽1 ✽2 Port P2 4 Port P2 direction register, b4 = “1” latch ✽1 ✽2 Port P2 3 Port P2 direction register, b3 = “0” latch P27 output P26 output P25 output P24 output P23 input ✽1 ✽2 Port P2 2 Port P2 direction register, b2 = “0” latch ✽1 ✽2 Port P2 1 Port P2 direction register, b1 = “0” latch ✽1 ✽2 Port P2 0 Port P2 direction register, b0 = “0” latch P22 input P21 input P20 input Port P2 input reading circuit Key input interrupt request ✽1: P-channel transistor for pull-up ✽2: CMOS output buffer Fig. 2.2.15 Connection example when key input interrupt is used, and port P2 block diagram 3822 GROUP USER’S MANUAL 2–29 APPLICATION 2.2 Interrupts (2) Set values of Key input interrupt-related registers When using the Key input interrupt, set the following: ●Port P2 direction register (address 0005 16) ●Bit 2 of PULL register A (address 0016 16 ) ●Bit 5 of interrupt request register 2 (address 003D 16 ) = “0” ●Bit 5 of interrupt control register 2 (address 003F16 ) (Note) = “1” Figure 2.2.16 shows the setting values (corresponding to Figure 2.2.15) of the Key input interruptrelated registers. Note: Fix bit 7 of the interrupt control register 2 (address 003F 16 ) to “0”. b7 b0 1 1 1 1 0 0 0 0 Port P2 direction register [Address 0516] Bits corresponding to P20–P27 0 : Input port 1 : Output port b7 b0 1 PULL register A [Address 1616] P20–P27 pull-up bit 0 : No pull-up 1 : Pull-up b7 b0 0 Interrupt request register 2 [Address 3D16] Key input interrupt request bit 0 : No interrupt request issued 1 : Interrupt request issued b7 0 b0 1 Interrupt control register 2 [Address 3F16] Key input interrupt enable bit 0 : Interrupts disabled 1 : Interrupts enabled : “0” or “1.” Fig. 2.2.16 Setting values (corresponding to Figure 2.2.15) of key input interrupt-related registers 2–30 3822 GROUP USER’S MANUAL APPLICATION 2.2 Interrupts 2.2.6 Notes on use When using interrupts, note the following. (1) Register setting ■Fix bit 7 of the interrupt control register 2 (address 003F 16 ) to “0.” Nothing is allocated for this bit, however, do not write “1” to it. ■When using I/O ports P4 2, P4 3, P50 and P5 1 as input ports, put the INT interrupts corresponding to each port into the disabled state. ■When the active edges of the following interrupts are switched, the corresponding interrupt request bit may be set to “1.” To avoid accepting an interrupt request, we recommend the register setting example shown in Figure 2.2.17. ●INT0 interrupt to INT3 interrupt ●CNTR0 interrupt and CNTR 1 interrupt ➀ Set the corresponding interrupt enable bit to “0” ➁ Set the interrupt active edge ➂ Set the corresponding interrupt request bit to “0” ➃ Set the corresponding interrupt enable bit to “1” Fig. 2.2.17 Register setting example 3822 GROUP USER’S MANUAL 2–31 APPLICATION 2.3 Timer X and timer Y 2.3 Timer X and timer Y 2.3.1 Explanation of timer X operations Timer X has 4 modes of operation. Operation in each mode is described below. (1) Timer Mode Operation in the timer mode is described below. ➀Start of count operation Immediately after reset release, the timer X stop control bit is in the “0” state. For this reason, the count operation is automatically started after reset release. The value of the timer X counter (referred as “the X counter”) is decremented by 1 each time a count source is input. The count source is f(XIN)/16 clock (low-speed mode ; f(XCIN)/16 clock). ➁Reload operation The X counter underflows at the first count pulse after the value of the X counter reaches “00 16 .” At this time, the value of the timer X latch (referred as “the X latch”) is transferred (reloaded) to the X counter. ➂Interrupt operation An interrupt request occurs at the X counter underflow. At the same time, the timer X interrupt request bit is set to “1.” The occurrence of an interrupt is controlled by the timer X interrupt enable bit. An interrupt request occurs each time the counter underflows. In other words, an interrupt request occurs every “the X counter initial value + 1” count of the rising edge of the count source. ➃Stop of count operation By writing “1” to the timer X stop control bit by software, the count operation is stopped. The count operation is continued until “1” is set to the timer X stop control bit. Figure 2.3.1 shows a timer mode operation example. 2–32 3822 GROUP USER’S MANUAL APPLICATION 2.3 Timer X and timer Y Count period Count period T(s) = 1 ÷ count source frequency ✕ (the X counter initial value + 1) Timer mode operation example •UF : Underflow •RL : Reload •n : The X counter initial value Writing “1” Writing “0” Timer X stop control bit Value of timer X counter Count source RL RL RL Count stop RL n16 Count restart UF UF UF UF 000016 Time T Timer X interrupt request bit 1 1 1 1 Timer X interrupt enable bit 1 : •Clearing by writing “0” to the timer X interrupt request bit. •Clearing by accepting the timer X interrupt request when the timer X interrupt enable bit is “1.” Fig. 2.3.1 Timer mode operation example 3822 GROUP USER’S MANUAL 2–33 APPLICATION 2.3 Timer X and timer Y (2) Pulse output mode The operation in the pulse output mode is the same as that in the timer mode, besides, which is added a pulse output operation. In this mode, a pulse whose polarity is reversed at every the X counter underflow is output from the P5 4/CNTR 0 pin. Operation in the pulse output mode is described below. ➀Start of count operation Immediately after reset release, the timer X stop control bit is in the “0” state. For this reason, the count operation is automatically started after reset release. The value of the X counter is decremented by 1 each time a count source is input. The count source is f(XIN)/16 clock (low-speed mode ; f(XCIN)/16 clock). ➁Reload operation The X counter underflows at the first count pulse after the value of the X counter reaches “00 16 .” At this time, the value of the X latch is transferred (reloaded) to the X counter. ➂Pulse output A pulse whose polarity is reversed every the X counter underflow is output from the P54/CNTR 0 pin. As a level at a start of pulse output, a “H” or “L” is selected by the CNTR 0 active edge switch bit. At the time when the pulse output mode is selected by the timer X operating mode bits, a pulse output is started. ➃Interrupt operation ■Counter underflow An interrupt request occurs at the X counter underflow. At the same time, the timer X interrupt request bit is set to “1.” The occurrence of an interrupt is controlled by the timer X interrupt enable bit. ■Edge of pulse output At the edge of the pulse output from the P5 4/CNTR0 pin, an interrupt request occurs. At the same time, the CNTR0 interrupt request bit is set to “1.” The occurrence of an interrupt is controlled by the CNTR0 interrupt enable bit. As an active edge, the falling edge ( ) or rising edge ( ) is specified by the CNTR 0 active edge switch bit. ➄Stop of count operation By writing “1” to the timer X stop control bit by software, the count operation is stopped. The count operation is continued until “1” is set to the timer X stop control bit. Figure 2.3.2 shows a pulse output mode operation example. 2–34 3822 GROUP USER’S MANUAL APPLICATION 2.3 Timer X and timer Y Count period Count period T(s) = 1 ÷ count source frequency ✕ (the X counter initial value + 1) Pulse output mode operation example Value of timer X counter •UF : Underflow •RL : Reload •n : The X counter initial value Timer X stop control bit Count source RL Writing “1” Writing “0” RL RL Count stop RL n16 Count restart UF UF 000016 Select pulse output mode UF UF Time T AAA AAA AAA Programmable P54/CNTR0 pin I/O port CNTR0 active edge switch bit CNTR0 interrupt request bit 1 1 CNTR0 interrupt enable bit Timer X interrupt request bit 1 1 1 1 Timer X interrupt enable bit 1 : •Clearing by writing “0” to the timer X interrupt request bit or the CNTR0 interrupt request bit. •Clearing by accepting the timer X interrupt request and the CNTR0 interrupt request when the respective interrupt enable bits are “1.” ✽ : When the CNTR0 active edge switch bit is “1” ; •The reverse-polarity pulse of above pulse is output. •The CNTR0 interrupt request occurs at the rising edge of the output pulse. Fig. 2.3.2 Pulse output mode operation example 3822 GROUP USER’S MANUAL 2–35 APPLICATION 2.3 Timer X and timer Y (3) Event counter mode The operation in the event counter mode is the same as that in the timer mode except that the input signal to the CNTR 0 pin is used as a count source. Operation in the event counter mode is described below. ➀Start of count operation Immediately after reset release, the timer X stop control bit is in the “0” state. For this reason, the count operation is automatically started after reset release. The value of the X counter is decremented by 1 each time a count source is input. As an active edge, the falling edge ( ) or rising edge ( ) is specified by the CNTR 0 active edge switch bit. ➁Reload operation The X counter underflows at the first count pulse after the value of the X counter reaches “00 16 .” At this time, the value of the X latch is transferred (reloaded) to the X counter. ➂Interrupt operation ■Counter underflow An interrupt request occurs at the X counter underflow. At the same time, the timer X interrupt request bit is set to “1.” The occurrence of an interrupt is controlled by the timer X interrupt enable bit. ■Edge of count source At the edge of the count source input from the P5 4/CNTR 0 pin, an interrupt request occurs. At the same time, the CNTR 0 interrupt request bit is set to “1.” The occurrence of an interrupt is controlled by the CNTR 0 interrupt enable bit. As an active edge, the falling edge ( ) or rising edge ( ) is specified by the CNTR 0 active edge switch bit. ➃Stop of count operation By writing “1” to the timer X stop control bit by software, the count operation is stopped. The count operation is continued until “1” is set to the timer X stop control bit. Figure 2.3.3 shows an event counter mode operation example. 2–36 3822 GROUP USER’S MANUAL APPLICATION 2.3 Timer X and timer Y Count period Count period T(s) = 1 ÷ count source frequency ✕ (the X counter initial value + 1) Event counter mode operation example •UF •RL •n : Underflow : Reload : The X counter initial value Writing “1” Writing “0” Timer X stop control bit Value of timer X counter Count source (P54/CNTR0 pin) RL RL RL Count stop RL n16 Count restart UF UF UF UF 000016 Time T CNTR0 active edge switch bit CNTR0 interrupt request occurs at falling edge of the count source CNTR0 interrupt request bit 1 1 1 1 1 CNTR0 interrupt enable bit Timer X interrupt request bit 1 1 1 1 Timer X interrupt enable bit 1 : •Clearing by writing “0” to the timer X interrupt request bit or the CNTR 0 interrupt request bit. •Clearing by accepting the timer X interrupt request and the CNTR 0 interrupt request when the respective interrupt enable bits are “1.” ✽ : When the CNTR0 active edge switch bit is “1” ; •Falling edge of the count source is valid. •The CNTR 0 interrupt request occurs at the rising edge of the output pulse. Fig. 2.3.3 Event counter mode operation example 3822 GROUP USER’S MANUAL 2–37 APPLICATION 2.3 Timer X and timer Y (4) Pulse width measurement mode In the pulse width measurement mode, the width (“H” or “L” level) of a pulse input from the P5 4/CNTR0 pin is measured. Operation in the pulse width measurement mode is described below. ➀Count operation Immediately after reset, the timer X stop control bit is in the “0” state. In this state, a count operation is continued in the period in which the measurement level is input to the P5 4 /CNTR0 pin. The value of the X counter is decremented by 1 each time a count source is input. The count source is f(XIN)/16 clock (low-speed mode ; f(XCIN )/16 clock). ➁Reload operation The X counter underflows at the first count pulse after the value of the X counter reaches “00 16 .” At this time, the value of the X latch is transferred (reloaded) to the X counter. ➂Pulse width measurement As a pulse measurement period, a “H” or “L” is selected by the CNTR 0 active edge switch bit. The difference between the initial value of the X counter and the X counter value at counter stop is a measured pulse width. A reload operation by reading the count value is not performed automatically. Accordingly, to continue the measurement, set the initial value anew by software. ➃Interrupt operation ■Edge of pulse measured At the edge of the pulse input from the P5 4/CNTR 0 pin, an interrupt request occurs. At the same time, the CNTR 0 interrupt request bit is set to “1.” The occurrence of an interrupt is controlled by the CNTR0 interrupt enable bit. The CNTR 0 active edge switch bit specifies an active edge. When “H” level width is measured, the falling edge ( ) is active, when “L” level width is measured, the rising edge ( ) is active. ■Counter underflow An interrupt request occurs at the X counter underflow. At the same time, the timer X interrupt request bit is set to “1.” The occurrence of an interrupt is controlled by using the timer X interrupt enable bit. Figure 2.3.4 shows a pulse width measurement mode operation example. 2–38 3822 GROUP USER’S MANUAL APPLICATION 2.3 Timer X and timer Y Pulse width Pulse width H(s) = 1 ÷ count source frequency ✕ (the X counter initial value – the X counter value at count stop) Pulse width measurment mode operation example •n : The X counter initial value •m: The X counter value at count stop Timer X stop coutrol bit Count source P54/CNTR0 pin Value of timer X counter CNTR0 active edge switch bit Set initial value to counter Set initial value to counter 2 Count start 2 Count start n16 Count stop m16 000016 H Time H CNTR0 interrupt request bit 1 CNTR0 interrupt enable bit Timer X interrupt request bit Timer X interrupt enable bit 1 : •Clearing by writing “0” to the CNTR 0 interrupt request bit. •Clearing by accepting the CNTR 0 interrupt request when the CNTR 0 interrupt enable bit is “1.” 2 : Set initial value to the timer X when timer X write control bit is “0.” ✽ : When the CNTR0 active edge switch bit is “1” ; •“L” level width of the input pulse is measured. •The CNTR0 interrupt request occurs at the rising edge of the input pulse. Fig. 2.3.4 Pulse width measurement mode operation example 3822 GROUP USER’S MANUAL 2–39 APPLICATION 2.3 Timer X and timer Y (5) Real time port control The real time port control is the function which outputs preset data from the real time ports in synchronization with an underflow of the X counter. Table 2.3.1 shows real time ports and data storage bits. This real time port control function is available in every mode. A data output from the real time port is started at setting the real time port control bit to “1.” When the values of the data storage bits are rewritten, the rewritten values are output at the first underflow of the X counter after rewritting. Figure 2.3.5 shows a timer mode operation example with the real time port function. The real time port is also used as port P52 and P5 3. When using the real time port, set the corresponding bit of the port P5 direction register (address 000B 16) to “1” for using as an output port. 2–40 Table 2.3.1 Real time ports and data storage bits Real time port RTP 0 (P52) RTP 1 (P53) 3822 GROUP USER’S MANUAL Data storage bit Bit 2 of timer X mode register Bit 3 of timer X mode register APPLICATION 2.3 Timer X and timer Y Timer mode operation example with real time port function •UF : Underflow •RL : Reload •n : The X counter initial value Timer X stop control bit Value of timer X counter Count source RL RL RL RL n16 UF UF UF UF 000016 Time 1 Real time port control bit Rewrite Rewrite Bit 2 of timer X mode register AAA AAA P52/RTP0 pin Programmable I/O port Bit 3 of timer X mode register Rewrite Rewrite Rewrite AAA AAA P53/RTP1 pin Programmable I/O port 1 : When the both settings below are performed immediately after reset, “0” is output from pins RTP0 and RTP1. •Set ports P52 and P53 for the output mode. •Set the real time port control bit to “1.” Fig. 2.3.5 Timer mode operation example with real time port function 3822 GROUP USER’S MANUAL 2–41 APPLICATION 2.3 Timer X and timer Y 2.3.2 Explanation of timer Y operations Timer Y has 4 modes of operation. Operation in each mode is described below. (1) Timer Mode Operation in the timer mode is described below. ➀Start of count operation Immediately after reset release, the timer Y stop control bit is in the “0” state. For this reason, the count operation is automatically started after reset release. The value of the timer Y counter (referred as “the Y counter”) is decremented by 1 each time a count source is input. The count source is f(XIN)/16 clock (low-speed mode ; f(XCIN)/16 clock). ➁Reload operation The Y counter underflows at the first count pulse after the value of the Y counter reaches “00 16 .” At this time, the value of the timer Y latch (referred as “the Y latch”) is transferred (reloaded) to the Y counter. ➂Interrupt operation An interrupt request occurs at the Y counter underflow. At the same time, the timer Y interrupt request bit is set to “1.” The occurrence of an interrupt is controlled by the timer Y interrupt enable bit. An interrupt request occurs each time the counter underflows. In other words, an interrupt request occurs every “the Y counter initial value + 1” count of the rising edge of the count source. ➃Stop of count operation By writing “1” to the timer Y stop control bit by software, the count operation is stopped. The count operation is continued until “1” is set to the timer Y stop control bit. Figure 2.3.6 shows a timer mode operation example. 2–42 3822 GROUP USER’S MANUAL APPLICATION 2.3 Timer X and timer Y Count period Count period T(s) = 1 ÷ count source frequency ✕ (the Y counter initial value + 1) Timer mode operation example •UF : Underflow •RL : Reload •n : The Y counter initial value Writing “1” Writing “0” Timer Y stop control bit Value of timer Y counter Count source RL RL Count stop RL RL n16 Count restart UF UF UF UF 000016 Time T Timer Y interrupt request bit 1 1 1 1 Timer Y interrupt enable bit 1 : •Clearing by writing “0” to the timer Y interrupt request bit. •Clearing by accepting the timer Y interrupt request when the timer Y interrupt enable bit is “1.” Fig. 2.3.6 Timer mode operation example 3822 GROUP USER’S MANUAL 2–43 APPLICATION 2.3 Timer X and timer Y (2) Period measurement mode In the period measurement mode, the period of a pulse input from the P5 5 /CNTR1 pin is measured. Operation in the period measurement mode is described below. ➀Start of count operation Immediately after reset release, the timer Y stop control bit is in the “0” state. For this reason, the count operation is automatically started after reset release. The value of the Y counter is decremented by 1 each time a count source is input. The count source is f(XIN)/16 clock (low-speed mode ; f(XCIN)/16 clock). ➁Reload operation At the edge of the pulse input from the P5 5/CNTR 1 pin, the value of the Y latch is transferred (reloaded) to the Y counter. The count value immediately before reload is held until it is read out once after reload. As an active edge, the falling edge ( ) or rising edge ( ) is specified by the CNTR1 active edge switch bit. The value of the Y latch is also reloaded at the Y counter underflow. ➂Period measurement As a period measurement duration, the following is selected by the CNTR1 active edge switch bit (bit 6) : Duration from the falling edge to the falling edge (bit 6 = “0”) Duration from the rising edge to the rising edge (bit 6 = “1”) The difference between the count value at an active edge input and that immediately before reload is a measured period. ➃Interrupt operation ■Edge of input pulse At the edge of the pulse input from the P5 5/CNTR 1 pin, an interrupt request occurs. At the same time, the CNTR 1 interrupt request bit is set to “1.” The occurrence of an interrupt is controlled by the CNTR1 interrupt enable bit. As an active edge, the falling edge ( ) or rising edge ( ) is specified by the CNTR 1 active edge switch bit. ■Counter underflow An interrupt request occurs at the Y counter underflow. At the same time, the timer Y interrupt request bit is set to “1.” The occurrence of an interrupt is controlled by the timer Y interrupt enable bit. Figure 2.3.7 shows a period measurement mode operation example. 2–44 3822 GROUP USER’S MANUAL APPLICATION 2.3 Timer X and timer Y Pulse period T(s) = 1 ÷ count source frequency ✕ (the Y counter initial value – the Y counter value immediately before reload ) Pulse period Period measurement mode operation example •RL : Reload •n : The Y counter initial value •m : The Y counter value immediately before reload Timer Y stop control bit Count source P55/CNTR1 pin Value of timer Y counter CNTR1 active edge switch bit RL RL RL n16 m16 000016 T T Time CNTR1 interrupt request bit 1 1 1 CNTR1 interrupt enable bit Timer Y interrupt request bit Timer Y interrupt enable bit 1 : •Clearing by writing “0” to the CNTR 1 interrupt request bit. •Clearing by accepting the CNTR 1 interrupt request when the CNTR 1 interrupt enable bit is “1.” ✽ : When the CNTR1 active edge switch bit is “1” ; •From the rising edge to the rising edge of the input pulse is measured. •The CNTR1 interrupt request occurs at the rising edge of the input pulse. Fig. 2.3.7 Period measurement mode operation example 3822 GROUP USER’S MANUAL 2–45 APPLICATION 2.3 Timer X and timer Y (3) Event counter mode The operation in the event counter mode is the same as that in the timer mode except that the input signal to the P5 5/CNTR 1 pin is used as a count source. Operation in the event counter mode is described below. ➀Start of count operation Immediately after reset release, the timer Y stop control bit is in the “0” state. For this reason, the count operation is automatically started after reset release. The value of the Y counter is decremented by 1 each time a count source is input. As an active edge, the falling edge ( ) or rising edge ( ) is specified by the CNTR 1 active edge switch bit. ➁Reload operation The Y counter underflows at the first count pulse after the value of the Y counter reaches “00 16 .” At this time, the value of the Y latch is transferred (reloaded) to the Y counter. ➂Interrupt operation ■Counter underflow An interrupt request occurs at the Y counter underflow. At the same time, the timer Y interrupt request bit is set to “1.” The occurrence of an interrupt is controlled by the timer Y interrupt enable bit. ■Edge of count source At the edge of the count source input from the P5 5/CNTR1 pin, an interrupt request occurs. At the same time, the CNTR1 interrupt request bit is set to “1.” The occurrence of an interrupt is controlled by the CNTR 1 interrupt enable bit. As an active edge, the falling edge ( ) or rising edge ( ) is specified by the CNTR 1 active edge switch bit. ➃Stop of count operation By writing “1” in the timer Y stop control bit by software, the count operation is stopped. The count operation is continued until “1” is set in the timer Y stop control bit. Figure 2.3.8 shows an event counter mode operation example. 2–46 3822 GROUP USER’S MANUAL APPLICATION 2.3 Timer X and timer Y Count period Count period T(s) = 1 ÷ count source frequency ✕ (the Y counter initial value + 1) Event counter mode operation example •UF •RL •n : Underflow : Reload : The Y counter initial value Writing “1” Writing “0” Timer Y stop control bit Value of timer Y counter Count source (P55/CNTR1 pin) RL RL RL Count stop RL n16 Count restart UF UF UF UF 000016 Time T CNTR1 active edge switch bit CNTR0 interrupt request occurs at falling edge of the count source CNTR1 interrupt request bit 1 1 1 1 1 CNTR1 interrupt enable bit Timer Y interrupt request bit 1 1 1 1 Timer Y interrupt enable bit 1 : •Clearing by writing “0” to the timer Y interrupt request bit or the CNTR 1 interrupt request bit. •Clearing by accepting the timer Y interrupt request and the CNTR 1 interrupt request when the respective interrupt enable bits are “1.” ✽ : When the CNTR1 active edge switch bit is “1” ; •Falling edge of the count source is valid. •The CNTR1 interrupt request occurs at the rising edge of the output pulse. Fig. 2.3.8 Event counter mode operation example 3822 GROUP USER’S MANUAL 2–47 APPLICATION 2.3 Timer X and timer Y (4) Pulse width HL continuously measurement mode In the pulse width HL continuously measurement mode, the width (“H” and “L” level) of pulses input from the P5 5/CNTR1 pin are continuously measured. With the exception that reload and an interrupt request occur at both edges of pulses input from CNTR 1, the operation in the pulse width HL continuously measurement mode is the same as that in the period measurement mode. The pulse width HL continuously measurement mode of operation is described below. ➀Start of count operation Immediately after reset release, the timer Y stop control bit is in the “0” state. For this reason, the count operation is automatically started after reset release. The value of the Y counter is decremented by 1 each time a count source is input. The count source is f(X IN)/16 (low-speed mode ; f(X CIN)/16). ➁Reload operation At both edges of the pulse input from the P5 5/CNTR 1 pin, the value of the timer Y is transferred (reloaded) to the Y counter. The count value immediately before reload is held until it is read out once after reload. The value of the Y latch is also reloaded at the Y counter underflow. ➂Pulse width measurement The difference between the count value at an active edge input and that immediately before reload is a measured pulse width. ➃Interrupt operation ■Edge of input pulse At both edges of pulses input from the P5 5 /CNTR1 pin, an interrupt request occurs. At the same time, the CNTR 1 interrupt request bit is set. The occurrence of an interrupt is controlled by the CNTR1 interrupt enable bit. ■Counter underflow An interrupt request occurs at the Y counter underflow. At the same time, the timer Y interrupt request bit is set to “1.” The occurrence of an interrupt is controlled by the timer Y interrupt enable bit. Figure 2.3.9 shows a pulse width HL continuously measurement mode operation example. 2–48 3822 GROUP USER’S MANUAL APPLICATION 2.3 Timer X and timer Y Pulse width Pulse width H(s) = 1 ÷ count source frequency ✕ (the Y counter initial value – the Y counter value immediately before reload) Operation example in pulse width HL continuously measurement mode •RL : Reload •n : The Y counter initial value •m : The Y counter value immediately before reload Timer Y stop control bit Count source P55/CNTR1 pin Value of timer Y counter CNTR1 active edge switch bit RL RL RL n16 m16 000016 H H Time CNTR1 interrupt request bit 1 1 1 CNTR1 interrupt enable bit Timer Y interrupt request bit Timer Y interrupt enable bit 1 : •Clearing by writing “0” to the CNTR1 interrupt request bit. •Clearing by accepting the CNTR1 interrupt request when the CNTR1 interrupt enable bit is “1.” Fig. 2.3.9 Pulse width HL continuously measurement mode operation example 3822 GROUP USER’S MANUAL 2–49 APPLICATION 2.3 Timer X and timer Y 2.3.3 Related registers Figure 2.3.10 shows the memory allocation of the timer X- and timer Y-related registers. Each of these registers is described below. Address 000B16 Port P5 direction register (P5D) 002016 Timer X (low-order) (TXL) 002116 Timer X (high-order) (TXH) 002216 Timer Y (low-order) (TYL) 002316 Timer Y (high-order) (TYH) 002716 Timer X mode register (TXM) 002816 Timer Y mode register(TYM) 003C16 Interrupt request register 1 (IREQ1) 003D16 Interrupt request register 2 (IREQ2) 003E16 Interrupt control register 1 (ICON1) 003F16 Interrupt control register 2 (ICON2) Fig. 2.3.10 Memory allocation of timer X- and timer Y-related registers 2–50 3822 GROUP USER’S MANUAL APPLICATION 2.3 Timer X and timer Y (1) Port P5 direction register (P5D) The port P5 direction register (address 000B16 ) selects the I/O direction of port P5. Figure 2.3.11 shows the structure of the port P5 direction register. The CNTR0 pin is also used as P5 4 , while the CNTR 1 pin is also used as P5 5. ■Timer X In the pulse output mode, set bit 4 to “1” for the output mode. In the event counter mode or the pulse width measurement mode, set bit 4 to “0” for the input mode. The real time port RTP0 pin is also used as P5 2, while the RTP 1 pin is also used as P5 3 . To use as the RTP 0 pin, set bit 2 to “1” for the output mode. To use as the RTP 1 pin, set bit 3 to “1” for the output mode. ■Timer Y In the period measurement mode or the event counter mode or the pulse width HL continuously measurement mode, set bit 5 to “0” to set it for the input mode. Port P5 direction register b7 b6 b5 b4 b3 b2 b1 b0 Port P5 direction register (P5D) [Address B 16] B Name 0 Port P5 direction register 1 2 3 4 5 6 7 Functions 0 : Port P5 0 input mode 1 : Port P5 0 output mode 0 : Port P5 1 input mode 1 : Port P5 1 output mode 0 : Port P5 2 input mode 1 : Port P5 2 output mode 0 : Port P5 3 input mode 1 : Port P5 3 output mode At reset R W × 0 0 × 0 × 0 × 0 : Port P5 4 input mode 1 : Port P5 4 output mode 0 : Port P5 5 input mode 1 : Port P5 5 output mode 0 × 0 × 0 : Port P5 6 input mode 1 : Port P5 6 output mode 0 : Port P5 7 input mode 1 : Port P5 7 output mode 0 × 0 × Note : Port P5 direction register cannot be read out. P57 ADT P56 TOUT P55 P54 P53 CNTR 1 CNTR 0 RTP1 P52 RTP0 P51 INT 3 P50 INT2 Fig. 2.3.11 Structure of port P5 direction register 3822 GROUP USER’S MANUAL 2–51 APPLICATION 2.3 Timer X and timer Y (2) Timer X latch and timer X counter (corresponding to timer X (low-order) and timer X (highorder)) The timer X latch (referred as “the X latch”) and the timer X counter (referred as “the X counter”) consist of 16 bits in a combination of high-order and low-order. The X latch and the X counter are allocated at the same address. To access the X latch and the X counter, access both the timer X (low-order) and the timer X (high-order). ■Read When the timer X (high-order) and the timer X (low-order) are read out, the value of the X counter (count value) are read out. Read both registers in the order of the timer X (high-order) and the timer X (low-order). Do not write any value to the timer X (high-order) and the timer X (low-order) before the timer X (loworder) has been read out. In this case, timer X will not operate normally. ■Write When a value is written to the timer X (low-order) and the timer X (high-order), the value is set in the X latch and the X counter at the same time. Writing to the X latch only can be selected by the timer X write control bit (refer to “2.3.3 Related registers, (4) Timer X mode register”). Write the values to both registers in the order of the timer X (low-order) and the timer X (high-order). Do not read timer X (low-order) and the timer X (high-order) before the timer X (high-order) has been written. In this case, timer X will not operate normally. ●Timer X latch The X latch is a register which holds the value to be transferred (reloaded) automatically to the X counter as the initial value of the X counter at the X counter underflow. Figure 2.3.12 shows the structure of the timer X latch. The contents of the X latch cannot be read out. ●Timer X latch Timer X (high-order, low-order) b7 b6 b5 b4 b3 b2 b1 b0 Timer X (high-order, low-order) (TXH, TXL) [Address 21 B Functions 16, 2016] At reset R W × 1 0 •Set “0000 16 to FFFF 16” as timer X count value. •Write high-order byte of setting value to TXH, to 7 and low-order byte to TXL, respectively. •The values of TXH and TXL are set to the respective X latches and transferred automatically to the respective X counters at the X counter underflow. Note : Write both registers in the order of TXL and TXH. Fig. 2.3.12 Structure of timer X latch 2–52 3822 GROUP USER’S MANUAL APPLICATION 2.3 Timer X and timer Y ■Timer X counter The X counter counts the count source. Figure 2.3.13 shows the structure of the timer X counter. The contents of the X counter are decremented by 1 each time a count source is input. The division ratio of the counter is represented by the following expression. 1 the X counter initial value + 1 Division ratio of the X counter = ●Timer X counter Timer X (high-order, low-order) b7 b6 b5 b4 b3 b2 b1 b0 Timer X (high-order, low-order) (TXH, TXL) [Address 21 B Functions 0 •Set “0000 16 to FFFF 16” as timer X count value. to •The value of the X counter is decremented by 7 1 each time a count source is input. •When the timer X write control bit is “0,” the values of TXH and TXL are set to the respective X latches at the same time. •The values of each X counter are read out by reading the respective timer Xs. 16, 2016] At reset R W 1 Notes 1 : Write both registers in the order of TXL and TXH. 2 : Read both registers in the order of TXH and TXL. Fig. 2.3.13 Structure of timer X counter 3822 GROUP USER’S MANUAL 2–53 APPLICATION 2.3 Timer X and timer Y (3) Timer Y latch and timer Y counter (corresponding to timer Y (low-order) and timer Y (highorder)) The timer Y latch (referred as “the Y latch”) and the timer Y counter (referred as “the Y counter”) consist of 16 bits in a combination of high-order and low-order. The Y latch and Y counter are allocated at the same address. To access the Y latch and the Y counter, access both the timer Y (low-order) and the timer Y (high-order). ■Read When the timer Y (high-order and low-order) are read out, the value of the Y counter (count value) are read out. Read both registers in the order of the timer Y (high-order) and the timer Y (low-order). Do not write any value to the timer Y (high-order and low-order) before the timer Y (low-order) has been read out. In this case, timer Y will not operate normally. ■Write When a value is written to the timer Y (low-order and high-order), the value is set in the Y latch and the Y counter at the same time. Write the values to both registers in the order of the timer Y (loworder) and the timer Y (high-order). Do not read the timer Y (low-order and high-order) before the timer Y (high-order) has been written. In this case, timer Y will not operate normally. ●Timer Y latch The Y latch is a register which holds the value to be transferred (reloaded) automatically to the Y latch as the initial value of the Y counter at the Y counter underflow. Figure 2.3.14 shows the structure of the timer Y latch. Reload is performed at the following : •At the Y counter underflow •At the edge of the input pulse from the P5 5/CNTR 1 pin (period measurement mode/pulse width HL coutinuously measurement mode) The contents of the Y latch cannot be read out. ●Timer Y latch Timer Y (high-order, low-order) b7 b6 b5 b4 b3 b2 b1 b0 Timer Y (high-order, low-order) (TYH, TYL) [Address 23 B Functions Note : Write both registers in the order of TYL and TYH. 2–54 3822 GROUP USER’S MANUAL 2216] At reset R W 0 •Set “0000 16 to FFFF 16” as timer Y count value. to •Write high-order byte of setting value to TYH, 7 and low-order byte to TYL, respectively. •The values of TYH and TYL are set to the respective Y latches and transferred automatically to the respective Y counters at the Y counter underflow. Fig. 2.3.14 Structure of timer Y latch 16, 1 × APPLICATION 2.3 Timer X and timer Y ■Timer Y counter The Y counter counts the count source. Figure 2.3.15 shows the structure of the timer Y counter. The contents of the Y counter are decremented by 1 each time a count source is input. The division ratio of the counter is represented by the following expression. 1 the X counter initial value + 1 Division ratio of the Y counter = In the period measurement mode or the pulse width HL coutinuously measurement mode, the value immediately before reload is held until it is read out once after reload. The count operation is coutinued. ●Timer Y counter Timer Y (high-order, low-order) b7 b6 b5 b4 b3 b2 b1 b0 Timer Y (high-order, low-order) (TYH, TYL) [Address 23 B Functions 0 •Set “0000 16 to FFFF 16” as timer Y count value. to •The value of the Y counter is decremented 7 by 1 each time a count source is input. •The values of each Y counter are read out by reading the respective timer Ys. •The Y counter value immediately before reload is held until it is read out once after reload. (period measurement mode/pulse width HL continuously measurement mode) 16, 2216] At reset R W 1 Notes 1 : Write both registers in the order of TYL and TYH. 2 : Read both registers in the order of TYH and TYL. Fig. 2.3.15 Structure of timer Y counter 3822 GROUP USER’S MANUAL 2–55 APPLICATION 2.3 Timer X and timer Y (4) Timer X mode register (TXM) The timer X mode register (address 0027 16) consists of bits which select operation or control counting. Figure 2.3.16 shows a structure of the timer X mode register. Each bit is described below. Timer X mode register b7 b6 b5 b4 b3 b2 b1 b0 Timer X mode register (TXM) [Address 27 16] B Name 0 Timer X write control bit 0 : Write value in latch and counter 1 : Write value in latch only 0 1 Real time port control bit 0 : Real time port function invalid 1 : Real time port function valid 0 2 Data storage bit for real time port (RTP 0) Data storage bit for real time port (RTP 1) 0: 1: 0: 1: 0 Timer X operating mode bits b5b4 3 4 5 6 CNTR 0 active edge switch bit Functions “L” level output “H” level output “L” level output “H” level output 0 0 : Timer mode 0 1 : Pulse output mode 1 0 : Event counter mode 1 1 : Pulse width measurement mode •CNTR 0 interrupt 0 : Falling edge active 1 : Rising edge active At reset R W 0 0 0 0 •Pulse output mode 0 : Start at initial level “H” output 1 : Start at initial level “L” output •Event counter mode 0 : Rising edge active 1 : Falling edge active •Pulse width measurement mode 0 : Measure “H” level width 1 : Measure “L” level width 7 Timer X stop control bit 0 : Count start 1 : Count stop Fig. 2.3.16 Structure of timer X mode register 2–56 3822 GROUP USER’S MANUAL 0 APPLICATION 2.3 Timer X and timer Y ■Timer X write control bit (bit 0) The timer X write control bit controls writing to the timer X (low-order and high-order). When bit 0 is “0,” the value written in the timer X (low-order and high-order) are set into both the X latch and the X counter at the same time. When bit 0 is “1,” the value written in the timer X (low-order and high-order) is set into the X latch only. When a value is written into the X latch only, this rewritten value is transferred to the X counter at the first X counter underflow after rewriting. ■Real time port control bit (bit 1) The real time port control bit selects a function to output data from the real time port. When bit 1 is “0,” this function is invalid. When the bit is “1,” this function is valid. For an explanation of operations, refer to “2.3.1 Explanation of timer X operations, (5) Real time port control.” ■Data storage bits for real time port (bit 2 and bit 3) The data storage bits for real time port set the data to be output from the real time port. ■Timer X operating mode bits (bit 4 and bit 5) The timer X operating mode bits select a operating mode of the timer X. Table 2.3.2 shows the relation between the timer X operating mode bits and the operating modes. For an explanation of each mode operation, refer to the section pertaining to the explanation of each operation. Table 2.3.2 Relation between timer X operating mode bits and operating modes b5 0 0 1 1 b4 0 1 0 1 3822 GROUP USER’S MANUAL Operation mode Timer mode Pulse output mode Event counter mode Pulse width measurement mode 2–57 APPLICATION 2.3 Timer X and timer Y ■CNTR0 active edge switch bit (bit 6) The CNTR0 active edge switch bit has a function which selects an active edge of the CNTR 0 interrupt, and functions for each mode. ●CNTR 0 interrupt When bit 6 is “0,” the falling edge ( ) is active. When bit 6 is “1,” the rising edge ( ) is active. ●Pulse output mode In the pulse output mode, the initial level at the start of pulse output is selected. When bit 6 is “0,” the initial level is “H.” When bit 6 is “1,” the initial level is “L.” ●Event counter mode An active edge of the count source is selected. When bit 6 is “0,” the rising edge ( ) is active. When bit 6 is “1,” the falling edge ( ) is active. ●Pulse width measurement mode A duration of pulse width measured is selected. When bit 6 is “0,” the “H” level width is measured. When bit 6 is “1,” the “L” level width is measured. ■Timer X stop control bit (bit 7) The timer X stop control bit controls the count operation of the timer X. By writing “0” to bit 7, a count source is input to the X counter, so that a count operation is started. As bit 7 is in the “0” state immediately after reset release, the count operation is automatically started after reset release. By writing “1” to bit 7, the input of count source to the X counter is stopped, so that the count operation stops. In the pulse width measurement mode, however, a count operation is performed only in the period in which the measurement level is input to the P5 4 /CNTR0 pin when bit 7 is in the “0” state. At read, this bit functions as a status bit to indicate the operating state (counting or stop) of the X counter. When bit 7 is “0,” the counter is in the operating state. When bit 7 is “1,” the counter is in the stop state. 2–58 3822 GROUP USER’S MANUAL APPLICATION 2.3 Timer X and timer Y (5) Timer Y Mode Register (TYM) The timer Y mode register (address 002816 ) consists of bits which select operation or control counting. Figure 2.3.17 shows a structure of the timer Y mode register. Each bit is described below. Timer Y mode register b7 b6 b5 b4 b3 b2 b1 b0 Timer Y mode register (TYM) [Address 28 16] B Name Functions 0 Nothing is allocated. to These bits are fixed to “0” at reading. 3 4 Timer Y operating mode bits 5 6 CNTR 1 active edge switch bit At reset R W 0 0 × b5b4 0 0 0 : Timer mode 0 1 : Period measurement mode 1 0 : Event counter mode 1 1 : Pulse width HL continuously measurement mode 0 •CNTR 1 interrupt 0 : Falling edge active 1 : Rising edge active 0 •Period measurement mode 0 : Measure falling edge to falling edge 1 : Measure rising edge to rising edge •Event counter mode 0 : Rising edge active 1 : Falling edge active 7 Timer Y stop control bit 0 : Count start 1 : Count stop 0 Fig. 2.3.17 Structure of timer Y mode register 3822 GROUP USER’S MANUAL 2–59 APPLICATION 2.3 Timer X and timer Y ■Timer Y operating mode bits (bit 4 and bit 5) The timer Y operating mode bits select a operating mode of the timer Y. Table 2.3.3 shows the relation between the timer Y operating mode bits and the operating modes. For an explanation of each mode operation, refer to the section pertaining to the explanation of each operation. Table 2.3.3 Relation between timer Y operating mode bits and operating modes b5 0 0 1 1 b4 0 1 0 1 Operation mode Timer mode Period measurement mode Event counter mode Pulse width HL continuously measurement mode ■CNTR1 active edge switch bit (bit 6) The CNTR 1 active edge switch bit has a function which selects an active edge of the CNTR 1 interrupt and functions for each mode. In the pulse width HL continuously measurement mode, this bit is invalid. ●CNTR 1 interrupt When bit 6 is “0,” the falling edge ( ) is active. When bit 6 is “1,” the rising edge ( ) is active. In the pulse width HL continuously measurement mode, an interrupt request occurs at the both edges regardless of the value of this bit. ●Period measurement mode This bit selects the duration which is measured. When bit 6 is “0,” the falling edge to the falling edge duration is measured. When bit 6 is “1,” the rising edge to the rising edge duration is measured. ●Event counter mode An active edge of the count source is selected. When bit 6 is “0,” the rising edge ( ) is active. When bit 6 is “1,” the falling edge ( ) is active. ■Timer Y stop control bit (bit 7) The timer Y stop control bit controls the count operation of the timer Y. By writing “0” to bit 7, a count source is input to the Y counter, so that a count operation is started. As bit 7 is in the “0” state immediately after reset release, the count operation is automatically started after reset release. By writing “1” to bit 7, the input of count source to the Y counter is stopped, so that the count operation stops. At read, this bit functions as a status bit to indicate the operating state (counting or stop) of the counter. When bit 7 is “0,” the counter is in the operating state. When bit 7 is “1,” the counter is in the stop state. 2–60 3822 GROUP USER’S MANUAL APPLICATION 2.3 Timer X and timer Y (6) Interrupt request register 1 (IREQ1) and interrupt request register 2 (IREQ2) The interrupt request register 1 (address 003C16) and the interrupt request register 2 (address 003D 16) indicate whether an interrupt request has occured or not. Figure 2.3.18 shows the structure of the interrupt request register 1 and Figure 2.3.19 shows the structure of the interrupt request register 2. The occurrence of an interrupt request (timer X, timer Y, CNTR0 , and CNTR1 interrupt requests) causes the corresponding bit to be set to “1.” This interrupt request bit is automatically cleared to “0” by the acceptance of the interrupt request. The interrupt request bits can be set to “0” by software, but it cannot be set to “1” by software. The occurrence of each interrupt is controlled by the corresponding interrupt enable bit (refer to the next item). For details of interrupts, refer to “2.2 Interrupts.” Interrupt request register 1 b7 b6 b5 b4 b3 b2 b1 b0 Interrupt request register 1 (IREQ1) [Address 3C B 0 1 2 3 4 5 6 7 16] Name Functions INT0 interrupt request bit INT1 interrupt request bit Serial I/O receive interrupt request bit Serial I/O transmit interrupt request bit Timer X interrupt request bit Timer Y interrupt request bit Timer 2 interrupt request bit Timer 3 interrupt request bit 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued At reset R W 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 ✽ ✽ : “0” can be set by software, but “1” cannot be set. Fig. 2.3.18 Structure of interrupt request register 1 3822 GROUP USER’S MANUAL 2–61 APPLICATION 2.3 Timer X and timer Y Interrupt request register 2 b7 b6 b5 b4 b3 b2 b1 b0 Interrupt request register 2 (IREQ2) [Address 3D B Name 16] Functions CNTR 0 interrupt request bit 1 CNTR 1 interrupt request bit 2 Timer 1 interrupt request bit 3 INT2 interrupt request bit 4 INT3 interrupt request bit 5 Key input interrupt request bit 6 ADT/A-D conversion interrupt request bit 0 7 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued Nothing is allocated. This bit cannot be written to and is fixed to “0” at reading. ✽ : “0” can be set by software, but “1” cannot be set. Fig. 2.3.19 Structure of interrupt request register 2 2–62 3822 GROUP USER’S MANUAL At reset R W 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 0 × APPLICATION 2.3 Timer X and timer Y (7) Interrupt control register 1 (ICON1) and interrupt control register 2 (ICON2) The interrupt control register 1 (address 003E16 ) and the interrupt control register 2 (address 003F 16) control each interrupt request source. Figure 2.3.20 shows the structure of the interrupt control register 1 and Figure 2.3.21 shows the structure of the interrupt control register 2. When an interrupt enable bit (timer X, timer Y, CNTR 0, and CNTR 1 interrupt enable bits) is “0,” the corresponding interrupt request is disabled. If an interrupt request occurs when this bit is “0,” the corresponding interrupt request bit only is set to “1,” and the interrupt request is not accepted. When the interrupt enable bit is “1,” the corresponding interrupt request is enabled. If an interrupt request occurs when this bit is “1,” the interrupt request is accepted (interrupt disable flag = “0”). Each interrupt enable bit can be set to “0” or “1” by software. For details of interrupts, refer to “2.2 Interrupts.” Interrupt control register 1 b7 b6 b5 b4 b3 b2 b1 b0 Interrupt control register 1 (ICON1) [Address 3E 16] B Name 0 INT0 interrupt enable bit 1 INT1 interrupt enable bit Serial I/O receive interrupt enable bit Serial I/O transmit interrupt enable bit 2 3 4 5 6 7 Timer X interrupt enable bit Timer Y interrupt enable bit Timer 2 interrupt enable bit Timer 3 interrupt enable bit Functions 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled At reset R W 0 0 0 0 0 0 0 0 Fig. 2.3.20 Structure of interrupt control register 1 3822 GROUP USER’S MANUAL 2–63 APPLICATION 2.3 Timer X and timer Y Interrupt control register 2 b7 b6 b5 b4 b3 b2 b1 b0 0 Interrupt control register 2 (ICON2) [Address 3F 16] B Name 0 CNTR 0 interrupt enable bit CNTR 1 interrupt enable bit Timer 1 interrupt enable bit INT2 interrupt enable bit INT3 interrupt enable bit Key input interrupt enable bit ADT/A-D conversion interrupt enable bit 1 2 3 4 5 6 Functions 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 7 Fixed this bit to “0.” Fig. 2.3.21 Structure of interrupt control register 2 2–64 3822 GROUP USER’S MANUAL At reset R W 0 0 0 0 0 0 0 0 0 0 APPLICATION 2.3 Timer X and timer Y 2.3.4 Register setting example In the following, an example of setting registers for using each mode of the timer X and timer Y is described. (1) Timer X ■Timer mode Figure 2.3.22 shows an example of setting registers for using the timer mode. [Notes on use] Notes 1: For using interrupt processing, set the following : •Before setting ➀ below, clear the timer X interrupt enable bit and the timer X interrupt request bit to “0.” •After setting ➃ below, set the timer X interrupt enable bit to “1” (interrupts enabled) . 2: Write values in the order of the timer X (low-order) and the timer X (high-order). ➀Setting of timer X mode register Select timer mode or others b7 b0 1 0 0 TXM : Timer X mode register [Address 2716] b0 : Timer X write control bit 0 : Write value in latch and timer 1 : Write value in latch only b1 : Real time port control bit 0 : Real time port function invalid 1 : Real time port function valid b2 : Data storage bit for real time port (RTP0) b3 : Data storage bit for real time port (RTP1) b4, b5 : Timer X operating mode bits 0 0 : Timer mode b6 : CNTR0 active edge switch bit b7 : Timer X operating mode bit 1 : Count stop ➁Set count value (low-order) to timer X (low-order) (TXL) [Address 2016] ➂Set count value (high-order) to timer X (high-order) (TXH) [Address 2116] ➃Set timer X stop control bit of timer X mode register to “0” to start counting Fig. 2.3.22 Example of setting registers for using timer mode 3822 GROUP USER’S MANUAL 2–65 APPLICATION 2.3 Timer X and timer Y ■Pulse output mode Figure 2.3.23 shows an example of setting registers for using the pulse output mode. [Notes on use] Notes 1: For using interrupt processing, set the following : •Before setting ➀ below, clear the interrupt enable bits (timer X or CNTR0) and the interrupt request bits (timer X or CNTR0) to “0.” •After setting ➄ below, set the interrupt enable bits (timer X or CNTR0) to “1” (interrupts enabled) . 2: Write values in the order of the timer X (low-order) and the timer X (high-order). ➀Port P5 direction register b7 b0 1 P5D : Port P5 direction register [Address 0B16] b4 : Bit corresponding to port P54 1 : Output mode ➁Setting of timer X mode register Select timer mode or others b7 b0 1 0 1 TXM : Timer X mode register [Address 2716] b0 : Timer X write control bit 0 : Write value in latch and timer 1 : Write value in latch only b1 : Real time port control bit 0 : Real time port function invalid 1 : Real time port function valid b2 : Data storage bit for real time port (RTP0) b3 : Data storage bit for real time port (RTP1) b4, b5 : Timer X operating mode bits 0 1 : Pulse output mode b6 : CNTR0 active edge switch bit 0 : Start at initial level “H” level output 1 : Start at initial level “L” level output b7 : Timer X operating mode bits 1 : Count stop ➂Set count value (low-order) to timer X (low-order) (TXL) [Address 2016] ➃Set count value (high-order) to timer X (high-order) (TXH) [Address 2116] ➄Set timer X stop control bit of timer X mode register to “0” to start counting Fig. 2.3.23 Example of setting registers for using pulse output mode 2–66 3822 GROUP USER’S MANUAL APPLICATION 2.3 Timer X and timer Y ■Event counter output mode Figure 2.3.24 shows an example of setting registers for using the event counter mode. [Notes on use] Notes 1: For using interrupt processing, set the following : •Before setting ➀ below, clear the interrupt enable bits (timer X or CNTR0) and the interrupt request bits (timer X or CNTR0) to “0.” •After setting ➄ below, set the interrupt enable bits (timer X or CNTR0) to “1” (interrupts enabled) . 2: Write values in the order of the timer X (low-order) and the timer X (high-order). ➀Port P5 direction register b7 b0 0 P5D : Port P5 direction register [Address 0B16] b4 : Bit corresponding to port P54 0 : Input mode ➁Setting of timer X mode register Select timer mode or others b7 b0 1 1 0 TXM : Timer X mode register [Address 2716] b0 : Timer X write control bit 0 : Write value in latch and timer 1 : Write value in latch only b1 : Real time port control bit 0 : Real time port function invalid 1 : Real time port function valid b2 : Data storage bit for real time port (RTP0) b3 : Data storage bit for real time port (RTP1) b4, b5 : Timer X operating mode bits 1 0 : Event counter mode b6 : CNTR0 active edge switch bit 0 : Rising edge active 1 : Falling edge active b7 : Timer X operating mode bits 1 : Count stop ➂Set count value (low-order) to timer X (low-order) (TXL) [Address 2016] ➃Set count value (high-order) to timer X (high-order) (TXH) [Address 2116] ➄Set timer X stop control bit of timer X mode register to “0” to start counting Fig. 2.3.24 Example of setting registers for using event counter mode 3822 GROUP USER’S MANUAL 2–67 APPLICATION 2.3 Timer X and timer Y ■Pulse width measurement mode Figure 2.3.25 shows an example of setting registers for using the pulse width measurement mode. [Notes on use] Notes 1: For using interrupt processing, set the following : •Before setting ➀ below, clear the interrupt enable bits (timer X or CNTR0) and the interrupt request bits (timer X or CNTR0) to “0.” •After setting ➄ below, set the interrupt enable bits (timer X or CNTR0) to “1” (interrupts enabled) . 2: Write values in the order of the timer X (low-order) and the timer X (high-order). ➀Port P5 direction register b7 b0 0 P5D : Port P5 direction register [Address 0B16] b4 : Bit corresponding to port P54 0 : Input mode ➁Setting of timer X mode register Select timer mode or others b7 b0 1 1 1 TXM : Timer X mode register [Address 2716] b0 : Timer X write control bit 0 : Write value in latch and timer 1 : Write value in latch only b1 : Real time port control bit 0 : Real time port function invalid 1 : Real time port function valid b2 : Data storage bit for real time port (RTP0) b3 : Data storage bit for real time port (RTP1) b4, b5 : Timer X operating mode bits 1 1 : Pulse width measurement mode b6 : CNTR0 active edge switch bit 0 : Measure “H” level width 1 : Measure “L” level width b7 : Timer X operating mode bits 1 : Count stop ➂Set count value (low-order) to timer X (low-order) (TXL) [Address 2016] ➃Set count value (high-order) to timer X (high-order) (TXH) [Address 2116] ➄Set timer X stop control bit of timer X mode register to “0” to start counting Fig. 2.3.25 Example of setting registers for using pulse width measurement mode 2–68 3822 GROUP USER’S MANUAL APPLICATION 2.3 Timer X and timer Y ■Real time port function Figure 2.3.26 shows an example of setting registers for using the real time port (referred as RTP) function. [Notes on use] Notes 1: After reset release, port P5 direction register is set for the input mode, so pins P52/RTP0 and P53/RTP1 operate as ordinary input ports. For using as real time ports, be sure to set the corresponding bits of the port P5 direction register for the output mode. 2: Change RTP output data as required, for example, by using an interrupt. 3: Do not change ports P52 and P53 selected as RTP into input pins during RTP operation. ➀Port P5 direction register b7 b0 P5D : Port P5 direction register [Address B16] b2, b3 : Bits corresponding to port P52 (RTP0) and P53 (RTP1) 0 : Input mode 1 : Output mode ➁Setting of timer X mode register Select real time ports or others b7 b0 1 1 TXM : Timer X mode register [Address 2716] b0 : Timer X write control bit 0 : Write value in latch and timer 1 : Write value in latch only b1 : Real time port control bit 1 : Real time port function valid b2 : Data storage bit for real time port (RTP0) b3 : Data storage bit for real time port (RTP1) b4, b5 : Timer X operating mode bits 0 0 : Timer mode 0 1 : Pulse output mode 1 0 : Event counter mode 1 1 : Pulse width measurement mode b6 : CNTR0 active edge switch bit •CNTR0 interrupt 0 : Falling edge active 1 : Rising edge active •Pulse output mode 0 : Start at initial level “H” output 0 : Start at initial level “L” output •Event counter mode 0 : Rising edge active 1 : Falling edge active •Pulse width measurement mode 0 : Measure “H” level width 1 : Measure “L” level width b7 : Timer X stop control bit 1 : Count stop ➂Set count value (low-order) to timer X (low-order) (TXL) [Address 2016] ➃Set count value (high-order) to timer X (high-order) (TXH) [Address 2116] ➄Set timer X stop control bit of timer X mode register to “0” to start counting Fig. 2.3.26 Example of setting registers for using real time port 3822 GROUP USER’S MANUAL 2–69 APPLICATION 2.3 Timer X and timer Y (2) Timer Y ■Timer mode Figure 2.3.27 shows an example of setting registers for using the timer mode. [Notes on use] Notes 1: For using interrupt processing, set the following : •Before setting ➀ below, clear the timer Y interrupt enable bit and the timer Y interrupt request bit to “0.” •After setting ➃ below, set the timer Y interrupt enable bit to “1” (interrupts enabled) . 2: Write values in the order of the timer Y (low-order) and the timer Y (high-order). ➀Setting of timer Y mode register Select timer mode or others b7 b0 1 0 0 TYM : Timer Y mode register [Address 2816] b5, b4 : Timer Y operating mode bits 0 0 : Timer mode b6 : CNTR1 active edge switch bit b7 : Timer Y stop control bit 1 : Count stop : Nothing is allocated ➁Set count value (low-order) to timer Y (low-order) (TYL) [Address 2216] ➂Set count value (high-order) to timer Y (high-order) (TYH) [Address 2316] ➃Set timer Y stop control bit of timer Y mode register to “0” to start counting Fig. 2.3.27 Example of setting registers for using timer mode 2–70 3822 GROUP USER’S MANUAL APPLICATION 2.3 Timer X and timer Y ■Period measurement mode Figure 2.3.28 shows an example of setting registers for using the period measurement mode. [Notes on use] Notes 1: For using interrupt processing, set the following : •Before setting ➀ below, clear the interrupt enable bits (timer Y or CNTR 1) and the interrupt request bits (timer Y or CNTR 1) to “0.” •After setting ➄ below, set the interrupt enable bits (timer Y or CNTR 1) to “1” (interrupts enabled) . 2: Write values in the order of the timer Y (low-order) ant the timer Y (high-order). ➀Port P5 direction register b7 b0 0 P5D : Port P5 direction register [Address 0B16] b5 : Bit corresponding to port P55 0 : Input mode ➁Setting of timer Y mode register Select period measurement mode or others b7 b0 1 0 1 TYM : Timer Y mode register [Address 2816] b5, b4 : Timer Y operating mode bits 0 1 : Period measurement mode b6 : CNTR1 active edge switch bit 0 : Measure falling edge to falling edge 1 : Measure rising edge to rising edge b7 : Timer Y stop control bits 1 : Count stop : Nothing is allocated ➂Set count value (low-order) to timer X (low-order) (TYL) [Address 2216] ➃Set count value (high-order) to timer Y (high-order) (TYH) [Address 2316] ➄Set timer Y stop control bit of timer Y mode register to “0” to start counting Fig. 2.3.28 Example of setting registers for using period measurement mode 3822 GROUP USER’S MANUAL 2–71 APPLICATION 2.3 Timer X and timer Y ■Event counter mode Figure 2.3.29 shows an example of setting registers for using the event counter mode. [Notes on use] Notes 1: For using interrupt processing, set the following : •Before setting ➀ below, clear the interrupt enable bits (timer Y or CNTR 1) and the interrupt request bits (timer Y or CNTR 1) to “0.” •After setting ➄ below, set the interrupt enable bits (timer Y or CNTR 1) to “1” (interrupts enabled) . 2: Write values in the order of the timer Y (low-order) ant the timer Y (high-order). ➀Port P5 direction register b7 b0 0 P5D : Port P5 direction register [Address 0B16] b5 : Bit corresponding to port P55 0 : Input mode ➁Setting of timer Y mode register Select period measurement mode or others b7 b0 1 1 0 TYM : Timer Y mode register [Address 2816] b5, b4 : Timer Y operating mode bits 1 0 : Event counter mode b6 : CNTR1 active edge switch bit 0 : Rising edge active 1 : Falling edge active b7 : Timer Y stop control bits 1 : Count stop : Nothing is allocated ➂Set count value (low-order) to timer X (low-order) (TYL) [Address 2216] ➃Set count value (high-order) to timer Y (high-order) (TYH) [Address 2316] ➄Set timer Y stop control bit of timer Y mode register to “0” to start counting Fig. 2.3.29 Example of setting registers for using event counter mode 2–72 3822 GROUP USER’S MANUAL APPLICATION 2.3 Timer X and timer Y ■Pulse width HL countinuously measurement mode Figure 2.3.30 shows an example of setting registers for using the pulse width HL countinuously measurement mode. [Notes on use] Notes 1: For using interrupt processing, set the following : •Before setting ➀ below, clear the interrupt enable bits (timer Y or CNTR 1) and the interrupt request bits (timer Y or CNTR 1) to “0.” •After setting ➄ below, set the interrupt enable bits (timer Y or CNTR 1) to “1” (interrupts enabled) . 2: Write values in the order of the timer Y (low-order) ant the timer Y (high-order). ➀Port P5 direction register b7 b0 0 P5D : Port P5 direction register [Address 0B16] b5 : Bit corresponding to port P55 0 : Input mode ➁Setting of timer Y mode register Select period measurement mode or others b7 b0 1 1 1 TYM : Timer Y mode register [Address 2816] b5, b4 : Timer Y operating mode bits 1 1 : Pulse width HL continuously measurement mode b6 : CNTR1 active edge switch bit Invalid in pulse width HL continuously measurement mode b7 : Timer Y stop control bits 1 : Count stop : Nothing is allocated ➂Set count value (low-order) to timer X (low-order) (TYL) [Address 2216] ➃Set count value (high-order) to timer Y (high-order) (TYH) [Address 2316] ➄Set timer Y stop control bit of timer Y mode register to “0” to start counting Fig. 2.3.30 Example of setting registers for using pulse width HL continuously measurement mode 3822 GROUP USER’S MANUAL 2–73 APPLICATION 2.3 Timer X and timer Y 2.3.5 Application examples (1) Pulse output mode : Piezoelectric buzzer output Outline : The rectangular waveform output function of a timer is applied for a piezoelectric buzzer output. Specifications : •The rectangular waveform which is divided clock f(X IN ) = 8 MHz up to about 2 kHz is output from the P5 4 /CNTR0 pin. •The level of the P54 /CNTR0 pin fixes to “H” while a piezoelectric buzzer output is stopped. Figure 2.3.31 shows an example of a peripheral circuit, Figure 2.3.32, a connection of the timer and a setting of the division ratio, Figure 2.3.33, setting of the related registers, and Figure 2.3.34, the control procedure. The “H” level is output while a piezoelectric buzzer output is stopped. 3822 group P54/CNTR0 250 µ s 250 µ s Set a division ratio so that the underflow cycle of the timer 3 is this value. Fig. 2.3.31 Example of peripheral circuit f(XIN) = 8 MHz Fix Timer X 1/16 1/125 Fig. 2.3.32 Connection of timer and setting of division ratio 2–74 3822 GROUP USER’S MANUAL CNTR0 PiPiPi.... APPLICATION 2.3 Timer X and timer Y b7 b0 X X X 1 X X X X P5D : Port P5 direction register [Address 0B16] b4 : Bit corresponding to port P54 1 : Output mode b7 b0 1 X 0 1 X X X X TXM : Timer X mode register [Address 2716] b4, b5 : Timer X operating mode bits 0 1 : Pulse output mode b7 : Timer X stop control bit 1 : Count stop 7C16 TXL : Timer X (low-order) [Address 2016] Note : Write values in the order of the low-order byte and the TXH : Timer X (high-order) [Address 2116] 0016 high-order byte. Set “division ratio – 1 (124 : 007C16)” in the timer X register b7 b0 X X X 1 X X X X ICON1 : Interrupt control register [Address 3E16] b4 : Timer X interrupt enable bit 1 : Interrupt enabled Fig. 2.3.33 Setting of related registers RESET Initialization CLT CLD SEI All interrupts; Disabled ICON1 (Address 3E 16) ← XXX0XXXX 2 TXM (Address 27 16) ← 1X01XXXX 2 P5D (Address 0B 16), bit 4 ← 1 P5 (Address 0A 16), bit 4 ← 1 ← 7C 16 TXL (Address 20 16) ← 00 16 (125 – 1) TXH (Address 21 16) Timer X interrupt; Disabled CNTR0 output stops at this point (A piezoelectric buzzer output stops) Set port conditions at stop of a piezoelectric buzzer output (“H” level output) TXH (Address 27 16), bit 7 ← 0 ICON1 (Address 3E 16) ← XXX1XXXX 2 Timer count start Timer X interrupt; Enabled Interrupts; Enabled CLI A piezoelectric buzzer request generated during the main processing is processed at the output unit Main processing Output unit Y (= ON) A piezoelectric buzzer request has occurred? N (= Request) Immediately after no request? N (= OFF) TXM (Address 27 16), bit 7 P5 (Address 0A 16), bit 4 Switch bit 7 of TXM Count (ON)↔ Stop (OFF) ←1 ←1 Y (= No request) TXL (Address 20 16) TXH (Address 21 16) TXM (Address 27 16), bit 7 ← 7C16 ← 0016 (125 – 1) ←0 Fig.2.3.34 Control procedure 3822 GROUP USER’S MANUAL 2–75 APPLICATION 2.3 Timer X and timer Y (2) Pulse width measurement mode: Ringer signal detection Outline : A telephone ringing pulse✽1 is detected by applying the timer X interrupt and the pulse width measurement mode. Specifications : •Whether a telephone call exists or not is judged by measuring a pulse width output from the “H” active ringing pulse detection circuit. •f(X IN) = 8 MHz is used as the count source. •When the following condition is satisfied, it is regard as normal. 200 ms ≤ pulse width of a ringing pulse < 1.2 s Figure 2.3.35 shows an example of a peripheral circuit, Figure 2.3.36, setting of the related registers, Figure 2.3.37, a ringing pulse waveform, Figure 2.3.38, an operation timing when a ringing pulse is input, and Figure 2.3.39, the control procedure. 3822 group CNTR0 Ringing pulse detection circuit Telephone circuit Fig. 2.3.35 Example of peripheral circuit b7 b0 X X X 0 X X X X P5D : Port P5 direction register [Address 0B16] b4 : Bit corresponding to port P54 0 : Input mode b7 b0 1 0 1 1 X X X X TXM : Timer X mode register [Address 2716] b4, b5 : Timer X operating mode bits 1 1 : Pulse width measurement mode b6 : CNTR0 active edge switch bit 0 : •Pulse width measurement mode (Measure “H” level width) •CNTR0 interrupt (Falling edge active) b7 : Timer X stop control bit 1 : Count stop A716 TXL : Timer X (low-order) [Address 2016] 6116 TXH : Timer X (high-order) [Address 2116] Note : Write values in the order of the low-order byte and the high-order byte. Set “division ratio – 1 (24999 : 61A716) ” in the timer X register b7 b0 X X X 1 X X X X ICON1 : Interrupt control register 1 [Address 3E16] b4 : Timer X interrupt enable bit 1 : Interrupt enabled b7 b0 0 X X X X X X 1 ICON2 : Interrupt control register 2 [Address 3F16] b0 : CNTR0 interrupt enable bit 1 : Interrupt enabled Fig. 2.3.36 Setting of related registers 2–76 3822 GROUP USER’S MANUAL APPLICATION 2.3 Timer X and timer Y 16 Hz OFF ON Ringing pulse from telephone line Approx. 1 second Ringing duration Approx. 2 second No ringing duration Waveform-shaped signal input to microcomputer ✽ Ringing pulse : Signal which is sent by turning on/off (make/break) the telephone line. Each country has a different standard. In this case, Japanese domestic standard is adopted as an example. Fig. 2.3.37 Ringer signal waveform <When a normal-range ringing pulse is input> Ringing duration No ringing duration Ringing duration Approx. 1 second Approx. 2 second Approx. 1.2 second or more Signal input to microcomputer Timer X value <When abnormal ringing pulse is input> Signal input to microcomputer Reload Timer X interrupt Timer X value Reload Timer X interrupt 24 or more interrupts occur 4 to 23 interrupts occur CNTR0 interrupt No ringing duration CNTR0 interrupt Fig. 2.3.38 Operation timing when ringing pulse is input 3822 GROUP USER’S MANUAL 2–77 APPLICATION 2.3 Timer X and timer Y RESET Initialization CLT CLD SEI All interrupts; Disabled ICON1 (Address 3E16) ← XXX0XXXX2 ICON2 (Address 3F16) ← 0XXXXXX02 P5D (Address 0B16), bit 4 ← 0 TXM (Address 2716) ← 1011XXXX2 TXL (Address 2016) ← A716 TXH (Address 2116) ← 6116 (25000 – 1) Timer X interrupt; Disabled CNTR0 interrupt; Disabled Set P54/CNTR0 pin for input mode Connect timer X Set “division ratio – 1” to timer X (low-order) and timer X (high-order) (Set values in the order of low-order byte and high-order byte) TXM (Address 2716), bit 7 ← 0 Timer count start ← XXX1XXXX2 ← 0XXXXXX12 ICON1 (Address 3E16) ICON2 (Address 3F16) Timer X interrupt; Enabled CNTR0 interrupt; Enabled Interrupts; Enabled CLI CNTR0 interrupt processing routine The number of underflows is within the range ? CNTR0 interrupt occurs at transition from “H” to “L” of waveform which is input to CNTR0 pin N Check the number of underflows counted by timer X interrupt → If the number is 4 or less and 24 or more, the pulse is abnormal N Check pulse width → When pulse width is within range, the pulse is normal Y Timer X value is within the range ? Y Judged as presence of ringing pulse (Set ringer flag) Timer X interrupt occurs at timer X underflow (at every 50 ms) TXL (Address 2016) ← A716 TXH (Address 2116)← 6116 (25000 – 1) Reload to timer X register RTI N A ringing pulse exists ? (Ringer flag = “H”) Y Timer X interrupt processing routine Count the number of underflows Processing when a ringing pulse exists RTI Fig. 2.3.39 Control procedure 2–78 3822 GROUP USER’S MANUAL If 24 underflows or more are counted, regard the ringing pulse as out of standard, and execute error processing APPLICATION 2.3 Timer X and timer Y (3) Real time port function Figure 2.3.40 shows a timer X interrupt processing procedure example when the real time port (referred as “RTP”) is used. Figure 2.3.41 shows an application connection example when the RTP is used. Figure 2.3.42 shows an RTP output example. Table 2.3.4 and Table 2.3.5 show table examples for it. [Notes on use] Notes 1 : When there is no necessity for changing the timer X underflow time in ➁, omit it. 2 : When writing to the latch only is selected as the timer X write control, the timer X value (TXL, TXH) is rewritten at the first underflow after ➁. 3 : Execute another timer X interrupt processing in ➀ to ➃. Interrupt processing routine ➀ Push to stack area ➁ Transfer the next timer X underflow time from internal ROM table and store it in TXL (address 2016) and TXH (address 2116). ➂ Transfer RTP output data at the next timer X underflow from internal ROM table and store it in bits 2 and 3 of TXM (address 2716) . ➃ Pop from stack area RTI Fig. 2.3.40 Timer X interrupt processing procedure example when real time port is used 3822 GROUP USER’S MANUAL 2–79 APPLICATION 2.3 Timer X and timer Y 3822 group RTP setting value table Stepping motor TXM Data for RTP RTP0 (P52) Motor driver RTP1 (P53) Timer X setting value table Timer X Fig. 2.3.41 Application connection example when RTP is used Table 2.3.4 Table example for timer X setting value Table 2.3.5 Table example for RTP setting value RTP output time Timer X setting value RTP output pattern T1 T2 T3 T4 T5 T6 T7 T8 2FD016 2B7116 208116 186916 13C916 13A916 122116 11C116 ➀ ➁ ➂ ➃ RTP output time Timer X setting value (T1) Timer X setting value (T2) RTP setting values TXM, b2 TXM, b3 0 0 0 1 1 0 1 1 Timer X Timer X setting value setting value (T3) (T4) (T5) RTP0 output RTP1 output RTP output pattern ➀ RTP output pattern ➁ RTP output pattern ➂ Fig. 2.3.42 RTP output example 2–80 3822 GROUP USER’S MANUAL RTP output pattern ➃ ➀ (T6) APPLICATION 2.3 Timer X and timer Y 2.3.6 Notes on use Notes on using each mode of the timer X and timer Y are described below. (1) Timer X ■Common to all modes ●When reading or writing for timer X, be sure to execute for both the timer X (high-order) and the timer X (low-order). When reading a value from the timer X, read it in the order of the timer X (highorder) and the timer X (low-order). When writing a value to the timer X, execute in the order of the timer X (low-order) and the timer X (high-order). If the following operations are performed for the timer X, abnormal operation will occur. •Write operation before execution of timer X (low-order) reading •Read operation before execution of timer X (high-order) writing •In writing for the latch only (timer X write control bit = “1”), if writing timing for the high-order latch is almost same as the underflow timing, a normal value may not be set in the high-order counter. ■Pulse output mode ●In the pulse output mode, set the bit 4 (corresponding to the P5 4/CNTR 0) of the port P5 direction register (address 000B 16) to “1” (output mode). ●When the bit 4 (corresponding to the P5 4/CNTR 0) of the port P5 register (address 000A 16 ) in the pulse output mode is read, the value of the port register are not read out but the output value of the pin is read out. ■Event counter mode ●When using the event counter mode, set the bit 4 (corresponding to the P5 4/CNTR 0 ) of the port P5 direction register (address 000B16 ) to “0” (input mode). ●The maximum input frequency in the event counter mode is: 4 MHz (250 ns) .................................................. at V CC = 4.0 V to 5.5 V 500 (2 ✕ V CC ) – 4 MHz ( ns) .......... at V CC = 2.5 V to 4.0 V V CC – 2 The minimum “H” pulse width is: 105 ns .................................................................. at V CC = 4.0 V to 5.5 V 250 ( – 20 ns) ........................................... at V CC = 2.5 V to 4.0 V V CC – 2 The minimum “L” pulse is: 105 ns ................................................................. at V CC = 4.0 to 5.5 V 250 ( – 20 ns) ........................................... at V CC = 2.5 V to 4.0 V V CC – 2 ■Pulse width measurement mode ●In the pulse width measurement mode, set the bit 4 (corresponding to P5 4/CNTR 0) of the port P5 direction register (address 000B16 ) to “0” (input mode). ●In reading the value of the P5 4/CNTR0 pin as an input pin, the value is “1” at “H” level input or “0” at “L” level input regardless of the value of the CNTR0 active edge switch bit. ●Setting the CNTR 0 active edge switch bit effects on the active edge of an interrupt. Consequently, a CNTR0 interrupt request may be caused by setting the CNTR 0 active edge switch bit. As a countermeasure against the above, switch the active edge after disabling the CNTR0 interrupt, then set the CNTR0 interrupt request bit to “0.” ●The minimum “H” pulse width in the pulse width measurement mode is: 105 ns .................................................................. at V CC = 4.0 V to 5.5 V 250 ( – 20 ns) ........................................... at V CC = 2.5 V to 4.0 V V CC – 2 The minimum “L” pulse is: 105 ns ................................................................. at V CC = 4.0 to 5.5 V 250 ( – 20 ns) ........................................... at V CC = 2.5 V to 4.0 V V CC – 2 3822 GROUP USER’S MANUAL 2–81 APPLICATION 2.3 Timer X and timer Y ■Real time port function ●After reset release, the port P5 direction register is set for the input mode, so the pins P50 to P57 function as ordinary I/O ports. For the pin to be used as RTP, be sure to set the corresponding bits of the port P5 direction register for the output mode. ●For a pin used as RTP, do not change this port for the input mode during real time port operation. ●Change RTP output data as required, for example, by using an interrupt. (2) Timer Y ■Common to all modes ●When reading or writing for timer Y, be sure to execute for both the timer Y (high-order) and the timer Y (low-order). When reading a value from the timer Y, read it in the order of the timer Y (highorder) and the timer Y (low-order). When writing a value to the timer Y, execute in the order of the timer Y (low-order) and the timer Y (high-order). If the following operations are performed for the timer Y, abnormal operation will occur. •Write operation before execution of timer Y (low-order) reading •Read operation before execution of timer Y (high-order) writing ■Period measurement mode ●In the period measurement mode, set the bit 5 (corresponding to the P55 /CNTR1 ) of the port P5 direction register (address 000B16 ) to “0” (input mode). ●Setting the CNTR 1 active edge switch bit effects on the active edge of an interrupt. Consequently, the CNTR1 interrupt request may be caused by setting the CNTR 1 active edge switch bit. As a countermeasure, switch the active edge after disabling the CNTR 1 interrupt, then set the CNTR1 interrupt request bit to “0.” ●The maximum input frequency in the period measurement mode is: 4 MHz (250 ns) .................................................. at VCC = 4.0 V to 5.5 V 500 (2 ✕ V CC ) – 4 MHz ( ns) .......... at VCC = 2.5 V to 4.0 V V CC – 2 The minimum “H” pulse width is: 105 ns .................................................................. at VCC = 4.0 V to 5.5 V 250 ( – 20 ns) ........................................... at VCC = 2.5 V to 4.0 V V CC – 2 The minimum “L” pulse is: 105 ns ................................................................. at V CC = 4.0 to 5.5 V 250 ( – 20 ns) ........................................... at VCC = 2.5 V to 4.0 V V CC – 2 ■Event counter mode ●In the event counter mode, set the bit 5 (corresponding to the P5 5 /CNTR1 ) of the port P5 direction register (address 000B 16 ) to “0” (input mode). ●Setting the CNTR 1 active edge switch bit, the active edge of an interrupt is also affected. Consequently, a CNTR1 interrupt request may be caused by setting the CNTR1 active edge switch bit. ●The maximum input frequency in the event counter mode is: 4 MHz (250 ns) .................................................. at VCC = 4.0 V to 5.5 V (2 ✕ V CC ) – 4 MHz ( 500 ns) .......... at VCC = 2.5 V to 4.0 V V CC – 2 The minimum “H” pulse width is: 105 ns .................................................................. at VCC = 4.0 V to 5.5 V 250 ( – 20 ns) ........................................... at VCC = 2.5 V to 4.0 V V CC – 2 2–82 3822 GROUP USER’S MANUAL APPLICATION 2.3 Timer X and timer Y The minimum “L” pulse is: 105 ns ................................................................. at VCC = 4.0 to 5.5 V 250 ( – 20 ns) ........................................... at V CC = 2.5 V to 4.0 V V CC – 2 ■Pulse width HL continuously measurement mode ●In the pulse width HL continuously measurement mode, set the bit 5 (corresponding to P5 5/CNTR 1) of the port P5 direction register (address 000B 16 ) to “0” (input mode). ●The CNTR 1 interrupt request occurs at both edges of input pulses regardless of the value of the CNTR1 active edge switch bit. ●The minimum “H” pulse width in the pulse width HL continuously measurement mode is: 105 ns .................................................................. at V CC = 4.0 V to 5.5 V 250 ( – 20 ns) ........................................... at V CC = 2.5 V to 4.0 V V CC – 2 The minimum “L” pulse is: 105 ns ................................................................. at VCC = 4.0 to 5.5 V 250 ( – 20 ns) ........................................... at V CC = 2.5 V to 4.0 V V CC – 2 3822 GROUP USER’S MANUAL 2–83 APPLICATION 2.4 Timer 1, timer 2, and timer 3 2.4 Timer 1, timer 2, and timer 3 2.4.1 Explanation of operations Timer 1 to timer 3 are 8-bit timers that operate in the timer mode. The timer mode is a count-down system, so the value of the counter is decremented each time a count source is input. When the counter underflows, an interrupt request occurs. The timer 2 can also output a pulse whose polarity is reversed at each underflow. (1) Timer mode Operation of the timers 1 to 3 in the timer mode are described below. ➀Start of count operation A count operation is automatically started after reset release. The value of the counter is decremented by 1 each time a count source is input. ➁Reload operation The counter underflows at the first count pulse after the value of the counter reaches “00 16.” At this time, the value of the corresponding timer latch is transferred (reloaded) to the counter. ➂Interrupt operation An interrupt request occurs at the counter underflow. At the same time, the corresponding interrupt request bit is set to “1.” The occurrence of each interrupt is controlled by the interrupt enable bit. The acceptance of the interrupt request causes the interrupt request bit which has been set to “1” to be automatically cleared to “0.” It can also be cleared to “0” by software. An interrupt request occurs each time the counter underflows. In other words, an interrupt request occurs every “the counter initial value + 1” count of the rising edge of the count source. Figure 2.4.1 shows a timer mode operation example. 2–84 3822 GROUP USER’S MANUAL APPLICATION 2.4 Timer 1, timer 2, and timer 3 Count period Count period T (s) = 1 + count source frequency ✕ (the counter initial value + 1) Operation example in timer mode •UF : Underflow •RL : Reload •n : The counter initial value Count source Value of counter RL RL RL RL n16 UF UF UF UF 0016 T Time Interrupt request bit Interrupt enable bit 1 1 1 1 1 : •Clearing by writing “0” to the corresponding interrupt request bit of the timers 1 to 3. •Clearing by accepting the corresponding interrupt request of the timers 1 to 3 when the corresponding interrupt enable bit is “1.” Fig. 2.4.1 Timer mode operation example 3822 GROUP USER’S MANUAL 2–85 APPLICATION 2.4 Timer 1, timer 2, and timer 3 (2) Rewriting the value of the counter and the latch When data is written to the timer, the values of the counter and the latch are rewritten. For rewriting the values of the counters and the latches corresponding to each timer is described below. ■Timer 1 and timer 3 By writing a value to the timer, the value is set simultaneously in both the counter and the latch. Accordingly, the counter period, when a value is written to the timer during counting, becomes inaccurate. Figure 2.4.2 shows an rewriting example of the counter and the latch corresponding to the timers 1 or 3. Rewriting example of counter •UF : Underflow •RL : Reload •n : The counter initial value before rewriting •m : The counter initial value after rewriting Write “m16” to timer RL Value of counter m16 RL RL UF n16 UF UF 0016 Time Inaccurate count period Interrupt request bit 1 1 1 Interrupt enable bit 1 : •Clearing by writing “0” to the interrupt request bit corresponding to the timers 1 or 3. •Clearing by accepting the interrupt request corresponding to the timers 1 or 3 when the corresponding interrupt enable bit is “1.” Fig. 2.4.2 Rewriting example of counter and latch corresponding to timers 1 or 3 2–86 3822 GROUP USER’S MANUAL APPLICATION 2.4 Timer 1, timer 2, and timer 3 ■Timer 2 The write operation to the timer 2 counter is controlled by the timer 2 write control bit (bit 2 at address 002916 ). (bit 2 = “0”) As the write operation is the same as that to the timer 1 and the timer 3, refer to the previous section, “■Timer 1 and timer 3.” (bit 2 = “1”) When a value is written to the timer 2, the value is set in the timer 2 latch only. The rewritten value is reloaded onto the timer 2 counter at the first underflow after rewriting. Figure 2.4.3 shows an rewriting example of the timer 2 counter and the timer 2 latch. Rewriting example of timer 2 counter •UF : Underflow •RL : Reload •n : The counter initial value before rewriting •m : The counter initial value after rewriting Write “m16” to timer RL RL Value of counter m16 RL RL n16 UF UF UF UF 0016 Time Timer 2 write control bit Interrupt request bit 1 1 1 1 Interrupt enable bit 1 : •Clearing by writing “0” to the timer 2 interrupt request bit. •Clearing by accepting the timer 2 interrupt request when the timer 2 interrupt request bit is “1.” Fig. 2.4.3 Rewriting example of timer 2 counter and timer 2 latch (Writing in timer 2 latch only) 3822 GROUP USER’S MANUAL 2–87 APPLICATION 2.4 Timer 1, timer 2, and timer 3 (3) Pulse output by timer 2 The timer 2 can output a pulse whose polarity is reversed at each the timer 2 counter underflow. Figure 2.4.4 shows a pulse output example. From the moment that the T OUT output control bit is set to “1,” pulses are output from the P5 6/T OUT output pin. The polarity is reversed every the timer 2 counter underflow. To output pulses, set bit 6 of the port P5 direction register for the output mode by setting it to “1.” Pulse output example by timer 2 •UF : Underflow •RL : Reload •n : The timer 2 counter initial value Value of timer 2 counter FF16 n16 RL UF 0016 Timer 2 interrupt request bit Timer 2 interrupt enable bit Timer 1 1 1 1 1 1 1 1 1 1 Write “1” TOUT output control bit TOUT output active edge switch bit P56/TOUT pin Programmable I/O port 1 : •Clearing by writing “0” to the timer 2 interrupt request bit. •Clearing by accepting the timer 2 interrupt request when the timer 2 interrupt enable bit is “1.” Fig. 2.4.4 Pulse output example 2–88 3822 GROUP USER’S MANUAL APPLICATION 2.4 Timer 1, timer 2, and timer 3 2.4.2 Related registers Figure 2.4.5 shows memory allocation of timer-related registers. Each of these registers is described below. Address 002416 Timer 1 (T1) 002516 Timer 2 (T2) 002616 Timer 3 (T3) 002916 Timer 123 mode register (T123M) 003C16 Interrupt request register 1 (IREQ1) 003D16 Interrupt request register 2 (IREQ2) 003E16 Interrupt control register 1 (ICON1) 003F16 Interrupt control register 2 (ICON2) Fig. 2.4.5 Memory allocation of timer-related registers 3822 GROUP USER’S MANUAL 2–89 APPLICATION 2.4 Timer 1, timer 2, and timer 3 (1) Timer latches and timer counters (corresponding to timers 1 to 3) The latches and the counters each consist of 8 bits and are allocated at the same address for each timer. To access a latch and a timer, access the corresponding timer. When the timer is read out, the value of the counter (count value) is read out. ■Latch The latch is a register which holds the value to be transferred (reloaded) automatically to the counter as the initial value of the counter at the counter underflow. It is impossible to read out the value of the latch. Figure 2.4.6 the structure of the latches. For the rewrite operation of the value of the latch, refer to “2.4.1 Explanation of operations, (2) Rewriting the value of the counter and the latch.” ●Timer 1 latch and timer 3 latch Timer 1 and timer 3 b7 b6 b5 b4 b3 b2 b1 b0 Timer 1 and timer 3 (T1,T3) [Address 24 16, 26 16] B Functions 0 •Set “0016 to FF 16” as timers 1 or 3 count value . to •The values of each timer are set to the 7 respective latches and transferred automatically to the respective counters at the counter underflow. At reset R W × 1 ●Timer 2 latch Timer 2 b7 b6 b5 b4 b3 b2 b1 b0 Timer 2 (T2) [Address 25 16] B 0 1 to 7 Functions •Set “0016 to FF 16” as timer 2 count value . •The value of timer 2 is set to the timer 2 latch and transferred automatically to the timer 2 counter at the timer 2 underflow. Fig. 2.4.6 Structure of latches 2–90 3822 GROUP USER’S MANUAL At reset R W × 1 0 × APPLICATION 2.4 Timer 1, timer 2, and timer 3 ■Counters The counters count the count source ✽1. Figure 2.4.7 shows the structure of the timer counters. The value of the counter is decremented by 1 each time a count source is input. The division ratio of the counters is represented by the following expression. Division ratio of the counter = 1 the counter initial value + 1 When the timer is read out, the value of the counter (count value) is read out. For the rewriting operation for the value of the counter, refer to “2.4.1 Explanation of operations, (2) Rewriting the value of the counter and the latch.” ✽1: For count source selection, refer to “2.4.2 Related registers, (2) Timer 123 mode register.” ●Timer 1 counter and timer 3 counter Timer 1 and timer 3 b7 b6 b5 b4 b3 b2 b1 b0 Timer 1 and timer 3 (T1, T3) [Address 24 16, 2616] B Functions 0 •Set “0016 to FF 16” as timers 1 or 3 count value . to •The value of the counter is decremented by 7 1 each time a count source is input. •The values of each timer are set to the respective counters. •The respective count values are read out by reading each timer. At reset R W 1 ●Timer 2 counter Timer 2 b7 b6 b5 b4 b3 b2 b1 b0 Timer 2 (T2) [Address 25 16] B Functions 0 •Set “0016 to FF 16” as timer 2 count value . •The value of the counter is decremented by 1 each time a count source is input. •When timer 2 write control bit is “0,” the value 1 of the timer 2 is set to the timer 2 counter. to •The timer 2 count value is read out by reading 7 the timer 2. At reset R W 1 0 Fig. 2.4.7 Structure of timer counters 3822 GROUP USER’S MANUAL 2–91 APPLICATION 2.4 Timer 1, timer 2, and timer 3 (2) Timer 123 Mode Register (T123M) The timer 123 mode register (address 002916) consists of TOUT output control bit, the count source selection bits, and others. Figure 2.4.8 shows the structure of the timer 123 mode register. Each bit is described below. Timer 123 mode register b7 b6 b5 b4 b3 b2 b1 b0 Timer 123 mode register (T123M) [Address 29 16] B Name Timer 2 T OUT output active edge switch bit 0 : Start at “H” output 1 : Start at “L” output 0 1 Timer 2 T OUT output control bit 0 : TOUT output disabled 1 : TOUT output enabled 0 2 Timer 2 write control bit 0 Functions At reset R W 0 : Write data in latch and counter 1 : Write data in latch only Timer 2 count source 0 : Timer 1 underflow 1 : f(X IN)/16 selection bit (Middle-/high-speed mode) f(X CIN)/16 (Low-speed mode) (Note) 0 Timer 3 count source 0 : Timer 1 underflow 1 : f(X IN)/16 selection bit (Middle-/high-speed mode) f(X CIN)/16 (Low-speed mode) (Note) 0 Timer 1 count source 0 : f(X IN)/16 (Middle-/high-speed mode) selection bit f(X CIN)/16 (Low-speed mode) (Note) 1 : f(XCIN) 6, 7 Nothing is allocated. These bits cannot be written to and are fixed to “0” at reading. 0 3 4 5 Note: Internal clock φ is f(X CIN)/2 in the low-speed mode. Fig. 2.4.8 Structure of timer 123 mode register 2–92 3822 GROUP USER’S MANUAL 0 0 0 × APPLICATION 2.4 Timer 1, timer 2, and timer 3 ■Timer 2 TOUT output active edge switch bit (bit 0) The TOUT output active edge switch bit selects an initial level of the TOUT output. When bit 0 is “0,” the output pulse from the P5 6 /TOUT pin is started at the “H” level. When bit 0 is “1,” the output pulse from the P5 6 /TOUT pin is started at the “L” level. ■Timer 2 TOUT output control bit (bit 1) The TOUT output control bit controls the T OUT output. When bit 1 is “0,” the TOUT output is disabled. When bit 1 is “1,” the TOUT output is enabled. ■Timer 2 write control bit (bit 2) The timer 2 write control bit controls writing to the timer 2. When bit 2 is “0,” a simultaneous write operation to both the timer 2 latch and the timer 2 counter is set. When a value is written to the timer 2, the value is set into both the timer 2 latch and the timer 2 counter at the same time. When bit 2 is “1,” a write operation to the latch only is set. When a value is written into the timer 2, the value is set into the timer 2 latch only. When a value is written into the timer 2 latch only, this rewritten value is transferred to the timer 2 counter at the first timer 2 counter underflow after rewriting. ■Timer 2 count source selection bit (bit 3) The timer 2 count source selection bit selects a count source of the timer 2. Table 2.4.1 shows the relation between the timer 2 count source selection bit and count sources. Table 2.4.1 Relation between timer 2 count source selection bit and count sources bit 3 0 1 Timer 2 count source Timer 1 underflow f(XIN)/16 (In low speed mode; f(XCIN)/16) ■Timer 3 count source selection bit (bit 4) The timer 3 count source selection bit selects a count source of the timer 3. Table 2.4.2 shows the relation between the timer 3 count source selection bit and count sources. Table 2.4.2 Relation between timer 3 count source selection bit and count sources bit 4 0 1 Timer 3 count source Timer 1 underflow f(XIN)/16 (In low speed mode; f(XCIN)/16) ■Timer 1 count source selection bit (bit 5) The timer 1 count source selection bit selects a count source of the timer 1. Table 2.4.3 shows the relation between the timer 1 count source selection bit and count sources. Table 2.4.3 Relation between timer 1 count source selection bit and count sources Count source examples Timer 1 count source bit 5 f(XIN) = 8 MHz f(XCIN) = 32.768 kHz f(XIN)/16 (In low speed mode; f(XCIN)/16) 500 kHz 2.048 kHz 0 f(XCIN) — 32.768 kHz 1 3822 GROUP USER’S MANUAL 2–93 APPLICATION 2.4 Timer 1, timer 2, and timer 3 (3) Interrupt request register 1 (IREQ1) and interrupt request register 2 (IREQ2) The interrupt request register 1 (address 003C16 ) and the interrupt request register 2 (address 003D16) indicate whether an interrupt request has occured or not. Figure 2.4.9 shows the structure of the interrupt request register 1 and Figure 2.4.10 shows the structure of the interrupt request register 2. The occurrence of an interrupt request causes the corresponding bit to be set to “1.” This interrupt request bit is automatically cleared to “0” by the acceptance of the interrupt request. The interrupt request bit can be cleared to “0” by software, but it cannot be set to “1” by software. The occurrence of each interrupt is controlled by the interrupt enable bit (refer to the next item). For details of interrupts, refer to “2.2 Interrupts.” Interrupt request register 1 b7 b6 b5 b4 b3 b2 b1 b0 Interrupt request register 1 (IREQ1) [Address 3C 16] B Name Functions 0 INT0 interrupt request bit INT1 interrupt request bit Serial I/O receive interrupt request bit Serial I/O transmit interrupt request bit Timer X interrupt request bit Timer Y interrupt request bit Timer 2 interrupt request bit Timer 3 interrupt request bit 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 1 2 3 4 5 6 7 ✽ : “0” can be set by software, but “1” cannot be set. Fig. 2.4.9 Structure of interrupt request register 1 2–94 3822 GROUP USER’S MANUAL At reset R W 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 ✽ APPLICATION 2.4 Timer 1, timer 2, and timer 3 Interrupt request register 2 b7 b6 b5 b4 b3 b2 b1 b0 Interrupt request register 2 (IREQ2) [Address 3D B Name 16] Functions CNTR 0 interrupt request bit 1 CNTR 1 interrupt request bit 2 Timer 1 interrupt request bit 3 INT2 interrupt request bit 4 INT3 interrupt request bit 5 Key input interrupt request bit 6 ADT/A-D conversion interrupt request bit 0 7 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued Nothing is allocated. This bit cannot be written to and is fixed to “0” at reading. At reset R W 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 0 × ✽ : “0” can be set by software, but “1” cannot be set. Fig. 2.4.10 Structure of interrupt request register 2 3822 GROUP USER’S MANUAL 2–95 APPLICATION 2.4 Timer 1, timer 2, and timer 3 (4) Interrupt control register 1 (ICON1) and interrupt control register 2 (ICON2) The interrupt control register 1 (address 003E16 ) and the interruot contorol register 2 (address 003F 16) control each interrupt request source. Figure 2.4.11 shows the structure of the interrupt control register 1 and Figure 2.4.12 shows the structure of the interrupt control register 2. When an interrupt enable bit is “0,” the corresponding interrupt request is disabled. If an interrupt request occurs when this bit is “0,” the corresponding interrupt request bit only is set to “1,” and the interrupt request is not accepted. When the interrupt enable bit is “1,” the corresponding interrupt request is enabled. If an interrupt request occurs when this bit is “1,” the interrupt request is accepted (interrupt disable flag = “0”). Each interrupt enable bit can be set to “0” or “1” by software. For details of interrupts, refer to “2.2 Interrupts.” Interrupt control register 1 b7 b6 b5 b4 b3 b2 b1 b0 Interrupt control register 1 (ICON1) [Address 3E16] B Name 0 INT0 interrupt enable bit INT1 interrupt enable bit Serial I/O receive interrupt enable bit 1 2 3 Serial I/O transmit interrupt enable bit 4 Timer X interrupt enable bit 5 Timer Y interrupt enable bit Timer 2 interrupt 6 enable bit 7 Timer 3 interrupt enable bit Functions 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled Fig. 2.4.11 Structure of interrupt control register 1 2–96 3822 GROUP USER’S MANUAL At reset R W 0 0 0 0 0 0 0 0 APPLICATION 2.4 Timer 1, timer 2, and timer 3 Interrupt control register 2 b7 b6 b5 b4 b3 b2 b1 b0 0 Interrupt control register 2 (ICON2) [Address 3F 16] B Name 0 CNTR 0 interrupt enable bit CNTR 1 interrupt enable bit Timer 1 interrupt enable bit INT2 interrupt enable bit INT3 interrupt enable bit Key input interrupt enable bit ADT/A-D conversion interrupt enable bit 1 2 3 4 5 6 Functions At reset R W 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 7 Fix this bit to “0.” 0 0 0 0 0 0 0 0 Fig. 2.4.12 Structure of interrupt control register 2 3822 GROUP USER’S MANUAL 2–97 APPLICATION 2.4 Timer 1, timer 2, and timer 3 2.4.3 Register setting example Figure 2.4.13 shows an example of setting registers for timers 1, 2, and 3. [Notes on use] Notes 1: For using interrupt processing, set the following : •Before setting ➀ below, clear the respective timer interrupt enable bits and the timer respective interrupt request bits to “0.” •After setting ➃ below, set the respective timer interrupt enable bits to “1” (interrupts enabled) 2: The values written in the timers 1 and 3 are set into both the respective latches and the respective counters at the same time. 3: To enable the T OUT output when the timer 2 is used, set port P5 6 (this port is also used the T OUT pin) for the output mode. 4: Write values in the order of the timer 1, timer 2, and timer 3. ➀Setting of timer 123 mode register Select count source or others b7 b0 T123M : Timer 123 mode register [Address 29 16] b0 : Timer 2 T OUT output active edge switch bit 0 : Start at “H” output 1 : Start at “L” output b1 : Timer 2 T OUT output control bit 0 : TOUT output disabled 1 : TOUT output enabled b2 : Timer 2 write control bit 0 : Write data in latch and counter 1 : Write data in latch only b3 : Timer 2 count source selection bit 0 : Timer 1 underflow 1 : f(XIN)/16 (Middle-/high-speed mode) f(XCIN)/16 (Low-speed mode) b4 : Timer 3 count source selection bit 0 : Timer 1 underflow 1 : f(XIN)/16 (Middle-/high-speed mode) f(XCIN)/16 (Low-speed mode) b5 : Timer 1 count source selection bit 0 : f(XIN)/16 (Middle-/high-speed mode) f(XCIN)/16 (Low-speed mode) 1 : f(XCIN) ➁Set count value to timer 1 (T1) [Address 24 16] ➂Set count value to timer 2 (T2) [Address 25 16] ➃Set count value to timer 3 (T3) [Address 26 16] Fig. 2.4.13 Example of setting registers for timers 1, 2, and 3 2–98 3822 GROUP USER’S MANUAL APPLICATION 2.4 Timer 1, timer 2, and timer 3 2.4.4 Application example Timer mode: Clock function (measurement of one second) Outline: The input clock is divided by timer, with a timer 1 interrupt caused every 0.4 ms, 1 second is counted. Thus, the clock is counted up every second. Specification: •Division of f(XCIN ) = 32 kHz by timer 1 causes an interrupt. •The counter value counted by the timer 1 interrupt is checked in the main routine. If 1 second has elapsed, the clock counts up. Figure 2.4.14 shows setting of the related registers and Figure 2.4.15 shows the control procedure. b7 b0 1 1 X X X X T123M : Timer 123 mode register [Address 2916] b5 : Timer 1 count source selection bit 1 : f(XCIN) Noting is allocated 7F16 T1 : Timer 1 [Address 2416] Set “division ratio – 1 (127 : 7F16) ” in the timer 1 Notes 1 : 1 second = 1/32 kHz ✕ (127 + 1) ✕ 250 Division ratio 2 : Write values in the order of the timer 1, timer 2, and timer 3. Counted in interrupt processing b7 b0 0 X X X X 1 X X ICON2 : Interrupt control register 2 [Address 3F16] b2 : Timer 1 interrupt enable bit 1 : Interrupt enabled Fig. 2.4.14 Setting of related registers 3822 GROUP USER’S MANUAL 2–99 APPLICATION 2.4 Timer 1, timer 2, and timer 3 RESET Initialization CLT CLD SEI All interrupts; Disabled T123M (Address 2916) ← XX1XXXXX2 ICON2 (Address 3F16) ← 0XXXX0XX2 Connect timer 1 Timer 1 interrupt; Disabled T1 (Address 2416) ← 7F16 (128 – 1) Set “division ratio – 1” to timer 1 (Set in the order of timer 1, timer 2, and timer 3) Timer count start ICON2 (Address 3F16) ← 0XXXX1XX2 Timer 1 interrupt; Enabled Interrupts; Enabled CLI Interrupts every 0.4 ms Timer 1 interrupt processing routine 1 second counter + 1 Clock stop ? Y Check if the clock has already been set N 1 second has elapsed ? (1 second counter = 250 ?) RTI N Check a lapse of 1 second Y Clear 1 second counter Clear the counter counted by interrupt processing ✽ Count up clock (Second—Year) Main processing Specify so that all processing within the loop marked✽ is repeated in a cycle of 1 second or less <Processing for completion of setting clock > (Note) T1 (Address 2416) ← 7F16 IREQ2 (Address 3D16), bit 2 ← 0 When restarting the clock from zero second after 1 second counter ←0 completing to set the clock, reset timers Note : This processing is performed only at completing to set the clock Fig. 2.4.15 Control procedure 2–100 3822 GROUP USER’S MANUAL APPLICATION 2.4 Timer 1, timer 2, and timer 3 2.4.5 Notes on use (1) Notes on using timer 1 to timer 3 ■When the count sources of timers 1 to 3 are switched, a short pulse occurs in counted input signals, so the timer count value may change greatly. ■When the timer 1 output is selected as a count source of timer 2 or timer 3, a short pulse occurs in the output signal at writing value into the timer 1, so the count value of the timer 2 or timer 3 may change greatly. ■For the above reasons, set values in the order of timer 1, timer 2, and timer 3 after setting their count sources. (2) Timer 2 write control When writing to the latch only is selected, the value written into the timer 2 T2 (address 0025 16 ) is written only in the latch for reloading. This rewritten value is transferred to the timer 2 counter at the first underflow after rewriting. Usually, a value is written in both the latch and the counter at the same time. That is, when a value is written to timer, it is set in both the latch and the counter. (3) Timer 2 output control In the timer 2 (TOUT ) output enable state, a signal whose polarity is reversed each time the timer 2 counter underflows is output from the TOUT pin. In this case, set the port P5 6 (this is used as the TOUT pin) for the output mode. 3822 GROUP USER’S MANUAL 2–101 APPLICATION 2.5 Serial I/O 2.5 Serial I/O 2.5.1 Explanation of operations As a serial I/O, it is possible to select either the clock synchronous serial I/O mode or the clock asynchronous serial I/O (UART) mode. This section describes operations in both the clock synchronous mode and the clock asynchronous (UART) mode. When serial I/O is actually used, refer to “2.5.4 Register setting example.” (1) Clock synchronous serial I/O mode In the clock synchronous mode, 8 shift clocks generated in the clock control circuit are used as synchronizing clocks for transfer. In synchronization with these shift clocks, the transmit operation on the transmitter and the receive operation on the receiver are simultaneously executed. The transmitter transmits each 1-bit data from the P4 5 /TxD pin in synchronization with the falling of the shift clocks. The receiver receives each 1-bit data from the P44 /RxD pin in synchronization with the rising of the shift clocks. Figure 2.5.1 shows an external connection example in the clock synchronous mode. 3822 ➀ XIN 3822 ➁ 8 Receive buffer register Receive shift register 1/4 RxD TxD SCLK Clock control circuit BRG 1/(n+1) 1/4 8 Transmit buffer register Transmit shift register Clock control circuit SCLK TxD Transmit shift register Transmit buffer register 8 Internal clock is selected RxD Receive shift register Receive buffer register 8 External clock is selected Fig. 2.5.1 External connection example in clock synchronous mode 2–102 3822 GROUP USER’S MANUAL APPLICATION 2.5 Serial I/O ■Shift clock Ordinarily, when clock synchronous transfer is performed between microcomputers, an internal clock is selected for one of them, and it outputs 8 shift clocks generated by a start of transmit operation from the P46/S CLK pin. An external clock is selected for the other microcomputer, and it uses the clock input from the P4 6/S CLK pin as a shift clock. Figure 2.5.2 shows a shift clock. 3822 ➀ XIN 8 Receive buffer register Receive shift register 1/4 3822 ➁ RxD Clock control circuit BRG 1/(n+1) TxD Shift clock SCLK 8 Transmit buffer register Transmit shift register Clock control circuit SCLK 1/4 Transmit shift register Transmit buffer register 8 TxD RxD Receive shift register Receive buffer register 8 External clock is selected Internal clock is selected Fig. 2.5.2 Shift clock 3822 GROUP USER’S MANUAL 2–103 APPLICATION 2.5 Serial I/O ■Data transfer rate (baud rate) When an internal clock is used, the data transfer rate (baud rate), which is a shift clock frequency in the clock synchronous mode, is determined by baud rate generator (BRG). When the BRG count source selection bit (bit 0) of the serial I/O control register (address 001A16 ) is “0,” XIN pin input clock is input to the BRG, when this bit is “1,” XIN pin input clock divided by 4 is input to the BRG. The expression for baud rate is shown below. ●When selecting an internal clock (Using BRG) Baud rate = Division ratio [bps] X IN pin input ✽1 ✕ (BRG setting value ✽2 ✽1 Division ratio; Select “1,” or “4” ✽2 BRG setting value; 0 to 255 (00 16 to FF16 ) ●When selecting an external clock Baud rate = Frequency of input clock to P46 /SCLK pin [bps] 2–104 3822 GROUP USER’S MANUAL + 1) ✕ 4 APPLICATION 2.5 Serial I/O ■Transmit operation in the clock synchronous mode Transmit operation in the clock synchronous mode is described below. ●Start of transmit operation A transmit operation is started by writing transmit data into the transmit buffer register (address 0018 16 ) in the transmit enable state.✽1 ●Transmit operation ➀By writing transmit data into the transmit buffer register, the transmit buffer empty flag (bit 0) of the serial I/O status register (address 001916 ) is cleared to “0.” Data bus [Address 18 16] Write transmit data Transmit buffer register b0 1 Serial I/O status register [Address 19 16] ➁The transmit data written in the transmit buffer register is transferred to the transmit shift register.✽2 ➂When a data transfer from the transmit buffer register to the transmit shift register is completed, the transmit buffer empty flag is set to “1.” ✽3 ➃The transmit data transferred to the transmit shift register is output from the P4 5/TxD pin in synchronization with the falling of the shift clocks. ➄The data is output from the least significant bit of the transmit shift register. Each time 1bit data is output, the data of the transmit shift register is shifted by 1 bit toward the least significant bit. 0 Transmit buffer register Transfer transmit data Transmit shift register Serial I/O status register [Address 19 16] b0 D7 D6 D5 D4 D3 D2 D1 0 1 b0 D0 Transmit shift register b0 D7 D6 D5 D4 D3 D2 Transmit shift register P45/TxD D1 P45/TxD ✽1: Initialization of register or others for a transmit operation. Refer to “2.5.4 Register setting example.” ✽2: When the transmit interrupt source selection bit (bit 3) of the serial I/O control register (address 001A16 ) is set to “0,” a serial I/O transmit interrupt request occurs immediately after transfer in ➁. When this bit is set to “1,” a transmit interrupt request occurs at the time of ➆. ✽3: While the transmit buffer empty flag is “1,” it is possible to write the next transmit data into the transmit/receive buffer register. 3822 GROUP USER’S MANUAL 2–105 APPLICATION 2.5 Serial I/O ➅At the time when a transmit shift operation starts, the transmit shift register shift completion flag (bit 2) of the serial I/O status register is cleared to “0.” ✽4 b0 D7 D6 D 5 D4 D3 D2 D 1 D0 P45/TxD Transmit shift register 1 Serial I/O status register [Address 19 16] ➆At the time when the transmit shift operation completes, the transmit shift register shift completion flag is set to “1.” ✽2 ✽ 4 0 b2 b0 D7 P45/TxD Transmit shift register 0 Serial I/O status register [Address 19 16] 1 b2 ✽4: When an internal clock is used as a synchronizing clock, supplying the shift clock to the transmit shift register stops automatically at the completion of 8-bit transmission. However, when the next transmit data is written to the transmit buffer register while the transmit shift register shift completion flag is “0,” supplying the shift clock is continued. Shift clock Transmit shift register b7 b0 D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D7 D6 D5 D4 D3 D2 D7 Fig. 2.5.3 Transmit operation in clock synchronous mode 2–106 3822 GROUP USER’S MANUAL APPLICATION 2.5 Serial I/O Write “1” Transmit enable bit Transmit buffer empty flag Write transmit data to transmit buffer register Write next transmit data Transmit shift register shift completion flag Shift clock TxD D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 Fig. 2.5.4 Transmit timing example in clock synchronous mode 3822 GROUP USER’S MANUAL 2–107 APPLICATION 2.5 Serial I/O ■Receive operation in the clock synchronous mode Receive operation in the clock synchronous mode is described below. ●Start of receive operation A receive operation is started by writing data into the receive buffer register (address 0018 16 ) in the receive enable state. ✽1 •Transmit data in the full duplex data transfer mode •Arbitrary dummy data in the half duplex data transfer mode ●Receive operation ➀Each 1-bit data is read into the receive shift register from the P4 4 /RxD pin in synchronization with the rising of the shift clocks. ➁The data enters first into the most significant bit of the receive shift register. Each time 1bit data is received, the data of the receive shift register is shifted by 1 bit toward the least significant bit. ➂When 1-byte data has been input into the receive shift register, the data of the receive shift register is transferred to the receive buffer register (address 0018 16). ✽2 ➃When a data transfer to the receive buffer register is completed, the receive buffer full flag (bit 1) of the serial I/O status register (address 001916 ) is set to “1,” ✽3 a serial I/O interrupt request occurs. b0 D1 P44/RxD D0 Receive shift register b0 D4 P44/RxD D3 D2 D1 D0 Receive shift register Receive shift register D3 D2 D1 D0 Transfer receive data [Address 19 16] Receive buffer register Serial I/O status register [Address 19 16] 0 1 b1 ✽1: Initialization of register or others for a receive operation. Refer to “2.5.4 Register setting example.” ✽2: When data remains without reading out the data of the receive buffer register (the receive buffer full flag is “1”) and yet all the receive data has been input to the receive shift register, the overrun error flag of the serial I/O status register is set to “1.” At this time, the data of the receive shift register is not transferred to the receive buffer register, but the former data of the receive buffer register is held. ✽3: The receive buffer full flag is cleared to “0” by reading out the receive buffer register. 2–108 3822 GROUP USER’S MANUAL APPLICATION 2.5 Serial I/O Shift clock Receive shift register b7 b0 D0 D1 D0 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 Fig. 2.5.5 Receive operation in clock synchronous mode Write “1” Receive enable bit Read out receive buffer register Receive buffer full flag Write data to receive buffer register Shift clock RxD D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 Fig. 2.5.6 Receive timing example in clock synchronous mode 3822 GROUP USER’S MANUAL 2–109 APPLICATION 2.5 Serial I/O ■Transmit/receive timing example in the clock synchronous mode Figure 2.5.7 shows a data transmit/receive timing example in the clock synchronous mode. 3822 ➀ 3822 ➁ TXD TXD RXD RXD SCLK SCLK Write “1” Transmit enable bit Transmit buffer empty flag Write transmit data to transmit buffer register Write next transmit data Transmit shift register shift completion flag Shift clock D0 TXD D1 D2 D3 D4 D5 D6 D7 D0 D1 Write “1” Receive enable bit Read out receive buffer register Receive buffer full flag RXD D0 D1 D2 D3 D4 D5 D6 Fig. 2.5.7 Transmit/receive timing example in clock synchronous mode 2–110 3822 GROUP USER’S MANUAL D7 D0 D1 APPLICATION 2.5 Serial I/O (2) Clock asynchronous serial I/O (UART) mode As the clock asynchronous mode (UART mode), data is transmitted and received in asynchronous form unifying the data transfer rate and the transfer data format between the transmitter and the receiver. Figure 2.5.8 shows an external connection example in the UART mode. 3822 ➀ XIN 3822 ➁ 8 Receive buffer register Receive shift register 1/4 RxD TxD Clock control circuit BRG 1/(n+1) 1/16 Transmit shift register Transmit buffer register 8 8 Transmit buffer register Transmit shift register Clock control circuit BRG 1/16 1/(n+1) TxD RxD XIN 1/4 Receive shift register Receive buffer register 8 3822 ➂ TxD RxD 8 Transmit buffer register Transmit shift register XIN Clock control circuit BRG 1/16 1/(n+1) 1/4 Receive shift register Receive buffer register 8 Fig. 2.5.8 External connection example in UART mode 3822 GROUP USER’S MANUAL 2–111 APPLICATION 2.5 Serial I/O ■Data transfer rate (baud rate) When an internal clock is used, the data transfer rate (baud rate), which is a shift clock frequency in the UART mode, is determined by baud rate generator (BRG). When the BRG count source selection bit (bit 0) of the serial I/O control register (address 001A 16 ) is “0,” XIN pin input clock is input to the BRG, when this bit is “0,” X IN pin input clock divided by 4 is input to the BRG. The expression for baud rate is shown below. ●When selecting an internal clock (Using BRG) Baud rate = Division ratio [bps] X IN pin input ✽1 ✕ (BRG setting value ✽2 + 1) ✕ 16 ✽1 Division ratio; Select “1,” or “4” ✽2 BRG setting value; 0 to 255 (00 16 to FF16 ) ●When selecting an external clock Baud rate = [bps] Frequency of input clock to P46/S CLK pin 16 Table 2.5.1 Baud rate selection table (reference values) Baud rates [bps] At X IN input = 4.9152 MHz 2–112 BRG count source BRG setting value At X IN input = 8 MHz 300 488.28125 X IN input/4 255 (FF16 ) 600 976.5625 X IN input/4 127 (7F16 ) 1200 1953.125 X IN input/4 63 (3F16 ) 2400 3906.25 31 (1F16 ) 4800 7812.5 X IN input/4 X IN input/4 15 (0F16 ) 9600 15625 X IN input/4 7 (07 16) 19200 31250 X IN input/4 3 (03 16) 38400 62500 X IN input/4 1 (01 16) 76800 125000 X IN input/4 0 (00 16) 153600 250000 X IN input 1 (01 16) 307200 500000 X IN input 0 (0016 ) 3822 GROUP USER’S MANUAL APPLICATION 2.5 Serial I/O ■Transfer data format Data transfer format is set by the UART control register (address 001B16). Figure 2.5.9 shows a transfer data format in the UART mode, Table 2.5.2, the each bit function of UART transmit data, Figure 2.5.10, all transfer data formats in the UART mode. ●For 1ST–8DATA–1PA–2SP Next transmit data (at continuous output) Transmit data Data bit (8 bits) ST LSB D0 D1 D6 MSB D7 PA SP SP ST D0 D1 Fig. 2.5.9 Transfer data format in UART mode Table 2.5.2 Each bit function of UART transmit data Bit ST (Start bit) DATA (Data bit) PA (Parity bit) SP (Stop bit) Functions Indicates a start of data transmission. A “L” signal for one bit is added just before transmit data. Indicates the transmit data written in the transmit buffer register, “02 ” data is a “L” signal and “1 2 ” data is a “H” signal. These bits are called as character bits. To improve the reliability of data, this bit is added just after the last data bit. The value of this bit changes in accordance with the value of the parity selection bit so that the number of “1” in the transmit/receive data (including the parity bit) can always be an even or an odd number. Indicates an completion of data transmission. This bit is added just after the last data bit (or just after a parity bit in the parity checking enabled). As a stop bit, a “H” signal for 1 bit or 2 bits is output. 3822 GROUP USER’S MANUAL 2–113 APPLICATION 2.5 Serial I/O ST Di PA SP : Start bit : Data bit : Parity bit : Stop bit ●For 7-bit UART mode ST LSB D0 ST LSB D0 ST LSB D0 D1 D2 D3 D4 D5 MSB D6 ST LSB D0 D1 D2 D3 D4 D5 MSB D6 PA D6 MSB D7 SP D6 MSB D7 SP PA SP PA SP SP D1 D1 D2 D2 D3 D3 D4 D4 D5 MSB D6 SP D5 MSB D6 SP PA SP SP SP SP ●For 8-bit UART mode ST LSB D0 ST LSB D0 ST LSB D0 D1 D2 D3 D4 D5 D6 MSB D7 ST LSB D0 D1 D2 D3 D4 D5 D6 MSB D7 D1 D1 D2 D2 D3 D3 D4 D4 D5 D5 Fig. 2.5.10 All transfer data formats in UART mode 2–114 3822 GROUP USER’S MANUAL SP APPLICATION 2.5 Serial I/O ■Transmit operation in the UART mode Transmit operation in the UART mode is described below. ●Start of transmit operation A transmit operation is started by writing transmit data into the transmit buffer register (address 0018 16 ) in the transmit enable state.✽1 ●Transmit operation ➀By writing transmit data into the transmit buffer register, the transmit buffer empty flag (bit 0) of the serial I/O status register (address 001916 ) is cleared to “0.” Data bus [Address 18 16] Write transmit data Transmit buffer register b0 1 Serial I/O status register [Address 19 16] ➁The transmit a data written in the transmit buffer register is transferred to the transmit shift register.✽2 0 Transmit buffer register Transfer transmit data Transmit shift register ➂When a data transfer from the transmit buffer register to the transmit shift register is completed, the transmit buffer empty flag is set to “1.” ✽3 ➃The transmit data transferred to the transmit shift register is output from the P4 5/TxD pin in synchronization with the falling of the shift clock, beginning with the start bit. A start bit, a parity bit and a stop bit are automatically generated and output in accordance with the contents set in the UART control register. ➄The data is output from the least significant bit of the transmit shift register. Each time 1bit data is output, the data of the transmit shift register is shifted by 1 bit toward the least significant bit. 0 Serial I/O status register [Address 19 16] b0 D7 D 6 D5 D4 D3 D2 D1 D0 Transmit shift register b0 D7 D6 D5 D4 D3 D 2 D1 Transmit shift register 1 b0 ST P45/TxD D0 P45/TxD ✽1: Initialization of register or others for a transmit operation. Refer to “2.5.4 Register setting example.” ✽2: When the transmit interrupt source selection bit (bit 3) of the serial I/O control register (address 001A 16 ) is set to “0,” a serial I/O transmit interrupt request occurs immediately after transfer in ➁. When this bit is set to “1,” a transmit interrupt request occurs at the time of ➆. ✽3: While the transmit buffer empty flag is “1,” it is possible to write the next transmit data into the transmit/receive buffer register. 3822 GROUP USER’S MANUAL 2–115 APPLICATION 2.5 Serial I/O ➅At the time when a transmit shift operation starts, the transmit shift register shift completion flag (bit 2) of the serial I/O status register is cleared to “0.” ✽4 b0 D7 D6 D5 D4 D3 D 2 D1 D0 Transmit shift register ST P45/TxD 1 Serial I/O status register [Address 19 16] ➆After the lapse of a 1/2 period ✽5 of the shift clock from a transmission start of stop bit, the transmit shift register shift completion flag is set to “1.” ✽2 ✽4 0 b2 SP P45/TxD 0 Serial I/O status register [Address 19 16] 1 b2 ✽4: When an internal clock is used as a synchronizing clock, supplying the shift clock to the transmit shift register stops automatically at the completion of 8-bit transmission. However, when the next transmit data is written to the transmit buffer register while the transmit shift register shift completion flag is “0,” supplying the shift clock is continued. ✽5: In the case of 2 stop bits, after the lapse of a 1/2 period of the shift clock from a start of the second stop bit transmission. Write “1” Shift clock Transmit buffer empty flag Write transmit data to transmit buffer register Write next transmit data Transmit shift register shift completion flag TXD ST D0 D1 D2 Fig. 2.5.11 Transmit timing example in UART mode 2–116 3822 GROUP USER’S MANUAL D6 PAR SP SP ST D0 APPLICATION 2.5 Serial I/O ■Receive operation in the UART mode Receive operation in the UART mode is described below. ●Start of receive operation In the receive enable state, ✽1 set the receive enable bit (bit 5) of the serial I/O control register (address 001A 16) into the enabled state (“1”). With this operation, a start bit is detected and a receive operation of serial data is started. ●Receive operation ➀With the lapse of a 1/2 period of the shift clock from detection of the falling of the P44 / RxD pin input, the P4 4 /RxD pin level is checked. When it is “L” level, the bit is judged as a start bit. When it is “H” level, the bit is judged as noise, so the receive operation is stopped, being put into wait status for a start bit again. Shift clock R XD (Noise) R XD (ST) ➁Each 1-bit data is read into the receive shift register from the P4 4/RxD pin in synchronization with the rising of the shift clocks. b0 D1 P44/RXD ➂The data after the detection of the start bit enters first into the most significant bit of the receive shift register. Each time 1-bit data is received, the data of the receive shift register is shifted by 1 bit toward the least significant bit. ➃When a specified number of bits has been input into the receive shift register, the data of the receive shift register (address 0018 16) are transferred to the receive buffer register (address 001816 ). ✽2✽3 D0 Receive shift register b0 D4 P44/RXD D3 D2 D1 D0 Receive shift register Receive shift register D7 D6 D5 D4 D3 D2 D1 D0 Transfer receive data [Address 18 16] Receive buffer register ✽1: Initialization of register or others for a receive operation. Refer to “2.5.4 Register setting example.” ✽2: When the data bit length is 7 bits, bits 0 to 6 of the receive buffer register are receive data, and bit 7 (MSB) is cleared to “0.” ✽3: When data remains without reading out the data of the receive buffer register (the receive buffer full flag is “1”) and yet all the receive data has been input to the receive shift register, the overrun error flag of the serial I/O status register is set to “1.” At this time, the data of the receive shift register is not transferred to the receive buffer register, but the former data of the receive buffer register is held. 3822 GROUP USER’S MANUAL 2–117 APPLICATION 2.5 Serial I/O ➄After the lapse of a 1/2 period of the shift clock from a reception start of stop bit, the receive buffer full flag (bit 1) of the serial I/O status register is set to “1.” And a serial I/O receive interrupt request occurs. ➅Error flag detection is performed concurrently with the occurrence of a serial I/O receive interrupt request. Shift clock RXD (SP) 0 Serial I/O status register [Address 1916] 1 b1 ✽4: The receive buffer full flag is cleared to “0” by reading out the receive buffer register. Write “1” Receive enable bit Start receiving at falling of ST Check that ST is “L” level RXD ST D0 D1 D2 D6 PAR SP SP ST D0 Shift clock Fig. 2.5.12 Receive timing example in UART mode (3) Processing upon occurrence of errors ■Parity error, framing error, or summing error When a parity error, a framing error, or a summing error occurs, the flag corresponding to each error in the serial I/O status register is set to “1.” These flags are not cleared to “0” automatically, so set them to “0” by software. These flags are set to “0” by one of the following operations. •Set the receive enable bit to “0” •Write data (arbitrary) into the serial I/O status register ■Overrun error An overrun error occurs when data is already input in the receive buffer register and yet all data is input in the receive shift register. If an overrun error occurs, the data of the receive shift register is not transferred and the data of the receive buffer register is held. At this time, even if the data of the receive buffer register is read out, the data of the receive shift register is not transferred. Consequently, the data of the receive shift register becomes unreadable, so that the receive data becomes invalid. If an overrun error occurs, after set the overrun error flag of the serial I/O status register to “0”, perform a receive operation again. The overrun error flag is set to “0” by one of the following operations. •Set the serial I/O enable bit to “0” •Set the receive enable bit to “0” •Write data (arbitrary) into the serial I/O status register 2–118 3822 GROUP USER’S MANUAL APPLICATION 2.5 Serial I/O 2.5.2 Pins The serial I/O uses 4 pins, namely, pins for data transmit, data receive, shift clock transmit/receive, and receive enable signal output. All these pins are also used as port P4 and switched their functions by the serial I/O enable bit (bit 7) and S RDY output enable bit (bit 2) of the serial I/O control register (address 001A 16 ). The function of each pin is described below. (1) Data transmit pin [TxD] Outputs each bit of transmit data and is used as port P4 5. When the serial I/O enable bit of the serial I/O control register is set to “1,” this pin functions as a serial I/O data output pin. (2) Data receive pin [RxD] Inputs each bit of receive data and is used as port P4 4. When the serial I/O enable bit of the serial I/O control register is set to “1,” this pin functions as a serial I/O data input pin. (3) Shift clock transmit/receive pin [SCLK ] ■Clock synchronous mode Inputs (receives from the outside) or outputs (supplies to the outside) a shift clock used for transmission and reception. When the serial I/O synchronization clock selection bit (bit 1) of the serial I/O control register is set to “0” (use of internal clock), a shift clock is output to the outside. When this bit is set to “1” (use of external clock), a shift clock is input from the outside. ■UART mode When the serial I/O synchronization clock selection bit (bit 1) of the serial I/O control register is set to “1” (use of external clock), a shift clock is supplied from the outside. When this bit is set to “0” (use of internal clock), this pin does not function. (4) Receive enable signal output pin [ SRDY] Notifies the outside of the receive enable state in the clock synchronous mode. This pin does not function in the UART mode. •The S RDY output enable bit (bit 2) of the serial I/O control register is set to “1.” •The transmit enable bit (bit 4) of the serial I/O control register is set to “1.” When the above two conditions are satisfied, the pin level changes from “H” to “L” at the timing which data is written into the receive buffer register, notifying the outside of the receive enable state. 3822 GROUP USER’S MANUAL 2–119 APPLICATION 2.5 Serial I/O 2.5.3 Related registers Figure 2.5.13 shows the memory allocation of serial I/O-related registers. They are the transmit/receive buffer register, serial I/O status register, serial I/O control register, and UART control register. Address 0018 16 (1) Transmit/receive buffer register (address 001816 ) This register is used to write serial I/O transmit data or to read receive data (used for both the clock synchronous mode and the UART mode). For data transmission, transmit data is written into this register. Received data is obtained by reading out this register. 0019 16 001A 16 001B 16 Transmit/receive buffer register (TB/RB) Serial I/O status register (SIOSTS) Serial I/O control register (SIOCON) UART control register (UARTCON) Fig. 2.5.13 Memory allocation of serial I/O-related registers Transmit/receive buffer register b7 b6 b5 b4 b3 b2 b1b0 Transmit/receive buffer register (TB/RB) [Address 18 B Functions 0 At transmit to •Set “00 16 to FF 16” as transmit data. 7 •The transmit data is transferred automatically to transmit shift register by writing transmit data. At receive •When all receive data has been input into the receive shift register, the receive data is automatically transferred to this register. Fig. 2.5.14 Structure of transmit/receive buffer register 2–120 3822 GROUP USER’S MANUAL 16] At reset R W ? APPLICATION 2.5 Serial I/O (2) Serial I/O status register (address 0019 16 ) This register consists of the following flags: •flags representing the states of the registers used for transmission/reception •error flags. This is a read-only register. Bit 7 is unused and set to “1” at reading. Serial I/O status register b7 b6 b5 b4 b3 b2 b1 b0 Serial I/O status register (SIOSTS) [Address 19 16] B Name 0 Transmit buffer empty flag (TBE) Receive buffer full flag (RBF) Transmit shift register shift completion flag (TSC) Overrun error flag (OE) 1 2 3 4 5 6 7 Functions 0: Buffer full 1: Buffer empty 0: Buffer empty 1: Buffer full 0: Transmit shift in progress 1: Transmit shift completed 0: No error 1: Overrun error 0: No error Parity error flag 1: Parity error (PE) 0: No error Framing error flag 1: Framing error (FE) 0: (OE) U (PE) U (FE) = 0 Summing error flag 1: (OE) U (PE) U (FE) = 1 (SE) Nothing is allocated. This bit cannot be written to and is fixed to “1” at reading. At reset R W × 0 0 × 0 × 0 × 0 × 0 × 0 × 1 1 × Fig. 2.5.15 Structure of serial I/O status register ■Transmit buffer empty flag (bit 0) This bit is automatically cleared to “0” by writing transmit data into the transmit buffer register. After the transmit data is written in the transmit buffer register, it is transferred to the transmit shift register. When this transfer is completed and the transmit buffer register becomes empty, this flag is automatically is set to “1.” It is possible to write transmit data into the transmit buffer register only while the transmit buffer empty flag is “1.” This flag is valid in both the clock synchronous mode and the UART mode. ■Receive buffer full flag (bit 1) When all receive data has been input to the receive shift register and then this receive data is transferred to the receive buffer register, this flag is automatically is set to “1.” When the transferred receive data is read out from the receive buffer register, the flag is automatically is cleared to “0.” If all the next receive data is input to the receive shift register when the receive buffer flag is “1” (the receive buffer register is not yet read out), the overrun error flag is set to “1.” This flag is valid in both the clock synchronous mode and the UART mode. 3822 GROUP USER’S MANUAL 2–121 APPLICATION 2.5 Serial I/O ■Transmit shift register shift completion flag (bit 2) When a shift operation (transmission of the first data bit) is started by shift clock after transmit data is transferred to the transmit shift register, this flag is cleared to “0.” When the shift operation is completed (completion of transmission of the last data bit), the flag is set to “1.” This flag is valid in both the clock synchronous mode and the UART mode. ■Overrun error flag (bit 3) If all the next receive data is input to the receive shift register when data has been input (not read out) in the receive buffer register, this flag is set to “1” (occurrence of an overrun error). This flag is set to “0” by one of the following operations. •Set the serial I/O enable bit to “0” •Set the receive enable bit to “0” •Write data (arbitrary) into the serial I/O status register This flag is valid in both the synchronous mode and the UART mode. ■Parity error flag (bit 4) In the UART mode, this flag checks an even parity or odd parity by hardware. When the parity of received data is different from the set parity, this flag is set to “1.” This flag is set to “0” by one of the following operations. •Set the receive enable bit to “0” •Write data (arbitrary) into the serial I/O status register This flag is valid only in the parity enable state in the UART mode. ■Framing error flag (bit 5) In the UART mode, this flag judges whether frame synchronization is abnormal. When the stop bit of receive data cannot be received at the set timing, this flag is set to “1.” This flag is set to “0” by one of the following operations. •Set the receive enable bit to “0” •Write data (arbitrary) into the serial I/O status register This flag is valid only in the UART mode. ■Summing error flag (bit 6) This flag is set to “1” when an overrun error, parity error, or framing error occurs. This flag is set to “0” by one of the following operations. •Set the receive enable bit to “0” •Write data (arbitrary) into the serial I/O status register This flag is valid in both the clock synchronous mode and the UART mode. 2–122 3822 GROUP USER’S MANUAL APPLICATION 2.5 Serial I/O (3) Serial I/O control register (address 001A 16) This register controls various functions related to the serial I/O, such as transmit/receive modes, clocks, and pin functions. All the bits of this register are read and written by software. Serial I/O control register b7 b6 b5 b4 b3 b2 b1 b0 Serial I/O control register (SIOCON) [Address 1A 16] B 0 Name BRG count source selection bit (CSS) Functions 0: f(XIN) 1: f(XIN)/4 At reset R W 0 1 •In clock synchronous mode Serial I/O synchronization clock 0: BRG output/4 1: External clock input selection bit (SCS) •In UART mode 0: BRG output/16 1: External clock input/16 2 SRDY output enable bit (SRDY) 0: P47/SRDY pin operates as I/O port P4 7 1: P47/SRDY pin operates as signal output pin SRDY (SRDY signal indicates receive enable state) 0 3 Transmit interrupt source selection bit (TIC) 0: When transmit buffer has emptied 1: When transmit shift operation is completed 0 4 Transmit enable bit (TE) 0: Transmit disabled 1: Transmit enabled 0 5 Receive enable bit (RE) 0: Receive disabled 1: Receive enabled 0 6 Serial I/O mode selection bit (SIOM) 0: Clock asynchronous serial I/O (UART) mode 1: Clock synchronous serial I/O mode 0 7 Serial I/O enable bit (SIOE) 0: Serial I/O disabled (pins P4 4–P47 operate as I/O pins) 1: Serial I/O enabled (pins P4 4–P47 operate as serial I/O pins) 0 0 Fig. 2.5.16 Structure of serial I/O control register 3822 GROUP USER’S MANUAL 2–123 APPLICATION 2.5 Serial I/O ■BRG count source selection bit (bit 0) Selects a count source to be input to the BRG. In the “0” state, an undivided XIN input signal is input to the BRG. In the “1” state, an X IN input signal divided by 4 is input to the BRG. ■Serial I/O synchronization clock selection bit (bit 1) Selects a synchronizing clock to be used in the serial I/O. ●Clock synchronous mode When this bit is set to “0,” a BRG output divided by 4 becomes a shift clock. In the “1” state, an external clock (P46 /SCLK pin input) becomes a shift clock as it is. ●UART mode In the “0” state, a BRG output divided by 16 becomes a shift clock. In the “1” state, an external clock (P46 /SCLK pin input) divided by 16 becomes a shift clock. ■S RDY output enable bit (bit 2) When the SRDY function is used in the clock synchronous mode, set this bit to “1.” In the “0” state, the P4 7 /SRDY pin functions as an I/O port P4 7. In the UART mode, the value of this bit is invalid, so that the P47 /SRDY pin functions as an I/O port P4 7. ■Transmit interrupt source selection bit (bit 3) Determines a source which generates a serial I/O transmit interrupt request. In the “0” state, a serial I/O transmit interrupt request occurs at the time when the values of the transmit buffer register are transferred to the transmit shift register. In the “1” state, a serial I/O transmit interrupt request occurs at the time when the shift operation of the transmit shift register is completed. ■Transmit enable bit (bit 4) Controls a transmit operation. This bit controls as shown in Table 2.5.3 only when the serial I/O enable bit is “1” (serial I/O enabled). When the serial I/O enable bit is “0” (serial I/O disabled), this bit is invalid. Table 2.5.3 Control contents of transmit enable bit Transmit enable bit P45 /TXD pin function 0 Port P45 1 Data transmit pin T XD Transmit buffer empty flag Set to “0” Flag function is valid ✽1: Bit 0 of serial I/O status register ✽2: Bit 2 of serial I/O status register 2–124 3822 GROUP USER’S MANUAL ✽1 Transmit shift register shift completion flag ✽2 APPLICATION 2.5 Serial I/O ■Receive enable bit (bit 5) Controls receive operation. This bit controls as shown in Table 2.5.4 only when the serial I/O enable bit (bit 7) is “1” (serial I/O enabled). When the serial I/O enable bit is “0” (serial I/O disabled), this bit is invalid. Table 2.5.4 Control contents of receive enable bit Receive enable bit P44 /RXD pin function 0 Port P4 4 1 Data receive pin R XD Receive buffer full flag ✽1 Each error flag ✽2 Set to “0” Flag function is valid ✽1: Bit 1 of serial I/O status register ✽2: Bits 3, 4, 5, and 6 of serial I/O status register ■Serial I/O mode selection bit (bit 6) Selects a transmit/receive mode of the serial I/O. In the UART mode, set this bit to “0.” In the clock synchronous mode, set it to “1.” ■Serial I/O enable bit (bit 7) When the serial I/O function is used, set this bit to “1.” When the bit is set to “1,” the pins P44/RxD, P4 5/TxD, and P4 6/S CLK function as RxD, TxD, and S CLK respectively (Furthermore, when the S RDY output enable bit is set to “1,” the P4 7/SRDY pin functions as an S RDY pin). In the “0” state, they function as ports P4 4 to P4 7 respectively. 3822 GROUP USER’S MANUAL 2–125 APPLICATION 2.5 Serial I/O (4) UART control register (address 001B 16) Controls the transfer data format in the UART mode and the output format of the P4 5 /TxD pin. UART control register b7 b6 b5 b4 b3 b2 b1 b0 UART control register (UARTCON) [Address 1B 16] B Name Functions 0: 8 bits 0 Character length selection bit (CHAS) 1: 7 bits 0: Parity checking disabled 1 Parity enable bit 1: Parity checking enabled (PARE) 0: Even parity 2 Parity selection bit 1: Odd parity (PARS) 3 Stop bit length 0: 1 stop bit selection bit (STPS) 1: 2 stop bits 0: CMOS output (in output mode) 4 P45/TxD P-channel 1: N-channel open-drain output output disable bit (in output mode) (POFF) 5 Nothing is allocated. These bits cannot be written to to and are fixed to “1” at reading. 7 At reset R W 0 0 0 0 0 1 1 × Fig. 2.5.17 Structure of UART control register ■Character length selection bit (bit 0) Selects data bit length of the UART transfer data format. In the “0” state, the data bit length is 8 bits. In the “1” state, the data bit length is 7 bits. ■Parity enable bit (bit 1) This bit is set to “1” to make a parity check and to “0” to make no parity check. In the “1” state, the parity error flag becomes valid. ■Parity selection bit (bit 2) Selects a parity type of the UART transfer data format. In the “0” state, the parity type is an even parity. In the “1” state, it is an odd parity. ■Stop bit length selection bit (bit 3) Selects a stop bit length of the UART transfer data format. In the “0” state, the stop bit length is 1 stop bit. In the “1” state, the stop bit length is 2 stop bits. ■P4 5/TxD P-channel output disable bit (bit 4) Controls the output type of the P45 /TxD pin. In the “0” state, the output type is CMOS output in the output mode. In the “1” state, the output type is N-channel open-drain output in the output mode. The 5 low-order bits of the UART control register can be read and written. The 3 high-order bits are unused and read-only bits. At reading, all the bits are set to “1.” 2–126 3822 GROUP USER’S MANUAL APPLICATION 2.5 Serial I/O Table 2.5.5 Relation between UART control register and transfer data formats UART control register Transfer data format b3 b2 b1 b0 0 X 0 0 1 ST–8 DATA–1 SP 0 X 0 1 1 ST–7 DATA–1 SP 0 X 1 0 1 ST–8 DATA–1 PA–1 SP 0 1 X 1 1 ST–7 DATA–1 PA–1 SP 1 X 0 0 1 ST–8 DATA–2 SP 1 X 0 1 1 ST–7 DATA–2 SP 1 X 1 0 1 ST–8 DATA–1 PA–2 SP 1 X 1 1 1 ST–7 DATA–1 PA–2 SP X: “0” or “1” ST: Start bit DATA: Data bit PA: Parity bit SP: Stop bit 3822 GROUP USER’S MANUAL 2–127 APPLICATION 2.5 Serial I/O 2.5.4 Register setting example (1) Clock synchronous serial I/O mode Figure 2.5.18 and Figure 2.5.19 show a transmitting method in the clock synchronous mode. Figure 2.5.20 and Figure 2.5.21 show a receiving method in the clock synchronous mode. [Notes on use] Notes 1: To use an INT pin or input port for S RDY watchdog, set as required. 2: When an external clock is selected in setting ➂ below, BRG setting is not required in setting ➁ below. 3: In the full duplex data transfer mode, set the receive enable bit (bit 5) to “1” (receive enabled) in setting ➂ below. 4: To use a serial I/O transmit interrupt, set in the following sequence. 5: When no serial I/O transmit interrupt is used, omit settings ➀, ➃, ➄, ➅ and ➇ below. ➀Disable Serial I/O transmit interrupt b7 b0 0 ICON1: Interrupt control register 1 [Address 3E16] b3: Serial I/O transmit interrupt enable bit 0: Interrupts disabled ➁Set the value to baud rate generator BRG [Address 1C 16] ➂Setting of serial I/O control register Selection of clock synchronous, transmit, or others b7 1 1 b0 1 SIOCON: Serial I/O control register [Address 1A16] b0: BRG count source selection bit 0: f(XIN) 1: f(XIN)/4 b1: Serial I/O synchronization clock selection bit (In clock synchronous mode) 0: BRG output/4 1: External clock input b2: SRDY output enable bit 0: P47/SRDY pin operates as I/O port P47 1: P47/SRDY pin operates as signal output pin SRDY (SRDY signal indicates receive enable state) b3: Transmit interrupt source selection bit 0: When transmit buffer has emptied 1: When transmit shift operation is completed b4: Transmit enable bit 1: Transmit enabled b5: Receive enable bit 0: Receive disabled 1: Receive enabled b6: Serial I/O mode selection bit 1: Clock synchronous serial I/O mode b7: Serial I/O enable bit 1: Serial I/O enabled (pins P44–P47 operate as serial I/O pins) Continued to Figure 2.5.19 Fig. 2.5.18 Transmitting method in clock synchronous mode (1) 2–128 3822 GROUP USER’S MANUAL APPLICATION 2.5 Serial I/O Continued from Figure 2.5.18 ➃One or more instructions (e.g., NOP) after ➂ ➄Set the serial I/O transmit interrupt request to “0” b7 b0 IREQ1: Interrupt request register 1 [Address 3C16] 0 b3: Serial I/O transmit interrupt request bit 0: No interrupts request issued ➅Enable serial I/O transmit interrupt b7 b0 1 ICON1: Interrupt control register 1 [Address 3E16] b3: Serial I/O transmit interrupt enable bit 1: Interrupts enabled ➆Set transmit data to transmit buffer register TB [Address 1816] ➇Processing of serial I/O transmit interrupt Fig. 2.5.19 Transmitting method in clock synchronous mode (2) 3822 GROUP USER’S MANUAL 2–129 APPLICATION 2.5 Serial I/O [Notes on use] Notes 1: To use an INT pin or input port for S RDY watchdog, set as required. 2: When an external clock is selected in setting ➂ below, BRG setting is not required in setting ➁ below. 3: In the full duplex data transfer mode, set the receive enable bit (bit 4) to “1” (receive enabled) in setting ➂ below. 4: To use a serial I/O receive interrupt, set in the following sequence. 5: When no serial I/O receive interrupt is used, omit setting ➀, ➃, ➄, ➅ and ➇ below. ➀Disable Serial I/O receive interrupt b7 b0 0 ICON1: Interrupt control register 1 [Address 3E16] b2: Serial I/O receive interrupt enable bit 0: Interrupts disabled ➁Set the value to baud rate generator BRG [Address 1C 16] ➂Setting of serial I/O control register Selection of clock synchronous, receive, or others b7 1 1 1 b0 SIOCON: Serial I/O control register [Address 1A16] b0: BRG count source selection bit 0: f(XIN) 1: f(XIN)/4 b1: Serial I/O synchronization clock selection bit (In clock synchronous mode) 0: BRG output/4 1: External clock input b2: SRDY output enable bit 0: P47/SRDY pin operates as I/O port P47 1: P47/SRDY pin operates as signal output pin SRDY (SRDY signal indicates receive enable state) b3: Transmit interrupt source selection bit 0: When transmit buffer has emptied 1: When transmit shift operation is completed b4: Transmit enable bit 0: Transmit disabled 1: Transmit enabled b5: Receive enable bit 1: Receive enabled b6: Serial I/O mode selection bit 1: Clock synchronous serial I/O mode b7: Serial I/O enable bit 1: Serial I/O enabled (pins P44–P47 operate as serial I/O pins) Continued to Figure 2.5.21 Fig. 2.5.20 Receiving method in clock synchronous mode (1) 2–130 3822 GROUP USER’S MANUAL APPLICATION 2.5 Serial I/O Continued from Figure 2.5.20 ➃One or more instructions (e.g., NOP) after ➂ ➄Set the serial I/O receive interrupt request to “0” b7 b0 IREQ1: Interrupt request register 1 [Address 3C16] 0 b2: Serial I/O receive interrupt request bit 0: No interrupt request issued ➅Enable serial I/O receive interrupt b7 b0 1 ICON1: Interrupt control register 1 [Address 3E16] b2: Serial I/O receive interrupt enable bit 1: Interrupts enabled ➆Set transmit data to receive buffer register RB [Address 1816] In full duplex data transfer mode, set transmit data. In half duplex data transfer mode, set arbitrary dummy data. ➇Processing of serial I/O receive interrupt Fig. 2.5.21 Receiving method in clock synchronous mode (2) 3822 GROUP USER’S MANUAL 2–131 APPLICATION 2.5 Serial I/O (2) Clock asynchronous serial I/O (UART) mode Figure 2.5.22 and Figure 2.5.23 show a transmitting method in the UART mode. Figure 2.5.24 and Figure 2.5.25 show a receiving method in the UART mode. [Notes on use] Notes 1: When an external clock is selected in setting ➂ below, BRG setting is not required in setting ➁ below. 2: In the full duplex data transfer mode, set the receive enable bit (bit 5) to “1” (receive enabled) in setting ➂ below. 3: To use a serial I/O transmit interrupt, set in the following sequence. 4: When no serial I/O transmit interrupt is used, omit setting ➀, ➄, ➅ and ➇ below. ➀Disable Serial I/O transmit interrupt b7 b0 0 ICON1: Interrupt control register 1 [Address 3E16] b3: Serial I/O transmit interrupt enable bit 0: Interrupts disabled ➁Set the value to baud rate generator BRG [Address 1C16] ➂Setting of serial I/O control register Selection of clock asynchronous mode, transmit, or others b7 1 0 b0 1 SIOCON: Serial I/O control register [Address 1A16] b0: BRG count source selection bit 0: f(XIN) 1: f(XIN)/4 b1: Serial I/O synchronization clock selection bit (In UART mode) 0: BRG output/16 1: External clock input/16 b2: SRDY output enable bit Invalied in UART mode b3: Transmit interrupt source selection bit 0: When transmit buffer has emptied 1: When transmit shift operation is completed b4: Transmit enable bit 1: Transmit enabled b5: Receive enable bit 0: Receive disabled 1: Receive enabled b6: Serial I/O mode selection bit 0: Clock asynchronous serial I/O (UART) mode b7: Serial I/O enable bit 1: Serial I/O enabled (pins P44–P47 operate as serial I/O pins) Continued to Figure 2.5.23 Fig. 2.5.22 Transmitting method in UART mode (1) 2–132 3822 GROUP USER’S MANUAL APPLICATION 2.5 Serial I/O Continued from Figure 2.5.22 ➃Setting of UART control register b7 b0 UARTCON: UART control register [Address 1B16] b0: Character length selection bit 0: 8 bits 1: 7 bits b1: Parity enable bit 0: Parity checking disabled 1: Parity checking enabled b2: Parity selection bit 0: Even parity 1: Odd parity b3: Stop bit length selection bit 0: 1 stop bit 1: 2 stop bits b4: P45/TxD P-channel output disable bit 0: CMOS output (in output mode) 1: N-channel open-drain output (in output mode) : Nothing is allocated ➄Set the serial I/O transmit interrupt request to “0” b7 (Allow an interval of one or more instructions after ➂) b0 IREQ1: Interrupt request register 1 [Address 3C16] 0 b3: Serial I/O transmit interrupt request bit 0: No interrupt request issued ➅Enable serial I/O transmit interrupt b7 b0 1 ICON1: Interrupt control register 1 [Address 3E16] b3: Serial I/O transmit interrupt enable bit 1: Interrupts enabled ➆Set transmit data to transmit buffer register TB [Address 1816] ➇Processing of serial I/O transmit interrupt Fig. 2.5.23 Transmitting method in UART mode (2) 3822 GROUP USER’S MANUAL 2–133 APPLICATION 2.5 Serial I/O [Notes on use] Notes 1: When an external clock is selected in setting ➂ below, BRG setting is not required in setting ➁ below. 2: In the full duplex data transfer mode, set the receive enable bit (bit 4) to “1” (receive enabled) in setting ➂ below. 3: To use a serial I/O receive interrupt, set in the following sequence. 4: When no serial I/O receive interrupt is used, omit setting ➀, ➄, ➅ and ➆ below. ➀Disable Serial I/O receive interrupt b7 b0 0 ICON1: Interrupt control register 1 [Address 3E16] b2: Serial I/O receive interrupt enable bit 0: Interrupts disabled ➁Set the value to baud rate generator BRG [Address 1C16] ➂Setting of serial I/O control register Selection of clock asynchronous, receive, or others b7 1 0 1 b0 SIOCON: Serial I/O control register [Address 1A16] b0: BRG count source selection bit 0: f(XIN) 1: f(XIN)/4 b1: Serial I/O synchronization clock selection bit (In UART mode) 0: BRG output/16 1: External clock input/16 b2: SRDY output enable bit Invalied in UART mode b3: Transmit interrupt source selection bit 0: When transmit buffer has emptied 1: When transmit shift operation is completed b4: Transmit enable bit 0: Transmit disabled 1: Transmit enabled b5: Receive enable bit 1: Receive enabled b6: Serial I/O mode selection bit 0: Clock asynchronous serial I/O (UART) mode b7: Serial I/O enable bit 1: Serial I/O enabled (pins P44–P47 operate as serial I/O pins) Continued to Figure 2.5.25 Fig. 2.5.24 Receiving method in UART mode (1) 2–134 3822 GROUP USER’S MANUAL APPLICATION 2.5 Serial I/O Continued from Figure 2.5.24 ➃Setting of UART control register b7 b0 UARTCON: UART control register [Address 1B16] b0: Character length selection bit 0: 8 bits 1: 7 bits b1: Parity enable bit 0: Parity checking disabled 1: Parity checking enabled b2: Parity selection bit 0: Even parity 1: Odd parity b3: Stop bit length selection bit 0: 1 stop bit 1: 2 stop bits b4: P45/TxD P-channel output disable bit 0: CMOS output (in output mode) 1: N-channel open-drain output (in output mode) : Nothing is allocated ➄Clear the serial I/O receive interrupt request (Allow an interval of one or more instruction after ➂) b0 b7 IREQ1: Interrupt request register 1 [Address 3C16] 0 b2: Serial I/O receive interrupt request bit 0: No interrupt issued ➅Enable serial I/O receive interrupt b7 b0 1 ICON1: Interrupt control register 1 [Address 3E16] b2: Serial I/O receive interrupt enable bit 1: Interrupts enabled ➆Processing of serial I/O receive interrupt Fig. 2.5.25 Receiving method in UART mode (2) 3822 GROUP USER’S MANUAL 2–135 APPLICATION 2.5 Serial I/O (3) Initialization of serial I/O operation The operating procedure of the serial I/O control register for initialization of the serial I/O operation is described below. ■Initialization of receive operation By setting the receive enable bit (bit 5 of SIOCON) to “0” or setting the serial I/O enable bit (bit 7 of SIOCON) to “0,” the receive operation is stopped and initialized as shown below. The initialization items of receive operation are as follows. •Stopping and initializing the shift clock to the receive shift register. •Setting the receive shift register to “0.” •Setting each error flag (overrun error flag, parity error flag, framing error flag, summing error flag) to “0.” •Setting the receive buffer full flag (RBF) to “0.” ■Initialization of transmit operation Basically, the transmit operation is stopped and initialized by setting the transmit enable bit (bit 4 of SIOCON) to “0.” The initialization items of transmit operation are as follows. •Stopping and initializing the shift clock to the transmit shift register •Setting the receive shift register to “0” (However, when an external clock is used in the clock synchronous mode, the receive shift register is not set to “0” unless the input clock of the SCLK pin is “H”). •Setting the transmit buffer empty flag (bit 0 of SIOSTS) and the transmit shift register shift completion flag (bit 2 of SIOSTS) to “0.” (When bit 4 is set to “0,” bits 0 and 2 are cleared to “0” forcibly. After that, when bit 4 is set to “1,” bits 0 and 2 are set to “1.”) When all conditions below are satisfied, initialization is not performed only by setting bit 4 of SIOCON to “0.” It is also necessary to set bit 5 of SIOCON to “0.” •In the full duplex data transfer •In the clock synchronous mode •When an internal clock is used •When bit 5 of SIOCON is “0” (receive enabled) In the clock synchronous mode of the full duplex data transfer, the same clock is used for transmission and reception. When an internal clock is used, the shift clock is started by writing data into the receive buffer at both transmission and reception, so both transmit and receive operations use a clock generating circuit of the transmitter. Because of this, the serial I/O is designed so that even if only a receive operation is performed, the transmit circuit may be operated internally to generate a shift clock when an internal clock is used in the clock synchronous mode. Accordingly, note that the transmitter may operate even when bit 4 of SIOCON is “0.” The transmit operation cannot be initialized only by setting the serial I/O enable bit (bit 7 of SIOCON) to “0.” 2–136 3822 GROUP USER’S MANUAL APPLICATION 2.5 Serial I/O (4) Processing upon occurrence of an errors ■Parity error, framing error, or summing error If a parity error, a framing error, or a summing error occurs, the flag corresponding to each error in the serial I/O status register is set to “1.” These flags cannot be cleared to “0” automatically, so set them to “0” by software. The parity error flag, framing error flag, and summing error flag is set to “0” by setting the receive enable bit to “0” or writing dummy data into the serial I/O status register. ■Overrun error An overrun error occurs when data is already input in the receive buffer register and yet all data is input in the receive shift register. If an overrun error occurs, the data of the receive shift register is not transferred and the data of the receive buffer register is held. At this time, even if the data of the receive buffer register is read out, the data of the receive shift register is not transferred. Consequently, the data of the receive shift register becomes unreadable, so that the receive data becomes invalid. If an overrun error occurs, after set the overrun error flag of the serial I/O status register to “0”, perform a receive operation again. The overrun error flag is set to “0” by one of the following operations. •Set the serial I/O enable bit to “0” •Set the receive enable bit to “0” •Write data (arbitrary) into the serial I/O status register 3822 GROUP USER’S MANUAL 2–137 APPLICATION 2.5 Serial I/O 2.5.5 Notes on use (1) Notes on clock selection The 3822 group can select either internal clock or external clock as a synchronizing clock. When an external clock is selected as an synchronizing clock in the clock synchronous mode, note the following. ■In the clock synchronous mode ➀For an external clock source, when the duty cycle is 50%, use the following clock. 1.25 MHz or less.......at VCC = 4.0 V to 5.5 V 500 kHz or less.........at V CC = 2.5 V to 4.0 V To change the duty cycle, set the “H” and “L” widths as follows. 370 ns min. ............. at V CC = 4.0 V to 5.5 V 950 ns min. ............. at V CC = 2.5 V to 4.0 V ➁The shift operation of the transmit shift register or the receive shift register is continued while synchronizing clocks are input to the serial I/O circuit. Accordingly, stop a synchronizing clock input after 8 clocks are input. When the internal clock is selected, the synchronizing clock input is automatically stopped. ➂To select an external clock as a synchronizing clock at data transmission, set the transmit enable bit to “1” and write data into the transmit buffer register while the SCLK signal is “H.” When an external clock is selected as a synchronizing clock in the UART mode, note the following. ■In the UART mode For an external clock source, when the duty ratio is 50%, use the following clock. 5 MHz or less..... at V CC = 4.0 V to 5.5 V 2 MHz or less..... at V CC = 2.5 V to 4.0 V To change the duty cycle, set the “H” and “L” widths as follows. 93 ns min. ........at V CC = 4.0 V to 5.5 V 238 ns min. ........at V CC = 2.5 V to 4.0 V (2) For serial I/O transmit or receive interrupts ➀For a serial I/O transmit interrupt, set a value in the serial I/O control register, then set the serial I/O transmit interrupt request bit (bit 3 at address 003C 16) to “0” with the CLB instruction. ➁After setting ➀, set the serial I/O transmit enable bit (bit 3 at address 003E 16 ) to “1.” ➂For a serial I/O receive interrupt, set a value in the serial I/O control register, then set the serial I/O receive interrupt request bit (bit 2 at address 003C16 ) to “0” with the CLB instruction. ➃After setting ➂, set the serial I/O receive interrupt enable bit (bit 2 at address 003E 16 ) to “1.” (3) Transmit interrupt request when the transmit enable bit is “1” When the transmit enable bit is set to “1,” the transmit buffer empty flag and the transmit shift register shift completion flag are set to “1.” Accordingly, even if either timing is selected as transmit interrupt generating timing, an serial I/O transmit interrupt request occurs and the serial I/O transmit interrupt request bit is set to “1.” To use a serial I/O transmit interrupt, set the transmit enable bit to “1,” then set the serial I/O transmit interrupt request bit to “0.” After that, set the serial I/O transmit interrupt enable bit to “1” (interrupts enabled). 2–138 3822 GROUP USER’S MANUAL APPLICATION 2.5 Serial I/O (4) For disabling transmission after completion of 1-byte data transmission As a means to know the completion of data transmission, a reference to the transmit shift register shift completion flag (TSC flag) is available in the 3822 group. The TSC flag is cleared to “0” during data transmission. Upon the completion of data transmission, this flag is set to “1.” Accordingly, after confirming that the TSC flag is set, disable transmission. The transmission can thus be terminated after 1-byte transmission. However, the TSC flag is set to “1” even when the serial I/O is set to “1” (serial I/O enabled). After that, it is not cleared to “0” until transmission is started by generating a shift clock. For this reason, if transmission is disabled by referring to the TSC flag at this time, data is not transmitted. After the transmission is started, refer to the TSC flag. (5) When the P45 /TxD pin is used as an N-channel open-drain output Bit 4 of the UART control register (address 001B16 ) is a P-channel output disable bit of P45 /TxD pin. The bit 4 is valid in an ordinary port, in the clock synchronous mode, or in the UART mode. When this bit is “0,” the ordinary CMOS output is selected. When the bit is “1,” the N-channel opendrain output is selected. However, do not apply to the P45 /TXD a voltage of VCC + 0.3 V or more even when it is used as a serial I/O function pin of the N-channel open-drain output. 3822 GROUP USER’S MANUAL 2–139 APPLICATION 2.6 A-D converter 2.6 A-D converter 2.6.1 Explanation of operations The operations of the A-D converter are described below. (1) When an internal trigger is selected (To cause an ADT/A-D conversion interrupt request upon completion of A-D conversion) ■By setting bit 3 of the A-D control register (address 0034 16 ) to “0,” A-D conversion is started. ■Upon the completion of A-D conversion, bit 3 of the A-D control register is set to “1.” At the same time, an ADT/A-D conversion interrupt request occurs. (2) When an external trigger is selected (To cause an ADT/A-D conversion interrupt request upon completion of A-D conversion) ■By setting bit 3 of A-D cintrol register to “0” and then inputting a falling signal to the ADT pin, A-D conversion is started. ■Upon the completion of A-D conversion, bit 3 of the A-D control register is set to “1.” At the same time, an ADT/A-D conversion interrupt request occurs. (3) When an external trigger is selected (To cause an ADT/A-D conversion interrupt request upon inputting a falling signal to the ADT pin) ■By setting bit 3 of A-D cintrol register to “0” and then inputting a falling signal to the ADT pin, A-D conversion is started. At the same time, an ADT/A-D conversion interrupt request occurs. ■Upon the completion of A-D conversion, bit 3 of the A-D control register is set to “1.” 2–140 3822 GROUP USER’S MANUAL APPLICATION 2.6 A-D converter 2.6.2 Conversion method As an A-D conversion method, successive comparison approximation is adopted. The comparison voltage “Vref ” internally generated is compared with the analog input voltage “VIN” which is input from an analog input pin (AN 0 –AN 7) and the result is input successively to each bit of the A-D conversion register (address 0035 16 ) to obtain a digital value. (1) Function of each block The function of each block in the A-D converter is shown below. ■Comparison voltage generator (resistor ladder) Divides the voltage between the AV SS pin and the VREF pin by 256 and output a divided voltage to the comparator as comparison voltage “V ref.” ■Channel selector Connects an analog input pin selected by bits 2 to 0 of the A-D control register (address 003416 ) to the comparator. ■Comparator Compares the analog input voltage “V IN” with the comparison voltage “V ref” and input the result to the A-D conversion register. (2) Internal Operation At the time when the A-D conversion is started, the following operations are automatically performed. ■The A-D conversion register becomes “00 16 .” ■The most significant bit of the A-D conversion register is set to “1.” ■The comparison voltage “Vref ” is input to the comparator. The comparison voltage “Vref” is specified by the A-D conversion register contents “n” and the reference voltage “VREF” which is input from the V REF pin. Table 2.6.1 shows an expression for the comparison voltage “V ref .” Table 2.6.1 Expression for comparison voltage “V ref” A-D conversion register contents “n” (decimal notation) 0 V ref (V) 0 VREF 256 1 to 255 3822 GROUP USER’S MANUAL ✕ (n – 0.5) 2–141 APPLICATION 2.6 A-D converter ■The comparison voltage “V ref” is compared 8 times with the analog input voltage “VIN.” Each time a comparison ends, the result is input to the A-D conversion register. With a change of the A-D conversion register, the comparison voltage “V ref” changes, too. Figure 2.6.1 shows changes in the A-D conversion register and comparison voltage during A-D conversion. ➀Determination of the most significant bit (bit 7) of the A-D conversion register Bit 7 is determined by the first comparison result. The comparison voltage “Vref” is compared with the analog input voltage “V IN” and the result determines bit 7 as follows. When V ref < V IN: bit 7 holds “1” When V ref > V IN: bit 7 becomes “0” ➁Determination of bits 6 to 0 of the A-D conversion register Bit 6 is determined by the second comparison result. First, bit 6 of the A-D conversion register is set to “1.” Next, the comparison voltage “Vref ” is compared with the analog input voltage “V IN” and the result determines bit 6 as follows. When V ref < V IN : bit 6 holds “1” When V ref > V IN : bit 6 becomes “0” Likewise, bits 5 to 0 are determined by the third to eighth comparison results. With the above operations, the digital value (contents of the A-D conversion register) corresponding to the analog input voltage “VIN ” is determined by one bit at a time. ■Upon the completion of A-D conversion, bit 3 of the A-D control register is set to “1.” An A-D conversion result can be obtained by reading out the A-D conversion register after bit 3 of the A-D control register is set to “1.” The A-D conversion result is held in the A-D conversion register until bit 3 of the A-D control register is set to “1” again after the completion of the next A-D conversion. 2–142 3822 GROUP USER’S MANUAL APPLICATION 2.6 A-D converter Contents of A-D conversion register Reference voltage [V] A-D conversion start 0 0 0 0 0 0 0 0 0 1st comparison start 1 0 0 0 0 0 0 0 2nd comparison start 1 1 0 0 0 0 0 0 3rd comparison start 1 2 1 0 0 0 0 0 8th comparison start 1 2 3 4 5 6 7 1 VREF VREF 2 – 512 VREF VREF VREF ± 2 4 – 512 VREF VREF ± VREF ± VREF 2 4 8 – 512 VREF ± VREF ± VREF ± ..... 2 4 8 ....... A-D conversion completion (8th comparison completion) ± VREF – VREF 512 256 1 2 3 4 5 6 7 8 Disital value corresponding to analog input voltage m m : Value determined by m th (m = 1 to 8) result Fig. 2.6.1 Changes in A-D conversion register and comparison voltage during A-D conversion (3) Conversion time In the high-speed operation mode, A-D conversion terminates in a maximum 50 cycles (12.5 µs at f(XIN ) = 8 MHz) after a start of A-D conversion. In the middle-speed operation mode, A-D conversion terminates in a maximum 56 cycles (14 µs at f(XIN ) = 8 MHz) after a start of A-D conversion. For the A-D converter, the main clock input oscillation frequency f(XIN) divided by 2 is used (Note 1), so A-D conversion time is obtained basically by the following expression. Conversion clock period = 2 f(XIN) A-D conversion time = Conversion clock period ✕ Conversion cycle However, the number of conversion cycles varies depending on internal clock φ and trigger. Notes 1: Use the A-D converter in the state where bits 5 and 7 of the CPU mode register (address 003B 16 ) are “0” (high-speed mode or middle-speed mode). As the comparator is composed of a capacitance coupling, use the A-D converter in a state of f(X IN) 500 kHz. 2: When an external trigger is selected, the A-D conversion being executed is stopped by inputting a falling signal to the ADT pin during A-D conversion, and A-D conversion is resumed. The A-D conversion register holds the previous conversion result until A-D conversion is completed. 3822 GROUP USER’S MANUAL 2–143 APPLICATION 2.6 A-D converter (4) Equivalent connection diagram Figure 2.6.2 shows an A-D converter equivalent connection diagram. Analog input voltage VIN VCC VSS VCC AV SS AN0 Sample clock AN1 AN2 Chopper amplifier AN3 AN4 AN5 AN6 A-D conversion register AN7 ADT/A-D conversion interrupt request b2 b1 b0 Reference voltage Vref A-D control register VREF Reference clock AVSS Built-in D-A converter Fig. 2.6.2 A-D converter equivalent connection diagram 2–144 3822 GROUP USER’S MANUAL APPLICATION 2.6 A-D converter 2.6.3 Pins Table 2.6.2 shows a list of pin functions used in the A-D converter. Table 2.6.2 List of pin functions used in A-D converter Functions Pins Name •Analog input voltage input pins. •Apply a voltage of AV SS –V CC. Analog input AN0 –AN7 •These pins are also used as P6 0–P6 7. •External trigger input pin. ADT External trigger input •This pin is also used as P5 7. •Reference voltage input pin. V REF Reference voltage input •Apply a voltage of 2 V–V CC. Analog power source •GND input pin. AV SS voltage input •Apply the same voltage as the V SS pin. (1) Pin-related setting ■Analog input pins (AN 0–AN 7) When using the A-D converter, select a pin to be used as an analog input pin by bits 2 to 0 of the A-D control register (address 003416 ). Use the A-D converter in the state where the bit of the port P6 direction register (address 000D16 ) corresponding to the pin used as an analog input pin is “0.” ■External trigger input pin (ADT) When using the external trigger, set bit 5 of the A-D control register to “1.” Use the A-D converter in the state where bit 7 of the port P5 direction register (address 000B 16 ) is “0.” Note: The ports P5 and P6 direction registers are not readable. To set these registers, use the STA instruction, LDM instruction, or other instructions. 3822 GROUP USER’S MANUAL 2–145 APPLICATION 2.6 A-D converter 2.6.4 Related registers Figure 2.6.3 shows a memory allocation of the A-D converter-related registers. Each register is described below. Address 000B16 Port P5 direction register (P5D) 000D16 Port P6 direction register(P6D) 003416 003516 A-D control register (ADCON) A-D conversion register (AD) 003B16 CPU mode register (CPUM) 003D16 Interrupt request register 2 (IREQ2) 003F16 Interrupt control register 2 (ICON2) Fig. 2.6.3 Memory allocation of A-D converter-related registers 2–146 3822 GROUP USER’S MANUAL APPLICATION 2.6 A-D converter (1) A-D control register (address 003416 ) The A-D control register consists of bits which controls for the A-D converter. Figure 2.6.4 shows the structure of the A-D control register. Each bit is described below. A-D control register b7 b6 b5 b4 b3 b2 b1 b0 A-D control register (ADCON) [Address 34 16] B 0 Name Analog input pin selection bits 1 2 Functions b2 b1 b0 0 0 0: AN 0 0 0 1: AN 1 0 1 0: AN 2 0 1 1: AN 3 1 0 0: AN 4 1 0 1: AN 5 1 1 0: AN 6 1 1 1: AN 7 At reset R W 0 0 0 3 A-D conversion completion bit 0: Conversion in progress 1: Conversion completed 1 4 VREF input switch bit 0: OFF 1: ON 0 5 A-D external trigger valid bit 0: A-D external trigger invalid (internal trigger selected) 1: A-D external trigger valid (external trigger selected) 0 6 Interrupt source selection bit 0: At A-D conversion completed 1: At falling of ADT pin input 0 7 Nothing is allocated. This bit cannot be written to and is fixed “0” at reading. 0 0 × Note: When an internal trigger is selected, A-D conversion is started by setting bit 3 to “0.” Writing only “0” to bit 3 is valid. Even if “1” is written to bit 3, it is not set to “0.” Accordingly, to write values to the ADCON without affecting bit 3, set bit 3 to “1.” Fig. 2.6.4 Structure of A-D control register 3822 GROUP USER’S MANUAL 2–147 APPLICATION 2.6 A-D converter ■Analog input pin selection bits: bits 2 to 0 Select an analog input pin. The pins which are not used as analog input pins of port P6 function as programmable I/O ports. ■A-D conversion completion bit: bit 3 Indicates the operating state of the A-D converter. During A-D conversion, this bit is set to “1” after completion of A-D conversion. When an internal trigger is selected, A-D conversion is started by setting this bit to “0.” (Note) ■V REF input switch bit: bit 4 Connects the V REF pin to the comparison voltage generator. When the A-D converter is used, be sure to set this bit to “1.” When the A-D converter is not used, the power dissipation is reduced by setting this bit to “0.” ■A-D external trigger valid bit: bit 5 Determines whether A-D conversion is started by an external trigger or internal trigger. ■Interrupt source selection bit: bit 6 Selects ADT/A-D conversion interrupt request generating timing. Note: When an internal trigger is selected, set the A-D conversion completion bit after setting bits 2 to 0 and bits 6 to 4 of the A-D control register. (2) A-D conversion register (address 0035 16 ) The A-D conversion register stores A-D conversion results. This is a read-only register. Figure 2.6.5 shows the structure of the A-D conversion register. A-D conversion register b7 b6 b5 b4 b3 b2 b1 b0 A-D conversion register (AD) [Address 35 16] B Functions 0 Read-only register which stores A-D to conversion results. 7 Fig. 2.6.5 Structure of A-D conversion register 2–148 3822 GROUP USER’S MANUAL At reset R W 0 × APPLICATION 2.6 A-D converter (3) CPU mode register (address 003B16 ) The CPU mode register consists of the stack page selection bit and control bits for the internal system clock φ. Use the A-D converter in the state where bits 5 and 7 of this register are “0” (high-speed mode or middle-speed mode). Figure 2.6.6 shows the structure of the CPU mode register. The operating clock of the A-D converter is the main clock input frequency f(XIN)/2. Use the A-D converter in the state of f(XIN) 500 kHz. CPU mode register b7 b6 b5 b4 b3 b2 b1 b0 1 CPU mode register (CPUM) [Address 3B 16] B 0 Name Processor mode bits 1 2 Stack page selection bit 3 Fix this bit to “1.” 4 Port X C switch bit Functions b1b0 Main clock division ratio selection bit 7 Internal system clock selection bit 0 00: Single-chip mode 01: 10: Not available 11: 0 0: 0 page 1: 1 page 0 1 0: I/O port 1: X CIN, XCOUT 5 Main clock (X IN–XOUT) 0: Oscillating stop bit 1: Stopped 6 At reset R W 1 1 0 0 0: f(X IN)/2 (high-speed mode) 1: f(X IN)/8 (middle-speed mode) 1 0: X IN–XOUT selected (middle-/high-speed mode) 1: X CIN–XCOUT selected (low-speed mode) 0 Fig. 2.6.6 Structure of CPU mode register 3822 GROUP USER’S MANUAL 2–149 APPLICATION 2.6 A-D converter (4) Port P5 direction register (address 000B16 ) The port P5 direction register switches the I/O direction of port P5. When an external trigger is selected, hold bit 7 of this register at “0.” Figure 2.6.7 shows the structure of the port P5 direction register. Port P5 direction register b7 b6 b5 b4 b3 b2 b1 b0 Port P5 direction register (P5D) [Address B 16] B Name 0 Port P5 direction register 1 2 3 4 5 6 7 Functions 0 : Port P5 0 input mode 1 : Port P5 0 output mode 0 : Port P5 1 input mode 1 : Port P5 1 output mode 0 : Port P5 2 input mode 1 : Port P5 2 output mode 0 : Port P5 3 input mode 1 : Port P5 3 output mode At reset R W × 0 0 × 0 × 0 × 0 : Port P5 4 input mode 1 : Port P5 4 output mode 0 : Port P5 5 input mode 1 : Port P5 5 output mode 0 × 0 × 0 : Port P5 6 input mode 1 : Port P5 6 output mode 0 : Port P5 7 input mode 1 : Port P5 7 output mode 0 × 0 × Note : Port P5 direction register cannot be read out (refer to “2.1 I/O pins”). Fig. 2.6.7 Structure of port P5 direction register 2–150 3822 GROUP USER’S MANUAL APPLICATION 2.6 A-D converter (5) Port P6 direction register (address 000D16 ) The port P6 direction register switches the I/O direction of port P6. Hold the bit of this register which corresponds to the port used as an analog input pin at “0.” Figure 2.6.8 shows the structure of the port P6 direction register. Port P6 direction register b7 b6 b5 b4 b3 b2 b1 b0 Port P6 direction register (P6D) [Address 0D 16] B Name 0 Port P6 direction register 1 2 3 4 5 6 7 Functions 0: Port P6 0 input mode 1: Port P6 0 output mode 0: Port P6 1 input mode 1: Port P6 1 output mode 0: Port P6 2 input mode 1: Port P6 2 output mode 0: Port P6 3 input mode 1: Port P6 3 output mode 0: Port P6 4 input mode 1: Port P6 4 output mode 0: Port P6 5 input mode 1: Port P6 5 output mode 0: Port P6 6 input mode 1: Port P6 6 output mode 0: Port P6 7 input mode 1: Port P6 7 output mode At reset R W 0 × 0 × 0 × 0 × 0 × 0 × 0 × 0 × Note: Port P6 direction register cannot be read out (refer to “2.1 I/O pins”). Fig. 2.6.8 Structure of port P6 direction register 3822 GROUP USER’S MANUAL 2–151 APPLICATION 2.6 A-D converter (6) Interrupt request register 2 (IREQ2) The interrupt request register 2 (address 003D 16 ) indicates whether an interrupt request has occurred or not. Figure 2.6.9 shows the structure of the interrupt request register 2. The occurrence of an ADT/A-D conversion interrupt request causes bit 6 to be set to “1.” The bit 6 is automatically cleared to “0” by the acceptance of the ADT/A-D conversion interrupt request. The interrupt request bit can be cleared to “0” by software, but it cannot be set to “1” by software. The occurrence of the ADT/A-D conversion interrupt is controlled by the ADT/A-D conversion interrupt enable bit (refer to the next item). For details of interrupts, refer to “2.2 Interrupts.” Interrupt request register 2 b7 b6 b5 b4 b3 b2 b1 b0 Interrupt request register 2 (IREQ2) [Address 3D 16] B Name Functions 0 : No interrupt request issued CNTR 0 interrupt 1 : Interrupt request issued request bit 0 : No interrupt request issued 1 CNTR 1 interrupt 1 : Interrupt request issued request bit 0 : No interrupt request issued Timer 1 interrupt 2 1 : Interrupt request issued request bit 0 : No interrupt request issued 3 INT2 interrupt 1 : Interrupt request issued request bit 0 : No interrupt request issued 4 INT3 interrupt 1 : Interrupt request issued request bit 0 : No interrupt request issued Key input interrupt 5 1 : Interrupt request issued request bit 6 ADT/A-D conversion 0 : No interrupt request issued interrupt request bit 1 : Interrupt request issued 7 Nothing is allocated. This bit cannot be written to and is fixed to “0” at reading. 0 ✽ : “0” can be set by software, but “1” cannot be set. Fig. 2.6.9 Structure of interrupt request register 2 2–152 3822 GROUP USER’S MANUAL At reset R W 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 0 × APPLICATION 2.6 A-D converter (7) Interrupt control register 2 (ICON2) The interruot contorol register 2 (address 003F16 ) controls each interrupt request source. Figure 2.6.10 shows the structure of the interrupt control register 2. When bit 6 is “0,” the ADT/A-D interrupt request is disabled. When bit 6 is “1,” the ADT/A-D interrupt request is enabled. The bit 6 can be set to “0” or “1” by software. For details of interrupts, refer to “2.2 Interrupts.” Interrupt control register 2 b7 b6 b5 b4 b3 b2 b1 b0 0 Interrupt control register 2 (ICON2) [Address 3F 16] B Name 0 CNTR 0 interrupt enable bit CNTR 1 interrupt enable bit Timer 1 interrupt enable bit INT2 interrupt enable bit INT3 interrupt enable bit Key input interrupt enable bit ADT/A-D conversion interrupt enable bit Fix this bit to “0.” 1 2 3 4 5 6 7 Functions 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled At reset R W 0 0 0 0 0 0 0 0 0 0 Fig. 2.6.10 Structure of interrupt control register 2 3822 GROUP USER’S MANUAL 2–153 APPLICATION 2.6 A-D converter 2.6.5 Measuring various A-D converter standard characteristics The measuring various A-D converter standard characteristics is described below. (1) Absolute accuracy The absolute accuracy is the difference expressed in LSB between an output code obtained by actual measurement and an expected output code of the A-D converter with ideal characteristics. The analog input voltage at absolute accuracy measurement is assumed to be a mid-point of the input voltage width (= 1 LSB) which outputs the same code from the A-D converter with ideal characteristics. For example, when V REF = 5.12 V, the width of 1 LSB is 20 mV. So 0 mV, 20 mV, 40 mV, 60 mV ......or 5120 mV is selected as an analog input voltage. When the A-D converter is actually used, the analog input voltage range is AV SS to V REF. But if the V REF value is lowered, the accuracy degrades. Every output code for voltage of V REF–V CC is “FF 16.” Figure 2.6.11 shows the absolute accuracy of the A-D converter. Absolute accuracy = ±2 LSB indicates that when the analog input voltage is 100 mV, the output code expected from the ideal A-D converter is “05 16 ” but the actual A-D conversion result is in the range of “03 16 ” to “07 16 .” The absolute accuracy includes a zero error and a full-scale error but not a quantization error. Output code 0916 0816 Absolute accuracy + 2LSB 0716 Ideal A-D conversion characteristics 0616 Limitless resolution A-D conversion characteristics 0516 0416 0316 – 2LSB 0216 0116 0016 0 20 40 60 80 100 120 140 160 Analog input voltage (mV) Fig. 2.6.11 Absolute accuracy of A-D converter 2–154 3822 GROUP USER’S MANUAL 180 200 220 APPLICATION 2.6 A-D converter (2) Differential non-linearity error The differential non-linearity error indicates the difference between the analog input voltage width in which the same code is output at actual measurement and the input voltage width (= 1 LSB) which outputs the same output code from the A-D converter with ideal characteristics. For example, when V REF = 5.12 V, the width of 1 LSB is 20 mV. However, when differential non-linearity error = ±1 LSB, the analog input voltage width which outputs the same code is 0 mV to 40 mV. Figure 2.6.12 shows the differential non-linearity error of the A-D converter. Output code 0916 0816 0716 1LSB width 0616 A-D conversion characteristics at actual measurement 0516 0416 1LSB width 0316 0216 Differential non-linearity error 0116 0016 0 20 40 60 80 100 120 140 160 180 Analog input voltage (mV) Fig. 2.6.12 Differential non-linearity error of A-D converter 3822 GROUP USER’S MANUAL 2–155 APPLICATION 2.6 A-D converter 2.6.6 Register setting example A register setting example when the A-D converter is used is described below. (1) Operating conditions To use the A-D converter, first set as shown in Figure 2.6.13. ➀Set the main clock oscillation frequency f(XIN) ≥ 500 kHz ➁Apply a voltage of 2 V–VCC to reference voltage input pin VREF ➂Apply same voltage as VSS pin to analog power source voltage input pin AVSS ➃Select high-speed mode or middle-speed mode b7 0 0 1 b0 0 0 CPUM: CPU mode register [Address 3B16] b0, b1: Processor mode bits b1b0 00: Shingle-chip mode b2: Stack page selection bit b3: Fix this bit to “1” b4: Port XC switch bit b5: Main clock (XIN–XOUT) stop bit 0: Oscillating b6: Main clock division ratio selection bit 0: f(XIN)/2 (high-speed mode) 1: f(XIN)/8 (middle-speed mode) b7: Internal system clock selection bit 0: XIN–XOUT selected When external trigger is used ➄Setting of port P5 direction register (Note) Set A-D trigger input pin b7 b0 P5D: Port P5 direction register [Address 0B16] 0 b7: Bit corresponding to port P57 0: Input mode When internal trigger is used ➅Setting of port P6 direction register (Note) Set ports used as analog input pins to input mode b7 b0 P6D: Port P6 direction register [Address 0D16] b7: Bit corresponding to port P60 –P67 0: Input mode 1: Output mode Note: The ports P5 and P6 direction registers cannot read out. Use the STA instruction, the LDM instruction, or others for setting these registers. Fig. 2.6.13 Operating conditions for using A-D converter 2–156 3822 GROUP USER’S MANUAL APPLICATION 2.6 A-D converter (2) Register initialization example Figure 2.6.14 and Figure 2.6.15 show a register initialization example when an internal trigger is selected. Figure 2.6.16 and Figure 2.6.17 show a register initialization example when an external trigger is selected. ➀Initialization of A-D converter (Select analog input pin, trigger, interrupt generating timing, or others) b7 b0 01 1 ADCON: A-D control register [Address 3416] b2 to b0: Analog input pin selection bits b2b1b0 000: AN0 001: AN1 010: AN2 011: AN3 100: AN4 101: AN5 110: AN6 111: AN7 b3 : A-D conversion completion bit 1: Conversion completed b4 : VREF input switch bit 1: ON b5 : A-D external trigger valid bit 0: A-D external trigger invalid (internal trigger selected) b6 : Interrupt sources selection bit 0: At A-D conversion completed 1: At falling of ADT pin input Nothing is allocated ➁Setting for interrupts (This is not necessary when ADT/A-D conversion interrupt is not used) b7 b0 0 PS: Processor status register b2: Interrupt disable flag 0: Interrupts enabled b7 b0 0 b7 01 IREQ2: Interrupt request register 2 [Address 3D16] b0 b6: ADT/A-D conversion interrupt request bit 0: Interrupts enabled ICON2: Interrupt control register 2 [Address 3F16] b6: ADT/A-D conversion interrupt enable bit 0: Interrupts enabled b7: Fix this bit to “0” Nothing is allocated Continued to Figure 2.6.15 Fig. 2.6.14 Register initialization example when internal trigger is selected (1) 3822 GROUP USER’S MANUAL 2–157 APPLICATION 2.6 A-D converter Continued from Figure 2.6.14 ➂Set A-D conversion completion bit to “0,” and start A-D conversion b7 b0 0 ADCON: A-D control register [Address 3416] b3 : A-D conversion completion bit 0: Conversion in progress Nothing is allocated A-D conversion start When no interrupt is used When an interrupt is used ➃Confirm that A-D conversion is completed (bit 3 = “1”) b7 b0 ADCON: A-D control register [Address 3416] b3 : A-D conversion completion bit 0: Conversion in progress 1: Conversion completed Nothing is allocated ➃Read the A-D conversion result within ADT/ A-D conversion interrupt processing b7 b0 AD: A-D conversion register [Address 3516] A-D conversion result (Note) Note: In reading during A-D conversion (bit 3 of A-D control register = “0”), the previous A-D conversion result is read out. ➄Read A-D conversion result b7 b0 AD: A-D conversion register [Address 3516] A-D conversion result (Note) Note: In reading during A-D conversion (bit 3 of A-D control register = “0”), the previous A-D conversion result is read out. Fig. 2.6.15 Register initialization example when internal trigger is selected (2) 2–158 3822 GROUP USER’S MANUAL APPLICATION 2.6 A-D converter ➀Initialization of A-D converter (Select analog input pin, trigger, interrupt generating timing, or others) b7 b0 1 11 1 ADCON: A-D control register [Address 3416] b2 to b0: Analog input pin selection bits b2b1b0 000: AN0 001: AN1 010: AN2 011: AN3 100: AN4 101: AN5 110: AN6 111: AN7 b3 : A-D conversion completion bit 1: Conversion completed b4 : VREF input switch bit 1: ON b5 : A-D external trigger valid bit 1: A-D external trigger valid (external trigger selected) b6 : Interrupt sources selection bit 1: At falling of ADT pin input Nothing is allocated ➁Setting for interrupts (This is not necessary when ADT/A-D conversion interrupt is not used) b7 b0 0 PS: Processor status register b2: Interrupt disable flag 0: Interrupts enabled b7 b0 0 b7 0 1 IREQ2: Interrupt request register 2 [Address 3D16] b0 b6: ADT/A-D conversion interrupt request bit 0: No interrupt request issued ICON2: Interrupt control register 2 [Address 3F16] b6: ADT/A-D conversion interrupt enable bit 0: Interrupts enabled b7: Fix this bit to “0” Nothing is allocated Continued to Figure 2.6.17 Fig. 2.6.16 Register initialization example when external trigger is selected (1) 3822 GROUP USER’S MANUAL 2–159 APPLICATION 2.6 A-D converter Continued from Figure 2.6.16 ➂Input a falling signal to ADT pin Note: If a falling signal is input to ADT pin during A-D conversion (bit 3 of A-D control register = “0”), the A-D conversion being executed is stopped. So initialize A-D conversion register again to resume the conversion. Nothing is allocated A-D conversion start When no interrupt is used When an interrupt is used ➃Confirm that A-D conversion is completed (bit 3 = “1”) b7 b0 ADCON: A-D control register [Address 3416] b3 : A-D conversion completion bit 0: Conversion in progress 1: Conversion completed Nothing is allocated ➃Read the A-D conversion result within ADT/ A-D conversion interrupt processing b7 b0 AD: A-D conversion register [Address 3516] A-D conversion result (Note) Note: In reading during A-D conversion (bit 3 of A-D control register = “0”), the previous A-D conversion result is read out. ➄Read A-D conversion result b7 b0 AD: A-D conversion register [Address 3516] A-D conversion result (Note) Note: In reading during A-D conversion (bit 3 of A-D control register = “0”), the previous A-D conversion result is read out. Fig. 2.6.17 Register initialization example when external trigger is selected (2) 2–160 3822 GROUP USER’S MANUAL APPLICATION 2.6 A-D converter 2.6.7 Application example: Detection of battery voltage and battery temperature Outline: The battery voltage and its temperature are detected by using the A-D converter. Specification: •A-D conversion is performed every second and the data on battery voltage and battery temperature are input. •With an ADT/A-D conversion interrupt that occurs upon completion of A-D conversion, voltage data or temperature data is input. An analog input pin is also selected. Figure 2.6.18 shows an example of a peripheral circuit, Figure 2.6.19, setting of related registers, Figure 2.6.20, the control procedure. 3822 + I/O ports Charging circuit – Thermistor AN0 AN1 Battery pack Fig. 2.6.18 Example of peripheral circuit b7 b0 X X X XX X 0 0 P6D: Port P6 direction register [Address 0D16] b1, b0 : Bits corresponding to ports P60, P61 0: Input mode b7 b0 0 0 1 1 0 0 0 ADCON: A-D control register [Address 3416] b2, b1, b0: Analog input pin selection bits 000: AN0 b3: A-D conversion completion bit 1: Conversion completed b4: VREF input switch bit 1: ON b5: A-D external trigger valid bit 0: A-D external trigger invalid b6: Interrupt sources selection bit 0: At falling of ADT pin input b7 b0 0 1 XX X X X X ICON2: Interrupt control register 2 [Address 3F16] b6: ADT/A-D conversion interrupt enable bit 1: Interrupts enabled Nothing is allocated Fig. 2.6.19 Setting of related registers 3822 GROUP USER’S MANUAL 2–161 APPLICATION 2.6 A-D converter RESET Initialization CLT CLD SEI All interrupts; Disabled P6D [Address 0D16], bits 1, 0 ←002 ICON2 [Address 3F16] ←00XXXXXX2 ADCON [Address 3416] ←X00110002 Set ports P60,P61 pin for input mode ADT/A-D conversion interrupt; Disabled Connect AN0 pin, set A-D control register ICON2 [Address 3F16] ←01XXXXX12 Enable ADT/A-D conversion interrupt Interrupts; Enabled CLI 1 second has elapsed? ADCON [Address 3416], b3←0 Start A-D conversion ADT/A-D conversion start Read A-D conversion register ADT/A-D conversion interrupt occurs at completion of A-D conversion Current valid analog input pin? Process input digital data AN1 AN0 Voltage data processing ADCON [Address 3416], b2, b1, b0←0012 RTI Fig. 2.6.20 Control procedure 2–162 Read A-D conversion result 3822 GROUP USER’S MANUAL Temperature data processing ADCON [Address 3416], b2, b1, b0←0002 Change analog input pin (AN1↔AN0) APPLICATION 2.6 A-D converter 2.6.8 Notes on use When using the A-D converter, notes the following. (1) Operating conditions for using A-D converter Operate the A-D converter in the following conditions. ■The comparator is composed of a capacitance coupling. If the oscillation frequency is low, the charge will be lost. Accordingly, make sure that f(XIN) at least 500 kHz during A-D conversion. Do not execute the STP instruction or WIT instruction during A-D conversion. ■When an external trigger is selected, the A-D conversion being executed is stopped by inputting a falling signal to the ADT pin during A-D conversion, and A-D conversion is resumed. ■Apply a voltage of 2 V–V CC to the reference voltage input pin V REF. Note that if the VREF value is lowered, the accuracy degrades. ■Apply the same voltage as the VSS pin to the analog power source voltage input pin AVSS . ■Set the port used as an analog input pin for the input mode. (Corresponding bit of port P6 direction register (address 000D16 ) = “0”) (Note) Note: The port P6 direction register cannot read out. Use the STA instruction or LDM instruction to set the port P6 direction register. ■When not using the A-D converter, connect the A-D converter power source pin AVSS to V SS line which is the analog system. (2) Other notes Make the signal source impedance for analog input low, or equip an analog input pin with an external capacitor of 0.01 µF to 1 µF. Further, be sure to verify the operation of application products on the user side. <REASON> An analog input pin includes the capacitor for analog voltage comparison. Accordingly, when signals from signal source with high impedance are input to an analog input pin, charge and discharge noise generates. This may cause the A-D comparison precision to be worse. 3822 GROUP USER’S MANUAL 2–163 APPLICATION 2.7 LCD drive control circuit 2.7 LCD drive control circuit The 3822 group includes a controller/drivers of Liquid Crystal Display (LCD). This section describes an explanation of LCD control circuit operations, pins, related registers, usage and application examples. 2.7.1 Explanation of operations (1) LCD drive waveform example Refer to “CHAPTER 1 Hardware, LCD drive control circuit.” (2) LCD drive timing The frequency of the internal signal LCDCK and the frame frequency to generate LCD drive timing are as follows. f (LCDCK) = Count source frequency for LCDCK Division ratio of LCD circuit divider Frame frequency = 2–164 f (LCDCK) Duty ratio number 3822 GROUP USER’S MANUAL APPLICATION 2.7 LCD drive control circuit 2.7.2 Pins SEG 0–SEG 11 are used as pins for LCD display. The pins P3 4/SEG 12 –P3 7/SEG 15 and P00 /SEG 16 –P0 7/ SEG 23 and P10 /SEG24 –P17/SEG31 are available as segment output pins (SEG12 –SEG31). By switching the corresponding registers, the segment output pin, I/O pin or input pin is selected. Table 2.7.1 shows the pin function by setting segment output enable register and Table 2.7.2 shows the pin functions by setting the corresponding registers when they are not used as segment output pins. Table 2.7.1 Pin functions by setting segment output enable register Setting Pins Register P34 /SEG12 –P37/SEG 15 SEG (Address 003816 ) b0 P00 /SEG16, P01 /SEG17 SEG (Address 003816 ) b1 P02 /SEG18 – P07 /SEG23 SEG (Address 003816 ) b2 P10 /SEG24, P11 /SEG25 SEG (Address 003816 ) b3 P12 /SEG26 P13 /SEG27 – P17 /SEG31 Pin function Value (Bit 0 of segment output enable register) (Bit 1 of segment output enable register) (Bit 2 of segment output enable register) (Bit 3 of segment output enable register) SEG (Address 003816 ) b4 (Bit 4 of segment output enable register) SEG (Address 003816 ) b5 (Bit 5 of segment output enable register) 1 Segment output 0 Input port 1 Segment output 0 I/O port 1 Segment output 0 I/O port 1 Segment output 0 I/O port 1 Segment output 0 I/O port 1 Segment output 0 I/O port Note: When the microcomputer is in the reset state, the I/O or segment output pins are pulled down, so that a “L” level is output from segment-only pins. 3822 GROUP USER’S MANUAL 2–165 APPLICATION 2.7 LCD drive control circuit Table 2.7.2 Pin functions by setting the corresponding registers when they are not used as segment output pins Setting Ports P3 4–P3 7 Register Pin function Value 1 Pull-down pin (Bit 3 of PULL register A) 0 Input port P0D (Address 0001 16) b0 1 Output port 0 Input port 1 Pull-down pin (Valid when bit 0 of port P0 direction register is “0”) 0 No pull-down 1 Output port 0 Input port 1 Pull-down pin (Valid when bit 0 of port P1 direction register is “0”) 0 No pull-down PULLA (Address 0016 16 ) b3 (Bit 0 of port P0 direction register) P0 0–P07 PULLA (Address 001616 ) b0 (Bit 0 of PULL register A) P1D (Address 0003 16) b0 (Bit 0 of port P1 direction register) P10–P1 7 PULLA (Address 001616 ) b1 (Bit 1 of PULL register A) (1) Segment output pins (SEG 0–SEG 31 ) Up to 32 segment outputs can be selected. Table 2.7.3 shows setting of segment output pins for LCD display. Table 2.7.3 Setting of segment output pins for LCD display Pins Setting SEG 0–SEG 11 Segment output-only pin P34 /SEG12– P37 /SEG15 Ports P3 4 –P3 7 are used as segment signal output pins (SEG 12–SEG 15) by setting bit 0 of the segment output enable register (address 003816 ) to “1.” P0 0/SEG16 , P0 1/SEG17 Ports P00 and P0 1 are used as segment signal output pins (SEG16 , SEG17 ) by setting bit 1 of the segment output enable register (address 003816 ) to “1.” P02 /SEG18– P07 /SEG23 Ports P0 2–P0 7 are used as segment signal output pins (SEG18 –SEG23 ) by setting bit 2 of the segment output enable register (address 003816 ) to “1.” P1 0/SEG24 , P1 1/SEG25 Ports P1 0 and P1 1 are used as segment signal output pins (SEG 24, SEG 25) by setting bit 3 of the segment output enable register (address 003816 ) to “1.” P12/SEG 26 Ports P1 2 is used as segment signal output pins (SEG 26) by setting bit 4 of the segment output enable register (address 0038 16 ) to “1.” P1 3/SEG27 – P1 7/SEG31 Ports P13–P1 7 are used as segment signal output pins (SEG 27–SEG 31) by setting bit 5 of the segment output enable register (address 003816 ) to “1.” 2–166 3822 GROUP USER’S MANUAL APPLICATION 2.7 LCD drive control circuit (2) Ports P0, P1 and P3 4–P3 7 When pins P34/SEG 12 –P37 /SEG15 , P0 0/SEG 16–P0 7/SEG 23 , P10 /SEG24 –P1 7/SEG 31 are not used as segment outputs, they can be used as input ports P3 4–P3 7 and as I/O ports P0 and P1. Table 2.7.4 shows the setting of input ports P34–P3 7 and I/O ports P0, P1. Table 2.7.4 Setting of input ports P3 4–P3 7 and I/O ports P0, P1 Setting Ports P3 4–P37 By setting bit 0 of segment output enable register (address 0038 16 ) to “0” P00 , P01 By setting bit 1 of segment output enable register (address 0038 16 ) to “0” P0 2–P07 By setting bit 2 of segment output enable register (address 0038 16 ) to “0” P1 0, P1 1 By setting bit 3 of segment output enable register (address 0038 16 ) to “0” P12 By setting bit 4 of segment output enable register (address 0038 16 ) to “0” P13 –P17 By setting bit 5 of segment output enable register (address 0038 16 ) to “0” (3) P34 –P37 , P0 and P1 pull-down pins When pins P34 /SEG12 –P37/SEG15 , P00/SEG 16–P0 7/SEG23 , P1 0/SEG24 –P17 /SEG31 are not used as ports, it is possible to exert pull-down control. Table 2.7.5 shows the setting of pull-down pins. Table 2.7.5 Setting of pull-down pins Pins Setting P3 4/SEG12 – P3 7/SEG15 By setting bit 0 of the segment output enable register (address 003816 ) to “0,” then setting bit 3 of PULL register A (address 0016 16 ) to “1.” P0 0/SEG16 – P0 7/SEG23 By setting bits 1 and 2 of the segment output enable register (address 0038 16) to “0,” next setting bit 0 of the port P0 direction register (address 0001 16) to “0,” then setting bit 0 of PULL register A (address 0016 16 ) to “1.” P1 0/SEG24 – P1 7/SEG31 By setting bits 3 to 5 of the segment output enable register (address 0038 16 ) to “0,” next setting bit 1 of the port P1 direction register (address 000316 ) to “0,” then setting bit 1 of PULL register A (address 0016 16 ) to “1.” 3822 GROUP USER’S MANUAL 2–167 APPLICATION 2.7 LCD drive control circuit 2.7.3 Related registers Figure 2.7.1 shows the memory allocation of LCD display-related registers. Address 000116 Port P0 direction register (P0D) 000316 Port P1 direction register (P1D) 001616 PULL register A (PULLA) 003816 Segment output enable register (SEG) 0039 16 LCD mode register (LM) Fig. 2.7.1 Memory allocation of LCD display-related registers 2–168 3822 GROUP USER’S MANUAL APPLICATION 2.7 LCD drive control circuit (1) Segment output enable register (address 003816 ) The pins P34/SEG12–P37/SEG15, P00/SEG16–P07/SEG23, P10/SEG24–P17/SEG31 can be used as segment output pins by setting bits 0 to 5 of the segment output enable register (address 003816 ). The pins corresponding to the bits which are set to “1” among bits 0 to 5 of the segment output enable register (address 003816 ) are used as segment output pins. The pins corresponding to the bits which are set to “0” are used as I/O ports or input ports. Figure 2.7.2 shows the structure of the segment output enable register. Segment output enable register b7 b6 b5 b4 b3 b2 b1 b0 0 0 Segment output enable register (SEG) [Address 3816] B Name Segment output 0 enable bit 0 1 Segment output enable bit 1 2 Segment output enable bit 2 3 Segment output enable bit 3 4 Segment output enable bit 4 5 Segment output enable bit 5 Functions At reset R W 0: Input ports P34–P37 0 1: Segment output SEG12–SEG15 0: I/O ports P00, P01 0 1: Segment output SEG16, SEG17 0: I/O ports P02–P07 0 1: Segment output SEG18–SEG23 0: I/O ports P10, P11 0 1: Segment output SEG24, SEG25 0: I/O ports P12 0 1: Segment output SEG26 0: I/O ports P13–P17 0 1: Segment output SEG27–SEG31 6,7 Fix these bits to “0.” 0 0 0 Fig. 2.7.2 Structure of segment output enable register 3822 GROUP USER’S MANUAL 2–169 APPLICATION 2.7 LCD drive control circuit (2) LCD mode register (address 0039 16 ) The LCD mode register controls various functions of the LCD controller/driver. Figure 2.7.3 shows the structure of the LCD mode register. ●Bits 0, 1 : Duty ratio selection bits Select a duty ratio number fit for the LCD panel used. ●Bit 2 : Bias control bit Select a bias value fit for the LCD panel used. ●Bit 3 : LCD enable bit Turns on and off the LCD. When this bit is set to “1,” the bits which are set to “1” in the LCD display RAM are displayed on the LCD. When this bit is set to “0,” the whole LCD display is turned off. ●Bit 4 : Unused Always set this bit to “0.” ●Bits 5, 6 : LCD circuit divider division ratio selection bits Used to select a division ratio for generating the frequency of the LCDCK, which is the clock for the LCD timing controller. Select a division ratio so as to generate LCDCK fit for the LCD panel used. ●Bit 7 : LCDCK count source selection bit Used to select a count source of the above LCDCK. At transition from the highspeed, middle-speed or low-speed mode to the low-power operation, or others, change the count source as required. 2–170 3822 GROUP USER’S MANUAL APPLICATION 2.7 LCD drive control circuit LCD mode register b7 b6 b5 b4 b3 b2 b1 b0 0 LCD mode register (LM) [Address 3916] B 0 Name Duty ratio selection bits 1 2 Bias control bit 3 LCD enable bit Functions b1b0 00: Not available 01: 2 (use COM0, COM1) 10: 3 (use COM0–COM2) 11: 4 (use COM0–COM3) 0: 1/3 bias 1: 1/2 bias 0: LCD OFF 1: LCD ON 6 7 LCDCK count source selection bit (Note 2) 0 0 0 0 0 4 Fix this bit to “0.” 5 LCD circuit divider division ratio selection bits (Note 1) At reset R W b6b5 00: LCDCK count source 01: LCDCK count source/2 10: LCDCK count source/4 11: LCDCK count source/8 0: f(XCIN)/32 1: f(XIN)/8192 0 0 0 0 Notes 1: Reference values at f(XIN) = 8 MHz 00: 977 Hz 01: 488 Hz 10: 244 Hz 11: 122 Hz 2: LCDCK is a clock for a LCD timing controller. Fig. 2.7.3 Structure of LCD mode register 3822 GROUP USER’S MANUAL 2–171 APPLICATION 2.7 LCD drive control circuit (3) Port P0 direction register (address 0001 16 ) When it is specified that pins P0 0/SEG 16 –P07 /SEG 23 are used as I/O ports by bits 1 and 2 of the segment output enable register (address 003816), the setting of the port P0 direction register is valid. When bit 0 of the port P0 direction register (address 0001 16) is set to “1,” port P0 is an output port. When this bit is set to “0,” the port is an input port, so that the setting of bit 0 of the PULL register A (address 0016 16 ) becomes valid. At reset, bit 0 of the port P0 direction register is set to “0.” Figure 2.7.4 shows the structure of the port P0 direction register. Port P0 direction register b7 b6 b5 b4 b3 b2 b1 b0 Port P0 direction register (P0D) [Address 01 16] B Functions At reset R W × 0: All bits are input mode 0 1: All bits are output mode × × 1 Nothing is allocated. These bits cannot be 0 to written to and be read out. 7 0 Name Port P0 direction register Fig. 2.7.4 Structure of port P0 direction register 2–172 3822 GROUP USER’S MANUAL APPLICATION 2.7 LCD drive control circuit (4) Port P1 direction register (address 000316 ) When it is specified that pins P10 /SEG24–P1 7 /SEG31 are used as I/O ports by bits 3 to 5 of the segment output enable register (address 003816 ), the setting of the port P1 direction register is valid. When bit 0 of the port P1 direction register (address 000316) is set to “1,” port P1 is an output port. When this bit is set to “0,” the port is an input port, so that the setting of bit 1 of the PULL register A (address 001616 ) becomes valid. At reset, bit 0 of the port P1 direction register is set to “0.” Figure 2.7.5 shows the structure of the port P1 direction register. Port P1 direction register b7 b6 b5 b4 b3 b2 b1 b0 Port P1 direction register (P1D) [Address 03 16] B Name Functions At reset R W × 0: All bits are input mode 0 Port P1 direction 0 register 1: All bits are output mode × × 1 Nothing is allocated. These bits cannot be 0 to written to and be read out. 7 Fig. 2.7.5 Structure of port P1 direction register 3822 GROUP USER’S MANUAL 2–173 APPLICATION 2.7 LCD drive control circuit (5) PULL register A (address 001616 ) When ports P0 and P1 are set for the input mode, the setting of bits 0 and 1 of the PULL register A is valid. The pull-down function of ports P0, P1 and P34 –P3 7 is made effective by setting bits 0, 1 and 3 of the PULL register A to “1.” When ports P0 and P1 are set for output mode by bit 0 of the port P0/ P1 direction registers, the setting of the PULL register A is invalid. Figure 2.7.6 shows the structure of the PULL register A. PULL register A b7 b6 b5 b4 b3 b2 b1 b0 PULL register A (PULLA) [Address 16 16] B 0 1 2 3 4 Name Function 0 : No pull-down Port P0 0–P0 7 pull-down bit 1 : Pull-down Port P1 0–P1 7 pull-down bit 0 : No pull-down 1 : Pull-down 0 : No pull-up Port P2 0–P2 7 pull-up bit 1 : Pull-up Port P3 0–P3 7 pull-down bit 0 : No pull-down 1 : Pull-down 0 : No pull-up Port P7 0, P7 1 pull-up bit 1 : Pull-up 5 Nothing is allocated. These bits cannot be to written to and are fixed to “0” at reading. 7 At reset R W 1 1 0 1 0 0 Note: For ports set for the output mode, pull-up or pull-down is impossible. Fig. 2.7.6 Structure of PULL register A 2–174 3822 GROUP USER’S MANUAL 0 × APPLICATION 2.7 LCD drive control circuit 2.7.4 Register setting example Figure 2.7.7 and Figure 2.7.8 show an example of setting registers for LCD display. [Note on use] Note : For pulling down ports P0, P1 and P34–P37, refer to “2.7.2 Pins, (3) Ports P34–P37, P0 and P1 pull-down pins” ➀Setting of segment output enable register Select segment pins or others b7 0 0 b0 SEG: Segment output enable register [Address 3816] b0: Segment output enable bit 0 0: Input ports P34–P37 1: Segment output SEG12–SEG15 b1: Segment output enable bit 1 0: Input ports P00, P01 1: Segment output SEG16, SEG17 b2: Segment output enable bit 2 0: Input ports P02–P07 1: Segment output SEG18–SEG23 b3: Segment output enable bit 3 0: Input ports P10, P11 1: Segment output SEG24, SEG25 b4: Segment output enable bit 4 0: Input ports P12 1: Segment output SEG26 b5: Segment output enable bit 5 0: Input ports P13–P17 1: Segment output SEG27–SEG31 b7, b6: Fix these bits to “0” Continued to Figure 2.7.8 Fig. 2.7.7 Example of setting registers for LCD display (1) 3822 GROUP USER’S MANUAL 2–175 APPLICATION 2.7 LCD drive control circuit Continued from Figure 2.7.7 ➁Setting of LCD mode register Select count source, bias, or others b7 b0 0 LM: LCD mode register [Address 3916] b1, b0: Duty ratio selection bits b1b0 00: Not used 01: 2 (use COM0, COM1) 10: 3 (use COM0–COM2) 11: 4 (use COM0–COM3) b2: Bias control bit 0: 1/3 bias 1: 1/2 bias b3: LCD enable bit 0: LCD OFF 1: LCD ON b4: Fix this bit to “0” b6, b5: LCD circuit divider division ratio selection bits b6b5 00: LCDCK count source 01: LCDCK count source/2 10: LCDCK count source/4 11: LCDCK count source/8 b7: LCDCK count source selection bit 0: f(XCIN)/32 1: f(XIN)/8192 ➂Setting display data into the RAM (Address 4016 to 4F16) for LCD display By writing “1” to bits in the RAM for LCD display, the corresponding segments of the LCD panel becomes ready for lighting Fig. 2.7.8 Example of setting registers for LCD display (2) 2–176 3822 GROUP USER’S MANUAL APPLICATION 2.7 LCD drive control circuit 2.7.5 Application examples (1) LCD panel display pattern example Figure 2.7.9 shows an 8-segment LCD panel display pattern example when the duty ratio number is 4. 1 1 1 4F16 4E16 4D16 4C16 4B16 4A16 4916 4816 4716 4616 4516 4416 4316 4216 4116 4016 (Address) 0 0 0 1 1 0 0 1 1 0 1 0 1 1 1 0 0 1 1 0 0 0 0 1 1 0 0 1 1 1 1 0 1 1 0 1 0 1 0 1 1 0 1 0 1 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 1 1 0 COM0 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1 0 0 0 1 1 0 0 0 0 1 1 1 1 0 1 0 0 1 1 0 1 1 1 1 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0 1 1 1 1 0 1 COM2 COM1 SEG6 SEG7 SEG8 SEG9 SEG10 SEG11 SEG12 SEG13 SEG14 SEG15 SEG16 SEG17 SEG18 SEG19 SEG20 SEG21 SEG22 SEG23 SEG24 SEG25 SEG26 SEG27 SEG28 SEG29 SEG30 SEG31 b7 b0 COM3 A A AA Display RAM map low-order Display RAM map high-order B A G F COM0 COM1 H C COM2 SEGb COM3 SEGa D E H AA AA D C G E F A AA AA AAAA AA AA AA B LCD display RAM SEG0 SEG1 SEG2 SEG3 SEG4 SEG5 Fig. 2.7.9 8-segment LCD panel display pattern example when duty ratio number is 4 3822 GROUP USER’S MANUAL 2–177 APPLICATION 2.7 LCD drive control circuit (2) LCD panel example Figure 2.7.10 to Figure 2.7.12 show an LCD panel example and a segment allocation example for it, and an LCD display RAM setting example. ’ AUTO SLOW PRINT Fig. 2.7.10 LCD panel example 2 1 3 4 6 5 ’ AUTO SLOW 7 PRINT Fig. 2.7.11 Segment allocation example a Bit Address 004016 7 6 5 4 3 2 0 f COM3 COM2 COM1 COM0 COM3 COM2 COM1 COM0 g f e d c b a 1 g f e d c b a 2 004216 g f e d c b a 3 004316 g f e d c b a 4 004416 g f e d c b a 5 004516 g f e d c b a 6 7 004116 004616 ’ PRINT SLOW AUTO Fig. 2.7.12 LCD display RAM setting example 2–178 1 3822 GROUP USER’S MANUAL g b c e d APPLICATION 2.7 LCD drive control circuit (3) Control procedure Figure 2.7.13 shows the setting of related registers to turn on all the LCD display in Figure 2.7.10, and Figure 2.7.14 shows the control procedure. Specifications: •Frame frequency = 61 Hz •Duty ratio number = 4, Bias value = 1/3 •Segment output; SEG 0 to SEG 13 are used. •Ports P0 and P1 are set as I/O ports. b7 b0 0 0 0 0 0 0 0 1 SEG: Segment output enable register [Address 3816] b0: Segment output enable bit 0 1: Segment output SEG12–SEG15 b1: Segment output enable bit 1 0: I/O ports P00, P01 b2: Segment output enable bit 2 0: I/O ports P02–P07 b3: Segment output enable bit 3 0: I/O ports P10, P11 b4: Segment output enable bit 4 0: I/O ports P12 b5: Segment output enable bit 5 0: I/O ports P13–P17 b7, b6: Fix these bits to “0” b7 b0 1 1 0 0 0 0 1 1 LM: LCD mode register [Address 3916] b1, b0: Duty ratio selection bits b1b0 11: 4 (use COM0–COM3) b2: Bias control bit 0: 1/3 bias b3: LCD enable bit 0: LCD OFF (after setting data into the RAM for LCD display, turn on) b4: Fix this bit to “0” b6, b5: LCD circuit divider division ratio selection bits b6b5 10: Clock input/4 ✽ b7: LCDCK count source selection bit 1: f(XIN)/8192 ✽ ✽: •f(LCDCK) = Count source frequency for LCDCK/LCD circuit division ratio •Frame frequency = f(LCDCK)/duty ratio number From the above, the frame frequency at f(XIN) = 8 MHz is as follows: 6 Frame frequency f = 8 ✕ 10 8192 1 ✕ 4 1 ✕ 4 ≈ 61.035 Hz Fig. 2.7.13 Setting of related registers 3822 GROUP USER’S MANUAL 2–179 APPLICATION 2.7 LCD drive control circuit RESET Initialization CLT CLD SEI SEG (Address 38 16) LM (Address 39 16) P0D (Address 01 16) P1D (Address 03 16) PULLA (Address 16 16) All interrupts; Disabled ←00000001 2 ←11000011 2 ←XXXXXXXX 2 ←XXXXXXXX 2 ←XXXXXXXX 2 LCDRAM0 (Address 40 16)←11111111 2 LCDRAM1 (Address 41 16)←11111111 2 LCDRAM2 (Address 42 16)←11111111 2 LCDRAM3 (Address 43 16)←11111111 2 LCDRAM4 (Address 44 16)←01111111 2 LCDRAM5 (Address 45 16)←01111111 2 LCDRAM6 (Address 46 16)←11111111 2 Set ports/segments Set LCD mode register Set port P0 I/O direction Set port P1 I/O direction Set pull-up, pull-down ✽Set in the order of port P0/P1 direction registers and PULL register A Set values in LCDRAMX (Set it to “1” to turn on or to “0” to turn it off) LM (Address 39 16), bit 3 ←1 Turn on LCD CLI Interrupts; Enabled When switching LCD ON (OFF) segments LCDRAMX (Address 4X 16) ←XXXXXXXX 2 Rewrite bits corresponding to LCD ON (OFF) segments Fig. 2.7.14 Control procedure 2–180 3822 GROUP USER’S MANUAL APPLICATION 2.7 LCD drive control circuit 2.7.6 Notes on use (1) For transition from the high-speed or the middle-speed mode to the low-power operation of the lowspeed mode: ➀ Select oscillation at 32 kHz (CM 4 = 1) ➁ Count source for LCDCK; select f(X CIN)/32 (LM 7 = 0) ➂ Internal system clock; select XCIN –XCOUT (CM 7 = 1) ➃ Stop main clock X IN–X OUT (CM5 = 1) In the above order, execute transition. Execute the setting ➁ after the oscillation at 32 kHz (setting ➀) becomes completely stable. (2) If the STP instruction is executed while the LCD is turned on by setting bit 3 of the LCD mode register to “1,” a DC voltage is applied to the LCD. For this reason, do not execute the STP instruction while the LCD is lighting. (3) When the LCD is not used, open the segment and the common pins. Connect V L1 to VL3 to V SS. 3822 GROUP USER’S MANUAL 2–181 APPLICATION 2.8 Standby function 2.8 Standby function The 3822 group is provided with a standby function to stop the CPU by software and put the CPU into the low-power operation. The following two types of standby function are available. •Stop mode by the STP instruction •Wait mode by the WIT instruction 2.8.1 Stop mode The stop mode is set by executing the STP instruction. In the stop mode, the oscillation of both XIN and XCIN stops and the internal clock φ stops at the “H” level. The CPU stops and peripheral units stop operating. As a result, power dissipation is reduced. (1) State in the stop mode The stop mode is set by executing the STP instruction.✽1 In the stop mode, the oscillation of both X IN and XCIN stops, so that all the functions stop, providing a low-power operation. Table 2.8.1 shows the state in the stop mode. Table 2.8.1 State in the stop mode Item Oscillation CPU Stop Stop Internal clock φ Stop at “H” level I/O ports P0–P7 The state where STP instruction is executed is held Timer, serial I/O, Stop LCD display functions ✽1: After setting the LCD enable bit (bit 3) of the LCD mode register to “0,” execute the STP instruction. 2–182 State in stop mode 3822 GROUP USER’S MANUAL APPLICATION 2.8 Standby function (2) Release of stop mode The stop mode is released by reset input or by the occurrence of an interrupt request. There is a difference in restore processing from the stop mode by reset input and by an interrupt request. ■Restoration by reset input By holding the “L” input level of the RESET pin in the stop mode for 2 µs or more, the reset state is set, so that the stop mode is released. At the time when the stop mode is released, oscillation is started. At this time, the inside of the microcomputer is in the reset state. After the input level of the RESET pin is returned to the “H,” the reset state is released in approximately 8,000 cycles of the X IN input. The oscillation is unstable at start of oscillation. For this reason, time for stabilizing of oscillation (oscillation stabilizing time) is required. The time to hold the internal reset state is reserved as the oscillation stabilizing time. Figure 2.8.1 shows the oscillation stabilizing time at restoration by reset input. At release of the stop mode, the contents of the internal RAM previous to the reset are held. However, the contents of the CPU register and SFR are not held. For resetting, refer to “2.9 Reset.” Time to hold internal reset state = approximately 8000 cycles of XIN input Stop mode VCC Oscillation stabilizing time 2 µ s or more RESET XIN (Note) Execute STP instruction Restored by reset input Note: No waveform may be input to XIN (in low-speed mode) Fig. 2.8.1 Oscillation stabilizing time at restoration by reset input 3822 GROUP USER’S MANUAL 2–183 APPLICATION 2.8 Standby function ■Restoration by an interrupt request The occurrence of an interrupt request in the stop mode releases the stop mode. As a result, oscillation is resumed. The interrupt requests available for restoration are: • INT0 –INT3 • Serial I/O transmit/receive using an external clock • Timer X/Y using an external clock • Key input (key-on wake up) However, to use the above interrupt requests for restoration from the stop mode, after setting the following, execute the STP instruction in order to enable the interrupt request to be used. [Necessary register setting] ➀ Interrupt disable flag I = “0” (interrupts enabled) ➁ Both timers 1 and 2 interrupt enable bits = “0” (interrupts disabled) ➂ Interrupt request bit of the interrupt source to be used for restoration = “0” (no interrupt request issued) ➃ Interrupt enable bit of the interrupt source to be used for restoration = “1” (interrupts enabled) For interrupts, refer to “2.2 Interrupts.” The oscillation is unstable at start of oscillation. For this reason, time for stabilizing of oscillation (oscillation stabilizing time) is required. At restoration by an interrupt request, the time to wait for supplying the internal clock φ to the CPU is automatically generated ✽1 by timers 1✽2 and 2. ✽2 This wait time is reserved as the oscillation stabilizing time on the system clock side. Figure 2.8.2 shows an execution sequence example at restoration by the occurrence of an INT 0 interrupt request. ✽1: At restoration from the stop mode, all bits except bit 4 of the timer 123 mode register (address 002916 ) are set to “0.” As a count source of the timer 1, an f(XIN)/16 or f(X CIN)/16 clock is selected. As a count source of the timer 2, the timer 1 underflow is selected. Immediately after the oscillation is started, the count source is supplied to the timer 1 counter, so that a count operation is started. The supplying the internal clock φ to the CPU is started at the timer 2 underflow. ✽2: When the STP instruction is executed, “FF 16” and “01 16” are automatically set in the timer 1 counter/latch and timer 2 counter/latch respectively. 2–184 3822 GROUP USER’S MANUAL APPLICATION 2.8 Standby function ●When restoring from stop mode by using INT 0 interrupt (rising edge selected) Stop mode Oscillation stabilizing time (approximately 8000 cycles) XIN or XCIN (System clock) XIN; “H” XCIN; in high-impedance state INT0 pin 512 counts “FF16” Timer 1 counter Timer 2 counter “0116” INT0 interrupt request bit Peripheral device Operating CPU Operating Stopping •Execute STP instruction Operating Stopping Operating •INT0 interrupt •512 counts down by timer 1 signal input •Start supplying internal clock φ (INT0 interrupt to CPU request occurs) •Accept INT0 interrupt request •Oscillation start •Timer 1 count start Note: As a count source, f(XIN)/16 or f(XCIN)/16 is input. Either f(XIN)/16 or f(XCIN)/16 is selected by bit 7 of CPU mode register. Fig. 2.8.2 Execution sequence example at restoration by occurrence of INT 0 Interrupt request 3822 GROUP USER’S MANUAL 2–185 APPLICATION 2.8 Standby function (3) Notes on using the stop mode ■Release sources The release sources of the stop mode are shown below. •Reset input •INT0 –INT 3 interrupts •Serial I/O transmit/receive interrupts using an external clock •Timers X/Y interrupts using an external clock •Key input interrupt (key-on wake up) Each INT pin (INT0, INT 1, INT 2, INT3) is also used as ports P4 2, P4 3, P50 or P51 . To use INT0 to INT3 interrupts, after setting the corresponding bits of the following direction registers to “0” to set them for the input mode, execute the STP instruction. •Port P4 direction register (address 0009 16 ) •Port P5 direction register (address 000B16 ) The pin for a key input interrupt is also used as port P2. To use a key input interrupt, set the corresponding bits of the port P2 direction register (address 0005 16) to “0” for setting the input mode. And then, execute the STP instruction. ■Register setting To use the above interrupt requests for restoration from the stop mode, after setting the following, execute the STP instruction in order to enable the interrupt request to be used. [Necessary register setting] ➀ Interrupt disable flag I = “0” (interrupts enabled) ➁ Both timers 1 and 2 interrupt enable bits = “0” (interrupts disabled) ➂ Interrupt request bit of the interrupt source to be used for restoration = “0” (no interrupt request issued) ➃ Interrupt enable bit of the interrupt source to be used for restoration = “1” (interrupts enabled) •At restoration from the stop mode, the values of the timers 1, 2 and 123 mode registers are automatically rewritten. Accordingly, set each of them again. •To prevent a DC voltage from being applied to the LCD, after setting the LCD enable bit (bit 3) of the LCD mode register to “0,” execute the STP instruction. ■Clock after restoration After restoration from the stop mode by an interrupt request, the contents of the CPU mode register previous to the STP instruction execution are held. Accordingly, when both XIN and XCIN were oscillating before execution of the STP instruction, the oscillation of both X IN and X CIN is resumed at restoration from the stop mode by an interrupt request. In the above case, when the X IN side is set as a system clock, the oscillation stabilizing time for approximately 8,000 cycles of the XIN input is reserved at restoration from the stop mode. At this time, note that the oscillation on the XCIN side may not be stabilized even after the lapse of the oscillation stabilizing time (of the XIN side). 2–186 3822 GROUP USER’S MANUAL APPLICATION 2.8 Standby function 2.8.2 Wait mode The wait mode is set by execution of the WIT instruction. In the wait mode, the oscillation is continued, but the internal clock φ stops at the “H” level. Since the oscillation is continued regardless of the CPU stop, the peripheral units operate. (1) States in the wait mode By executing the WIT instruction, the wait mode is set. In the wait mode, the internal clock φ which is supplied to the CPU stops at the “H” level. The continuation of oscillation permits clock supply to the peripheral units. Table 2.8.2 shows the state in the wait mode. Table 2.8.2 State in wait mode Item State in wait mode Oscillation CPU Internal clock φ Operating Stop Stop at “H” level I/O ports P0–P7 The state where WIT instruction is executed is held. Operating Timer, serial I/O, LCD display functions 3822 GROUP USER’S MANUAL 2–187 APPLICATION 2.8 Standby function (2) Release of wait mode The wait mode is released by reset input or by the occurrence of an interrupt request. There is a difference in restore processing from the wait mode by use of reset input and by use of an interrupt request. In the wait mode, oscillation is continued, so an instruction can be executed immediately after the wait mode is released. ■Restoration by reset input The reset state is provided by holding the input level of the RESET pin at “L” for 2 µs or more in the wait mode. As a result, the wait mode is released. At the time when the wait mode is released, the supplying the internal clock φ to the CPU is started. The reset state is released in approximately 8,000 cycles of the X IN input after the input of the RESET pin is returned to the “H” level. At release of the wait mode, the contents of the internal RAM previous to the reset are held. However, the contents of the CPU mode register and SFR are not held. Figure 2.8.3 shows the reset input time. For reset, refer to “2.9 Reset.” Time to hole internal reset state = approximately 8000 cycles of XIN input Wait mode VCC Oscillation stabilizing time 2 µs or more RESET XIN (Note) Execute WIT instruction Restored by reset input Note: No waveform may be input to XIN (in low-speed mode) Fig. 2.8.3 Reset input time 2–188 3822 GROUP USER’S MANUAL APPLICATION 2.8 Standby function ■Restoration by an interrupt request In the wait mode, the occurrence of an interrupt request releases the wait mode and the supplying the internal clock φ to the CPU is started. At the same time, the interrupt request used for restoration is accepted, so the interrupt processing routine is executed. However, to use an interrupt for restoration from the wait mode, after setting the following, execute the WIT instruction in order to enable the interrupt to be used. [Necessary ➀ Interrupt ➁ Interrupt issued) ➂ Interrupt register setting] disable flag I = “0” (interrupts enabled) request bit of the interrupt source to be used for restoration = “0” (no interrupt request enable bit of the interrupt source to be used for restoration = “1” (interrupts enabled) For interrupts, refer to “2.2 Interrupts.” (3) Notes on the wait mode ■Restoration by INT0 to INT3 interrupt requests Each INT pin (INT0 , INT1 , INT2, INT 3) is also used as ports P4 2, P43 , P50 or P51 . To use INT0 to INT 3 interrupts, set the corresponding bits of the following direction registers to “0” for setting the input mode. And then, execute the WIT instruction. •Port P4 direction register (address 0009 16 ) •Port P5 direction register (address 000B16 ) ■Restoration by key input interrupt request The pins for a key input interrupt is also used as port P2. To use a key input interrupt, set the corresponding bits of the port P2 direction register (address 000516) to “0” for setting the input mode. And then, execute the WIT instruction. ■Register setting To use the above interrupt requests for restoration from the stop mode, after setting the following, execute the WIT instruction in order to enable the interrupt request to be used. [Necessary ➀ Interrupt ➁ Interrupt issued) ➂ Interrupt register setting] disable flag I = “0” (interrupts enabled) request bit of the interrupt source to be used for restoration = “0” (no interrupts request enable bit of the interrupt source to be used for restoration = “1” (interrupts enabled) 3822 GROUP USER’S MANUAL 2–189 APPLICATION 2.8 Standby function 2.8.3 State transitions of internal clock φ Figure 2.8.4 shows the state transitions of the internal clock φ when the standby function is used. RESET High-speed mode (f (φ) = 4 MHz) CM7 = 0 (8 MHz selected) CM6 = 0 (High-speed) CM5 = 0 (8 MHz oscillating) CM4 = 0 (32 kHz stopped) 4 High-speed mode (f (φ ) = 4 MHz) CM7 = 0 (8 MHz selected) CM6 = 0 (High-speed) CM5 = 0 (8 MHz oscillating) CM4 = 1 (32 kHz oscillating) CM6 “1”↔“0” CM7 “1”↔“0” CM7 “1”↔“0” Middle-speed mode (f (φ ) = 1 MHz) CM7 = 0 (8 MHz selected) CM6 = 1 (Middle-speed) CM5 = 0 (8 MHz oscillating) CM4 = 1 (32 kHz oscillating) CM6 “1”↔“0” CM5 “1”↔“0” CM5 “1”↔“0” Low-speed mode (f (φ ) = 16 kHz) CM7 = 1 (32 kHz selected) CM6 = 1 (Middle-speed) CM5 = 1 (8 MHz stopped) CM4 = 1 (32 kHz oscillating) Low-speed mode (f (φ ) = 16 kHz) CM7 = 1 (32 kHz selected) CM6 = 0 (High-speed) CM5 = 0 (8 MHz oscillating) CM4 = 1 (32 kHz oscillating) 5 M ” C “0 ”↔ 6 ” “1 CM “0 ”↔ “1 “1 CM ”↔ 5 “1 CM “0 ”↔ 6 ” “0 ” Low-speed mode (f (φ ) = 16 kHz) CM7 = 1 (32 kHz selected) CM6 = 1 (Middle-speed) CM5 = 0 (8 MHz oscillating) CM4 = 1 (32 kHz oscillating) CM5 “1”↔“0” CM4 “1”↔“0” “1 C ”↔ M4 “1 CM “0 ”↔ 6 ” “0 ” CM6 “1”↔“0” M 0” C “ ”↔ 6 ” “1 CM “0 ”↔ “1 CM4 “1”↔“0” Middle-speed mode (f (φ) = 1 MHz) CM7 = 0 (8 MHz selected) CM6 = 1 (Middle-speed) CM5 = 0 (8 MHz oscillating) CM4 = 0 (32 kHz stopped) Low-speed mode (f (φ ) = 16 kHz) CM7 = 1 (32 kHz selected) CM6 = 0 (High-speed) CM5 = 1 (8 MHz stopped) CM4 = 1 (32 kHz oscillating) b7 b4 CPU mode register (CPUM) [Address 3B16] CM4: Port Xc switch bit 0: I/O port 1: XCIN, XCOUT CM5: Main clock (XIN–XOUT) stop bit 0: Oscillating 1: Stopped CM6: Main clock division ratio selection bit 0: f(XIN)/2 (high-speed mode) 1: f(XIN)/8 (middle-speed mode) CM7: Internal system clock selection bit 0: XIN–XOUT selected (middle-/high-speed mode) 1: XCIN–XCOUT selected (low-speed mode) Notes 1: Switch the mode by the allows shown between the mode blocks.( Do not switch between the mode directly without an allow.) 2: The all modes can be switched to the stop mode or the wait mode and return to the source mode when the stop mode or the wait mode is released. 3: Timer and LCD operate in the wait mode. 4: In middle-/high-speed mode, when the stop mode is released, a delay of approximately 1 ms occurs automatically by timer 1 and timer 2. 5: In low-speed mode, when the stop mode is released, a delay of approximately 0.25 s occurs automatically by timer 1 and timer 2. 6: Wait until oscillation stabilizes after oscillating the main clock XIN before the switching from the low-speed mode to the middle-/high-speed mode. 7: The example assumes that 8 MHz is being applied to the XIN pin and 32 kHz to the XCIN pin. φ indicates the internal clock. Fig. 2.8.4 State transitions of internal clock φ 2–190 3822 GROUP USER’S MANUAL APPLICATION 2.9 Reset 2.9 Reset The internal reset state is provided by applying a “L” level to the RESET pin. After that, the reset state is released by applying a “H” level to the RESET pin, so that the program is executed in the middle-speed mode starting from the contents at the reset vector address. 2.9.1 Explanation of operations Figure 2.9.1 shows the internal reset state hold/release timing. Internal processing sequence Internal clock φ 2 µs or more Hold reset state RESET Middle-speed = approximately 8000 cycles of X IN input Fig. 2.9.1 Internal reset state hold/release timing 3822 GROUP USER’S MANUAL 2–191 APPLICATION 2.9 Reset The reset state is provided by applying a “L” level to the RESET pin at power source voltage of 2.5 V to 5.5 V. Allow 2 µs or more as “L” level applying time. By applying a “H” level to the RESET pin in the internal reset state, the timers and their count source shown in Table 2.9.1 is automatically set. After that, the internal reset state is released by the timer 2 underflow. After applying “H” level, only the main clock oscillates in the middle-speed mode regardless of the oscillation state previous to internal resetting. The X CIN pin on the sub-clock side becomes the input port. After the internal reset state is released, the program is run from the address determined with the contents (high-order address) at address FFFD 16 and the contents (low-order address) at address FFFC16 . Figure 2.9.2 shows the internal processing sequence immediately after reset release. Table 2.9.1 Timers 1 and 2 at reset Item Timer 1 Timer 2 FF 16 Value 0116 Count source f (X IN)/16 Timer 1 underflow VCC f(XIN) 1 µs at f(X IN) = 8 MHz Internal clock φ 2 µs or more RESET Approximately 8000 cycles of X IN input Internal reset FFFC 16 FFFD 16 AL,AH Address bus Data bus AL AH SYNC Internal clock φ : CPU reference clock frequency = f(X IN)/8 (middle-speed mode immediately after reset) AH, AL : Interrupt jump destination addresses SYNC : CPU operation code fetch cycle (This is a internal signal, so that it cannot be observed from the external unit) : Undefined Fig. 2.9.2 Internal processing sequence immediately after reset release 2–192 3822 GROUP USER’S MANUAL APPLICATION 2.9 Reset 2.9.2 Internal state of the microcomputer immediately after reset release Figure 2.9.3 shows the internal state of the microcomputer immediately after reset release. The contents of all other registers except registers in Figure 2.9.3 and internal RAM are undefined at poweron reset. Port P0 direction register Port P1 direction register Port P2 direction register Port P4 direction register Port P5 direction register Port P6 direction register Port P7 direction register PULL register A PULL register B Serial I/O status register Serial I/O control register UART control register Timer X (low-order) Timer X (high-order) Timer Y (low-order) Timer Y (high-order) Timer 1 Timer 2 Timer 3 Timer X mode register Timer Y mode register Timer 123 mode register φ output control register A-D control register Segment output enable register LCD mode register Interrupt edge selection register CPU mode register Interrupt request register 1 Interrupt request register 2 Interrupt control register 1 Interrupt control register 2 Processor status register Program counter Address 000116 000316 000516 000916 000B16 000D16 000F16 001616 001716 001916 001A16 001B16 002016 002116 002216 002316 002416 002516 002616 002716 002816 002916 002A16 003416 003816 003916 003A16 003B16 003C16 003D16 003E16 003F16 (PS) (PCH) (PCL) b7 — — 0 Contents of register b1 — — — — — — 0 — — — — — — 0 0016 — 0 0 0 0 0 0 — — — — — — 0016 0016 — — — — 0 1 — 0 0 1 0 0 1 1 — 0 — 0 — 0 — 0 0 1 0 0 0016 1 0 0 FF16 FF16 FF16 FF16 FF16 0116 FF16 0016 0016 0016 — — — 0 0 1 0 0 0 0 — 0 0016 0 0 1 — 0 0 0 1 0 0 1 0 0 0 0 0 0 0 — 0 0 0 — 0 0 0 0 0 0 0 0 0 0 0016 0016 0016 0016 X X X X X 1 X X Contents of address FFFD16 Contents of address FFFC16 Notes —: Unused bits X : Undefined The contents of all other registers and internal RAM are undefined at poweron reset, so they must be initialized by software. Fig. 2.9.3 Internal state of microcomputer immediately after reset release 3822 GROUP USER’S MANUAL 2–193 APPLICATION 2.9 Reset 2.9.3 Reset circuit Design a configuration of the reset circuit so that the reset input voltage may be 0.5 V or less at the time when the power sorce voltage passes 2.5 V. Figure 2.9.4 shows the poweron reset conditions and Figure 2.9.5 shows poweron reset circuit examples. Power on VCC 2.5 V 0V RESET 0.5 V 0V Fig. 2.9.4 Poweron reset conditions 3822 RESET 27 3822 VCC RESET 73 27 Fig. 2.9.5 Poweron reset circuit examples 2–194 3822 GROUP USER’S MANUAL Power source voltage detection circuit VCC 73 APPLICATION 2.9 Reset 2.9.4 Notes on the RESET pin In case where the reset signal rise time is long, connect a ceramic capacitor or others across the RESET pin and the V SS pin. And use a 1000 pF or more capacitor for high frequency use. When connecting the capacitor, note the following: ●Make the length of the wiring which is connected to a capacitor as short as possible. ●Be sure to check the operation of application products on the user side. REASON If the several nanosecond or several ten nanosecond impulse noise enters the RESET pin, it may cause a microcomputer failure. 3822 GROUP USER’S MANUAL 2–195 APPLICATION 2.10 Oscillation circuit 2.10 Oscillation circuit 2.10.1 Oscillation circuit Two oscillation circuits are included to obtain clocks required for operations. • X IN–X OUT oscillation circuit............Main clock (XIN input) oscillation circuit • X CIN–X COUT oscillation circuit........Sub-clock (X CIN input) oscillation circuit A clock✽1 obtained by dividing the frequency input to the clock input pins X IN or XCIN is an internal clock φ. The internal clock φ is used as a standard for operations. ✽1: The internal clock φ varies with modes. •High-speed mode ........Frequency input to the XIN pin/2 •Middle-speed mode .....Frequency input to the X IN pin/8 •Low-speed mode .........Frequency input to the XCIN pin/2 (1) Oscillation circuit using ceramic resonators Figure 2.10.1 shows an oscillation circuit example using ceramic resonators. As shown in the figure, an oscillation circuit can be formed by connecting a ceramic resonator or a quartz-crystal oscillator between the pins X IN and the X OUT and between the pins X CIN and X COUT . As the XIN–X OUT oscillation circuit includes a feedback resistor, an external resistor is omissible. As the X CIN –X COUT oscillation circuit does not include any feedback resistor, connect a feedback resistor externally. Regarding circuit constants for R f, Rd , CIN, COUT , CCIN and C COUT, ask the resonator manufacturer for information, and set the values recommended by the resonator manufacturer. 3822 XCIN XCOUT XIN XOUT Rf Rd CCIN CCOUT CIN Fig. 2.10.1 Oscillation circuit example using ceramic resonators 2–196 3822 GROUP USER’S MANUAL COUT APPLICATION 2.10 Oscillation circuit (2) External clock input circuit An external clock can also be supplied to the main clock oscillation circuit. Figure 2.10.2 shows an external clock input circuit example. As an external clock to be input to the X IN pin, use a pulse signal with a duty ratio of 50%. At this time, open the X OUT pin. Any clock externally generated cannot be input to the X CIN pin directly. Cause oscillation with an external ceramic resonator. 3822 XCIN XCOUT XIN XOUT Rf Open Rd External oscillation circuit CCIN CCOUT VCC VSS Fig. 2.10.2 External clock input circuit example 3822 GROUP USER’S MANUAL 2–197 APPLICATION 2.10 Oscillation circuit 2.10.2 Internal clock φ The internal clock φ is the standard for operations. (1) Clock generating circuit The clock generating circuit controls the oscillation of the oscillation circuit. The generated clock (internal clock φ) is supplied to the CPU and peripheral units. Figure 2.10.3 shows the clock generating circuit block diagram. Oscillation can be stopped and resumed by the clock generating circuit. XCOUT XCIN “0” Port Xc switch bit “1” XOUT Internal system clock selection bit (Note) “1” Low-speed mode XIN 1/2 1/4 “0” Middle-/high-speed mode 1/2 Timer 1 count source selection bit “1” Timer 1 “0” Timer 2 count source selection bit “0” Timer 2 “1” Main clock division ratio selection bit “1” Middle-speed mode Main clock stop bit Q S R S Q STP instruction Timing φ (Internal clock) “0” High-/low-speed mode WIT instruction R Q S R STP instruction Reset Interrupt disable flag (I) Interrupt request Note: When using the low-speed mode, set the port Xc switch bit to “1.” Fig. 2.10.3 Clock generating circuit block diagram 2–198 3822 GROUP USER’S MANUAL APPLICATION 2.10 Oscillation circuit (2) Clock output function The internal clock φ can be output from the φ pin by setting the φ output control bit (bit 0) of the φ output control register (address 002A 16) to “1.” The φ pin is also used as port P4 1. Accordingly, to use it as an φ pin, set bit 1 of the port P4 direction register to “1.” Figure 2.10.4 shows the structure of the φ output control register. φ output control register b7 b6 b5 b4 b3 b2 b1 b0 φ output control register (CKOUT) [Address 2A 16] B 0 Name φ output control bit Functions 0: Port function 1: φ clock output (Port direction register = “1”) 1 Nothing is allocated. These bits cannot be to written to and are fixed to “0” at reading. 7 At reset R W 0 0 0 × Fig. 2.10.4 Structure of φ output control register 3822 GROUP USER’S MANUAL 2–199 APPLICATION 2.10 Oscillation circuit 2.10.3 Oscillating operation The start and stop sources for oscillating operation are described below. (1) Oscillating operation At reset release, the middle-speed mode is provided. At this time, only the main clock oscillates and the XCIN and X COUT pins function as I/O ports. To use the sub-clock, set the P7 0, P7 1 pull-up bit (bit 4) of the PULL register A (address 0016 16) to “0” and disconnect each pull-up resistor of the XCIN and X COUT pins. ■Middle-speed mode The clock obtained by dividing the frequency “f(X IN)” which is input to the X IN pin by 8 is an internal clock φ after reset release. When changing to the high-speed mode: Set the main clock division ratio selection bit (bit 6) of the CPU mode register (address 003B 16 ) to “0.” When changing to the low-speed mode: Change the mode according to the following procedure. ➀ Set the port Xc switch bit (bit 4) of the CPU mode register to “1.” ➁ Generate the oscillation stabilizing time of X CIN input by software. ➂ Set the internal system clock selection bit (bit 7) of the CPU mode register to “1.” ■High-speed mode The clock obtained by dividing f(X IN) by 2 is an internal clock φ. When changing to the middle-speed mode: Set the main clock division ratio selection bit (bit 6) of the CPU mode register to “1.” When changing to the low-speed mode: Change the mode according to the following procedure. ➀ Set the port Xc switch bit (bit 4) of the CPU mode register to “1.” ➁ Generate the oscillation stabilizing time of X CIN input by software. ➂ Set the internal system clock selection bit (bit 7) of the CPU mode register to “1.” 2–200 3822 GROUP USER’S MANUAL APPLICATION 2.10 Oscillation circuit ■Low-speed mode The clock obtained by dividing the frequency f(XCIN) input to the XCIN pin by 2 is an internal clock φ. In the low-speed mode, the oscillation of the main clock is stopped by setting the main clock (XIN – X OUT) stop bit to “1,” so that the low-power operation can be attained. When changing to the middle- or high-speed modes: Change the mode according to the following procedure. ➀ Set the main clock (XIN –XOUT ) stop bit (bit 5) of the CPU mode register to “0.” ➁ Generate the oscillation stabilizing time of XIN input by software. ➂ Set the internal system clock selection bit (bit 7) of the CPU mode register to “0.” ➃ Specify the main clock division ratio selection bit (bit 6) of the CPU mode register. Notes1: Make a mode change from the middle- or high-speed modes to the low-speed mode after the oscillation of both the main clock and the sub-clock is stabilized (for oscillation stabilizing time, ask the resonator manufacturer for information). 2: For the sub-clock, the stabilizing of oscillation requires much time. When making a change from the middle- or high-speed modes to the stop mode and then making a return from the stop mode while the sub-clock oscillates, the oscillation of the sub-clock is not yet stabilized even when the main clock has become stable and the CPU has been restored. 3: For a mode change, set to f(X IN) > f(X CIN ) ✕ 3. (2) Oscillating operation in the stop mode After the stop mode is provided by executing the STP instruction, every oscillation stops and the internal clock φ stops at the “H” level. At the time when restoration is made from the stop mode by rest input or by the occurrence of an interrupt request for restoration, oscillation starts. For the details of the stop mode, refer to “2.8.1 Stop mode.” (3) Oscillating operation in the wait mode After the wait mode is provided by executing the WIT instruction, the internal clock φ supplied to the CPU stops at the “H” level. As oscillation is continued, the supply of internal clock φ to the peripheral units is continued. At the time when restoration is made from the wait mode by reset input or by the occurrence of an interrupt request for restoration, the supply of internal clock φ to the CPU starts. For the details of the wait mode, refer to “2.8.2 Wait mode.” 3822 GROUP USER’S MANUAL 2–201 APPLICATION 2.10 Oscillation circuit (4) State transitions of internal clock φ Figure 2.10.5 shows the state transitions of the internal clock φ. RESET High-speed mode (f (φ) = 4 MHz) CM7 = 0 (8 MHz selected) CM6 = 0 (High-speed) CM5 = 0 (8 MHz oscillating) CM4 = 0 (32 kHz stopped) 4 High-speed mode (f (φ ) = 4 MHz) CM7 = 0 (8 MHz selected) CM6 = 0 (High-speed) CM5 = 0 (8 MHz oscillating) CM4 = 1 (32 kHz oscillating) CM6 “1”↔“0” CM7 “1”↔“0” CM7 “1”↔“0” Middle-speed mode (f (φ ) = 1 MHz) CM7 = 0 (8 MHz selected) CM6 = 1 (Middle-speed) CM5 = 0 (8 MHz oscillating) CM4 = 1 (32 kHz oscillating) CM6 “1”↔“0” CM5 “1”↔“0” CM5 “1”↔“0” Low-speed mode (f (φ ) = 16 kHz) CM7 = 1 (32 kHz selected) CM6 = 1 (Middle-speed) CM5 = 1 (8 MHz stopped) CM4 = 1 (32 kHz oscillating) Low-speed mode (f (φ ) = 16 kHz) CM7 = 1 (32 kHz selected) CM6 = 0 (High-speed) CM5 = 0 (8 MHz oscillating) CM4 = 1 (32 kHz oscillating) 5 M ” C “0 ”↔ 6 ” “1 CM “0 ”↔ “1 “1 CM ”↔ 5 “1 CM “0 ”↔ 6 ” “0 ” Low-speed mode (f (φ ) = 16 kHz) CM7 = 1 (32 kHz selected) CM6 = 1 (Middle-speed) CM5 = 0 (8 MHz oscillating) CM4 = 1 (32 kHz oscillating) CM5 “1”↔“0” CM4 “1”↔“0” “1 C ”↔ M4 “1 CM “0 ”↔ 6 ” “0 ” CM6 “1”↔“0” M 0” C “ ”↔ 6 ” “1 CM “0 ”↔ “1 CM4 “1”↔“0” Middle-speed mode (f (φ) = 1 MHz) CM7 = 0 (8 MHz selected) CM6 = 1 (Middle-speed) CM5 = 0 (8 MHz oscillating) CM4 = 0 (32 kHz stopped) Low-speed mode (f (φ ) = 16 kHz) CM7 = 1 (32 kHz selected) CM6 = 0 (High-speed) CM5 = 1 (8 MHz stopped) CM4 = 1 (32 kHz oscillating) b7 b4 CPU mode register (CPUM) [Address 3B16] CM4: Port Xc switch bit 0: I/O port 1: XCIN, XCOUT CM5: Main clock (XIN–XOUT) stop bit 0: Oscillating 1: Stopped CM6: Main clock division ratio selection bit 0: f(XIN)/2 (high-speed mode) 1: f(XIN)/8 (middle-speed mode) CM7: Internal system clock selection bit 0: XIN–XOUT selected (middle-/high-speed mode) 1: XCIN–XCOUT selected (low-speed mode) Notes 1: Switch the mode by the allows shown between the mode blocks.( Do not switch between the mode directly without an allow.) 2: The all modes can be switched to the stop mode or the wait mode and return to the source mode when the stop mode or the wait mode is released. 3: Timer and LCD operate in the wait mode. 4: In middle-/high-speed mode, when the stop mode is released, a delay of approximately 1 ms occurs automatically by timer 1 and timer 2. 5: In low-speed mode, when the stop mode is released, a delay of approximately 0.25 s occurs automatically by timer 1 and timer 2. 6: Wait until oscillation stabilizes after oscillating the main clock XIN before the switching from the low-speed mode to the middle-/high-speed mode. 7: The example assumes that 8 MHz is being applied to the XIN pin and 32 kHz to the XCIN pin. φ indicates the internal clock. Fig. 2.10.5 State transitions of internal clock φ 2–202 3822 GROUP USER’S MANUAL APPLICATION 2.10 Oscillation circuit 2.10.4 Oscillation stabilizing time In the oscillating circuit using ceramic resonators, the oscillation is unstable for a certain time when the oscillation of the resonators starts. The time required for stabilizing of oscillation is called oscillation stabilizing time. An appropriate oscillation stabilizing time is required in accordance with the conditions of the oscillation circuit in use. For oscillation stabilizing time, ask the resonator manufacturer for information. (1) Oscillation stabilizing time at poweron In the oscillating circuit using ceramic resonators, oscillation is unstable for a certain time immediately after poweron. At reset release, the oscillation stabilizing time for approximately 8,000 cycles of XIN input is automatically generated. Figure 2.10.6 shows the oscillation stabilizing time at poweron. ●Middle-/high-speed mode VCC 2.5 V 2 µs or more RESET XIN Oscillation stabilizing time Internal reset Release internal reset state Fig. 2.10.6 Oscillation stabilizing time at poweron 3822 GROUP USER’S MANUAL 2–203 APPLICATION 2.10 Oscillation circuit (2) Oscillation stabilizing time at restoration from the stop mode In the stop mode, oscillation stops. When restoration is made from the stop mode by reset input or an interrupt request, the oscillation stabilizing time for approximately 8,000 cycles of XIN input or XCIN input is automatically generated as at poweron. At restoration made by reset, X IN input is a clock source of oscillation stabilizing time. At restoration made by an interrupt request, either XIN input or XCIN input set as a system clock immediately before execution of the STP instruction becomes a count source of oscillation stabilizing time. When XIN input is a system clock, the oscillation stabilizing time at restoration becomes approximately 8,000 cycles of X IN input. However, note that the oscillation on the X CIN side may not be stable even after the lapse of this oscillation stabilizing time. For the details of the stop mode, refer to “2.8.1 Stop mode.” (3) Oscillation stabilizing time at reoscillation of X IN When the oscillation of X IN which was stopped by setting the main clock (X IN–X OUT) stop bit of the CPU mode register to “1” is resumed, set this bit to “0” for reoscillation. At this time, generate oscillation stabilizing time by software. Figure 2.10.7 shows the oscillation stabilizing time at reoscillation of X IN. VCC Main clock (XIN–XOUT) stop bit Oscillation stabilizing time (Note) XIN Note: For oscillation stabilizing time, ask the resonator manufacturer for information. Fig. 2.10.7 Oscillation stabilizing time at reoscillation of XIN 2–204 3822 GROUP USER’S MANUAL CHAPTER 3 APPENDIX 3.1 Built-in PROM version 3.2 Countermeasures against noise 3.3 Control registers 3.4 List of instruction codes 3.5 Machine instructions 3.6 Mask ROM ordering method 3.7 Mark specification form 3.8 Package outlines 3.9 SFR allocation 3.10 Pin configuration APPENDIX 3.1 Built-in PROM version 3.1 Built-in PROM version In contrast with the mask ROM version, the microcomputer with a built-in programmable ROM is called the built-in programmable ROM version (referred as “the built-in PROM version”). The following two types of built-in PROM version are available. •EPROM version.....................The contents of the built-in EPROM version can be written, deleted and rewritten. •One Time PROM version.......The contents of the built-in PROM can be written only once and cannot be deleted and rewritten. The EPROM version has the function of the One Time PROM version and also permits deleting and rewriting the contents of the PROM. 3.1.1 Product expansion Table 3.1.1 shows the product expansion of the built-in PROM version. Table 3.1.1 Product expansion of built-in PROM version Product PROM RAM Package Programming adapter M38223E4-XXXFP 80P6N-A✽1 PCA4738F-80 Shipped after programming and inspection at plant Shipped in blank✽5 M38223E4FP One Time PROM M38223E4-XXXGP 16384 bytes (16254 bytes) M38223E4GP Remarks 80P6S-A ✽2 512 bytes Shipped after programming PCA4738G-80 and inspection at plant Shipped in blank ✽5 M38223E4-XXXHP 80P6D-A✽3 PCA4738H-80 Shipped after programming and inspection at plant Shipped in blank✽5 M38223E4HP M38223E4FS EPROM 16384 bytes (16254 bytes) ✽1 ✽2 ✽3 ✽4 ✽5 0.8 mm-pitch plastic molded QFP 0.65 mm-pitch plastic molded QFP 0.5 mm-pitch plastic molded QFP 0.8 mm-pitch ceramic QFP The product is shipped without writing any data in the built-in PROM 80P6N-A : 80P6S-A : 80P6D-A : 80D0 : Shipped in blank : 80D0✽4 PCA4738L-80 Note: The number in parentheses denotes a user ROM capacity. 3–2 3822 GROUP USER’S MANUAL EPROM version APPENDIX 3.1 Built-in PROM version 3.1.2 Performance overview Table 3.1.2 shows a performance overview of the built-in PROM version. The performance of the built-in PROM version is the same as that of the mask ROM version with the exception that the PROM is built in. Table 3.1.2 Performance overview of built-in PROM version Parameter Basic instructions Instruction execution time Memory sizes PROM Performance 71 0.5 µs (minimum instructions at 8MHz oscillation frequency) M38223E4 16384 bytes (user ROM capacity; 16254 bytes) M38223E4 512 bytes RAM Programmable I/O ports Oscillation frequency Main clock f(XIN ) Sub-clock f(X CIN) Interrupts 49 8 MHz (maximum) 32 kHz (standard) to 50 kHz (maximum) 17 sources, 16 vectors (includes key input interrupt) Timers 8-bit ✕ 3 16-bit ✕ 2 8-bit ✕ 1 (operable in clock synchronous mode and UART mode) 8-bit ✕ 8 channels Select 1/2 or 1/3 Select duty ratio value of 2, 3, or 4 32 (maximum) 4 (maximum) 1-bit output 2 built-in circuits (connect an external ceramic resonator or an external quartz-crystal oscillator) 2.5 V (minimum) to 5.0 V (standard) to 5.5 V (maximum) ✽4.0 V (minimum) in high-speed mode. However, at f(X IN) = (4 ✕ VCC – 8) MHz, 2.5 V to 4.0 V is possible. 32 mW (at 8 MHz oscillation frequency, VCC = 5 V) 0.045 mW (at 32 MHz oscillation frequency, VCC = 3 V) –20 to 85 °C CMOS silicon gate 80D0 (0.8 mm-pitch ceramic LCC) 80P6N-A (0.8 mm-pitch plastic mold QFP) 80P6S-A (0.65 mm-pitch plastic mold QFP) 80P6D-A (0.5 mm-pitch plastic mold QFP) Serial I/O A-D comparator LCD (Liquid Crystal Display) drive control functions Bias Duty ratio Segment output Common output φ clock output function Clock generating circuit Power source voltage Power dissipation High-speed mode Low-speed mode Operating temperature range Device structure Packages EPROM version One Time PROM version Note: The parts enclosed by thick line denotes performance peculiar to the PROM version. 3822 GROUP USER’S MANUAL 3–3 APPENDIX 3.1 Built-in PROM version SEG8 SEG9 SEG10 SEG11 P34/SEG12 P35/SEG13 P36/SEG14 P37/SEG15 P00/SEG16 P01/SEG17 P02/SEG18 P03/SEG19 P04/SEG20 P05/SEG21 P06/SEG22 P07/SEG23 P10/SEG24 P11/SEG25 P12/SEG26 P13/SEG27 P14/SEG28 P15/SEG29 P16/SEG30 P17/SEG31 3.1.3 Pin configuration The pin configuration of the built-in PROM version is the same as that of the mask ROM version. Figure 3.1.1 shows the pin configuration of the EPROM version. AVSS COM3 COM2 COM1 COM0 VL3 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 M38223E4FS SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 VCC VREF JAPAN 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 Package type: 80D0 Fig. 3.1.1 Pin configuration of EPROM version (top view) 3–4 3822 GROUP USER’S MANUAL P44/RXD P43/INT1 P42/INT0 P45/TXD VL2 VL1 P67/AN7 P66/AN6 P65/AN5 P64/AN4 P63/AN3 P62/AN2 P61/AN1 P60/AN0 P57/ADT P56/TOUT P55/CNTR1 P54/CNTR0 P53/RTP1 P52/RTP0 P51/INT3 P50/INT2 P47/SRDY P46/SCLK 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 P20 P21 P22 P23 P24 P25 P26 P27 VSS XOUT XIN P70/XCOUT P71/XCIN RESET P40 P41/φ APPENDIX 3.1 Built-in PROM version SEG8 SEG9 SEG10 SEG11 P34/SEG12 P35/SEG13 P36/SEG14 P37/SEG15 P00/SEG16 P01/SEG17 P02/SEG18 P03/SEG19 P04/SEG20 P05/SEG21 P06/SEG22 P07/SEG23 P10/SEG24 P11/SEG25 P12/SEG26 P13/SEG27 P14/SEG28 P15/SEG29 P16/SEG30 P17/SEG31 Figure 3.1.2 and Figure 3.1.3 show the pin configurations of the One Time PROM version. 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 VCC VREF AVSS COM3 COM2 COM1 COM0 VL3 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 M38223E4-XXXFP M38223E4FP 30 29 28 27 26 25 P20 P21 P22 P23 P24 P25 P26 P27 VSS XOUT XIN P70/XCOUT P71/XCIN RESET P40 P41/φ P45/TXD P44/RXD P43/INT1 P42/INT0 VL2 VL1 P67/AN7 P66/AN6 P65/AN5 P64/AN4 P63/AN3 P62/AN2 P61/AN1 P60/AN0 P57/ADT P56/TOUT P55/CNTR1 P54/CNTR0 P53/RTP1 P52/RTP0 P51/INT3 P50/INT2 P47/SRDY P46/SCLK 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Package type: 80P6N-A Fig. 3.1.2 Pin configuration of One Time PROM version (top view) (1) 3822 GROUP USER’S MANUAL 3–5 APPENDIX SEG10 SEG11 P34/SEG12 P35/SEG13 P36/SEG14 P37/SEG15 P00/SEG16 P01/SEG17 P02/SEG18 P03/SEG19 P04/SEG20 P05/SEG21 P06/SEG22 P07/SEG23 P10/SEG24 P11/SEG25 P12/SEG26 P13/SEG27 P14/SEG28 P15/SEG29 3.1 Built-in PROM version 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 SEG9 SEG8 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 VCC VREF AVSS COM3 COM2 COM1 COM0 VL3 VL2 VL1 61 62 63 64 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 24 23 22 21 M38223E4-XXXGP M38223E4GP M38223E4-XXXHP M38223E4HP P45/TXD P44/RXD P67/AN7 P66/AN6 P65/AN5 P64/AN4 P63/AN3 P62/AN2 P61/AN1 P60/AN0 P57/ADT P56/TOUT P55/CNTR1 P54/CNTR0 P53/RTP1 P52/RTP0 P51/INT3 P50/INT2 P47/SRDY P46/SCLK 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Package type: 80P6S-A/80P6D-A Fig. 3.1.3 Pin configuration of One Time PROM version (top view) (2) 3–6 3822 GROUP USER’S MANUAL P16/SEG30 P17/SEG31 P20 P21 P22 P23 P24 P25 P26 P27 VSS XOUT XIN P70/XCOUT P71/XCIN RESET P40 P41/φ P42/INT0 P43/INT1 3822 GROUP USER’S MANUAL 26 27 P7(2) VREF AVSS (0V) 72 73 P5(8) PCH A X Y S PCL PS I/O port P5 9 10 11 12 13 14 15 16 Address bus A-D converter(8) 3 4 5 6 7 8 φ I/O port P6 1 2 P6(8) XCOUT Sub-clock output CPU 25 Note: Pin numbers are for package type 80P6S-A. I/O port P7 XCIN XCOUT XCIN Sub-clock input Clock generating circuit 29 INT2, INT3 28 RESET Serial I/O(8) I/O port P4 30 (0V) VSS 17 18 19 20 21 22 23 24 P4(8) 71 (5V) VCC 55 56 57 58 P3(4) Timer 3(8) Timer 1(8) Timer 2(8) Timer Y(16) Timer X(16) PROM Data bus Input port P3 INT0, INT1 φ Reset input P2(8) LCD display RAM (16 bytes) RAM I/O port P2 31 32 33 34 35 36 37 38 Real time port function Main clock output XOUT Key-on wake up Main clock input XIN I/O port P1 39 40 41 42 43 44 45 46 P1(8) P0(8) I/O port P0 47 48 49 50 51 52 53 54 LCD drive control circuit COM0 COM1 COM2 COM3 SEG0 SEG1 SEG2 SEG3 SEG4 SEG5 SEG6 SEG7 SEG8 SEG9 SEG10 SEG11 70 69 68 67 66 65 64 63 62 61 60 59 VL1 VL2 VL3 77 76 75 74 80 79 78 APPENDIX 3.1 Built-in PROM version 3.1.4 Functional block diagram Figure 3.1.4 shows the functional block diagram of the built-in PROM version. Fig. 3.1.4 Functional block diagram of built-in PROM version 3–7 APPENDIX 3.1 Built-in PROM version 3.1.5 Notes on use Notes on using the built-in PROM version are described below. (1) All products of built-in PROM version ■Notes on programming ●When programming the contents of the PROM, use the dedicated programming adapter. This permits programming with a general-purpose PROM programmer. At that time, set all of SW1, SW2 and SW3 in the above programming adapter to “OFF.” ●As a high voltage is used for programming, be careful not to apply overvoltage to pins. Special care must be exercised at poweron. ■Notes on reading When reading out the contents of the PROM, use the dedicated programming adapter as in programming. This permits reading out with a general-purpose PROM programmer. At that time, set all of SW1, SW2 and SW3 in the programmer to “OFF.” ■Notes on using port P4 0 When using port P4 0 as an input port in the One Time PROM/EPROM version, connect a resistors of several k externally to port P4 0 in series. If this pin is not used, connect a resistor of several k externally to V SS in series (for improvement of the value withstand noise operation failure). For details, refer to “3.2 Countermeasures against noise, 3.2.1 Shortest wiring length, (3) Wiring to the V PP pin of the One Time PROM version and the EPROM version.” (2) EPROM Version ■Notes on deleting ●Sunlight and fluorescent lamps include light which may delete programmed information. For use in the read mode, cover the transparent glass part of the delete window with a seal or others. ●The seal to cover the transparent glass part is prepared by us. This seal is metallic (aluminium) for reasons of prevention of information-deleting light and toughness. Be careful not to bring this seal into contact with lead pins of the microcomputer. ●Before deleting information, clean the transparent glass. Finger marks and seal paste may block ultraviolet rays and effect delete characteristics. ■Notes on mounting ●To mount the EPROM version for a purpose other than evaluation, use a suitable mounting socket. When mounting a ceramic package on the socket, fix it securely with silicone resin. 3–8 3822 GROUP USER’S MANUAL APPENDIX 3.1 Built-in PROM version (3) One Time PROM version ■Notes on setting the PROM programmer area ●For products shipped in blank, access to the first 128 bytes and addresses FFFE16 and FFFF16 in the built-in PROM user area is inhibited. Note the above point when setting the PROM programmer area. ■Notes before actual use The programming test and screening for PROM of the One Time PROM version (shipped in blank) are not performed in the assembly process and the following processes. To ensure reliability after programming, performing programming and test according to the Figure 3.1.5 before actual use are recommended. Programming with PROM programmer Screening (Caution) (Leave at 150 °C for 40 hours) Verification with PROM programmer Functional check in target device Caution: The screening temperature is far higher than the storage temperature. Never expose to 150 °C exceeding 100 hours. Fig. 3.1.5 Programming and testing of One Time PROM version (shipped in blank) 3822 GROUP USER’S MANUAL 3–9 APPENDIX 3.2 Countermeasures against noise 3.2 Countermeasures against noise Countermeasures against noise are described below. The following countermeasures are effective against noise in theory, however, it is necessary not only to take measures as follows but to evaluate before actual use. 3.2.1 Shortest wiring length The wiring on a printed circuit board can function as an antenna which feeds noise into the microcomputer. The shorter the total wiring length (by mm unit), the less the possibility of noise insertion into a microcomputer. (1) Wiring for the reset input pin Make the length of wiring which is connected to the RESET input pin as short as possible. Especially, connect a capacitor across the RESET input pin and the VSS pin with the shortest possible wiring (within 20 mm). Reason The reset works to initialize the internal state of a microcomputer. The width of a pulse input into the RESET pin is determined by the timing necessary conditions. If noise having a shorter pulse width than the standard is input to the RESET input pin, the reset is released before the internal state of the microcomputer is completely initialized. This may cause a program runaway. Noise Reset circuit RESET VSS Reset circuit VSS VSS RESET VSS Fig. 3.2.1 Wiring for the RESET input pin (2) Wiring for clock input/output pins ●Make the length of wiring which is connected to clock I/O pins as short as possible. ●Make the length of wiring (within 20 mm) across the grouding lead of a capacitor which is connected to an oscillator and the V SS pin of a microcomputer as short as possible. ●Separate the VSS pattern only for oscillation from other V SS patterns. Noise XIN XOUT VSS Fig. 3.2.2 Wiring for clock I/O pins 3–10 3822 GROUP USER’S MANUAL XIN XOUT VSS APPENDIX 3.2 Countermeasures against noise Reason A microcomputer’s operation synchronizes with a clock generated by the oscillator (circuit). If noise enters clock I/O pins, clock waveforms may be deformed. This may cause a program failure or program runaway. Also, if a potential difference is caused by the noise between the VSS level of a microcomputer and the VSS level of an oscillator, the correct clock will not be input in the microcomputer. (3) Wiring to the VPP pin of the One Time PROM version and the EPROM version <When the VSS pin is also used as any other pin than the CNVSS✽ 1 > ●Make the length of wiring which is connected to the VPP pin as short as possible. ●Connect an approximately 5 kW resistor to the V PP pin in serial (refer to Figure 3.2.3). 3822 P40/VPP RESET When the microcomputer does not have the CNV SS pin, the VPP pin is also used as the input pin adjacent to the RESET pin. ✽1 When a microcomputer does not have the CNV SS pin, the V PP pin is also as the input pin adjacent to the RESET input pin. Reason The V PP pin of the One Time PROM and the EPROM version is the power source input pin for the built-in PROM. When programming in the built-in PROM, the impedance of the VPP pin is low to allow the electric current for writing flow into the PROM. Because of this, noise can enter easily. If noise enters the V PP pin, abnormal instruction codes or data are read from the built-in PROM, which may cause a program runaway. Approximately 5 kΩ Fig. 3.2.3 Wiring for the VPP pin of the One Time PROM and the EPROM version 3.2.2 Connection of a bypass capacitor across the V SS line and the V CC line Connect an approximately 0.1 µF bypass capacitor across the V SS line and the V CC line as follows: ●Connect a bypass capacitor across the V SS pin and the V CC pin at equal length . ●Connect a bypass capacitor across the V SS pin and the V CC pin with the shortest possible wiring. ●Use lines with a larger diameter than other signal lines for V SS line and V CC line. Chip VCC VSS Fig. 3.2.4 Bypass capacitor across the V SS line and the V CC line 3822 GROUP USER’S MANUAL 3–11 APPENDIX 3.2 Countermeasures against noise 3.2.3 Wiring to analog input pins ●Connect an approximately 100 Ω to 1 kΩ resistor to an analog signal line which is connected to an analog input pin in series. Besides, connect the resistor to the microcomputer as close as possible. ●Connect an approximately 1000 pF capacitor across the VSS pin and the analog input pin. Besides, connect the capacitor to the VSS pin as close as possible. Reason Signals which is input in an analog input pin (such as an A-D converter input pin) are usually output signals from sensor. The sensor which detects a change of event is installed far from the printed circuit board with a microcomputer, the wiring to an analog input pin is longer necessarily. This long wiring functions as an antenna which feeds noise into the microcomputer, which causes noise to an analog input pin. If a capacitor between an analog input pin and the VSS pin is grounded at a position far away from the V SS pin, noise on the GND line may enter a microcomputer through the capacitor. Noise Sensor Microcomputer Analog input pin VSS Fig. 3.2.5 Analog signal line and a resistor and a capacitor 3.2.4 Oscillator concerns Take care to prevent an oscillator that generates clocks for a microcomputer operation from being affected by other signals. (1) Installing an oscillator away from large current signal lines Install a microcomputer (and especially an oscillator) as far as possible from signal lines where a current larger than the tolerance of current value flows. Reason In the system using a microcomputer, there are signal lines for controlling motors, LEDs, and thermal heads or others. When a large current flows through those signal lines, strong noise occurs because of mutual inductance. 3–12 Microcomputer Mutual inductance M XIN XOUT VSS Large current GND Fig. 3.2.6 Wiring for a large current signal line 3822 GROUP USER’S MANUAL APPENDIX 3.2 Countermeasures against noise 3.2.5 Installing an oscillator away from signal lines where potential levels change frequently Install an oscillator away from signal lines where potential levels change frequently. Also, do not cross such signal lines over the clock lines or the signal lines which are sensitive to noise. Reason Signal lines where potential levels change frequently (such as the CNTR pin signal line) may affect other lines at signal rising edge or falling edge. If such lines cross over a clock line, clock waveforms may be deformed, which causes a microcomputer failure or a program runaway. 3.2.6 Oscillator protection using V SS pattern As for a two-sided printed circuit board, print a V SS pattern on the underside (soldering side) of the position (on the component side) where an oscillator is mounted. Connect the V SS pattern to the microcomputer VSS pin with the shortest possible wiring. Besides, separate this V SS pattern from other V SS patterns. Do not cross CNTR XIN XOUT VSS Fig. 3.2.7 Wiring to a signal line where potential levels change frequently An example of VSS patterns on the underside of a printed circuit board AAA AA AA A AAA AA A AAA AA AA A A AAA AA AAA Oscillator wiring pattern example XIN XOUT VSS Separate the VSS line for oscillation from other VSS lines 3.2.7 Setup for I/O ports Setup I/O ports using hardware and software as follows: <Hardware> ●Connect a resistor of 100 Ω or more to an I/O port in series. <Software> ●As for an input port, read data several times by a program for checking whether input levels are equal or not. ●As for an output port, since the output data may reverse because of noise, rewrite data to its data register at fixed periods. ●Rewirte data to direction registers and pull-up control registers (only the product having it) at fixed periods. Fig. 3.2.8 V SS pattern on the underside of an oscillator Noise Data bus Noise Direction register Data register I/O port pins Fig. 3.2.9 Setup for I/O ports When a direction register is set for input port again at fixed periods, a several-nanosecond short pulse may be output from this port. If this is undesirable, connect a capacitor to this port to remove the noise pulse. 3822 GROUP USER’S MANUAL 3–13 APPENDIX 3.2 Countermeasures against noise 3.2.8 Providing of watchdog timer function by software If a microcomputer runs away because of noise or others, it can be detected by a software watchdog timer and the microcomputer can be reset to normal operation. This is equal to or more effective than program runaway detection by a hardware watchdog timer. The following shows an example of a watchdog timer provided by software. In the following example, to reset a microcomputer to normal operation, the main routine detects errors of the interrupt processing routine and the interrupt processing routine detects errors of the main routine. This example assumes that interrupt processing is repeated multiple times in a single main routine processing. <The main routine> ●Assigns a single byte of RAM to a software watchdog timer (SWDT) and writes the initial value N in the SWDT once at each execution of the main routine. The initial value N should satisfy the following condition: N+1 (Counts of interrupt processing executed in each main routine) As the main routine execution cycle may change because of an interrupt processing or others, the initial value N should have a margin. ●Watches the operation of the interrupt processing routine by comparing the SWDT contents with counts of interrupt processing after the initial value N has been set. ●Detects that the interrupt processing routine has failed and determines to branch to the program initialization routine for recovery processing in the following cases: ➀If the SWDT contents do not change after interrupt processing ➁If the changed SWDT contents are abnormal (In Figure 21, the main routine determines that the interrupt processing routine has failed only if the SWDT contents do not change). 3–14 <The interrupt processing routine> ●Decrements the SWDT contents by 1 at each interrupt processing. ●Determins that the main routine operates normally when the SWDT contents are reset to the initial value N at almost fixed cycles (at the fixed interrupt processing count). ●Detects that the main routine has failed and determines to branch to the program initialization routine for recovery processing in the following case: ➀If the SWDT contents are not initialized to the initial value N but continued to decrement and if they exceed the limit (and reach 0 or less) Main routine Interrupt processing routine (SWDT)← N (SWDT) ← (SWDT) – 1 CLI Interrupt processing Main processing (SWDT) ≤ 0? ≠N (SWDT) = N? =N Interrupt processing routine errors >0 RTI ≤0 Return Main routine errors Fig. 3.2.10 Watchdog timer by software 3822 GROUP USER’S MANUAL APPENDIX 3.3 Control registers 3.3 Control registers Port P0 direction register, port P1 direction register b7 b6 b5 b4 b3 b2 b1 b0 Port P0 direction register (P0D) [Address 01 16] Port P1 direction register (P1D) [Address 03 16] B Name 0 Port P0 direction register / Port P1 direction register Functions 0 : All bits are input mode 1 : All bits are output mode 1 Nothing is allocated. These bits cannot be written to to and be read out. 7 At reset R W 0 × 0 × × Note: In ports P0 and P1, input/output switching is performed by a port unit. By setting bit 0 of the corresponding port direction register to “0”, the port is set for the input mode. By setting to “1”, the port is set for the output mode. Nothing is allocated for bits 1 to 7 of the port P0 direction register, and these bits cannot be written to. Fig. 3.3.1 Structure of port P0 and P1 direction registers Port Pi direction register b7 b6 b5 b4 b3 b2 b1 b0 Port Pi direction register (PiD) (i = 2, 4 to 7) [Address 05 16, 09 16, 0B 16, 0D16, 0F16] B 0 1 2 3 4 5 6 7 Name Port Pi direction register Functions 0 : Port Pi 0 input mode 1 : Port Pi 0 output mode 0 : Port Pi 1 input mode 1 : Port Pi 1 output mode 0 : Port Pi 2 input mode 1 : Port Pi 2 output mode 0 : Port Pi 3 input mode 1 : Port Pi 3 output mode 0 : Port Pi 4 input mode 1 : Port Pi 4 output mode 0 : Port Pi 5 input mode 1 : Port Pi 5 output mode 0 : Port Pi 6 input mode 1 : Port Pi 6 output mode 0 : Port Pi 7 input mode 1 : Port Pi 7 output mode At reset 0 R W × 0 × 0 × 0 × 0 × 0 × 0 × 0 × Notes 1: Nothing is allocated bit 0 of port P4 direction register and bit 2 to bit 7 of port P7 direction register. These bits cannot be written to. 2: The contents of the port Pi direction register cannot be read out (refer to “2.1.4 Notes on use” ) Fig. 3.3.2 Structure of port Pi (i = 2, 4 to 7) direction registers 3822 GROUP USER’S MANUAL 3–15 APPENDIX 3.3 Control registers PULL register A b7 b6 b5 b4 b3 b2 b1 b0 PULL register A (PULLA) [Address 16 16] B Name 0 Port P0 0–P0 7 pull-down bit 1 Port P1 0–P1 7 pull-down bit 2 Port P2 0–P2 7 pull-up bit 3 Port P3 0–P3 7 pull-down bit 4 Port P7 0, P7 1 pull-up bit Functions 0 : No pull-down 1 : Pull-down 0 : No pull-down 1 : Pull-down 0 : No pull-up 1 : Pull-up 0 : No pull-down 1 : Pull-down 0 : No pull-up 1 : Pull-up 5 Nothing is allocated. These bits cannot be written to to and are fixed to “0” at reading. 7 At reset R W 1 1 0 1 0 0 0 × Note: For ports set for the output mode, pull-up or pull-down is impossible. Fig. 3.3.3 Structure of PULL register A PULL register B b7 b6 b5 b4 b3 b2 b1 b0 PULL register B (PULLB) [Address 17 16] B Name 1 -P43 pull-up bit Port P4 0 1 Port P4 4-P47 pull-up bit 2 Port P5 0-P53 pull-up bit 3 Port P5 4-P57 pull-up bit 4 Port P6 0-P63 pull-up bit 5 Port P6 4-P67 pull-up bit Functions 0 : No pull-up 1 : Pull-up 0 : No pull-up 1 : Pull-up 0 : No pull-up 1 : Pull-up 0 : No pull-up 1 : Pull-up 0 : No pull-up 1 : Pull-up 0 : No pull-up 1 : Pull-up 6, 7 Nothing is allocated. These bits cannot be written to and are fixed to “0” at reading. At reset R W 0 0 0 0 0 0 0 Note: For ports set for the output mode, pull-up is impossible. Fig. 3.3.4 Structure of PULL register B 3–16 3822 GROUP USER’S MANUAL 0 × APPENDIX 3.3 Control registers Serial I/O status register b7 b6 b5 b4 b3 b2 b1 b0 Serial I/O status register (SIOSTS) [Address 19 16] B Name 0 Transmit buffer empty flag (TBE) 1 Receive buffer full flag (RBF) Transmit shift register shift 2 completion flag (TSC) 3 Overrun error flag (OE) 4 Parity error flag (PE) Framing error flag 5 (FE) 6 Summing error flag (SE) 7 Functions 0: Buffer full 1: Buffer empty 0: Buffer empty 1: Buffer full 0: Transmit shift in progress 1: Transmit shift completed 0: No error 1: Overrun error 0: No error 1: Parity error 0: No error 1: Framing error 0: (OE) U (PE) U (FE) = 0 1: (OE) U (PE) U (FE) = 1 Nothing is allocated. This bit cannot be written to and is fixed to “1” at reading. At reset R W × 0 0 × 0 × 0 × 0 × 0 × 0 × 1 1 × Fig. 3.3.5 Structure of serial I/O status register 3822 GROUP USER’S MANUAL 3–17 APPENDIX 3.3 Control registers Serial I/O control register b7 b6 b5 b4 b3 b2 b1 b0 Serial I/O control register (SIOCON) [Address 1A 16] B 0 Name BRG count source selection bit (CSS) Functions 0: f(XIN) 1: f(XIN)/4 0 1 •In clock synchronous mode Serial I/O synchronization clock 0: BRG output/4 1: External clock input selection bit (SCS) •In UART mode 0: BRG output/16 1: External clock input/16 2 SRDY output enable bit (SRDY) 0: P47/SRDY pin operates as I/O port P4 7 1: P47/SRDY pin operates as signal output pin SRDY (SRDY signal indicates receive enable state) 0 3 Transmit interrupt source selection bit (TIC) 0: When transmit buffer has emptied 1: When transmit shift operation is completed 0 4 Transmit enable bit (TE) 0: Transmit disabled 1: Transmit enabled 0 5 Receive enable bit (RE) 0: Receive disabled 1: Receive enabled 0 6 Serial I/O mode selection bit (SIOM) 0: Clock asynchronous serial I/O (UART) mode 1: Clock synchronous serial I/O mode 0 7 Serial I/O enable bit (SIOE) 0: Serial I/O disabled (pins P4 4–P47 operate as I/O pins) 1: Serial I/O enabled (pins P4 4–P47 operate as serial I/O pins) 0 Fig. 3.3.6 Structure of serial I/O control register 3–18 At reset R W 3822 GROUP USER’S MANUAL 0 APPENDIX 3.3 Control registers UART control register b7 b6 b5 b4 b3 b2 b1 b0 UART control register (UARTCON) [Address 1B 16] B Name Functions 0: 8 bits 0 Character length selection bit (CHAS) 1: 7 bits 0: Parity checking disabled 1 Parity enable bit 1: Parity checking enabled (PARE) 0: Even parity 2 Parity selection bit 1: Odd parity (PARS) 3 Stop bit length 0: 1 stop bit selection bit (STPS) 1: 2 stop bits 4 P45/TxD P-channel 0: CMOS output (in output mode) 1: N-channel open-drain output output disable bit (in output mode) (POFF) 5 Nothing is allocated. These bits cannot be written to to and are fixed to “1” at reading. 7 At reset R W 0 0 0 0 0 1 1 × Fig. 3.3.7 Structure of UART control register 3822 GROUP USER’S MANUAL 3–19 APPENDIX 3.3 Control registers Timer X mode register b7 b6 b5 b4 b3 b2 b1 b0 Timer X mode register (TXM) [Address 27 16] B Name 0 Timer X write control bit 0 : Write value in latch and counter 1 : Write value in latch only 0 1 Real time port control bit 0 : Real time port function invalid 1 : Real time port function valid 0 2 Data storage bit for real time port (RTP 0) Data storage bit for real time port (RTP 1) 0: 1: 0: 1: 0 Timer X operating mode bits b5b4 3 4 5 6 CNTR 0 active edge switch bit Functions “L” level output “H” level output “L” level output “H” level output 0 0 : Timer mode 0 1 : Pulse output mode 1 0 : Event counter mode 1 1 : Pulse width measurement mode •CNTR 0 interrupt 0 : Falling edge active 1 : Rising edge active At reset R W 0 0 0 0 •Pulse output mode 0 : Start at initial level “H” output 1 : Start at initial level “L” output •Event counter mode 0 : Rising edge active 1 : Falling edge active 7 Timer X stop control bit •Pulse width measurement mode 0 : Measure “H” level width 1 : Measure “L” level width 0 : Count start 1 : Count stop Fig. 3.3.8 Structure of timer X mode register 3–20 3822 GROUP USER’S MANUAL 0 APPENDIX 3.3 Control registers Timer Y mode register b7 b6 b5 b4 b3 b2 b1 b0 Timer Y mode register (TYM) [Address 28 16] B Name Functions 0 Nothing is allocated. to These bits are fixed to “0” at reading. 3 4 Timer Y operating mode bits 5 6 CNTR 1 active edge switch bit b5b4 0 0 : Timer mode 0 1 : Period measurement mode 1 0 : Event counter mode 1 1 : Pulse width HL continuously measurement mode •CNTR 1 interrupt 0 : Falling edge active 1 : Rising edge active At reset R W 0 0 × 0 0 0 •Period measurement mode 0 : Measure falling edge to falling edge 1 : Measure rising edge to rising edge •Event counter mode 0 : Rising edge active 1 : Falling edge active 7 Timer Y stop control bit 0 : Count start 1 : Count stop 0 Fig. 3.3.9 Structure of timer Y mode register 3822 GROUP USER’S MANUAL 3–21 APPENDIX 3.3 Control registers Timer 123 mode register b7 b6 b5 b4 b3 b2 b1 b0 Timer 123 mode register (T123M) [Address 29 16] B Name Timer 2 T OUT output active edge switch bit 0 : Start at “H” output 1 : Start at “L” output 0 1 Timer 2 T OUT output control bit 0 : TOUT output disabled 1 : TOUT output enabled 0 2 Timer 2 write control bit 0 : Write data in latch and counter 1 : Write data in latch only 0 3 Timer 2 count source 0 : Timer 1 underflow 1 : f(X IN)/16 selection bit (Middle-/high-speed mode) f(X CIN)/16 (Low-speed mode) (Note) 0 4 Timer 3 count source 0 : Timer 1 underflow 1 : f(X IN)/16 selection bit (Middle-/high-speed mode) f(X CIN)/16 (Low-speed mode) (Note) 0 5 Timer 1 count source 0 : f(X IN)/16 selection bit (Middle-/high-speed mode) f(X CIN)/16 (Low-speed mode) (Note) 1 : f(XCIN) 0 0 Functions At reset R W 0 6, 7 Nothing is allocated. These bits cannot be written to and are fixed to “0” at reading. 0 × Note: Internal clock φ is f(X CIN)/2 in the low-speed mode. Fig. 3.3.10 Structure of timer 123 mode register φ output control register b7 b6 b5 b4 b3 b2 b1 b0 φ output control register (CKOUT) [Address 2A 16] B Name 0 φ output control bit Functions 0: Port function 1: φ clock output (Port direction register = “1”) 1 Nothing is allocated. These bits cannot be to written to and are fixed to “0” at reading. 7 Fig. 3.3.11 Structure of φ output control register 3–22 3822 GROUP USER’S MANUAL At reset R W 0 0 0 × APPENDIX 3.3 Control registers A-D control register b7 b6 b5 b4 b3 b2 b1 b0 A-D control register (ADCON) [Address 34 16] B 0 Name Analog input pin selection bits 1 2 Functions b2 b1 b0 0 0 0: AN 0 0 0 1: AN 1 0 1 0: AN 2 0 1 1: AN 3 1 0 0: AN 4 1 0 1: AN 5 1 1 0: AN 6 1 1 1: AN 7 At reset R W 0 0 0 3 A-D conversion completion bit 0: Conversion in progress 1: Conversion completed 1 4 VREF input switch bit 0: OFF 1: ON 0 5 A-D external trigger valid bit 0: A-D external trigger invalid (internal trigger selected) 1: A-D external trigger valid (external trigger selected) 0 6 Interrupt source selection bit 0: At A-D conversion completed 1: At falling of ADT pin input 0 7 Nothing is allocated. This bit cannot be written to and is fixed “0” at reading. 0 0 × Note: When an internal trigger is selected, A-D conversion is started by setting bit 3 to “0.” Only writing “0” to bit 3 is valid. Even if “1” is written to bit 3, it is not set. Accordingly, to write value to the ADCON without affecting bit 3, set bit 3 to “1.” Fig. 3.3.12 Structure of A-D control register 3822 GROUP USER’S MANUAL 3–23 APPENDIX 3.3 Control registers Segment output enable register b7 b6 b5 b4 b3 b2 b1 b0 0 0 Segment output enable register (SEG) [Address 38 B Name 0 Segment output enable bit 0 1 Segment output enable bit 1 2 Segment output enable bit 2 3 Segment output enable bit 3 4 Segment output enable bit 4 16] Functions At reset R W 0: Input ports P3 4–P3 7 0 1: Segment output SEG 12–SEG 15 0: I/O ports P0 0, P0 1 0 1: Segment output SEG 16, SEG 17 0: I/O ports P0 2–P0 7 0 1: Segment output SEG 18–SEG 23 0: I/O ports P1 0, P1 1 0 1: Segment output SEG 24, SEG 25 0: I/O ports P1 2 0 1: Segment output SEG 26 0: I/O ports P1 3–P1 7 5 Segment output enable bit 5 1: Segment output SEG 27–SEG 31 6,7 Fix these bits to “0.” Fig. 3.3.13 Structure of segment output register 3–24 3822 GROUP USER’S MANUAL 0 0 0 0 APPENDIX 3.3 Control registers LCD mode register b7 b6 b5 b4 b3 b2 b1 b0 0 LCD mode register (LM) [Address 3916] B 0 Name Duty ratio selection bits 1 2 Bias control bit 3 LCD enable bit Functions b1b0 00: Not available 01: 2 (use COM0, COM1) 10: 3 (use COM0–COM2) 11: 4 (use COM0–COM3) 0: 1/3 bias 1: 1/2 bias 0: LCD OFF 1: LCD ON 6 7 LCDCK count source selection bit (Note 2) 0 0 0 0 0 4 Fix this bit to “0.” 5 LCD circuit divider division ratio selection bits (Note 1) At reset R W b6b5 00: LCDCK count source 01: LCDCK count source/2 10: LCDCK count source/4 11: LCDCK count source/8 0: f(XCIN)/32 1: f(XIN)/8192 0 0 0 0 Notes 1: Reference values at f(XIN) = 8 MHz 00: 977 Hz 01: 488 Hz 10: 244 Hz 11: 122 Hz 2: LCDCK is a clock for a LCD timing controller. Fig. 3.3.14 Structure of LCD mode register 3822 GROUP USER’S MANUAL 3–25 APPENDIX 3.3 Control registers Interrupt edge selection register b7 b6 b5 b4 b3 b2 b1 b0 Interrupt edge selection register (INTEDGE) [Address 3A B Name Functions 0 : Falling edge active 0 INT0 interrupt edge 1 : Rising edge active selection bit 0 : Falling edge active 1 INT1 interrupt edge 1 : Rising edge active selection bit 0 : Falling edge active 2 INT2 interrupt edge 1 : Rising edge active selection bit 0 : Falling edge active 3 INT3 interrupt edge 1 : Rising edge active selection bit 4 Nothing is allocated. These bits cannot be to written to and are fixed to “0” at reading. 7 16] At reset R W 0 0 0 0 0 0 × Fig. 3.3.15 Structure of interrupt edge selection register CPU mode register b7 b6 b5 b4 b3 b2 b1 b0 1 CPU mode register (CPUM) [Address 3B 16] B 0 Name Processor mode bits 1 2 Stack page selection bit 3 Fix this bit to “1.” 4 Port X C switch bit Functions b1b0 Main clock division ratio selection bit 7 Internal system clock selection bit 0 0: 0 page 1: 1 page 0 1 0: I/O port 1: XCIN, XCOUT 0 0 0: f(XIN)/2 (high-speed mode) 1: f(XIN)/8 (middle-speed mode) 1 0: XIN–XOUT selected (middle-/high-speed mode) 1: XCIN–XCOUT selected (low-speed mode) 0 Fig. 3.3.16 Structure of CPU mode register 3–26 0 00: Single-chip mode 01: 10: Not available 11: 5 Main clock (X IN–XOUT) 0: Oscillating stop bit 1: Stopped 6 At reset R W 3822 GROUP USER’S MANUAL 1 1 APPENDIX 3.3 Control registers Interrupt request register 1 b7 b6 b5 b4 b3 b2 b1 b0 Interrupt request register 1 (IREQ1) [Address 3C B 0 1 2 3 4 5 6 7 16] Name Functions INT0 interrupt request bit INT1 interrupt request bit Serial I/O receive interrupt request bit Serial I/O transmit interrupt request bit Timer X interrupt request bit Timer Y interrupt request bit Timer 2 interrupt request bit Timer 3 interrupt request bit 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued At reset R W 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 : No interrupt request issued 1 : Interrupt request issued 0 ✽ 0 ✽ 0 ✽ 0 ✽ ✽ : “0” can be set by software, but “1” cannot be set. Fig. 3.3.17 Structure of interrupt request register 1 Interrupt request register 2 b7 b6 b5 b4 b3 b2 b1 b0 Interrupt request register 2 (IREQ2) [Address 3D B Name 16] Functions 0 : No interrupt request issued CNTR 0 interrupt 1 : Interrupt request issued request bit 0 : No interrupt request issued 1 CNTR 1 interrupt 1 : Interrupt request issued request bit 0 : No interrupt request issued 2 Timer 1 interrupt 1 : Interrupt request issued request bit 0 : No interrupt request issued 2 interrupt INT 3 1 : Interrupt request issued request bit 0 : No interrupt request issued 4 INT3 interrupt 1 : Interrupt request issued request bit 0 : No interrupt request issued 5 Key input interrupt 1 : Interrupt request issued request bit ADT/A-D conversion 0 : No interrupt request issued 6 interrupt request bit 1 : Interrupt request issued 7 Nothing is allocated. This bit cannot be written to and is fixed to “0” at reading. 0 At reset R W 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 ✽ 0 0 × ✽ : “0” can be set by software, but “1” cannot be set. Fig. 3.3.18 Structure of interrupt request register 2 3822 GROUP USER’S MANUAL 3–27 APPENDIX 3.3 Control registers Interrupt control register 1 b7 b6 b5 b4 b3 b2 b1 b0 Interrupt control register 1 (ICON1) [Address 3E 16] B Name 0 INT0 interrupt enable bit 1 INT1 interrupt enable bit Serial I/O receive interrupt enable bit Serial I/O transmit interrupt enable bit 2 3 4 5 6 7 Timer X interrupt enable bit Timer Y interrupt enable bit Timer 2 interrupt enable bit Timer 3 interrupt enable bit Functions 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled At reset R W 0 0 0 0 0 0 0 0 Fig. 3.3.19 Structure of interrupt control register 1 Interrupt control register 2 b7 b6 b5 b4 b3 b2 b1 b0 0 Interrupt control register 2 (ICON2) [Address 3F 16] B Name 0 CNTR 0 interrupt enable bit CNTR 1 interrupt enable bit Timer 1 interrupt enable bit INT 2 interrupt enable bit INT 3 interrupt enable bit Key input interrupt enable bit ADT/A-D conversion interrupt enable bit Fix this bit to “0.” 1 2 3 4 5 6 7 Functions 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled 0 : Interrupts disabled 1 : Interrupts enabled Fig. 3.3.20 Structure of interrupt control register 2 3–28 3822 GROUP USER’S MANUAL At reset R W 0 0 0 0 0 0 0 0 0 0 APPENDIX 3.4 List of instruction codes 3.4 List of instruction codes D 7 – D4 D3 – D 0 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Hexadecimal notation 0 1 2 3 4 5 6 7 8 9 A B C D E F ORA ABS ASL ABS SEB 0, ZP 0000 0 BRK JSR ORA IND, X ZP, IND BBS 0, A — ORA ZP ASL ZP BBS 0, ZP PHP ORA IMM ASL A SEB 0, A — 0001 1 BPL ORA IND, Y CLT BBC 0, A — ORA ZP, X ASL ZP, X BBC 0, ZP CLC ORA ABS, Y DEC A CLB 0, A — 0010 2 JSR ABS AND IND, X JSR SP BBS 1, A BIT ZP AND ZP ROL ZP BBS 1, ZP PLP AND IMM ROL A SEB 1, A BIT ABS 0011 3 BMI AND IND, Y SET BBC 1, A — AND ZP, X ROL ZP, X BBC 1, ZP SEC AND ABS, Y INC A CLB 1, A LDM ZP 0100 4 RTI EOR STP IND, X (Note) BBS 2, A COM ZP EOR ZP LSR ZP BBS 2, ZP PHA EOR IMM LSR A SEB 2, A JMP ABS 0101 5 BVC EOR IND, Y BBC 2, A — EOR ZP, X LSR ZP, X BBC 2, ZP CLI EOR ABS, Y — CLB 2, A — 0110 6 RTS ADC MUL IND, X (Note) BBS 3, A TST ZP ADC ZP ROR ZP BBS 3, ZP PLA ADC IMM ROR A SEB 3, A JMP IND 0111 7 BVS ADC IND, Y — BBC 3, A — ADC ZP, X ROR ZP, X BBC 3, ZP SEI ADC ABS, Y — CLB 3, A — 1000 8 BRA STA IND, X RRF ZP BBS 4, A STY ZP STA ZP STX ZP BBS 4, ZP DEY — TXA SEB 4, A STY ABS STA ABS STX ABS SEB 4, ZP 1001 9 BCC STA IND, Y — BBC 4, A STY ZP, X STA ZP, X STX ZP, Y BBC 4, ZP TYA STA ABS, Y TXS CLB 4, A — STA ABS, X — CLB 4, ZP 1010 A LDY IMM LDA IND, X LDX IMM BBS 5, A LDY ZP LDA ZP LDX ZP BBS 5, ZP TAY LDA IMM TAX SEB 5, A LDY ABS LDA ABS LDX ABS SEB 5, ZP 1011 B BCS LDA JMP IND, Y ZP, IND BBC 5, A LDY ZP, X LDA ZP, X LDX ZP, Y BBC 5, ZP CLV LDA ABS, Y TSX CLB 5, A 1100 C CPY IMM SLW CMP IND, X (Note) WIT BBS 6, A CPY ZP CMP ZP DEC ZP BBS 6, ZP INY CMP IMM DEX SEB 6, A CPY ABS 1101 D BNE CMP IND, Y BBC 6, A — CMP ZP, X DEC ZP, X BBC 6, ZP CLD CMP ABS, Y — CLB 6, A — 1110 E CPX IMM FST SBC (Note) IND, X DIV BBS 7, A CPX ZP SBC ZP INC ZP BBS 7, ZP INX SBC IMM NOP SEB 7, A CPX ABS 1111 F BEQ SBC IND, Y BBC 7, A — SBC ZP, X INC ZP, X BBC 7, ZP SED SBC ABS, Y — CLB 7, A — — — — CLB ASL ORA ABS, X ABS, X 0, ZP AND ABS ROL ABS SEB 1, ZP CLB ROL AND ABS, X ABS, X 1, ZP EOR ABS LSR ABS SEB 2, ZP CLB LSR EOR ABS, X ABS, X 2, ZP ADC ABS ROR ABS SEB 3, ZP CLB ROR ADC ABS, X ABS, X 3, ZP CLB LDX LDA LDY ABS, X ABS, X ABS, Y 5, ZP CMP ABS DEC ABS SEB 6, ZP CLB DEC CMP ABS, X ABS, X 6, ZP SBC ABS INC ABS SEB 7, ZP CLB INC SBC ABS, X ABS, X 7, ZP 3-byte instruction 2-byte instruction 1-byte instruction 3822 GROUP USER’S MANUAL 3-29 APPENDIX 3.5 Machine instructions 3.5 Machine instructions Addressing mode Symbol Function Details IMP OP n ADC (Note 1) (Note 5) When T = 0 A←A+M+C When T = 1 M(X) ← M(X) + M + C AND (Note 1) When TV= 0 A←A M When T = 1 V M(X) ← M(X) M ASL C← 7 0 ←0 IMM # OP n A # OP n BIT, A # OP n ZP # OP n BIT, ZP # OP n Adds the carry, accumulator and memory contents. The results are entered into the accumulator. Adds the contents of the memory in the address indicated by index register X, the contents of the memory specified by the addressing mode and the carry. The results are entered into the memory at the address indicated by index register X. 69 2 2 65 3 2 “AND’s” the accumulator and memory contents. The results are entered into the accumulator. “AND’s” the contents of the memory of the address indicated by index register X and the contents of the memory specified by the addressing mode. The results are entered into the memory at the address indicated by index register X. 29 2 2 25 3 2 06 5 2 0A 2 Shifts the contents of accumulator or contents of memory one bit to the left. The low order bit of the accumulator or memory is cleared and the high order bit is shifted into the carry flag. 1 # BBC (Note 4) Ab or Mb = 0? Branches when the contents of the bit specified in the accumulator or memory is “0”. 13 + 4 2i 2 17 + 5 2i 3 BBS (Note 4) Ab or Mb = 1? Branches when the contents of the bit specified in the accumulator or memory is “1”. 03 + 4 2i 2 07 + 5 2i 3 BCC (Note 4) C = 0? Branches when the contents of carry flag is “0”. BCS (Note 4) C = 1? Branches when the contents of carry flag is “1”. BEQ (Note 4) Z = 1? Branches when the contents of zero flag is “1”. BIT A BMI (Note 4) N = 1? Branches when the contents of negative flag is “1”. BNE (Note 4) Z = 0? Branches when the contents of zero flag is “0”. BPL (Note 4) N = 0? Branches when the contents of negative flag is “0”. BRA PC ← PC ± offset Jumps to address specified by adding offset to the program counter. BRK B←1 M(S) ← PCH S←S–1 M(S) ← PCL S←S–1 M(S) ← PS S←S–1 PCL ← ADL PCH ← ADH Executes a software interrupt. 3-30 V M 24 3 “AND’s” the contents of accumulator and memory. The results are not entered anywhere. 00 7 3822 GROUP USER’S MANUAL 1 2 APPENDIX 3.5 Machine instructions Addressing mode ZP, X ZP, Y OP n # OP n 75 4 ABS ABS, X ABS, Y IND # OP n # OP n # OP n # OP n 2 6D 4 3 7D 5 3 79 5 35 4 2 2D 4 3 3D 5 3 39 5 16 6 2 0E 6 3 1E 7 3 2C 4 Processor status register ZP, IND # OP n IND, X IND, Y REL SP # OP n 7 5 4 3 2 1 0 N V T B D I Z C # OP n # OP n # OP n 3 61 6 2 71 6 2 N V • • • • Z C 3 21 6 2 31 6 2 N • • • • • Z • N • • • • • Z C • • • • • • • • • • • • • • • • 90 2 2 • • • • • • • • B0 2 2 • • • • • • • • F0 2 2 • • • • • • • • M7 M6 • • • • Z • 3 3822 GROUP USER’S MANUAL # 6 30 2 2 • • • • • • • • D0 2 2 • • • • • • • • 10 2 2 • • • • • • • • 80 4 2 • • • • • • • • • • • 1 • 1 • • 3-31 APPENDIX 3.5 Machine instructions Addressing mode Symbol Function Details IMP OP n IMM # OP n BVC (Note 4) V = 0? Branches when the contents of overflow flag is “0.” BVS (Note 4) V = 1? Branches when the contents of overflow flag is “1.” CLB Ab or Mb ← 0 Clears the contents of the bit specified in the accumulator or memory to “0.” CLC C←0 Clears the contents of the carry flag to “0.” 18 2 1 CLD D←0 Clears the contents of decimal mode flag to “0.” D8 2 1 CLI I←0 Clears the contents of interrupt disable flag to “0.” 58 2 1 CLT T←0 Clears the contents of index X mode flag to “0.” 12 2 1 CLV V←0 Clears the contents of overflow flag to “0.” B8 2 1 CMP (Note 3) When T = 0 A–M When T = 1 M(X) – M Compares the contents of accumulator and memory. Compares the contents of the memory specified by the addressing mode with the contents of the address indicated by index register X. COM M←M Forms a one’s complement of the contents of memory, and stores it into memory. CPX X–M Compares the contents of index register X and memory. E0 2 CPY Y–M Compares the contents of index register Y and memory. C0 2 DEC A ← A – 1 or M←M–1 Decrements the contents of the accumulator or memory by 1. DEX X←X–1 Decrements the contents of index register X by 1. CA 2 1 DEY Y←Y–1 Decrements the contents of index register Y by 1. 88 2 1 DIV A ← (M(zz + X + 1), M(zz + X)) / A M(S) ← 1’s complememt of Remainder S←S–1 Divides the 16-bit data that is the contents of M (zz + x + 1) for high byte and the contents of M (zz + x) for low byte by the accumulator. Stores the quotient in the accumulator and the 1’s complement of the remainder on the stack. EOR (Note 1) When T = 0 –M A←AV “Exclusive-ORs” the contents of accumulator and memory. The results are stored in the accumulator. “Exclusive-ORs” the contents of the memory specified by the addressing mode and the contents of the memory at the address indicated by index register X. The results are stored into the memory at the address indicated by index register X. When T = 1 –M M(X) ← M(X) V Connects oscillator output to the XOUT pin. FST INC A ← A + 1 or M←M+1 Increments the contents of accumulator or memory by 1. INX X←X+1 Increments the contents of index register X by 1. INY Y←Y+1 Increments the contents of index register Y by 1. 3-32 A # OP n BIT, A # OP n 1B 2 + 2i C9 2 E2 2 # OP n # 1F 5 + 2i 2 1 2 44 5 2 2 E4 3 2 2 C4 3 2 C6 5 2 45 3 2 E6 5 2 1 2 1 3A 2 E8 2 1 C8 2 1 3822 GROUP USER’S MANUAL # OP n BIT, ZP C5 3 2 1A 2 49 2 ZP 1 APPENDIX 3.5 Machine instructions Addressing mode ZP, X OP n D5 4 D6 6 ZP, Y # OP n 2 2 ABS # OP n CD 4 ABS, X # OP n 3 DD 5 ABS, Y # OP n 3 D9 5 IND # OP n 3 Processor status register ZP, IND # OP n IND, X # OP n C1 6 IND, Y # OP n 2 D1 6 # OP n 2 F6 6 2 2 SP # OP n 7 # 6 5 4 3 2 1 0 N V T B D I Z C 50 2 2 • • • • • • • • 70 2 2 • • • • • • • • • • • • • • • • • • • • • • • 0 • • • • 0 • • • • • • • • 0 • • • • 0 • • • • • • 0 • • • • • • N • • • • • Z C N • • • • • Z • EC 4 3 N • • • • • Z C CC 4 3 N • • • • • Z C CE 6 3 DE 7 N • • • • • Z • N • • • • • Z • N • • • • • Z • • • • • • • • • N • • • • • Z • • • • • • • • • N • • • • • Z • N • • • • • Z • N • • • • • Z • 3 E2 16 2 55 4 REL 4D 4 EE 6 3 5D 5 3 FE 7 3 59 5 3 41 6 2 51 6 3 3822 GROUP USER’S MANUAL 2 3-33 APPENDIX 3.5 Machine instructions Addressing mode Symbol Function Details IMP OP n IMM # OP n JMP If addressing mode is ABS PCL ← ADL PCH ← ADH If addressing mode is IND PCL ← M (AD H, ADL) PCH ← M (ADH, AD L + 1) If addressing mode is ZP, IND PCL ← M(00, AD L) PCH ← M(00, AD L + 1) Jumps to the specified address. JSR M(S) ← PCH S←S–1 M(S) ← PCL S←S–1 After executing the above, if addressing mode is ABS, PCL ← ADL PCH ← AD H If addressing mode is SP, PCL ← ADL PCH ← FF If addressing mode is ZP, IND, PCL ← M(00, ADL) PCH ← M(00, AD L + 1) After storing contents of program counter in stack, and jumps to the specified address. LDA (Note 2) When T = 0 A←M When T = 1 M(X) ← M Load accumulator with contents of memory. LDM M ← nn Load memory with immediate value. LDX X←M Load index register X with contents of memory. A2 2 LDY Y←M Load index register Y with contents of memory. A0 2 LSR 7 0→ MUL (Note 5) M(S) · A ← A ✕ M(zz + X) S←S–1 Multiplies the accumulator with the contents of memory specified by the zero page X addressing mode and stores the high byte of the result on the stack and the low byte in the accumulator. NOP PC ← PC + 1 No operation. ORA (Note 1) When T = 0 A←AVM “Logical OR’s” the contents of memory and accumulator. The result is stored in the accumulator. “Logical OR’s” the contents of memory indicated by index register X and contents of memory specified by the addressing mode. The result is stored in the memory specified by index register X. 0 →C When T = 1 M(X) ← M(X) V M 3-34 A9 2 A # OP n BIT, A # OP n ZP # OP n BIT, ZP # OP n A5 3 2 3C 4 3 2 A6 3 2 2 A4 3 2 46 5 2 05 3 2 2 Load memory indicated by index register X with contents of memory specified by the addressing mode. Shift the contents of accumulator or memory to the right by one bit. The low order bit of accumulator or memory is stored in carry, 7th bit is cleared. 4A 2 EA 2 3822 GROUP USER’S MANUAL 1 1 09 2 2 # APPENDIX 3.5 Machine instructions Addressing mode ZP, X OP n B5 4 ZP, Y # OP n 2 B6 4 ABS # OP n ABS, X # OP n 4C 3 3 20 6 3 AD 4 3 BD 5 2 AE 4 ABS, Y # OP n 3 B9 5 3 BE 5 IND Processor status register ZP, IND IND, X # OP n # OP n # OP n 6C 5 3 B2 4 2 02 7 2 3 IND, Y # OP n REL # OP n SP # OP n 22 5 A1 6 2 B1 6 2 3 7 # 2 6 5 4 3 2 1 0 N V T B D I Z C • • • • • • • • • • • • • • • • N • • • • • Z • • • • • • • • • N • • • • • Z • B4 4 2 AC 4 3 BC 5 3 N • • • • • Z • 56 6 2 4E 6 3 5E 7 3 0 • • • • • Z C • • • • • • • • • • • • • • • • N • • • • • Z • 62 15 2 15 4 2 0D 4 3 1D 5 3 19 5 3 01 6 2 11 6 3822 GROUP USER’S MANUAL 2 3-35 APPENDIX 3.5 Machine instructions Addressing mode Symbol Function Details IMP IMM A Saves the contents of the accumulator in memory at the address indicated by the stack pointer and decrements the contents of stack pointer by 1. 48 3 1 M(S) ← PS S←S–1 Saves the contents of the processor status register in memory at the address indicated by the stack pointer and decrements the contents of the stack pointer by 1. 08 3 1 PLA S←S+1 A ← M(S) Increments the contents of the stack pointer by 1 and restores the accumulator from the memory at the address indicated by the stack pointer. 68 4 1 PLP S←S+1 PS ← M(S) Increments the contents of stack pointer by 1 and restores the processor status register from the memory at the address indicated by the stack pointer. 28 4 1 ROL 7 ← Shifts the contents of the memory or accumulator to the left by one bit. The high order bit is shifted into the carry flag and the carry flag is shifted into the low order bit. 2A 2 1 26 5 2 Shifts the contents of the memory or accumulator to the right by one bit. The low order bit is shifted into the carry flag and the carry flag is shifted into the high order bit. 6A 2 1 66 5 2 82 8 2 E5 3 2 PHP 0 ←C ← ROR 7 C→ RRF 7 → 0 → 0 → Rotates the contents of memory to the right by 4 bits. RTI S←S+1 PS ← M(S) S←S+1 PCL ← M(S) S←S+1 PCH ← M(S) Returns from an interrupt routine to the main routine. 40 6 1 RTS S←S+1 PCL ← M(S) S←S+1 PCH ← M(S) Returns from a subroutine to the main routine. 60 6 1 SBC (Note 1) (Note 5) When T = 0 A←A–M–C Subtracts the contents of memory and complement of carry flag from the contents of accumulator. The results are stored into the accumulator. Subtracts contents of complement of carry flag and contents of the memory indicated by the addressing mode from the memory at the address indicated by index register X. The results are stored into the memory of the address indicated by index register X. When T = 1 M(X) ← M(X) – M – C E9 2 SEB Ab or Mb ← 1 Sets the specified bit in the accumulator or memory to “1.” SEC C←1 Sets the contents of the carry flag to “1.” 38 2 1 SED D←1 Sets the contents of the decimal mode flag to “1.” F8 2 1 SEI I←1 Sets the contents of the interrupt disable flag to “1.” 78 2 1 SET T←1 Sets the contents of the index X mode flag to “1.” 32 2 1 Disconnects the oscillator output from the XOUT pin. C2 2 1 SLW 3-36 # OP n BIT, ZP # OP n PHA # OP n ZP OP n M(S) ← A S←S–1 # OP n BIT, A 2 0B 2 + 2i 3822 GROUP USER’S MANUAL 1 # OP n 0F 5 + 2i # 2 APPENDIX 3.5 Machine instructions Addressing mode ZP, X OP n ZP, Y # OP n ABS # OP n ABS, X # OP n ABS, Y # OP n IND # OP n Processor status register ZP, IND # OP n IND, X # OP n IND, Y # OP n REL # OP n SP # OP n 7 # 6 5 4 3 2 1 0 N V T B D I Z C • • • • • • • • • • • • • • • • N • • • • • Z • (Value saved in stack) 36 6 2 2E 6 3 3E 7 3 N • • • • • Z C 76 6 2 6E 6 3 7E 7 3 N • • • • • Z C • • • • • • • • (Value saved in stack) • F5 4 2 ED 4 3 FD 5 3 F9 5 3 E1 6 2 F1 6 3822 GROUP USER’S MANUAL 2 • • • • • • • N V • • • • Z C • • • • • • • • • • • • • • • 1 • • • • 1 • • • • • • • • 1 • • • • 1 • • • • • • • • • • • • • 3-37 APPENDIX 3.5 Machine instructions Addressing mode Symbol Function Details IMP OP n STA M←A # OP n Stores the contents of accumulator in memory. Stops the oscillator. STP IMM 42 2 A # OP n BIT, A # OP n ZP # OP n BIT, ZP # OP n 85 4 2 1 STX M←X Stores the contents of index register X in memory. 86 4 2 STY M←Y Stores the contents of index register Y in memory. 84 4 2 TAX X←A Transfers the contents of the accumulator to index register X. AA 2 1 TAY Y←A Transfers the contents of the accumulator to index register Y. A8 2 1 TST M = 0? Tests whether the contents of memory are “0” or not. 64 3 2 TSX X←S Transfers the contents of the stack pointer to BA 2 index register X. 1 TXA A←X Transfers the contents of index register X to the accumulator. 8A 2 1 TXS S←X Transfers the contents of index register X to the stack pointer. 9A 2 1 TYA A←Y Transfers the contents of index register Y to the accumulator. 98 2 1 Stops the internal clock. C2 2 1 WIT Notes 1 2 3 4 5 3-38 : The number of cycles “n” is increased by 3 when T is 1. : The number of cycles “n” is increased by 2 when T is 1. : The number of cycles “n” is increased by 1 when T is 1. : The number of cycles “n” is increased by 2 when branching has occurred. : N, V, and Z flags are invalid in decimal operation mode. 3822 GROUP USER’S MANUAL # APPENDIX 3.5 Machine instructions Addressing mode ZP, X ZP, Y OP n # OP n 95 5 2 96 5 94 5 2 Symbol ABS ABS, X ABS, Y ZP, IND IND # OP n # OP n # OP n # OP n 8D 5 3 9D 6 3 99 6 3 Processor status register # OP n IND, X IND, Y REL # OP n # OP n # OP n 81 7 2 91 7 2 SP # OP n 7 # 6 5 4 3 2 1 0 N V T B D I Z C • • • • • • • • • • • • • • • • 2 8E 5 3 • • • • • • • • 8C 5 3 • • • • • • • • N • • • • • Z • N • • • • • Z • N • • • • • Z • N • • • • • Z • N • • • • • Z • • • • • • • • • N • • • • • Z • • • • • • • • • Contents Symbol IMP IMM A Implied addressing mode Immediate addressing mode Accumulator or Accumulator addressing mode BIT, A Accumulator bit relative addressing mode ZP BIT, ZP Zero page addressing mode Zero page bit relative addressing mode ZP, X ZP, Y ABS ABS, X ABS, Y IND Zero page X addressing mode Zero page Y addressing mode Absolute addressing mode Absolute X addressing mode Absolute Y addressing mode Indirect absolute addressing mode ZP, IND Zero page indirect absolute addressing mode IND, X IND, Y REL SP C Z I D B T V N Indirect X addressing mode Indirect Y addressing mode Relative addressing mode Special page addressing mode Carry flag Zero flag Interrupt disable flag Decimal mode flag Break flag X-modified arithmetic mode flag Overflow flag Negative flag + – V V – V – ← X Y S PC PS PCH PCL ADH ADL FF nn M M(X) M(S) M(AD H, ADL) M(00, AD L) Ab Mb OP n # 3822 GROUP USER’S MANUAL Contents Addition Subtraction Logical OR Logical AND Logical exclusive OR Negation Shows direction of data flow Index register X Index register Y Stack pointer Program counter Processor status register 8 high-order bits of program counter 8 low-order bits of program counter 8 high-order bits of address 8 low-order bits of address FF in Hexadecimal notation Immediate value Memory specified by address designation of any addressing mode Memory of address indicated by contents of index register X Memory of address indicated by contents of stack pointer Contents of memory at address indicated by ADH and ADL, in ADH is 8 high-order bits and ADL is 8 low-order bits. Contents of address indicated by zero page ADL 1 bit of accumulator 1 bit of memory Opcode Number of cycles Number of bytes 3-39 APPENDIX 3.6 Mask ROM ordering method 3.6 Mask ROM ordering method 3–40 3822 GROUP USER’S MANUAL APPENDIX 3.6 Mask ROM ordering method 3822 GROUP USER’S MANUAL 3–41 APPENDIX 3.6 Mask ROM ordering method 3–42 3822 GROUP USER’S MANUAL APPENDIX 3.6 Mask ROM ordering method 3822 GROUP USER’S MANUAL 3–43 APPENDIX 3.7 Mark specification form 3.7 Mark specification form 3–44 3822 GROUP USER’S MANUAL APPENDIX 3.7 Mark specification form 3822 GROUP USER’S MANUAL 3–45 APPENDIX 3.8 Package outlines 3.8 Package outlines 3–46 3822 GROUP USER’S MANUAL APPENDIX 3.8 Package outlines 3822 GROUP USER’S MANUAL 3–47 APPENDIX 3.9 SFR allocation 3.9 SFR allocation 000016 Port P0 (P0) 000116 Port P0 direction register (P0D) 002016 Timer X (low-order) (TXL) 002116 Timer X (high-order) (TXH) 000216 Port P1 (P1) 000316 Port P1 direction register (P1D) 002216 Timer Y (low-order) (TYL) 002316 Timer Y (high-order) (TYH) 000416 Port P2 (P2) 000516 Port P2 direction register (P2D) 002416 Timer 1 (T1) 000616 Port P3 (P3) 000716 000816 Port P4 (P4) 000916 Port P4 direction register (P4D) 002516 Timer 2 (T2) 002616 Timer 3 (T3) 002716 Timer X mode register (TXM) 002816 Timer Y mode register (TYM) 002916 Timer 123 mode register (T123M) 000A16 Port P5 (P5) 000B16 Port P5 direction register (P5D) 002A16 φ output control register (CKOUT) 000C16 Port P6 (P6) 000D16 Port P6 direction register (P6D) 002C16 000E16 Port P7 (P7) 000F16 Port P7 direction register (P7D) 002E16 001016 003016 001116 003116 001216 003216 001316 003316 001416 003416 A-D control register (ADCON) 001516 003516 A-D conversion register (AD) 003616 001616 PULL register A (PULLA) 001716 PULL register B (PULLB) 002B16 002D16 002F 16 003716 001816 Transmit/Receive buffer register(TB/RB) 001916 Serial I/O status register (SIOSTS) 001A16 Serial I/O control register (SIOCON) 001B16 UART control register (UARTCON) 001C16 Baud rate generator (BRG) 003816 Segment output enable register (SEG) 003916 LCD mode register (LM) 003A16 Interrupt edge selection register (INTEDGE) 003B16 CPU mode register (CPUM) 003C16 Interrupt request register 1(IREQ1) 003D16 Interrupt request register 2(IREQ2) 001D16 003E16 Interrupt control register 1(ICON1) 003F 16 Interrupt control register 2(ICON2) 001E16 001F16 Memory map of special function register (SFR) 3–48 3822 GROUP USER’S MANUAL VL2 VL1 P67 /AN7 P66/AN6 P65/AN5 P64/AN4 P63/AN3 P62 /AN2 P61/AN1 P60/AN0 P57 /ADT P56 / TOUT P55 /CNTR1 P54/CNTR0 P53/RTP1 P52/RTP0 P51/INT3 P50/INT2 P47/SRDY P46 /SCLK P45/ TXD P44/RXD P43 /INT1 P42/INT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 SEG8 SEG9 SEG10 SEG11 P34 /SEG12 P35 /SEG13 P36/SEG14 P37/SEG15 P00/SEG16 P01/SEG17 P02/SEG18 P03 /SEG19 P04/SEG20 P05/SEG21 P06/SEG22 P07/SEG23 P10 /SEG24 P11/SEG25 P12/SEG26 P13/SEG27 P14/SEG28 P15/SEG29 P16/SEG30 P17/SEG31 APPENDIX 3.10 Pin configuration 3.10 Pin configuration PIN CONFIGURATION (TOP VIEW) SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 VCC VREF AVSS COM3 COM2 COM1 COM0 VL3 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 M38223M4-XXXFP 3822 GROUP USER’S MANUAL 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 P20 P21 P22 P23 P24 P25 P26 P27 VSS XOUT XIN P70 /XCOUT P71 /XCIN RESET P40 P41 /φ Package type : 80P6N-A 80-pin plastic molded QFP Pin configuration of M38223M4-XXXFP 3–49 APPENDIX 3.10 Pin configuration 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 SEG10 SEG11 P34/SEG12 P35 /SEG13 P36/SEG14 P37/SEG15 P00/SEG16 P01 /SEG17 P02/SEG18 P03/SEG19 P04/SEG20 P05/SEG21 P06 /SEG22 P07/SEG23 P10/SEG24 P11/SEG25 P12/SEG26 P13 /SEG27 P14/SEG28 P15/SEG29 PIN CONFIGURATION (TOP VIEW) 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 M38223M4-XXXGP M38223M4-XXXHP 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 P16/SEG30 P17/SEG31 P20 P21 P22 P23 P24 P25 P26 P27 VSS XOUT XIN P70/XCOUT P71/XCIN RESET P40 P41/φ P42/INT0 P43/INT1 P67/AN7 P66 /AN6 P65/AN5 P64/AN4 P63 /AN3 P62/AN2 P61/AN1 P60 /AN0 P57/ADT P56/ TOUT P55 /CNTR1 P54/CNTR0 P53/RTP1 P52/RTP0 P51/INT3 P50/INT2 P47/SRDY P46 /SCLK P45/ TXD P44/RXD 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 SEG9 SEG8 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 VCC VREF AVSS COM 3 COM 2 COM 1 COM 0 VL3 VL2 VL1 Package type : 80P6S-A/80P6D-A 80-pin plastic-molded QFP Pin configuration of M38223M4-XXXGP/HP 3–50 3822 GROUP USER’S MANUAL MITSUBISHI SEMICONDUCTORS USER’S MANUAL 3822 Group Mar. First Edition 1995 Editioned by Committee of editing of Mitsubishi Semiconductor USER’S MANUAL Published by Mitsubishi Electric Corp., Semiconductor Marketing Division This book, or parts thereof, may not be reproduced in any form without permission of Mitsubishi Electric Corporation. ©1995 MITSUBISHI ELECTRIC CORPORATION User’s Manual 3822 Group H-ED347-A KI-9503 Printed in Japan (ROD) © 1995 MITSUBISHI ELECTRIC CORPORATION. New publication, effective Mar. 1995. Specifications subject to change without notice. REVISION DESCRIPTION LIST Rev. No. 1.0 3822 Group User’s Manual Revision Description First Edition Rev. date 980220 (1/1) GRADE MESC TECHNICAL NEWS A No. M380-17-9910 Corrections and Supplementary Explanation for “3822 Group User’s Manual” This news includes all corrections and supplementary explanation for the 3822 Group User’s Manual (1995.3 issued, document number: H-ED347-A) issued before. Please refer to the corrected information as shown below. ● Corrections and supplementary explanation for the 3822 Group User’s Manual issued before (A) M380-11-9507 Correction of “3822 Group User’s Manual” (B) M380-14-9907 Corrections and Supplementary Explanation for “3820/3822/3825 Group User’s Manuals Note: Alphabets in parentheses are corresponding to the alphabets in the parameter “REV.” of the following corrections and supplementary explanation list. “Rev.C” is the new information added in this time. (1/5) M380-17-9910 Corrections and Supplementary Explanation for “3822 Group User’s Manuals” No.1 Rev. Page C P1-20 (Left columun) A P1-22 line 7 (Right column) A P2-40 line 8 B P2-65 (1) Timer X ■ Timer mode Fig. 2.3.22 B P2-66 (1) Timer X ■ Pulse output mode Fig. 2.3.23 Contents Error A key input interrupt request is generated by applying “L” level ... Correct A key input interrupt request is generated by detecting falling edge.. Error (However, if the real time port control bit is changed from “0” to “1”, data are output without the timer X.) Correct (However, after rewriting a data storage bit for real time port, if the real time port control bit is changed from “0” to “1”, data is output without the timer X.) Error A data output from the real time port is started at setting the real time port control bit to “1”. Correct A data output from the real time port is started at setting the real time port control bit to “1” (when setting “1” to the real time port control bit of the timer X mode register, use the SEB instruction). Previous change [Notes on use] Notes 1: For using interrupt processing, set the following: •Before setting ➀ below, clear the timer X interrupt enable bit and the timer X interrupt request bit to “0”. •After setting ➃ below, set the timer X interrupt enable bit to “1” (interrupts enabled). After change [Notes on use] Notes 1: For using interrupt processing, set the following: •Before timer X stops counting (before setting ➀ below), clear the timer X interrupt enable bit to “0”. •After setting ➂ below, clear the timer X interrupt request bit to “0” and next set the timer X interrupt enable bit to “1” (interrupt enabled). •Set ➃ last. Previous change [Notes on use] Notes 1: For using interrupt processing, set the following: •Before setting ➀ below, clear the interrupt enable bits (timer X or CNTR0) and the interrupt request bits (timer X or CNTR 0 ) to “0”. •After setting ➄ below, set the interrupt enable bits (timer X or CNTR0 ) to “1” (interrupts enabled). After change [Notes on use] Notes 1: For using interrupt processing, set the following: •Before timer X stops counting (before setting ➁ below), clear the interrupt enable bit (timer X or CNTR 0) to “0”. •After setting ➃ below, clear the interrupt request bit (timer X or CNTR 0) to “0” and next set the interrupt enable bit (timer X or CNTR 0) to “1” (interrupt enabled). •Set ➄ last. (2/5) M380-17-9910 Corrections and Supplementary Explanation for “3822 Group User’s Manuals” No.2 Rev. Page P2-67 B (1) Timer X ■ Event counter mode Fig. 2.3.24 B B Contents Previous change [Notes on use] Notes 1: For using interrupt processing, set the following: •Before setting ➀ below, clear the interrupt enable bits (timer X or CNTR 0) and the interrupt request bits (timer X or CNTR 0 ) to “0”. •After setting ➄ below, set the interrupt enable bits (timer X or CNTR 0) to “1” (interrupts enabled). After change [Notes on use] Notes 1: For using interrupt processing, set the following: •Before timer X stops counting (before setting ➁ below), clear the interrupt enable bit (timer X or CNTR 0) to “0”. •After setting ➃ below, clear the interrupt request bit (timer X or CNTR 0 ) to “0” and next set the interrupt enable bit (timer X or CNTR 0 ) to “1” (interrupt enabled). •Set ➄ last. P2-68 Previous change (1) Timer X [Notes on use] ■ Pulse width measurement Notes 1: For using interrupt processing, set the following: mode •Before setting ➀ below, clear the interrupt enable bits Fig. 2.3.25 (timer X or CNTR 0) and the interrupt request bits (timer X or CNTR 0 ) to “0”. •After setting ➄ below, set the interrupt enable bits (timer X or CNTR 0) to “1” (interrupts enabled). After change [Notes on use] Notes 1: For using interrupt processing, set the following: •Before timer X stops counting (before setting ➁ below), clear the interrupt enable bit (timer X or CNTR 0) to “0”. •After setting ➃ below, clear the interrupt request bit (timer X or CNTR 0 ) to “0” and next set the interrupt enable bit (timer X or CNTR 0 ) to “1” (interrupt enabled). •Set ➄ last. P2-70 Previous change (2) Timer Y [Notes on use] ■ Timer mode Notes 1: For using interrupt processing, set the following: Fig. 2.3.27 •Before setting ➀ below, clear the timer Y interrupt enable bit and the timer Y interrupt request bit to “0”. •After setting ➃ below, set the timer Y interrupt enable bit to “1” (interrupts enabled). After change [Notes on use] Notes 1: For using interrupt processing, set the following: •Before timer Y stops counting (before setting ➀ below), clear the timer Y interrupt enable bit to “0”. •After setting ➂ below, clear the timer Y interrupt request bit to “0” and next set the timer Y interrupt enable bit to “1” (interrupt enabled). •Set ➃ last. (3/5) M380-17-9910 Corrections and Supplementary Explanation for “3822 Group User’s Manuals” No.3 Page Rev. Contents Previous change B P2-71 [Notes on use] (2) Timer Y ■ Period measurement Notes 1: For using interrupt processing, set the following: •Before setting ➀ below, clear the interrupt enable bits (timer mode Y or CNTR1) and the interrupt request bits (timer Y or CNTR1) Fig. 2.3.28 to “0”. •After setting ➄ below, set the interrupt enable bits (timer Y or CNTR 1) to “1” (interrupts enabled). After change [Notes on use] Notes 1: For using interrupt processing, set the following: •Before timer Y stops counting (before setting ➁ below), clear the interrupt enable bit (timer Y or CNTR 1) to “0”. •After setting ➃ below, clear the interrupt request bit (timer Y or CNTR1) to “0” and next set the interrupt enable bit (timer Y or CNTR 1 ) to “1” (interrupt enabled). •Set ➄ last. Previous change B P2-72 [Notes on use] (2) Timer Y ■ Event counter mode Notes 1: For using interrupt processing, set the following: •Before setting ➀ below, clear the interrupt enable bits (timer Fig. 2.3.29 Y or CNTR1) and the interrupt request bits (timer Y or CNTR1) to “0”. •After setting ➄ below, set the interrupt enable bits (timer Y or CNTR 1) to “1” (interrupts enabled). After change [Notes on use] Notes 1: For using interrupt processing, set the following: •Before timer Y stops counting (before setting ➁ below), clear the interrupt enable bit (timer Y or CNTR 1) to “0”. •After setting ➃ below, clear the interrupt request bit (timer Y or CNTR1) to “0” and next set the interrupt enable bit (timer Y or CNTR 1 ) to “1” (interrupt enabled). •Set ➄ last. B P2-73 Previous change [Notes on use] (2) Timer Y ■ Pulse width HL con- Notes 1: For using interrupt processing, set the following: •Before setting ➀ below, clear the interrupt enable bits (timer tinuously measureY or CNTR1) and the interrupt request bits (timer Y or CNTR1) ment mode to “0”. Fig. 2.3.30 •After setting ➄ below, set the interrupt enable bits (timer Y or CNTR 1) to “1” (interrupts enabled). After change [Notes on use] Notes 1: For using interrupt processing, set the following: •Before timer Y stops counting (before setting ➁ below), clear the interrupt enable bit (timer Y or CNTR 1) to “0”. •After setting ➃ below, clear the interrupt request bit (timer Y or CNTR1) to “0” and next set the interrupt enable bit (timer Y or CNTR 1 ) to “1” (interrupt enabled). •Set ➄ last. (4/5) M380-17-9910 Corrections and Supplementary Explanation for “3822 Group User’s Manuals” No.4 Rev. A P2-148 line 18 Page Contents Error ■ Interrupt source selection bit ... Note: ... Correct (addition) Note 2: When an external trigger is selected, an ADT/A-D conversion interrupt may occur by switching the interrupt source selection bit from “1” to “0” or “0” to “1”. Before accepting an interrupt, set the interrupt request bit to “0” after disabling interrupts and setting the interrupt source selection bit. (5/5)