Freescale Semiconductor, Inc. 68HC05P4A Freescale Semiconductor, Inc... SPECIFICATION (General Release) December 27, 1995 CSIC MCU Design Group Oak Hill, Texas For More Information On This Product, Go to: www.freescale.com HC05P4AGRS/D REV 2.0 Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION TABLE OF CONTENTS Section Title Page Freescale Semiconductor, Inc... SECTION 1 GENERAL DESCRIPTION 1.1 1.2 1.3 1.4 1.5 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6 Features .......................................................................................................... 1-1 Mask Options .................................................................................................. 1-2 MCU Structure ................................................................................................ 1-3 Pin Assignments ............................................................................................. 1-4 Signal Description ........................................................................................... 1-4 VDD AND VSS ............................................................................................. 1-4 IRQ ............................................................................................................. 1-4 OSC1 and OSC2 .......................................................................................... -5 RESET ........................................................................................................ 1-5 TCMP .......................................................................................................... 1-5 PA0 through PA7 ........................................................................................ 1-5 SDO/PB5, SDI/PB6, and SCK/PB7 ............................................................ 1-6 PC0 through PC7 ........................................................................................ 1-6 PD5 and TCAP/PD7 ................................................................................... 1-6 Input/Output Programming .............................................................................. 1-6 SECTION 2 MEMORY 2.1 2.2 2.3 ROM ................................................................................................................ 2-3 ROM Security Feature .................................................................................... 2-3 RAM ................................................................................................................ 2-3 SECTION 3 CENTRAL PROCESSING UNIT 3.1 Accumulator (A) .............................................................................................. 3-1 Rev. 2.0 iii For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION TABLE OF CONTENTS Section Title Page SECTION 4 INTERRUPTS Freescale Semiconductor, Inc... 4.1 4.2 4.3 4.4 4.5 Hardware Controlled Interrupt Sequence ........................................................ 4-2 Timer Interrupt ................................................................................................. 4-3 External Interrupt ............................................................................................. 4-4 Optional External Interrupts (PA0-PA7) ........................................................... 4-6 Software Interrupt (SWI) ................................................................................. 4-6 SECTION 5 RESETS 5.1 5.2 5.3 Power-On Reset (POR) .................................................................................. 5-1 RESET Pin ...................................................................................................... 5-1 Computer Operating Properly (COP) Reset .................................................... 5-1 SECTION 6 LOW POWER MODES 6.1 6.2 6.3 6.2 STOP Instruction.............................................................................................. 6-1 Stop Mode ....................................................................................................... 6-1 Halt Mode......................................................................................................... 6-2 WAIT Instruction............................................................................................... 6-2 SECTION 7 SIMPLE SERIAL INPUT/OUTPUT PORT 7.1 Signal Format .................................................................................................. 7-1 7.1.1 Serial Clock (SCK) ...................................................................................... 7-1 7.1.2 Serial Data Out (SDO) ................................................................................ 7-2 iv Rev. 2.0 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION TABLE OF CONTENTS Section 8.6 8.7 Title Page Timer During Wait Mode ................................................................................. 8-7 Timer During Stop Mode ................................................................................. 8-7 SECTION 9 COMPUTER OPERATING PROPERLY (COP) Freescale Semiconductor, Inc... 9.1 9.2 9.3 Resetting The COP ......................................................................................... 9-1 COP During Wait Mode ................................................................................... 9-1 COP During Stop Mode .................................................................................. 9-1 SECTION 10 SELF-CHECK MODE SECTION 11 INSTRUCTION SET 11.1 Addressing Modes ........................................................................................ 11-1 11.1.1 Inherent ..................................................................................................... 11-1 11.1.2 Immediate ................................................................................................. 11-2 11.1.3 Direct ........................................................................................................ 11-2 11.1.4 Extended ................................................................................................... 11-2 11.1.5 Indexed, No Offset .................................................................................... 11-2 11.1.6 Indexed, 8-Bit Offset ................................................................................. 11-2 11.1.7 Indexed, 16-Bit Offset ............................................................................... 11-3 11.1.8 Relative ..................................................................................................... 11-3 11.2 Instruction Types ........................................................................................... 11-4 11.2.1 Register/Memory Instructions ................................................................... 11-4 11.2.3 Read-Modify-Write Instructions ................................................................ 11-5 Rev. 2.0 v For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION TABLE OF CONTENTS Section Title Page SECTION 13 MECHANICAL SPECIFICATIONS 13.1 13.2 28-Pin Plastic Dual In-Line Package (Case 710-02) ..................................... 13-1 28-Pin Small Outline Integrated Circuit Package (Case 751F-04) ................ 13-2 Freescale Semiconductor, Inc... SECTION 14 ORDERING INFORMATION 14.1 14.2 14.3 14.4 MCU Ordering Forms .................................................................................... 14-1 Application Program Media ........................................................................... 14-2 ROM Program Verification ............................................................................ 14-3 ROM Verification Units (RVUs) ..................................................................... 14-3 vi Rev. 2.0 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION LIST OF FIGURES Freescale Semiconductor, Inc... Figure Title Page 1-1 1-2 1-3 1-4 Block Diagram ........................................................................................... 1-3 Pin Assignments ........................................................................................ 1-4 Port A Pullup Option .................................................................................. 1-5 I/O Circuitry ................................................................................................ 1-7 2-1 2-2 Memory Map .............................................................................................. 2-1 I/O Registers for the MC68HC05P4A ........................................................ 2-2 4-1 4-2 Hardware Interrupt Flowchart .................................................................... 4-3 IRQ Function Block Diagram ...................................................................... 4-4 5-1 Power-On Reset and RESET .................................................................... 5-2 6-1 STOP/WAIT Flowcharts ............................................................................. 6-3 7-1 7-2 7-3 7-4 7-5 SIOP Block Diagram .................................................................................. 7-1 Serial I/O Port Timing ................................................................................ 7-2 SIOP Control Register ............................................................................... 7-3 SIOP Status Register ................................................................................. 7-4 SIOP Data Register ................................................................................... 7-5 8-1 8-2 8-3 Timer Block Diagram ................................................................................. 8-2 Timer Control Register ............................................................................... 8-5 Timer Status Register ................................................................................ 8-6 10-1 Self-Check Circuit .................................................................................... 10-2 12-1 12-2 SIOP Timing Diagram .............................................................................. 12-4 STOP Recovery Timing ........................................................................... 12-7 Rev. 2.0 vii For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. Freescale Semiconductor, Inc... GENERAL RELEASE SPECIFICATION viii Rev. 2.0 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION LIST OF TABLES Table Title Page 1-1 I/O Pin Functions ............................................................................................. 1-7 4-1 Vector Address for Interrupts and Reset ......................................................... 4-2 Freescale Semiconductor, Inc... 10-1 Self-Check Results ........................................................................................ 10-1 11-1 11-2 11-3 11-4 11-5 11-6 11-7 Register/Memory Instructions ....................................................................... 11-4 Read-Modify-Write Instructions ..................................................................... 11-5 Jump and Branch Instructions ....................................................................... 11-6 Bit Manipulation Instructions ......................................................................... 11-7 Control Instructions ....................................................................................... 11-7 Instruction Set Summary ............................................................................... 11-8 Opcode Map ................................................................................................ 11-14 12-1 12-2 12-3 12-4 12-5 12-6 DC Electrical Characteristics (VDD = 5 V) ..................................................... 12-2 DC Electrical Characteristics (VDD = 3.3 V) .................................................. 12-3 SIOP Timing (VDD = 5 V) .............................................................................. 12-5 SIOP Timing (VDD = 3.3 V) ........................................................................... 12-5 Control Timing (VDD = 5 V) ........................................................................... 12-6 Control Timing (VDD = 3.3 V) ........................................................................ 12-6 Rev. 2.0 ix For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. Freescale Semiconductor, Inc... GENERAL RELEASE SPECIFICATION x Rev. 2.0 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION Freescale Semiconductor, Inc... SECTION 1 GENERAL DESCRIPTION The MC68HC05P4A is a 28-pin device based on the MC68HC05P4. The memory map includes 4160 bytes of user ROM and 176 bytes of RAM. The MCU has two 8-bit input/output (I/O) ports, A and C. Port B has three I/O pins and port D has two pins, one that is I/O and the other input only. The MC68HC05P4A includes a simple serial I/O peripheral (SIOP) and an on-chip mask programmable computer operating properly (COP) watchdog circuit. 1.1 Features • Low Cost • HC05 Core • 28-Pin Package • On-Chip Oscillator with RC or Crystal/Ceramic Resonator Mask Options • 4160 Bytes of User ROM Including 16 User Vector Locations • ROM Security Feature • 176 Bytes of On-Chip RAM • 16-Bit Timer Rev. 2.0 1-1 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 1.2 • Edge-Sensitive or Edge- and Level-Sensitive Interrupt Trigger Mask Option • Simple Serial Input/Output Port • Mask Option Selectable Watchdog Timer (COP) Mask Options Freescale Semiconductor, Inc... There are 13 mask options on the MC68HC05P4A: • CLOCK (RC or Crystal) • IRQ (Edge-Sensitive Only or Edge- and Level-Sensitive) • SIOP (MSB or LSB First) • COP Watchdog Timer (Enable/Disable) • Keyscan Pullups and Interrupts on Port A (Enable/Disable by Pin). • Stop Instruction (Option to Convert to Halt) All mask options and the user ROM are programmed on the 01 layer in fabrication. NOTE Negative true signals like RESET and IRQ will be denoted with an overline. 1-2 Rev. 2.0 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 1.3 MCU Structure Figure 1-1 shows the structure of the MC68HC05P4A. OSC1 OSC2 TCMP TIMER SYSTEM INTERNAL PROCESSOR CLOCK OSCILLATOR AND DIVIDE BY 2 COP SYSTEM Freescale Semiconductor, Inc... RESET IRQ TCAP/PD7 PORT D I/O PD5 LINES PORT DATA D REG DIR REG PC0 PC1 PA0 ACCUMULATOR PA1 PORT A I/O LINES PORT DATA A REG DIR REG PA2 CPU CONTROL DATA PORT DIR REG C REG PC3 INDEX REGISTER PC4 PA3 CONDITION CODE REGISTER PA4 PA5 PORT C I/O LINES PC5 CPU PC6 PC7 STACK POINTER PA6 PC2 PA7 PORT B I/O SIOP LINES SDO/PB5 SDI/PB6 PORT B DATA REG DIR REG PROGRAM COUNTER HIGH PROGRAM COUNTER LOW ALU SCK/PB7 Rev. 2.0 1-3 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 1.4 Pin Assignments Freescale Semiconductor, Inc... The MC68HC05P4A pin assignments are shown in Figure 1-2.. RESET 1 28 VDD IRQ 2 OSC1 PA7 3 27 26 PA6 4 25 TCAP/PD7 PA5 5 24 TCMP PA4 6 23 PA3 7 22 PD5 PC0 PA2 8 21 PC1 PA1 9 PC2 PA0 10 20 19 SDO/PB5 11 18 PC4 SDI/PB6 12 17 PC5 SCK/PB7 13 16 PC6 VSS 14 15 PC7 OSC2 PC3 Figure 1-2. Pin Assignments 1.5 Signal Description The following paragraphs provide a description of the signals. 1-4 Rev. 2.0 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 1.5.3 OSC1 and OSC2 These pins provide control input for an on-chip clock oscillator circuit. A crystal, a ceramic resonator, a resistor/capacitor combination, or an external signal connects to these pins and provides a system clock. A mask option selects either a crystal/ceramic resonator or a resistor/capacitor as the frequency determining element. The oscillator frequency is two times the internal bus rate. Freescale Semiconductor, Inc... 1.5.4 RESET This active low pin is used to reset the MCU to a known start-up state by pulling RESET low. The RESET pin contains an internal Schmitt trigger as part of its input to improve noise immunity. 1.5.5 TCMP This pin provides an output for the output compare feature of the on-chip timer system. 1.5.6 PA0 through PA7 Port A is an 8-bit bidirectional port which does not share any of its pins with other subsystems. The port A data register is at $0000, and the data direction register is at $0004. Reset does not affect the data registers, but clears the data direction registers, thereby returning the ports to inputs. Writing a one to a DDR bit sets the corresponding port bit to output mode. Port A has mask option enabled pullup devices and interrupt capability by pin. For a detailed description of I/O programming, refer to 1.6 Input/Output Programming. Rev. 2.0 1-5 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 1.5.7 SDO/PB5, SDI/PB6, and SCK/PB7 Port B is a 3-bit bidirectional port. These pins are shared with the SIOP subsystem. Refer to SECTION 7 SIMPLE SERIAL INPUT/OUTPUT PORT for a detailed description of the SIOP. The address of the port B data register is $0001 and the data direction register is at address $0005. Reset does not affect the data registers, but clears the data direction registers, thereby returning the ports to inputs. Writing a one to a DDR bit sets the corresponding port bit to output mode. Freescale Semiconductor, Inc... 1.5.8 PC0 through PC7 Port C is an 8-bit bidirectional port which does not share any of its pins with other subsystems. The address of the port C data register is $0002 and the data direction register is at address $0006. Reset does not affect the data registers, but clears the data direction registers, thereby returning the ports to inputs. Writing a one to a DDR bit sets the corresponding port bit to output mode. Two of the port C pins, PC0 and PC1, have a higher current drive capability. See SECTION 12 ELECTRICAL SPECIFICATIONS. 1.5.9 PD5 and TCAP/PD7 Port D is a 2-bit port. PD5 is I/O and TCAP/PD7 is input-only shared with the timer input capture. The address of the port D data register is $0003 and the data direction register is at address $0007. Reset does not affect the data registers, but clears the data direction registers, thereby returning the ports to inputs. Writing a one to a DDR bit sets the corresponding port bit to output mode. The TCAP/PD7 pin controls the input capture feature for the on-chip programmable timer. This pin can be read at any time even if the TCAP function is enabled. 1.6 Input/Output Programming 1-6 Rev. 2.0 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION Table 1-1. I/O Pin Functions R/W DDR I/O Pin Function 0 0 The I/O pin is in input mode. Data is written into the output data latch. 0 1 Data is written into the output data latch and output to the I/O pin. 1 0 The state of the I/O pin is read. 1 1 The I/O pin is in an output mode. The output data latch is read. Freescale Semiconductor, Inc... R/W is an internal signal. Data Direction Register Bit Internal HC05 Connections Latched Output Data Bit Output I/O Pin Input Reg Bit Input I/O Rev. 2.0 1-7 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. Freescale Semiconductor, Inc... GENERAL RELEASE SPECIFICATION 1-8 Rev. 2.0 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION SECTION 2 MEMORY Freescale Semiconductor, Inc... The MC68HC05P4A has a 8 Kbyte memory map, consisting of user ROM, user RAM, self-check ROM, and I/O. See Figure 2-1 and Figure 2-2. $0000 I/O 32 Bytes 0000 $0020 User ROM (Page Zero) 48 Bytes 0032 $0050 0080 RAM 176 Bytes ↑ Stack 64 Bytes $0100 0256 User ROM 4096 Bytes $1100 4352 Rev. 2.0 2-1 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION ADDRESS $0000 to $001F DATA 7 6 5 4 3 2 1 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 SPE MSTR IEDG OLVL $00 PORT A DATA $01 PORT B DATA $02 PORT C DATA $03 PORT D DATA 0 $04 PORT A DDR $05 PORT B DDR Freescale Semiconductor, Inc... $06 PORT C DDR $07 PORT D DDR 0 $08 UNUSED $09 UNUSED $0A SERIAL CTRL $0B SERIAL STAT SPF DCOL $12 TIMER CONTROL ICIE OCIE TOIE $13 TIMER STATUS ICF OCF TOF $0C SERIAL DATA $0D UNUSED $0E UNUSED $0F UNUSED $10 UNUSED $11 UNUSED $14 CAPTURE HIGH $15 CAPTURE LOW 2-2 Rev. 2.0 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 2.1 ROM The user ROM consists of 48 bytes of page zero ROM from $0020 to $004F, 4096 bytes of ROM from $0100 to $10FF, and 16 bytes of user vectors from $1FF0 to $1FFF. The self-check ROM and vectors are located from $1F00 to $1FEF. 2.2 ROM Security Feature Freescale Semiconductor, Inc... A security feature has been incorporated into the MC68HC05P4A to help prevent external reading of code in the ROM. Placing unique customer code at ROM locations $0028-$002F aids in keeping customer developed software proprietary. 2.3 RAM The user RAM consists of 176 bytes of a shared stack area. The stack begins at address $00FF. The stack pointer can access 64 bytes of RAM in the range $00FF to $00C0. NOTE Using the stack area for data storage or temporary work locations requires care to prevent it from being overwritten due to stacking from an interrupt or subroutine call. Rev. 2.0 2-3 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. Freescale Semiconductor, Inc... GENERAL RELEASE SPECIFICATION 2-4 Rev. 2.0 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION SECTION 3 CENTRAL PROCESSING UNIT Freescale Semiconductor, Inc... This section describes the five CPU registers. CPU registers are not part of the memory map. 3.1 Accumulator (A) The accumulator is a general purpose 8-bit register used to hold operands and results of arithmetic calculations or data manipulations. 7 0 A 3.2 Index Register (X) The index register is an 8-bit register used for the indexed addressing value to create an effective address. The index register also may be used as a temporary storage area. 7 0 X 3.3 Condition Code Register (CCR) Rev. 2.0 3-1 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 3.3.2 I — Interrupt When this bit is set, timer and external interrupts are masked (disabled). If an interrupt occurs while this bit is set, the interrupt is latched and processed as soon as the interrupt bit is cleared. 3.3.3 N — Negative Freescale Semiconductor, Inc... When set, this bit indicates that the result of the last arithmetic, logical, or data manipulation was negative. 3.3.4 Z — Zero When set, this bit indicates that the result of the last arithmetic, logical, or data manipulation was zero. 3.3.5 C — Carry/Borrow When set, this bit indicates that a carry or borrow out of the arithmetic logical unit (ALU) occurred during the last arithmetic operation. This bit is also affected during bit test and branch instructions and during shifts and rotates. 3.4 Stack Pointer (SP) The stack pointer contains the address of the next free location on the stack. During an MCU reset or the reset stack pointer (RSP) instruction, the stack pointer is set to location $00FF. The stack pointer is then decremented as data is pushed onto the stack and incremented as data is pulled from the stack. When accessing memory, the seven most significant bits are permanently set to 3-2 Rev. 2.0 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 3.5 Program Counter (PC) The program counter is a 13-bit register that contains the address of the next byte to be fetched. 12 0 PC Freescale Semiconductor, Inc... NOTE The HC05 CPU core is capable of addressing a 64 Kbyte memory map. For this implementation, however, the addressing registers are limited to an 8 Kbyte memory map. Rev. 2.0 3-3 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. Freescale Semiconductor, Inc... GENERAL RELEASE SPECIFICATION 3-4 Rev. 2.0 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION SECTION 4 INTERRUPTS Freescale Semiconductor, Inc... The MCU can be interrupted four different ways: the two maskable hardware interrupts (IRQ and timer), the non-maskable software interrupt instruction (SWI), and by the optional external asynchronous interrupt on each port A pin (enabled by pullup mask option). Interrupts cause the processor to save register contents on the stack and to set the interrupt mask (I bit) to prevent additional interrupts. The RTI instruction causes the register contents to be recovered from the stack and normal processing to resume. Unlike RESET, hardware interrupts do not cause the current instruction execution to be halted, but are considered pending until the current instruction is complete. NOTE The current instruction is the one already fetched and being operated on. When the current instruction is complete, the processor checks all pending hardware interrupts. If interrupts are not masked (CCR I bit clear) and if the Rev. 2.0 4-1 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION Freescale Semiconductor, Inc... Table 4-1. Vector Address for Interrupts and Reset 4.1 Register Flag Name Interrupts CPU Interrupt Vector Address N/A N/A Reset RESET $1FFE-$1FFF N/A N/A Software SWI $1FFC-$1FFD N/A N/A External Interrupt IRQ $1FFA-$1FFB TSR ICF Timer Input Capture TIMER $1FF8-$1FF9 TSR OCF Timer Output Capture TIMER $1FF8-$1FF9 TSR TOF Timer Overflow TIMER $1FF8-$1FF9 Hardware Controlled Interrupt Sequence The following three functions (RESET, STOP, and WAIT) are not interrupts in the strictest sense. However, they are acted upon in a similar manner. Flowcharts for hardware interrupts are shown in Figure 4-1, and for STOP and WAIT in Figure 61. A discussion is provided below. 1. RESET — A low input on the RESET input pin causes the program to vector to its starting address, which is specified by the contents of memory locations $1FFE and $1FFF. The I bit in the condition code register also is set. Much of the MCU is configured to a known state during this type of reset as described in SECTION 5 RESETS. 2. STOP — The STOP instruction causes the oscillator to be turned off and the processor to "sleep" until an external interrupt (IRQ) or reset occurs.See 6.1 Stop Mode. 3. WAIT or HALT — The WAIT or HALT instruction causes all processor clocks to stop, but leaves the timer clock running. This rest state of the 4-2 Rev. 2.0 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION From RESET Y Is I Bit Set N Freescale Semiconductor, Inc... IRQ External Interrupt Y Clear IRQ Request Latch N Timer Internal Interrupt N Fetch Next Instruction Execute Instruction Y Stack PC, X, A, CC Set I Bit Load PC From: IRQ: $1FFA-$1FFB Timer: $1FF8-$1FF9 Complete Interrupt Routine Rev. 2.0 4-3 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 4.3 External Interrupt The IRQ pin drives an asynchronous interrupt to the CPU. An edge detector flipflop is latched on the falling edge of IRQ. If either the output from the internal edge detector flip-flops or the level on the IRQ pin is low, a request is synchronized to the CPU to generate the IRQ interrupt. If the edge-sensitive only mask 0ption is selected, the output of the internal edge detector flip-flop is sampled and the input level on the IRQ pin is ignored. The interrupt service routine address is specified by the contents of memory locations $1FFA and $1FFB. A block diagram of the IRQ function is shown in Figure 4-2. Freescale Semiconductor, Inc... NOTE The internal interrupt latch is cleared nine PH2 clock cycles after the interrupt is recognized (after location $1FFA is read). Therefore, another external interrupt pulse can be latched during the IRQ service routine. NOTE When the edge- and level-sensitive mask option is selected, the voltage applied to the IRQ pin must return to the high state before the RTI instruction in the interrupt service routine is executed to avoid the processor re-entering the IRQ service routine. IRQ PIN TO BIH & BIL INSTRUCTION SENSING PA0 DDRA0 4-4 Rev. 2.0 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION The IRQ pin is one source of an IRQ interrupt and a mask option can also enable the port A pins (PA0 thru PA7) to act as other IRQ interrupt sources. These sources are all combined into a single ORing function to be latched by the IRQ latch. Freescale Semiconductor, Inc... Any enabled IRQ interrupt source sets the IRQ latch on the falling edge of the IRQ pin or a port A pin if port A interrupts have been enabled. If edge-only sensitivity is chosen by a mask option, only the IRQ latch output can activate a request to the CPU to generate the IRQ interrupt sequence. This makes the IRQ interrupt sensitive to the following cases: 1. Falling edge on the IRQ pin with all enabled port A interrupt pins at a high level. 2. Falling edge on any enabled port A interrupt pin with all other enabled port A interrupt pins and the IRQ pin at a high level. If level sensitivity is chosen, the active high state of the IRQ input can also activate an IRQ request to the CPU to generate the IRQ interrupt sequence. This makes the IRQ interrupt sensitive to the following cases: 1. Low level on the IRQ pin. 2. Falling edge on the IRQ pin with all enabled port A interrupt pins at a high level. 3. Low level on any enabled port A interrupt pin. 4. Falling edge on any enabled port A interrupt pin with all enabled port A interrupt pins on the IRQ pin at a high level. This interrupt is serviced by the interrupt service routine located at the address specified by the contents of $1FFA and $1FFB. The IRQ latch is automatically Rev. 2.0 4-5 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 4.4 Optional External Interrupts (PA0-PA7) The IRQ interrupt can be triggered by the inputs on the PA0 thru PA7 port pins if enabled by individual mask options. With pullup enabled, each port A pin can activate the IRQ interrupt function and the interrupt operation will be the same as for inputs to the IRQ pin. Once enabled by mask option, each individual port A pin can be disabled as an interrupt source if its corresponding DDR bit is configured for output mode. Freescale Semiconductor, Inc... NOTE The BIH and BIL instructions apply to the output of the logic OR function of the enabled PA0 thru PA7 interrupt pins and the IRQ pin. The BIH and BIL instructions to do not exclusively test the state of the IRQ pin. NOTE If enabled, the PA0 thru PA7 pins will cause an IRQ interrupt only if these individual pins are configured as inputs. 4.5 Software Interrupt (SWI) The SWI is an executable instruction and a non-maskable interrupt. It is executed regardless of the state of the I bit in the CCR. If the I bit is zero (interrupts enabled), SWI executes after interrupts which were pending when the SWI was fetched but before interrupts generated after the SWI was fetched. The interrupt service routine address is specified by the contents of memory locations $1FFC and $1FFD. 4-6 Rev. 2.0 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION SECTION 5 RESETS Freescale Semiconductor, Inc... The MCU can be reset three ways: by the initial power-on reset function, by an active low input to the RESET pin, and by a computer operating properly (COP) watchdog-timer timeout. 5.1 Power-On Reset (POR) An internal reset is generated on power-up to allow the internal clock generator to stabilize. The power-on reset is strictly for power turn-on conditions and should not be used to detect a drop in the power supply voltage. There is a 4064 internal processor clock cycle (tcyc) oscillator stabilization delay after the oscillator becomes active. If the RESET pin is low at the end of this 4064cycle delay, the MCU will remain in the reset condition until RESET goes high. 5.2 RESET Pin The MCU is reset when a logic zero is applied to the RESET input for a period of one and one-half machine cycles (tcyc). 5.3 Computer Operating Properly (COP) Reset The MCU contains a watchdog timer that automatically times out if not reset Rev. 2.0 5-1 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION t V V DD OSC1 DD VDDR Threshold (1-2 V Typical) 2 t OXOV 4064 t cyc Freescale Semiconductor, Inc... t cyc Internal 1 Clock Internal Address 1 Bus 1FFE 1FFF New PC Internal Data 1 Bus New PCH New PCL Op Code 1FFE t RESET 1FFE 1FFE 1FFE 1FFF New PC PCH PCL PCL Op PCH Code RL 3 NOTES: 1. Internal timing signal and bus information not available externally. 2. OSC1 line is not meant to represent frequency. It is only used to represent time. 3. The next rising edge of the internal processor clock following the rising edge of RESET initiates the reset sequence. Figure 5-1. Power-On Reset and RESET 5-2 Rev. 2.0 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION Freescale Semiconductor, Inc... SECTION 6 LOW POWER MODES The MC68HC05P4A is capable of running in a low-power mode in each of its configurations. The WAIT and STOP instructions provide two modes that reduce the power required for the MCU by stopping various internal clocks and/or the onchip oscillator. The STOP and WAIT instructions are not normally used if the COP watchdog timer is enabled. The stop conversion mask option is used to modify the behavior of the STOP instruction from stop mode to halt mode. The flow of the stop, halt, and wait modes is shown in Figure 6-1. 6.1 STOP Instruction The STOP instruction can result in one of two modes of operation, depending on the stop conversion mask option. If the stop conversion is not chosen, the STOP instruction will behave like a normal STOP instruction in the MC68HC05 Family and place the MCU in the stop mode. If the stop conversion is chosen, the STOP instruction will behave like a WAIT instruction (with the exception of a variable delay at startup) and place the MCU in the halt mode. 6.1.1 Stop Mode Execution of the STOP instruction without conversion to halt places the MCU in its lowest power consumption mode. In the stop mode the internal oscillator is turned off, halting all internal processing, including the COP watchdog timer. Execution of the STOP instruction automatically clears the I bit in the condition code register Rev. 2.0 6-1 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 6.1.2 Halt Mode Execution of the STOP instruction with the conversion to halt places the MCU in this low-power mode. Halt mode consumes the same amount of power as wait mode. (Both halt and wait modes consume more power than stop mode.) Freescale Semiconductor, Inc... In halt mode the PH2 clock is halted, suspending all processor and internal bus activity. Internal timer clocks remain active, permitting interrupts to be generated from the 16-bit timer or a reset to be generated from the COP watchdog timer. Execution of the STOP instruction automatically clears the I bit in the condition code register enabling the IRQ external interrupt. All other registers, memory, and input/output lines remain in their previous states. If the 16-bit timer interrupt is enabled, the processor will exit the halt mode and resume normal operation. The halt mode can also be exited when an IRQ external interrupt or external RESET occurs. When exiting the halt mode, the PH2 clock will resume after a delay of one to 4064 PH2 clock cycles. This varied delay time is the result of the halt mode exit circuitry testing the oscillator stabilization delay timer (a feature of the stop mode), which has been free-running (a feature of the wait mode). NOTE The halt mode is not intended for normal use. This feature is provided to keep the COP watchdog timer active in the event a STOP instruction is inadvertently executed. 6.2 WAIT Instruction The WAIT instruction places the MCU in a low-power mode, which consumes more power than the stop mode. In wait mode, the PH2 clock is halted, 6-2 Rev. 2.0 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION STOP STOP TO HALT MASK HALT EXTERNAL OSCILLATOR ACTIVE AND INTERNAL TIMER CLOCK ACTIVE Y N STOP INTERNAL PROCESSOR CLOCK, CLEAR I-BIT IN CCR STOP EXTERNAL OSCILLATOR, STOP INTERNAL TIMER CLOCK, RESET STARTUP DELAY Freescale Semiconductor, Inc... WAIT STOP INTERNAL PROCESSOR CLOCK, CLEAR I-BIT IN CCR Y EXTERNAL RESET? EXTERNAL OSCILLATOR ACTIVE AND INTERNAL TIMER CLOCK ACTIVE STOP INTERNAL PROCESSOR CLOCK, CLEAR I-BIT IN CCR N EXTERNAL RESET? Y Y IRQ EXTERNAL INTERRUPT? N IRQ EXTERNAL INTERRUPT? N Y N N Y Y TIMER INTERNAL INTERRUPT? RESTART EXTERNAL OSCILLATOR, RESTART STABILIZATION DELAY END OF STABILIZATION DELAY? Y COP INTERNAL RESET? Y Y RESTART INTERNAL PROCESSOR CLOCK Rev. 2.0 TIMER INTERNAL INTERRUPT? N N N IRQ EXTERNAL INTERRUPT? N N Y EXTERNAL RESET? Y COP INTERNAL RESET? N 6-3 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. Freescale Semiconductor, Inc... GENERAL RELEASE SPECIFICATION 6-4 Rev. 2.0 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION SECTION 7 SIMPLE SERIAL INPUT/OUTPUT PORT Freescale Semiconductor, Inc... This device includes a simple synchronous serial I/O port. The SIOP is a three wire master/slave system including serial clock (SCK), serial data input (SDI), and serial data output (SDO). A mask programmable option determines whether the SIOP is MSB or LSB first. RESET R Q D C SDO SCK 8-BIT SHIFT REGISTER SDI MSB/LSB MASK OPTION DATA BUS Figure 7-1. SIOP Block Diagram 7.1 Signal Format The following paragraphs describe the SIOP signal format. Rev. 2.0 7-1 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION In master mode, the format is identical except that the SCK pin is an output and the shift clock now originates internally. The master mode transmission frequency is fixed at E/4. Freescale Semiconductor, Inc... 7.1.2 Serial Data Out (SDO) A mask programmable option will be included to allow data to be transmitted in either MSB first format or LSB first format. In either case, the state of the SDO pin always will reflect the value of the first bit received on the previous transmission if there was one. Prior to enabling the SIOP, PB5 can be initialized to determine the beginning state if necessary. While the SIOP is enabled, PB5 can not be used as a standard output since that pin is coupled to the last stage of the serial shift register. On the first falling edge of SCK, the first data bit to be shifted out is presented to the output pin. 7.1.3 Serial Data In (SDI) The SDI pin becomes an input as soon as the SIOP is enabled. New data may be presented to the SDI pin on the falling edge of SCK. Valid data must be present at least 100 ns before the rising edge of the clock and remain valid for 100 ns after the edge. SCK SDO SDI BIT 1 BIT 2 BIT 3 BIT 7 BIT 8 BIT 1 BIT 2 BIT 3 BIT 7 BIT 8 7-2 Rev. 2.0 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 7.2 SIOP Registers The following paragraphs describe the SIOP registers. 7.2.1 SIOP Control Register (SCR) Freescale Semiconductor, Inc... This register is located at address $000A and contains two bits. $0A 0 SPE 0 MSTR 0 0 0 0 RESET: 0 0 0 0 0 0 0 0 Figure 7-3. SIOP Control Register SPE — Serial Peripheral Enable When set, this bit enables the serial I/O port and initializes the port B DDR such that PB5 (SDO) is output, PB6 (SDI) is input and PB7 (SCK) is input (slave mode only). The port B DDR can be altered subsequently as the application requires and the port B data register (except for PB5) can be manipulated as usual. However, these actions could affect the transmitted or received data. When SPE is cleared, port B reverts to standard parallel I/O without affecting the port B data register or DDR. SPE is readable and writable any time but clearing SPE while a transmission is in progress will abort the transmission, reset the bit counter, and return port B to its normal I/O function. Reset clears this bit. MSTR — Master Mode When set, this bit configures the SIOP for master mode. This means that the transmission is initiated by a write to the data register and the SCK pin becomes an output providing a synchronous data clock at a fixed rate of E (bus clock) divided by four. While the device is in master mode, the SDO and SDI Rev. 2.0 7-3 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 7.2.2 SIOP Status Register (SSR) This register is located at address $000B and contains only two bits. $0B RESET: SPIF DCOL 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Figure 7-4. SIOP Status Register Freescale Semiconductor, Inc... SPIF — Serial Peripheral Interface Flag This bit is set upon occurrence of the last rising clock edge and indicates that a data transfer has taken place. It has no effect on any further transmissions and can be ignored without problem. SPIF is cleared by reading the SSR with SPIF set followed by a read or write of the serial data register. If it is cleared before the last edge of the next byte, it will be set again. Reset clears this bit. DCOL — Data Collision This is a read-only status bit which indicates that an invalid access to the data register has been made. This can occur any time after the first falling edge of SCK and before SPIF is set. A read or write of the data register during this time will result in invalid data being transmitted or received. DCOL is cleared by reading the status register with SPIF set followed by a read or write of the data register. If the last part of the clearing sequence is done after another transmission has been started, DCOL will be set again. If the DCOL bit is set and the SPIF is not set, clearing the DCOL requires turning the SIOP off then turning it back on. Reset also clears this bit. 7-4 Rev. 2.0 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 7.2.3 SIOP Data Register (SDR) This register is located at address $000C and is both the transmit and receive data register. This system is not double buffered and any write to this register will destroy the previous contents. The SDR can be read at any time, but if a transmission is in progress the results may be ambiguous. Writes to the SDR while a transmission is in progress can cause invalid data to be transmitted and/or received. This register can be read and written only when the SIOP is enabled (SPE=1). $0C Freescale Semiconductor, Inc... RESET: U U U U U U U U Figure 7-5. SIOP Data Register Rev. 2.0 7-5 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. Freescale Semiconductor, Inc... GENERAL RELEASE SPECIFICATION SIMPLE SERIAL INPUT/OUTPUT PORT 7-6 For More Information On This Product, Go to: www.freescale.com MC68HC05P4A Rev. 2.0 Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION Freescale Semiconductor, Inc... SECTION 8 TIMER The timer consists of a 16-bit, software-programmable counter driven by a fixed divide-by-four prescaler. This timer can be used for many purposes, including input waveform measurements while simultaneously generating an output waveform. Pulse widths can vary from several microseconds to many seconds. Refer to Figure 8-1 for a timer block diagram. Each specific functional segment (capability) is represented by two registers. These registers contain the high and low byte of that functional segment. Generally, accessing the low byte of a specific timer function allows full control of that function; however, an access of the high byte inhibits that specific timer function until the low byte also is accessed. NOTE The I bit in the CCR should be set while manipulating both the high and low byte register of a specific timer function to ensure that an interrupt does not occur. TIMER Rev. 2.0 8-1 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION Internal Bus High Byte Low Byte Internal Processor Clock 8-Bit Buffer /4 Freescale Semiconductor, Inc... $16 $17 Output Compare Register High Byte 16-Bit Free Running Counter $18 $19 Counter Alternate Register $1A $1B Overflow Detect Circuit Output Compare Circuit Timer Status Reg. Low Byte High Low Byte Byte Input Capture Register Edge Detect Circuit Output Level Reg. ICF OCF TOF $13 $14 $15 Timer Control ICIE OCIE TOIE IEDG OLVL Reg. $12 D Q CLK C RESET Output Edge Level Input (TCMP) (TCAP) Interrupt Circuit Figure 8-1. Timer Block Diagram 8.1 Counter The key element in the programmable timer is a 16-bit, free-running counter or counter register, preceded by a prescaler that divides the internal processor clock by four. The prescaler gives the timer a resolution of 2.0 microseconds if the internal bus clock is 2.0 MHz. The counter is incremented during the low portion of the internal bus clock. Software can read the counter at any time without affecting its value. The double-byte, free-running counter can be read from either of two locations, $18-$19 (counter register) or $1A-$1B (counter alternate register). A read from only the least significant byte (LSB) of the free-running counter ($19, $1B) receives the count value at the time of the read. If a read of the free-running counter or counter alternate register first addresses the most significant byte (MSB) ($18, $1A), the LSB ($19, $1B) is transferred to a buffer. This buffer value remains fixed after the first MSB read, even if the user reads the MSB several TIMER 8-2 For More Information On This Product, Go to: www.freescale.com MC68HC05P4A Rev. 2.0 Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION times. This buffer is accessed when reading the free-running counter or counter alternate register LSB ($19 or $1B) and, thus, completes a read sequence of the total counter value. In reading either the free-running counter or counter alternate register, if the MSB is read, the LSB also must be read to complete the sequence. Freescale Semiconductor, Inc... The counter alternate register differs from the counter register in one respect: Aread of the counter register MSB can clear the timer overflow flag (TOF). Therefore, the counter alternate register can be read at any time without the possibility of missing timer overflow interrupts due to clearing of the TOF. The free-running counter is configured to $FFFC during reset and is always a read-only register. During a power-on reset, the counter is also preset to $FFFC and begins running after the oscillator start-up delay. Because the free-running counter is 16 bits preceded by a fixed divided-by-four prescaler, the value in the free-running counter repeats every 262,144 internal bus clock cycles. When the counter rolls over from $FFFF to $0000, the TOF bit is set. An interrupt can also be enabled when counter rollover occurs by setting its interrupt enable bit (TOIE). 8.2 Output Compare Register The 16-bit output compare register is made up of two 8-bit registers at locations $16 (MSB) and $17 (LSB). The output compare register is used for several purposes, such as indicating when a period of time has elapsed. All bits are readable and writable and are not altered by the timer hardware or reset. If the compare function is not needed, the two bytes of the output compare register can be used as storage locations. The output compare register contents are compared with the contents of the freerunning counter continually, and if a match is found, the corresponding output compare flag (OCF) bit is set and the corresponding output level (OLVL) bit is clocked to an output level register. The output compare register values and the output level bit should be changed after each successful comparison to establish a new elapsed timeout. An interrupt can also accompany a successful output compare provided the corresponding interrupt enable bit (OCIE) is set. After a processor write cycle to the output compare register containing the MSB ($16), the output compare function is inhibited until the LSB ($17) is also written. The user must write both bytes (locations) if the MSB is written first. A write made only to the LSB ($17) will not inhibit the compare function. The free-running counter is updated every four internal bus clock cycles. The minimum time required to update the output compare register is a function of the program rather than the internal hardware. The processor can write to either byte of the output compare register without affecting the other byte. The output level (OLVL) bit is clocked to the output level register regardless of whether the output compare flag (OCF) is set or clear. TIMER Rev. 2.0 8-3 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 8.3 Input Capture Register Two 8-bit registers, which make up the 16-bit input capture register, are read-only and are used to latch the value of the free-running counter after the corresponding input capture edge detector senses a defined transition. The level transition which triggers the counter transfer is defined by the corresponding input edge bit (IEDG). Reset does not affect the contents of the input capture register. Freescale Semiconductor, Inc... The result obtained by an input capture will be one more than the value of the free-running counter on the rising edge of the internal bus clock preceding the external transition. This delay is required for internal synchronization. Resolution is one count of the free-running counter, which is four internal bus clock cycles. The free-running counter contents are transferred to the input capture register on each proper signal transition regardless of whether the input capture flag (ICF) is set or clear. The input capture register always contains the free-running counter value that corresponds to the most recent input capture. After a read of the input capture register ($14) MSB, the counter transfer is inhibited until the LSB ($15) is also read. This characteristic causes the time used in the input capture software routine and its interaction with the main program to determine the minimum pulse period. A read of the input capture register LSB ($15) does not inhibit the free-running counter transfer since they occur on opposite edges of the internal bus clock. TIMER 8-4 For More Information On This Product, Go to: www.freescale.com MC68HC05P4A Rev. 2.0 Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 8.4 Timer Control Register (TCR) $12 The TCR is a read/write register containing five control bits. Three bits control interrupts associated with the timer status register flags ICF, OCF, and TOF. $12 RESET: ICIE OCIE TOIE 0 0 0 IEDG OLVL 0 0 0 0 0 0 0 0 Freescale Semiconductor, Inc... Figure 8-2. Timer Control Register ICIE — Input Capture Interrupt Enable 1 = Interrupt enabled 0 = Interrupt disabled OCIE — Output Compare Interrupt Enable 1 = Interrupt enabled 0 = Interrupt disabled TOIE — Timer Overflow Interrupt Enable 1 = Interrupt enabled 0 = Interrupt disabled IEDG — Input Edge Value of input edge determines which level transition on TCAP pin will trigger free-running counter transfer to the input capture register 1 = Positive edge 0 = Negative edge Reset does not affect the IEDG bit (U=unaffected). OLVL — Output Level Value of output level is clocked into output level register by the next successful output compare and will appear on the TCMP pin 1 = High output 0 = Low output Bits 2, 3, and 4 — Not used Always read zero TIMER Rev. 2.0 8-5 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 8.5 Timer Status Register (TSR) $13 The TSR is a read-only register containing three status flag bits. $13 RESET: ICF OCF TOF 0 0 0 0 0 U U U 0 0 0 0 0 Figure 8-3. Timer Status Register Freescale Semiconductor, Inc... ICF — Input Capture Flag 1 = Flag set when selected polarity edge is sensed by input capture edge detector 0 = Flag cleared when TSR and input capture low register ($15) are accessed OCF — Output Compare Flag 1 = Flag set when output compare register contents match the freerunning counter contents 0 = Flag cleared when TSR and output compare low register ($17) are accessed TOF — Timer Overflow Flag 1 = Flag set when free-running counter transition from $FFFF to $0000 occurs 0 = Flag cleared when TSR and counter low register ($19) are accessed Bits 0-4 — Not used Always read zero Accessing the timer status register satisfies the first condition required to clear status bits. The remaining step is to access the register corresponding to the status bit. A problem can occur when using the timer overflow function and reading the freerunning counter at random times to measure an elapsed time. Without incorporating the proper precautions into software, the timer overflow flag could unintentionally be cleared if: 1. The timer status register is read or written when TOF is set, and 2. The LSB of the free-running counter is read but not for the purpose of servicing the flag. The counter alternate register at address $1A and $1B contains the same value as the free-running counter (at address $18 and $19); therefore, this alternate register can be read at any time without affecting the timer overflow flag in the timer status register. TIMER 8-6 For More Information On This Product, Go to: www.freescale.com MC68HC05P4A Rev. 2.0 Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 8.6 Timer During Wait or Halt Mode The CPU clock halts during the wait or halt mode, but the timer remains active. If interrupts are enabled, a timer interrupt will cause the processor to exit the wait mode. Freescale Semiconductor, Inc... 8.7 Timer During Stop Mode In the stop mode, the timer stops counting and holds the last count value if stop is exited by an interrupt. If RESET is used, the counter is forced to $FFFC. During stop, if at least one valid input capture edge occurs at the TCAP pin, the input capture detect circuit is armed. This does not set any timer flags wake up the MCU, but when the MCU does wake up, there is an active input capture flag and data from the first valid edge that occurred during the stop mode. If RESET is used to exit stop mode, then no input capture flag or data remains, even if a valid input capture edge occurred. TIMER Rev. 2.0 8-7 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. Freescale Semiconductor, Inc... GENERAL RELEASE SPECIFICATION TIMER 8-8 For More Information On This Product, Go to: www.freescale.com MC68HC05P4A Rev. 2.0 Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION Freescale Semiconductor, Inc... SECTION 9 COMPUTER OPERATING PROPERLY (COP) This device includes a watchdog COP feature as a mask option. The COP is implemented with an 18-bit ripple counter. This provides a timeout period of 64 milliseconds at a bus rate of 2 MHz. If the COP should timeout, a system reset will occur and the device will be re-initialized in the same fashion as a power-on reset (POR) or external reset. 9.1 Resetting The COP Preventing a COP reset is done by writing a zero to the COPR bit. This action will reset the counter and begin the timeout period again. The COPR bit is bit 0 of address $1FF0. A read of address $1FF0 will access the user-defined ROM data at that location. 9.2 COP During Wait or Halt Mode The COP will continue to operate normally during wait or halt mode. The software should pull the device out of wait or halt mode periodically and reset the COP by writing a logic zero to the COPR bit to prevent a COP reset. 9.3 COP During Stop Mode Stop mode disables the oscillator circuit and thereby turns the clock off for the entire device. The COP counter will be reset when stop mode is entered. If a reset is used to exit stop mode, the COP counter will be reset after the 4064 cycles of delay after stop mode. If an IRQ is used to exit stop mode, the COP counter will not be reset after the 4064-cycle delay and will have that many cycles already counted when control is returned to the program. NOTE The halt mode is not intended for normal use. This feature is provided to keep the COP watchdog timer active in the event a STOP instruction is inadvertently executed. COMPUTER OPERATING PROPERLY (COP) Rev. 2.0 9-1 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. Freescale Semiconductor, Inc... GENERAL RELEASE SPECIFICATION COMPUTER OPERATING PROPERLY (COP) 9-2 For More Information On This Product, Go to: www.freescale.com MC68HC05P4A Rev. 2.0 Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION SECTION 10 SELF-CHECK MODE Freescale Semiconductor, Inc... The self-check program resides at mask ROM locations $1F00 to $1FEF. This program is designed to check the part’s functionality with a minimum of support hardware. The COP subsystem is disabled in the self-check mode so that routines that feed the COP do not exist in the self-check program. The self-check mode is entered on the rising edge of RESET if the IRQ pin is driven to double the supply voltage and the TCAP/PD7 pin is at logic one. RESET must be held low for 4064 cycles after POR or for a time tRL for any other reset. After reset, the I/O, RAM, ROM, timer, SIOP and Interrupts are tested. Self-check results (using LED’s as monitors) are shown in Table 10-1. It is not recommended that the user code use any of the self-check code. The self-check code is subject to change at any time to improve testability or manufacturability. Table 10-1. Self-Check Results PC2 PC1 PC0 0 0 1 Bad I/O 0 1 0 Bad RAM 0 1 1 Bad Timer 1 0 0 Bad ROM 1 0 1 Bad Serial 1 1 0 Bad Interrupt Flashing All Others REMARKS Good Device Bad Device 0 indicates LED is on; 1 indicates LED is off. SELF-CHECK MODE Rev. 2.0 10-1 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION VDD VTST 10 KΩ 4.7 KΩ VDD RESET 1 µf IRQ PA7 PA6 PA5 Freescale Semiconductor, Inc... PA4 PA3 PA2 PA1 PA0 SDO/PB5 SDI/PB6 SCK/PB7 VSS VDD 1 28 2 27 OSC1 3 26 OSC2 4 25 TCAP/PD7 5 24 TCMP 23 PD5 6 7 22 8 21 9 20 10 19 11 18 12 17 13 16 14 15 10 KΩ 4 MHz 10 MΩ 20 pF 20 pF PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 470 Ω VDD = 5.0 V VTST = 10.0 V VDD 10 KΩ Figure 10-1. Self-Check Circuit SELF-CHECK MODE 10-2 For More Information On This Product, Go to: www.freescale.com MC68HC05P4A Rev. 2.0 Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION SECTION 11 INSTRUCTION SET Freescale Semiconductor, Inc... This section describes the M68HC05P4A addressing modes and instruction types. 11.1 Addressing Modes The CPU uses eight addressing modes for flexibility in accessing data. The addressing modes define the manner in which the CPU finds the data required to execute an instruction. The eight addressing modes are the following: • Inherent • Immediate • Direct • Extended • Indexed, no offset • Indexed, 8-bit offset • Indexed, 16-bit offset • Relative 11.1.1 Inherent Inherent instructions are those that have no operand, such as return from interrupt (RTI) and stop (STOP). Some of the inherent instructions act on data in the CPU registers, such as set carry flag (SEC) and increment accumulator (INCA). Inherent instructions require no memory address and are one byte long. INSTRUCTION SET Rev. 2.0 11-1 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 11.1.2 Immediate Immediate instructions are those that contain a value to be used in an operation with the value in the accumulator or index register. Immediate instructions require no memory address and are two bytes long. The opcode is the first byte, and the immediate data value is the second byte. Freescale Semiconductor, Inc... 11.1.3 Direct Direct instructions can access any of the first 256 memory addresses with two bytes. The first byte is the opcode, and the second is the low byte of the operand address. In direct addressing, the CPU automatically uses $00 as the high byte of the operand address. BRSET and BRCLR are three-byte instructions that use direct addressing to access the operand and relative addressing to specify a branch destination. 11.1.4 Extended Extended instructions use only three bytes to access any address in memory. The first byte is the opcode; the second and third bytes are the high and low bytes of the operand address. When using the Motorola assembler, the programmer does not need to specify whether an instruction is direct or extended. The assembler automatically selects the shortest form of the instruction. 11.1.5 Indexed, No Offset Indexed instructions with no offset are one-byte instructions that can access data with variable addresses within the first 256 memory locations. The index register contains the low byte of the conditional address of the operand. The CPU automatically uses $00 as the high byte, so these instructions can address locations $0000–$00FF. Indexed, no offset instructions are often used to move a pointer through a table or to hold the address of a frequently used RAM or I/O location. 11.1.6 Indexed, 8-Bit Offset Indexed, 8-bit offset instructions are two-byte instructions that can access data with variable addresses within the first 511 memory locations. The CPU adds the unsigned byte in the index register to the unsigned byte following the opcode. The sum is the conditional address of the operand. These instructions can access locations $0000–$01FE. INSTRUCTION SET 11-2 For More Information On This Product, Go to: www.freescale.com MC68HC05P4A Rev. 2.0 Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION Indexed 8-bit offset instructions are useful for selecting the kth element in an n-element table. The table can begin anywhere within the first 256 memory locations and could extend as far as location 510 ($01FE). The k value is typically in the index register, and the address of the beginning of the table is in the byte following the opcode. Freescale Semiconductor, Inc... 11.1.7 Indexed, 16-Bit Offset Indexed, 16-bit offset instructions are three-byte instructions that can access data with variable addresses at any location in memory. The CPU adds the unsigned byte in the index register to the two unsigned bytes following the opcode. The sum is the conditional address of the operand. The first byte after the opcode is the high byte of the 16-bit offset; the second byte is the low byte of the offset. These instructions can address any location in memory. Indexed, 16-bit offset instructions are useful for selecting the kth element in an n-element table anywhere in memory. As with direct and extended addressing the Motorola assembler determines the shortest form of indexed addressing. 11.1.8 Relative Relative addressing is only for branch instructions. If the branch condition is true, the CPU finds the conditional branch destination by adding the signed byte following the opcode to the contents of the program counter. If the branch condition is not true, the CPU goes to the next instruction. The offset is a signed, two’s complement byte that gives a branching range of –128 to +127 bytes from the address of the next location after the branch instruction. When using the Motorola assembler, the programmer does not need to calculate the offset, because the assembler determines the proper offset and verifies that it is within the span of the branch. INSTRUCTION SET Rev. 2.0 11-3 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 11.2 Instruction Types Freescale Semiconductor, Inc... The MCU instructions fall into the following five categories: • Register/Memory Instructions • Read-Modify-Write Instructions • Jump/Branch Instructions • Bit Manipulation Instructions • Control Instructions 11.2.1 Register/Memory Instructions Most of these instructions use two operands. One operand is in either the accumulator or the index register. The CPU finds the other operand in memory. Table 11-1 lists the register/memory instructions. Table 11-1. Register/Memory Instructions Instruction Mnemonic Add Memory Byte and Carry Bit to Accumulator ADC Add Memory Byte to Accumulator ADD AND Memory Byte with Accumulator AND Bit Test Accumulator BIT Compare Accumulator CMP Compare Index Register with Memory Byte CPX EXCLUSIVE OR Accumulator with Memory Byte EOR Load Accumulator with Memory Byte LDA Load Index Register with Memory Byte LDX Multiply MUL OR Accumulator with Memory Byte ORA Subtract Memory Byte and Carry Bit from Accumulator SBC Store Accumulator in Memory STA Store Index Register in Memory STX Subtract Memory Byte from Accumulator SUB INSTRUCTION SET 11-4 For More Information On This Product, Go to: www.freescale.com MC68HC05P4A Rev. 2.0 Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 11.2.2 Read-Modify-Write Instructions These instructions read a memory location or a register, modify its contents, and write the modified value back to the memory location or to the register. The test for negative or zero instruction (TST) is an exception to the read-modify-write sequence because it does not write a replacement value. Table 11-2 lists the read-modify-write instructions. Table 11-2. Read-Modify-Write Instructions Freescale Semiconductor, Inc... Instruction Mnemonic Arithmetic Shift Left ASL Arithmetic Shift Right ASR Clear Bit in Memory BCLR Set Bit in Memory BSET Clear CLR Complement (One’s Complement) COM Decrement DEC Increment INC Logical Shift Left LSL Logical Shift Right LSR Negate (Two’s Complement) NEG Rotate Left through Carry Bit ROL Rotate Right through Carry Bit ROR Test for Negative or Zero TST 11.2.3 Jump/Branch Instructions Jump instructions allow the CPU to interrupt the normal sequence of the program counter. The unconditional jump instruction (JMP) and the jump to subroutine instruction (JSR) have no register operand. Branch instructions allow the CPU to interrupt the normal sequence of the program counter when a test condition is met. If the test condition is not met, the branch is not performed. All branch instructions use relative addressing. Bit test and branch instructions cause a branch based on the state of any readable bit in the first 256 memory locations. These three-byte instructions use a combination of direct addressing and relative addressing. The direct address of the byte to be tested is in the byte following the opcode. The third byte is the signed offset byte. The CPU finds the conditional branch destination by adding INSTRUCTION SET Rev. 2.0 11-5 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION the third byte to the program counter if the specified bit tests true. The bit to be tested and its condition (set or clear) is part of the opcode. The span of branching is from –128 to +127 from the address of the next location after the branch instruction. The CPU also transfers the tested bit to the carry/borrow bit of the condition code register. Table 11-3 lists the jump and branch instructions. Table 11-3. Jump and Branch Instructions Freescale Semiconductor, Inc... Instruction Mnemonic Branch if Carry Bit Clear BCC Branch if Carry Bit Set BCS Branch if Equal BEQ Branch if Half-Carry Bit Clear BHCC Branch if Half-Carry Bit Set BHCS Branch if Higher BHI Branch if Higher or Same BHS Branch if IRQ Pin High BIH Branch if IRQ Pin Low BIL Branch if Lower BLO Branch if Lower or Same BLS Branch if Interrupt Mask Clear BMC Branch if Minus BMI Branch if Interrupt Mask Set BMS Branch if Not Equal BNE Branch if Plus BPL Branch Always BRA Branch if Bit Clear BRCLR Branch Never BRN Branch if Bit Set BRSET Branch to Subroutine BSR Unconditional Jump JMP Jump to Subroutine JSR INSTRUCTION SET 11-6 For More Information On This Product, Go to: www.freescale.com MC68HC05P4A Rev. 2.0 Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 11.2.4 Bit Manipulation Instructions The CPU can set or clear any writable bit in the first 256 bytes of memory. Port registers, port data direction registers, timer registers, and on-chip RAM locations are in the first 256 bytes of memory. The CPU can also test and branch based on the state of any bit in any of the first 256 memory locations. Bit manipulation instructions use direct addressing. Table 11-4 lists these instructions. Table 11-4. Bit Manipulation Instructions Freescale Semiconductor, Inc... Instruction Clear Bit Mnemonic BCLR Branch if Bit Clear BRCLR Branch if Bit Set BRSET Set Bit BSET 11.2.5 Control Instructions These register reference instructions control CPU operation during program execution. Control instructions, listed in Table 11-5, use inherent addressing. Table 11-5. Control Instructions Instruction Mnemonic Clear Carry Bit CLC Clear Interrupt Mask CLI No Operation NOP Reset Stack Pointer RSP Return from Interrupt RTI Return from Subroutine RTS Set Carry Bit SEC Set Interrupt Mask SEI Stop Oscillator and Enable IRQ Pin STOP Software Interrupt SWI Transfer Accumulator to Index Register TAX Transfer Index Register to Accumulator TXA Stop CPU Clock and Enable Interrupts WAIT INSTRUCTION SET Rev. 2.0 11-7 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 11.3 Instruction Set Summary Table 11-6 is an alphabetical list of all M68HC05 instructions and shows the effect of each instruction on the condition code register. ADD #opr ADD opr ADD opr ADD opr,X ADD opr,X ADD ,X AND #opr AND opr AND opr AND opr,X AND opr,X AND ,X ASL opr ASLA ASLX ASL opr,X ASL ,X ↕ — ↕ ↕ ↕ IMM DIR EXT IX2 IX1 IX A9 ii B9 dd C9 hh ll D9 ee ff E9 ff F9 2 3 4 5 4 3 ↕ — ↕ ↕ ↕ IMM DIR EXT IX2 IX1 IX AB ii BB dd CB hh ll DB ee ff EB ff FB 2 3 4 5 4 3 — — ↕ ↕ — IMM DIR EXT IX2 IX1 IX A4 ii B4 dd C4 hh ll D4 ee ff E4 ff F4 2 3 4 5 4 3 38 48 58 68 78 dd — — ↕ ↕ ↕ DIR INH INH IX1 IX DIR INH INH IX1 IX 37 47 57 67 77 dd REL 24 rr 3 DIR (b0) DIR (b1) DIR (b2) DIR (b3) — — — — — DIR (b4) DIR (b5) DIR (b6) DIR (b7) 11 13 15 17 19 1B 1D 1F dd dd dd dd dd dd dd dd 5 5 5 5 5 5 5 5 Effect on CCR Description H I N Z C A ← (A) + (M) + (C) Add with Carry A ← (A) + (M) Add without Carry A ← (A) ∧ (M) Logical AND Arithmetic Shift Left (Same as LSL) ASR opr ASRA ASRX ASR opr,X ASR ,X Arithmetic Shift Right BCC rel Branch if Carry Bit Clear C 0 b7 b0 C b7 — — ↕ ↕ ↕ b0 PC ← (PC) + 2 + rel ? C = 0 Mn ← 0 — — — — — ff ff Cycles Opcode ADC #opr ADC opr ADC opr ADC opr,X ADC opr,X ADC ,X Operation Address Mode Freescale Semiconductor, Inc... Source Form Operand Table 11-6. Instruction Set Summary 5 3 3 6 5 5 3 3 6 5 BCLR n opr Clear Bit n BCS rel Branch if Carry Bit Set (Same as BLO) PC ← (PC) + 2 + rel ? C = 1 — — — — — REL 25 rr 3 BEQ rel Branch if Equal PC ← (PC) + 2 + rel ? Z = 1 — — — — — REL 27 rr 3 INSTRUCTION SET 11-8 For More Information On This Product, Go to: www.freescale.com MC68HC05P4A Rev. 2.0 Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION Address Mode Opcode Operand Cycles Table 11-6. Instruction Set Summary (Continued) BHCC rel Branch if Half-Carry Bit Clear PC ← (PC) + 2 + rel ? H = 0 — — — — — REL 28 rr 3 BHCS rel Branch if Half-Carry Bit Set PC ← (PC) + 2 + rel ? H = 1 — — — — — REL 29 rr 3 BHI rel Branch if Higher PC ← (PC) + 2 + rel ? C ∨ Z = 0 — — — — — REL 22 rr 3 BHS rel Branch if Higher or Same BIH rel BIL rel Freescale Semiconductor, Inc... Source Form Operation Description Effect on CCR H I N Z C PC ← (PC) + 2 + rel ? C = 0 — — — — — REL 24 rr 3 Branch if IRQ Pin High PC ← (PC) + 2 + rel ? IRQ = 1 — — — — — REL 2F rr 3 Branch if IRQ Pin Low PC ← (PC) + 2 + rel ? IRQ = 0 — — — — — REL 2E rr 3 (A) ∧ (M) — — ↕ ↕ — IMM DIR EXT IX2 IX1 IX A5 ii B5 dd C5 hh ll D5 ee ff E5 ff F5 p 2 3 4 5 4 3 PC ← (PC) + 2 + rel ? C = 1 — — — — — REL 25 rr 3 PC ← (PC) + 2 + rel ? C ∨ Z = 1 — — — — — REL 23 rr 3 BIT #opr BIT opr BIT opr BIT opr,X BIT opr,X BIT ,X Bit Test Accumulator with Memory Byte BLO rel Branch if Lower (Same as BCS) BLS rel Branch if Lower or Same BMC rel Branch if Interrupt Mask Clear PC ← (PC) + 2 + rel ? I = 0 — — — — — REL 2C rr 3 BMI rel Branch if Minus PC ← (PC) + 2 + rel ? N = 1 — — — — — REL 2B rr 3 BMS rel Branch if Interrupt Mask Set PC ← (PC) + 2 + rel ? I = 1 — — — — — REL 2D rr 3 BNE rel Branch if Not Equal PC ← (PC) + 2 + rel ? Z = 0 — — — — — REL 26 rr 3 BPL rel Branch if Plus PC ← (PC) + 2 + rel ? N = 0 — — — — — REL 2A rr 3 BRA rel Branch Always PC ← (PC) + 2 + rel ? 1 = 1 — — — — — REL 20 rr 3 PC ← (PC) + 2 + rel ? Mn = 0 DIR (b0) DIR (b1) DIR (b2) DIR (b3) — — — — ↕ DIR (b4) DIR (b5) DIR (b6) DIR (b7) 01 03 05 07 09 0B 0D 0F dd rr dd rr dd rr dd rr dd rr dd rr dd rr dd rr 5 5 5 5 5 5 5 5 PC ← (PC) + 2 + rel ? Mn = 1 DIR (b0) DIR (b1) DIR (b2) DIR (b3) — — — — ↕ DIR (b4) DIR (b5) DIR (b6) DIR (b7) 00 02 04 06 08 0A 0C 0E dd rr dd rr dd rr dd rr dd rr dd rr dd rr dd rr 5 5 5 5 5 5 5 5 — — — — — 21 rr 3 BRCLR n opr rel Branch if bit n clear BRSET n opr rel Branch if Bit n Set BRN rel Branch Never PC ← (PC) + 2 + rel ? 1 = 0 REL INSTRUCTION SET Rev. 2.0 11-9 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION Cycles DIR (b0) DIR (b1) DIR (b2) DIR (b3) — — — — — DIR (b4) DIR (b5) DIR (b6) DIR (b7) 10 12 14 16 18 1A 1C 1E dd dd dd dd dd dd dd dd 5 5 5 5 5 5 5 5 PC ← (PC) + 2; push (PCL) SP ← (SP) – 1; push (PCH) SP ← (SP) – 1 PC ← (PC) + rel — — — — — REL AD rr 6 Description Effect on CCR H I N Z C Mn ← 1 Address Mode Operation Operand Freescale Semiconductor, Inc... Source Form Opcode Table 11-6. Instruction Set Summary (Continued) BSET n opr Set Bit n BSR rel Branch to Subroutine CLC Clear Carry Bit C←0 — — — — 0 INH 98 CLI Clear Interrupt Mask I←0 — 0 — — — INH 9A DIR INH INH IX1 IX 3F 4F 5F 6F 7F — — ↕ ↕ ↕ IMM DIR EXT IX2 IX1 IX A1 ii B1 dd C1 hh ll D1 ee ff E1 ff F1 — — ↕ ↕ 1 DIR INH INH IX1 IX 33 43 53 63 73 — — ↕ ↕ 1 IMM DIR EXT IX2 IX1 IX A3 ii B3 dd C3 hh ll D3 ee ff E3 ff F3 — — ↕ ↕ — DIR INH INH IX1 IX 3A 4A 5A 6A 7A IMM DIR EXT IX2 IX1 IX A8 ii B8 dd C8 hh ll D8 ee ff E8 ff F8 CLR opr CLRA CLRX CLR opr,X CLR ,X CMP #opr CMP opr CMP opr CMP opr,X CMP opr,X CMP ,X COM opr COMA COMX COM opr,X COM ,X CPX #opr CPX opr CPX opr CPX opr,X CPX opr,X CPX ,X DEC opr DECA DECX DEC opr,X DEC ,X EOR #opr EOR opr EOR opr EOR opr,X EOR opr,X EOR ,X M ← $00 A ← $00 X ← $00 M ← $00 M ← $00 Clear Byte Compare Accumulator with Memory Byte Complement Byte (One’s Complement) (A) – (M) M ← (M) = $FF – (M) A ← (A) = $FF – (M) X ← (X) = $FF – (M) M ← (M) = $FF – (M) M ← (M) = $FF – (M) Compare Index Register with Memory Byte (X) – (M) Decrement Byte M ← (M) – 1 A ← (A) – 1 X ← (X) – 1 M ← (M) – 1 M ← (M) – 1 EXCLUSIVE OR Accumulator with Memory Byte A ← (A) ⊕ (M) — — 0 1 — — — ↕ ↕ — INSTRUCTION SET 11-10 For More Information On This Product, Go to: www.freescale.com 2 2 dd ff dd ff dd ff 5 3 3 6 5 2 3 4 5 4 3 5 3 3 6 5 2 3 4 5 4 3 5 3 3 6 5 2 3 4 5 4 3 MC68HC05P4A Rev. 2.0 Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION JSR opr JSR opr JSR opr,X JSR opr,X JSR ,X LDA #opr LDA opr LDA opr LDA opr,X LDA opr,X LDA ,X LDX #opr LDX opr LDX opr LDX opr,X LDX opr,X LDX ,X LSL opr LSLA LSLX LSL opr,X LSL ,X Cycles JMP opr JMP opr JMP opr,X JMP opr,X JMP ,X Operand Freescale Semiconductor, Inc... INC opr INCA INCX INC opr,X INC ,X Operation Opcode Source Form Address Mode Table 11-6. Instruction Set Summary (Continued) DIR INH INH IX1 IX 3C 4C 5C 6C 7C dd 5 3 3 6 5 — — — — — DIR EXT IX2 IX1 IX BC C dd C hh ll D ee ff ff C EC FC 2 3 4 3 2 — — — — — DIR EXT IX2 IX1 IX BD C dd D hh ll D ee ff ff D ED FD 5 6 7 6 5 — — ↕ ↕ — IMM DIR EXT IX2 IX1 IX A6 ii B6 dd C6 hh ll D6 ee ff E6 ff F6 2 3 4 5 4 3 — — ↕ ↕ — IMM DIR EXT IX2 IX1 IX AE ii BE dd CE hh ll DE ee ff EE ff FE 2 3 4 5 4 3 38 48 58 68 78 dd — — ↕ ↕ ↕ DIR INH INH IX1 IX DIR INH INH IX1 IX 34 44 54 64 74 dd 0 — — — 0 INH 42 — — ↕ ↕ ↕ DIR INH INH IX1 IX 30 40 50 60 70 INH 9D Effect on CCR Description H I N Z C M ← (M) + 1 A ← (A) + 1 X ← (X) + 1 M ← (M) + 1 M ← (M) + 1 Increment Byte PC ← Jump Address Unconditional Jump Jump to Subroutine PC ← (PC) + n (n = 1, 2, or 3) Push (PCL); SP ← (SP) – 1 Push (PCH); SP ← (SP) – 1 PC ← Conditional Address Load Accumulator with Memory Byte A ← (M) Load Index Register with Memory Byte Logical Shift Left (Same as ASL) LSR opr LSRA LSRX LSR opr,X LSR ,X Logical Shift Right MUL Unsigned Multiply X ← (M) C 0 b7 Negate Byte (Two’s Complement) NOP No Operation b0 0 C b7 NEG opr NEGA NEGX NEG opr,X NEG ,X — — ↕ ↕ — — — 0 ↕ ↕ b0 X : A ← (X) × (A) M ← –(M) = $00 – (M) A ← –(A) = $00 – (A) X ← –(X) = $00 – (X) M ← –(M) = $00 – (M) M ← –(M) = $00 – (M) — — — — — ff ff ff 5 3 3 6 5 5 3 3 6 5 11 ii ff 5 3 3 6 5 2 INSTRUCTION SET Rev. 2.0 11-11 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION ROL opr ROLA ROLX ROL opr,X ROL ,X — — ↕ ↕ — IMM DIR EXT IX2 IX1 IX AA ii BA dd CA hh ll DA ee ff EA ff FA 39 49 59 69 79 dd — — ↕ ↕ DIR INH INH IX1 IX DIR INH INH IX1 IX 36 46 56 66 76 dd Effect on CCR Description H I N Z C Logical OR Accumulator with Memory Rotate Byte Left through Carry Bit A ← (A) ∨ (M) C b7 b0 ff Cycles Opcode Freescale Semiconductor, Inc... ORA #opr ORA opr ORA opr ORA opr,X ORA opr,X ORA ,X Operation Address Mode Source Form Operand Table 11-6. Instruction Set Summary (Continued) 2 3 4 5 4 3 5 3 3 6 5 ROR opr RORA RORX ROR opr,X ROR ,X Rotate Byte Right through Carry Bit RSP Reset Stack Pointer SP ← $00FF — — — — — INH 9C 2 RTI Return from Interrupt SP ← (SP) + 1; Pull (CCR) SP ← (SP) + 1; Pull (A) SP ← (SP) + 1; Pull (X) SP ← (SP) + 1; Pull (PCH) SP ← (SP) + 1; Pull (PCL) ↕ ↕ ↕ ↕ ↕ INH 80 6 RTS Return from Subroutine SP ← (SP) + 1; Pull (PCH) SP ← (SP) + 1; Pull (PCL) INH A ← (A) – (M) – (C) — — ↕ ↕ ↕ IMM DIR EXT IX2 IX1 IX A2 ii B2 dd C2 hh ll D2 ee ff E2 ff F2 2 3 4 5 4 3 C b7 — — ↕ ↕ b0 ff 5 3 3 6 5 SBC #opr SBC opr SBC opr SBC opr,X SBC opr,X SBC ,X Subtract Memory Byte and Carry Bit from Accumulator SEC Set Carry Bit C←1 — — — — 1 INH 99 2 SEI Set Interrupt Mask I←1 — 1 — — — INH 9B 2 — — ↕ ↕ — DIR EXT IX2 IX1 IX B7 dd C7 hh ll D7 ee ff E7 ff F7 4 5 6 5 4 — 0 — — — INH 8E 2 — — ↕ ↕ — DIR EXT IX2 IX1 IX BF dd CF hh ll DF ee ff EF ff FF 4 5 6 5 4 STA opr STA opr STA opr,X STA opr,X STA ,X Store Accumulator in Memory STOP Stop Oscillator and Enable IRQ Pin STX opr STX opr STX opr,X STX opr,X STX ,X Store Index Register In Memory M ← (A) M ← (X) INSTRUCTION SET 11-12 For More Information On This Product, Go to: www.freescale.com MC68HC05P4A Rev. 2.0 Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION A0 ii B0 dd C0 hh ll D0 ee ff E0 ff F0 2 3 4 5 4 3 Subtract Memory Byte from Accumulator PC ← (PC) + 1; Push (PCL) SP ← (SP) – 1; Push (PCH) SP ← (SP) – 1; Push (X) SP ← (SP) – 1; Push (A) — 1 — — — SP ← (SP) – 1; Push (CCR) SP ← (SP) – 1; I ← 1 PCH ← Interrupt Vector High Byte PCL ← Interrupt Vector Low Byte Software Interrupt INH 83 10 TAX Transfer Accumulator to Index Register — — — — — INH 97 2 — — — — — DIR INH INH IX1 IX 3D 4D 5D 6D 7D — — — — — INH 9F 2 — ↕ — — — INH 8F 2 A ← (A) – (M) X ← (A) TST opr TSTA TSTX TST opr,X TST ,X Test Memory Byte for Negative or Zero TXA Transfer Index Register to Accumulator WAIT Stop CPU Clock and Enable Interrupts (M) – $00 A ← (X) Accumulator Carry/borrow flag Condition code register Direct address of operand Direct address of operand and relative offset of branch instruction Direct addressing mode High and low bytes of offset in indexed, 16-bit offset addressing Extended addressing mode Offset byte in indexed, 8-bit offset addressing Half-carry flag High and low bytes of operand address in extended addressing Interrupt mask Immediate operand byte Immediate addressing mode Inherent addressing mode Indexed, no offset addressing mode Indexed, 8-bit offset addressing mode Indexed, 16-bit offset addressing mode Memory location Negative flag Any bit opr PC PCH PCL REL rel rr SP X Z # ∧ ∨ ⊕ () –( ) ← ? : ↕ — dd ff Cycles — — ↕ ↕ ↕ IMM DIR EXT IX2 IX1 IX Effect on CCR Description H I N Z C SWI A C CCR dd dd rr DIR ee ff EXT ff H hh ll I ii IMM INH IX IX1 IX2 M N n Opcode Freescale Semiconductor, Inc... SUB #opr SUB opr SUB opr SUB opr,X SUB opr,X SUB ,X Operation Address Mode Source Form Operand Table 11-6. Instruction Set Summary (Continued) 4 3 3 5 4 Operand (one or two bytes) Program counter Program counter high byte Program counter low byte Relative addressing mode Relative program counter offset byte Relative program counter offset byte Stack pointer Index register Zero flag Immediate value Logical AND Logical OR Logical EXCLUSIVE OR Contents of Negation (two’s complement) Loaded with If Concatenated with Set or cleared Not affected INSTRUCTION SET Rev. 2.0 11-13 For More Information On This Product, Go to: www.freescale.com 5 11-14 INSTRUCTION SET For More Information On This Product, Go to: www.freescale.com F E D C B A 9 8 7 6 5 4 3 2 1 DIR 2 5 DIR 2 5 DIR 2 5 DIR 2 5 DIR 2 5 DIR 2 5 DIR 2 5 DIR 2 5 DIR 2 5 DIR 2 5 DIR 2 5 DIR 2 5 DIR 2 5 DIR 2 5 DIR 2 5 DIR 2 BCLR7 DIR 2 5 BSET7 DIR 2 5 BCLR6 DIR 2 5 BSET6 DIR 2 5 BCLR5 DIR 2 5 BSET5 DIR 2 5 BCLR4 DIR 2 5 BSET4 DIR 2 5 BCLR3 DIR 2 5 BSET3 3 REL 2 3 BCC REL 2 3 BLS REL 3 BHI REL 3 BRN REL 2 3 BRA 2 REL 5 DIR 1 5 ASR DIR 1 5 ROR 5 DIR 1 LSR DIR 1 5 COM 1 3 INH 1 3 ASRA INH 1 3 RORA 3 INH 1 LSRA INH 1 3 COMA INH 3 MUL 11 INH 1 NEGA 4 INH 3 3 INH 2 3 ASRX INH 2 3 RORX 3 INH 2 LSRX INH 2 3 COMX INH 2 NEGX 5 INH 5 5 DIR 1 CLR DIR 1 TST DIR 1 4 INC DIR 1 DEC DIR 1 5 ROL DIR 1 5 3 3 INH 1 CLRA INH 1 TSTA INH 1 3 INCA INH 1 DECA INH 1 3 ROLA INH 1 3 INH 2 3 3 3 INH 2 CLRX INH 2 TSTX INH 2 3 INCX INH 2 DECX INH 2 3 ROLX REL = Relative IX = Indexed, No Offset IX1 = Indexed, 8-Bit Offset IX2 = Indexed, 16-Bit Offset REL 2 BIH REL 3 BIL REL 2 3 BMS REL 2 3 BMC REL 3 BMI REL 2 3 BPL REL 2 3 BHCS 5 DIR 1 NEG 3 DIR 6 IX1 1 6 6 IX1 1 6 IX1 1 IX1 1 5 CLR TST INC IX1 1 DEC IX1 1 6 ROL ASR ROR LSR COM NEG 7 IX 5 5 IX 5 IX 5 5 IX IX 1 5 IX IX 4 5 IX IX 5 9 10 1 1 1 1 1 1 1 INH 1 WAIT INH 2 STOP 2 INH SWI INH RTS INH 6 RTI 8 INH 2 2 2 2 2 2 2 2 INH TXA 2 2 MSB 0 4 EXT 3 STX EXT 3 5 LDX EXT 3 4 JSR EXT 3 6 JMP EXT 3 3 ADD EXT 3 4 ORA EXT 3 4 ADC EXT 3 4 EOR EXT 3 4 STA EXT 3 5 LDA EXT 3 4 BIT EXT 3 4 AND EXT 3 4 CPX EXT 3 4 SBC EXT 3 4 CMP EXT 3 4 SUB C EXT 3 IX2 2 5 IX2 2 6 STX LDX JSR IX2 2 IX2 2 6 IX2 2 5 IX2 2 7 JMP IX2 2 4 ADD IX2 2 5 ORA IX2 2 5 ADC IX2 2 5 EOR STA LDA IX2 2 5 IX2 2 5 AND IX2 2 5 CPX IX2 2 5 SBC IX2 2 5 CMP BIT 5 IX2 2 5 SUB D IX2 IX1 1 4 IX1 1 5 STX LDX JSR IX1 1 IX1 1 5 IX1 1 4 IX1 1 6 JMP IX1 1 3 ADD IX1 1 4 ORA IX1 1 4 ADC IX1 1 4 EOR STA LDA IX1 1 4 IX1 1 4 AND IX1 1 4 CPX IX1 1 4 SBC IX1 1 4 CMP BIT 5 Number of Cycles DIR Number of Bytes/Addressing Mode 4 IX1 1 4 SUB E IX1 MSB of Opcode in Hexadecimal DIR 3 STX DIR 3 4 LDX DIR 3 3 JSR DIR 3 5 JMP DIR 3 2 ADD DIR 3 3 ORA DIR 3 3 ADC DIR 3 3 EOR DIR 3 3 STA DIR 3 4 LDA DIR 3 3 DIR 3 3 AND DIR 3 3 CPX DIR 3 3 SBC DIR 3 3 CMP BIT 3 DIR 3 3 SUB B DIR Register/Memory BRSET0 Opcode Mnemonic 2 IMM 2 LDX 0 2 REL 2 2 BSR 6 IMM 2 ADD IMM 2 2 ORA IMM 2 2 ADC IMM 2 2 EOR 2 IMM 2 LDA IMM 2 2 BIT IMM 2 2 AND IMM 2 2 CPX IMM 2 2 SBC IMM 2 2 CMP IMM 2 2 SUB A IMM LSB 2 INH 2 NOP INH 2 RSP INH 2 2 SEI INH 2 2 INH 2 2 SEC INH 2 2 CLC CLI 2 INH 2 TAX 9 INH Control LSB of Opcode in Hexadecimal CLR TST INC DEC ROL IX 5 1 IX 1 5 1 IX 1 ASL/LSL IX1 1 6 ASR IX1 1 6 ROR 6 IX1 1 IX1 1 6 COM LSR 6 IX1 1 NEG 6 IX1 Read-Modify-Write ASL/LSL ASLA/LSLA ASLX/LSLX ASL/LSL REL 2 3 BHCC REL 2 3 BEQ REL 2 3 BNE REL 3 BCS/BLO DIR 2 5 BCLR2 DIR 2 5 BSET2 DIR 2 5 BCLR1 DIR 2 5 BSET1 DIR 2 5 BCLR0 DIR 2 5 BSET0 1 DIR INH = Inherent IMM = Immediate DIR = Direct EXT = Extended 3 BRCLR7 3 BRSET7 3 BRCLR6 3 BRSET6 3 BRCLR5 3 BRSET5 3 BRCLR4 3 BRSET4 3 BRCLR3 3 BRSET3 3 BRCLR2 3 BRSET2 3 BRCLR1 3 BRSET1 3 BRCLR0 DIR 2 5 BRSET0 0 3 0 MSB LSB DIR Bit Manipulation Branch Table 11-7. Opcode Map Freescale Semiconductor, Inc... STX LDX JSR JMP ADD ORA ADC EOR STA LDA BIT AND CPX SBC CMP SUB F IX 3 IX IX 4 IX 3 IX 5 IX 2 IX 3 IX 3 IX 3 IX 3 IX 4 IX 3 IX 3 IX 3 IX 3 IX 3 IX 3 F E D C B A 9 8 7 6 5 4 3 2 1 0 MSB LSB Freescale Semiconductor, Inc. MC68HC05P4A Rev. 2.0 Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION SECTION 12 ELECTRICAL SPECIFICATIONS 12.1 Maximum Ratings (Voltages referenced to VSS Rating Freescale Semiconductor, Inc... Symbol Value Unit Supply Voltage VDD -0.3 to +7.0 V Input Voltage VIN VSS -0.3 to VDD +0.3 V Self-Check Modes (IRQ Pin Only) VIN VSS -0.3 to 2 x VDD +0.3 V I 25 mA Operating Temperature Range 68HC05P4AP (Standard) 68HC05P4ACP (Extended) TA TL to TH 0 to +70 -40 to +85 Storage Temperature Range Tstg -65 to +150 Current Drain Per Pin Excluding VDD and VSS °C °C This device contains circuitry to protect the inputs against damage due to high static voltages or electric fields; however, it is advised that normal precautions be taken to avoid application of any voltage higher than maximum-rated voltages to this high-impedance circuit. For proper operation, it is recommended that Vin and Vout be constrained to the range VSS ≤ (Vin or Vout) ≤ VDD. Reliability of operation is enhanced if unused inputs are connected to an appropriate logic voltage level (e.g., either VSS or VDD). 12.2 Thermal Characteristics Characteristic Thermal Resistance Plastic DIP Plastic SOIC Symbol θJA Value Unit 60 71 °C/W °C/W ELECTRICAL SPECIFICATIONS Rev. 2.0 12-1 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 12.3 DC Electrical Characteristics Table 12-1. DC Electrical Characteristics (VDD = 5 V) (VDD = 5.0 Vdc ± 10%, VSS = 0 Vdc, TA = -40°C to +85°C, unless otherwise noted) Characteristic Freescale Semiconductor, Inc... Symbol Min Typ Max Unit Output Voltage ILOAD = 10.0 µA ILOAD = -10.0 µA VOL VOH — VDD-0.1 — — 0.1 — V V Output High Voltage (ILOAD = -0.8 mA) PA0-PA7, PB5-PB7, PC2-PC7, PD5 (ILOAD = -5.0 mA) PC0-PC1 VOH VOH VDD-0.8 VDD-0.8 — — — — V V Output Low Voltage (ILOAD = 1.6 mA) PA0-PA7, PB5-PB7, PC2-PC7, PD5 (ILOAD = 15 mA) PC0-PC1 VOL VOL — — — — 0.4 0.4 V V Input High Voltage PA0-PA7, PB5-PB7, PC0-PC7, PD5, TCAP/PD7, IRQ, RESET, OSC1 VIH 0.7 × VDD — VDD V Input Low Voltage PA0-PA7, PB5-PB7, PC0-PC7, PD5, TCAP/PD7, IRQ, RESET, OSC1 VIL VSS — 0.2 × VDD V IDD IDD — — TBD TBD TBD TBD mA mA IDD IDD — — TBD — TBD TBD µA µA I/O Ports Hi-Z Leakage Current PA0-PA7, PB5-PB7, PC0-PC7, PD5 IOZ — — ±10 µA Input Current RESET, IRQ, OSC1, TCAP/PD7 IIN — — ±1 µA COUT CIN — — — — 12 8 pF pF Supply Current Run Wait/Halt Stop 25°C 0°C to +70°C (Standard) Capacitance Ports (as Input or Output) RESET, IRQ NOTES: 1. All values shown reflect average measurements. 2. Typical values at midpoint of voltage range, 25°C. 3. Wait IDD: Only timer system active. 4. Run (Operating) IDD, Wait IDD: Measured using external square wave clock source (fosc= 4.2 MHz), all inputs 0.2 V from rail; no dc loads, less than 50 pF on all outputs, CL = 20 pF on OSC2. 5. Wait, Stop IDD: All ports configured as inputs, VIL = 0.2 V, VIH = VDD -0.2 V. 6. Wait IDD is affected linearly by the OSC2 capacitance. ELECTRICAL SPECIFICATIONS 12-2 For More Information On This Product, Go to: www.freescale.com MC68HC05P4A Rev. 2.0 Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION Table 12-2. DC Electrical Characteristics (VDD = 3.3 V) (VDD = 3.3 Vdc ± 10%, VSS = 0 Vdc, TA = -40°C to +85°C, unless otherwise noted) Characteristic Output Voltage ILOAD = 10.0 µA ILOAD = -10.0 µA Output High Voltage (ILOAD = -0.2 mA) PA0-PA7, PB5-PB7, PC2-PC7, PD5, TCMP (ILOAD = 6.0 mA) PC0-PC1 Freescale Semiconductor, Inc... Output Low Voltage (ILOAD = 0.4 mA) PA0-PA7, PB5-PB7, PC2-PC7, PD5, TCMP (ILOAD = 6.0 mA) PC0-PC1 Symbol Min Typ Max Unit VOL VOH — VDD-0.1 — — 0.1 — V V VOH VDD-0.3 — — V VOH VDD-0.3 — — V VOL — — 0.3 V VOL — — 0.3 V Input High Voltage PA0-PA7, PB5-PB7, PC0-PC7, PD5, TCAP/PD7, IRQ, RESET, OSC1 VIH 0.7 × VDD — VDD V Input Low Voltage PA0-PA7, PB5-PB7, PC0-PC7, PD5, TCAP/PD7, IRQ, RESET, OSC1 VIL VSS — 0.2 × VDD V IDD IDD — — TBD TBD TBD TBD mA mA IDD IDD — — TBD — TBD TBD µA µA I/O Ports Hi-Z Leakage Current PA0-PA7, PB5-PB7, PC0-PC7, PD5 IOZ — — ±10 µA Input Current RESET, IRQ, OSC1, TCAP/PD7 IIN — — ±1 µA COUT CIN — — — — 12 8 pF pF Supply Current Run Wait/Halt Stop 25°C 0°C to +70°C (Standard) Capacitance Ports (as Input or Output) RESET, IRQ NOTES: 1. All values shown reflect average measurements. 2. Typical values at midpoint of voltage range, 25°C. 3. Wait IDD: Only timer system active. 4. Run (Operating) IDD, Wait IDD: Measured using external square wave clock source (fosc= 2.0 MHz), all inputs 0.2 V from rail; no dc loads, less than 50 pF on all outputs, CL = 20 pF on OSC2. 5. Wait, Stop IDD: All ports configured as inputs, VIL = 0.2 V, VIH = VDD -0.2 V. 6. Wait IDD is affected linearly by the OSC2 capacitance. ELECTRICAL SPECIFICATIONS Rev. 2.0 12-3 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 1 2 SCK BIT 0 SDO Freescale Semiconductor, Inc... BIT 6 BIT 7 4 3 SDI BIT 1 BIT 0 BIT 1 6 BIT 6 BIT 7 5 Figure 12-1. SIOP Timing Diagram ELECTRICAL SPECIFICATIONS 12-4 For More Information On This Product, Go to: www.freescale.com MC68HC05P4A Rev. 2.0 Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 12.4 SIOP Timing Table 12-3. SIOP Timing (VDD = 5 V) (VDD = 5.0 Vdc ± 10%, VSS = 0 Vdc, TA = -40°C to +85°C, unless otherwise noted) Num. Characteristic Freescale Semiconductor, Inc... 1 Symbol Min Max Unit Operating Frequency Master Slave fop(m) fop(s) 0.25 dc 0.25 0.25 fop fop Cycle Time Master Slave tcyc(m) tcyc(s) 4.0 — 4.0 4.0 tcyc tcyc 2 Clock (SCK) Low Time tcyc 932 — ns 3 SDO Data Valid Time tv — 200 ns 4 SDO Hold Time tho 0 — ns 5 SDI Setup Time ts 100 — ns 6 SDI Hold Time th 100 — ns NOTE: fop = 2.1 MHz maximum Table 12-4. SIOP Timing (VDD = 3.3 V) (VDD = 3.3 Vdc ± 10%, VSS = 0 Vdc, TA = -40°C to +85°C, unless otherwise noted) Num. 1 Characteristic Symbol Min Max Unit Operating Frequency Master Slave fop(m) fop(s) 0.25 dc 0.25 0.25 fop fop Cycle Time Master Slave tcyc(m) tcyc(s) 4.0 — 4.0 4.0 tcyc tcyc 2 Clock (SCK) Low Time tcyc 1980 — ns 3 SDO Data Valid Time tv — 400 ns 4 SDO Hold Time tho 0 — ns 5 SDI Setup Time ts 200 — ns 6 SDI Hold Time th 200 — ns NOTE: fop = 1.0 MHz maximum ELECTRICAL SPECIFICATIONS Rev. 2.0 12-5 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 12.5 Control Timing Table 12-5. Control Timing (VDD = 5 V) (VDD = 5.0 Vdc ± 10%, VSS = 0 Vdc, TA = -40°C to +85°C, unless otherwise noted Characteristic Symbol Min Max Unit Frequency of Operation Crystal Option External Clock Option fosc fosc — dc 4.2 4.2 MHz MHz Internal Operating Frequency Crystal (fosc ÷ 2) External Clock (fosc ÷ 2) fop fop — dc 2.1 2.1 MHz MHz Freescale Semiconductor, Inc... Cycle Time tcyc 480 — ns Crystal Oscillator Startup Time tOXOV — 100 ms Stop Recovery Startup Time (Crystal Oscillator) tILCH — 100 ms RESET Pulse Width tRL 1.5 — tcyc Interrupt Puolse Width Low (Edge-Triggered) tILIH 125 — ns Interrupt Pulse Period tILIL * — tcyc tOH, tOL 90 — ns OSC1 Pulse Width *The minimum period TILIL should not be less than the number of cycles it takes to execute the interrupt service routine plus 19 tcyc. Table 12-6. Control Timing (VDD = 3.3 V) (VDD = 3.3 Vdc ± 10%, VSS = 0 Vdc, TA = -40°C to +85°C, unless otherwise noted Characteristic Symbol Min Max Unit Frequency of Operation Crystal Option External Clock Option fosc fosc — dc 2.0 2.0 MHz MHz Internal Operating Frequency Crystal (fosc ÷ 2) External Clock (fosc ÷ 2) fop fop — dc 1.0 1.0 MHz MHz Cycle Time tcyc 1000 — ns Crystal Oscillator Startup Time tOXOV — 100 ms Stop Recovery Startup Time (Crystal Oscillator) tILCH — 100 ms RESET Pulse Width, Excluding Powerup tRL 1.5 — tcyc Interrupt Pulse Width Low (Edge-Triggered) tILIH 250 — ns Interrupt Pulse Period tILIL * — tcyc tOH, tOL 200 — ns OSC1 Pulse Width *The minimum period TILIL should not be less than the number of cycles it takes to execute the interrupt service routine plus 19 tcyc. ELECTRICAL SPECIFICATIONS 12-6 For More Information On This Product, Go to: www.freescale.com MC68HC05P4A Rev. 2.0 Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION OSC 1 t RL RESET t ILIH IRQ 2 Freescale Semiconductor, Inc... 4064 t cyc IRQ 3 INTERNAL CLOCK INTERNAL ADDRESS BUS 1FFE 1FFE 1FFE 1FFE 1FFE 1FFF 4 RESET OR INTERRUPT VECTOR FETCH NOTES: 1. Represents the internal clocking of the OSC1 pin. 2. IRQ pin edge–sensitive mask option. 3. IRQ pin level– and edge–sensitive mask option. 4. RESET vector address shown for timing example. Figure 12-2. STOP Recovery Timing t ILIH IRQ (PIN) t ILIL IRQ1 Edge - Sensit ive Trigger Condition The minimum pulse width (t ILIH ) is either 125 ns (V DD = 5 V) or 250 ns (VDD = 3 V). The period t ILIL should not be less than the number of t cyc cycles it takes to execute the interr upt service routine plus 19 t cyc cycles. Level - Sensitive Trigger Condition If after ser vicing an interrupt the IRQ remains low, then the next interrupt is recognized. t ILIH • • • IRQn NORMALLY USED WITH WIRE–ORed CONNECTION RQ (MCU) Figure 12-3. External Interrupt Timing ELECTRICAL SPECIFICATIONS Rev. 2.0 12-7 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION t VDDR VDD VDD THRESHOLD (TYPICALLY 1-2 V) SC1 PIN Freescale Semiconductor, Inc... 4064 t cyc INTERNAL CLOCK INTERNAL ADDRESS BUS 1FFE 1FFE 1FFE 1FFE 1FFE 1FFE INTERNAL DATA BUS 1FFF NEW PCH NEW PCL OTES: 1. Internal clock, internal address bus, and internal data bus signals are not available externally. 2. An internal POR reset is triggered as V rises through a threshold (typically 1-2 V). DD Figure 12-4. Power-On Reset Timing NTERNAL CLOCK NTERNAL DDRESS BUS 1FFE NTERNAL DATA BUS 1FFE 1FFE 1FFE NEW PCH 1FFF NEW PC NEW PCL DUMMY NEW PC OP CODE t RL RESET OTES: 1. Internal clock, internal address bus, and internal data bus signals are not available externally. 2. The next rising edge of the internal processor clock after the rising edge of RESET initiates the reset sequence. Figure 12-5. External Reset Timing ELECTRICAL SPECIFICATIONS 12-8 For More Information On This Product, Go to: www.freescale.com MC68HC05P4A Rev. 2.0 Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION SECTION 13 MECHANICAL SPECIFICATIONS Freescale Semiconductor, Inc... This section describes the dimensions of the dual in-line package (DIP) and small outline integrated circuit (SOIC) MCU packages. 13.1 28-Pin Plastic Dual In-Line Package (Case 710-02) 28 ! ! ! #! %% ! $" ! ! ! ! ! ! ! ! # ! " 15 B 1 14 A L C N H G F D K M J ° ° ° ° MECHANICAL SPECIFICATIONS Rev. 2.0 13-1 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 13.2 28-Pin Small Outline Integrated Circuit Package (Case 751F-04) -A28 ! ! % ! ! ! " !" $" !" ! " !" # !" !! $ ! $" ! ! 15 14X -B1 P 14 28X D ! M R X 45° C -T- Freescale Semiconductor, Inc... 26X -T- G K F J ° ° ° ° MECHANICAL SPECIFICATIONS 13-2 Rev. 2.0 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION SECTION 14 ORDERING INFORMATION This section contains instructions for ordering custom-masked ROM MCUs. Freescale Semiconductor, Inc... 14.1 MCU Ordering Forms To initiate an order for a ROM-based MCU, first obtain the current ordering form for the MCU from a Motorola representative. Submit the following items when ordering MCUs: • A current MCU ordering form that is completely filled out (Contact your Motorola sales office for assistance.) • A copy of the customer specification if the customer specification deviates from the Motorola specification for the MCU • Customer’s application program on one of the media listed in 14.2 Application Program Media The current MCU ordering form is also available through the Motorola Freeware Bulletin Board Service (BBS). The telephone number is (512) 891-FREE. After making the connection, type bbs in lower-case letters. Then press the return key to start the BBS software. ORDERING INFORMATION Rev. 2.0 14-1 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION 14.2 Application Program Media Freescale Semiconductor, Inc... Please deliver the application program to Motorola in one of the following media: • Macintosh1 3 1/2-inch diskette (double-sided 800K or double-sided high-density 1.4M) • MS-DOS2 or PC-DOSTM3 3 1/2-inch diskette (double-sided 720K or double-sided high-density 1.44M) • MS-DOS or PC-DOSTM 5 1/4-inch diskette (double-sided doubledensity 360K or double-sided high-density 1.2M) Use positive logic for data and addresses. When submitting the application program on a diskette, clearly label the diskette with the following information: • Customer name • Customer part number • Project or product name • File name of object code • Date • Name of operating system that formatted diskette • Formatted capacity of diskette On diskettes, the application program must be in Motorola’s S-record format (S1 and S9 records), a character-based object file format generated by M6805 cross assemblers and linkers. NOTE Begin the application program at the first user ROM location. Program addresses must correspond exactly to the available on-chip user ROM addresses as shown in the memory map. Write $00 in all non-user ROM locations or leave all non-user ROM locations blank. Refer to the current MCU ordering form for additional requirements. Motorola may request pattern resubmission if non-user areas contain any non-zero code. 1. Macintosh is a registered trademark of Apple Computer, Inc. 2. MS-DOS is a registered trademark of Microsoft Corporation. 3. PC-DOS is a trademark of International Business Machines Corporation. ORDERING INFORMATION 14-2 For More Information On This Product, Go to: www.freescale.com MC68HC05P4A Rev. 2.0 Freescale Semiconductor, Inc. GENERAL RELEASE SPECIFICATION If the memory map has two user ROM areas with the same address, then write the two areas in separate files on the diskette. Label the diskette with both file names. In addition to the object code, a file containing the source code can be included. Motorola keeps this code confidential and uses it only to expedite ROM pattern generation in case of any difficulty with the object code. Label the diskette with the file name of the source code. Freescale Semiconductor, Inc... 14.3 ROM Program Verification The primary use for the on-chip ROM is to hold the customer’s application program. The customer develops and debugs the application program and then submits the MCU order along with the application program. Motorola inputs the customer’s application program code into a computer program that generates a listing verify file. The listing verify file represents the memory map of the MCU. The listing verify file contains the user ROM code and may also contain non-user ROM code, such as self-check code. Motorola sends the customer a computer printout of the listing verify file along with a listing verify form. To aid the customer in checking the listing verify file, Motorola will program the listing verify file into customer-supplied blank preformatted Macintosh or DOS disks. All original pattern media are filed for contractual purposes and are not returned. Check the listing verify file thoroughly, then complete and sign the listing verify form and return the listing verify form to Motorola. The signed listing verify form constitutes the contractual agreement for the creation of the custom mask. 14.4 ROM Verification Units (RVUs) After receiving the signed listing verify form, Motorola manufactures a custom photographic mask. The mask contains the customer’s application program and is used to process silicon wafers. The application program cannot be changed after the manufacture of the mask begins. Motorola then produces 10 MCUs, called RVUs, and sends the RVUs to the customer. RVUs are usually packaged in unmarked ceramic and tested to 5 Vdc at room temperature. RVUs are not tested to environmental extremes because their sole purpose is to demonstrate that the customer’s user ROM pattern was properly implemented. The 10 RVUs are free of charge with the minimum order quantity. These units are not to be used for qualification or production. RVUs are not guaranteed by Motorola Quality Assurance. ORDERING INFORMATION Rev. 2.0 14-3 For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Home Page: www.freescale.com email: [email protected] USA/Europe or Locations Not Listed: Freescale Semiconductor Technical Information Center, CH370 1300 N. Alma School Road Chandler, Arizona 85224 (800) 521-6274 480-768-2130 [email protected] Europe, Middle East, and Africa: Freescale Halbleiter Deutschland GmbH Technical Information Center Schatzbogen 7 81829 Muenchen, Germany +44 1296 380 456 (English) +46 8 52200080 (English) +49 89 92103 559 (German) +33 1 69 35 48 48 (French) [email protected] Japan: Freescale Semiconductor Japan Ltd. Headquarters ARCO Tower 15F 1-8-1, Shimo-Meguro, Meguro-ku Tokyo 153-0064, Japan 0120 191014 +81 2666 8080 [email protected] Asia/Pacific: Freescale Semiconductor Hong Kong Ltd. Technical Information Center 2 Dai King Street Tai Po Industrial Estate, Tai Po, N.T., Hong Kong +800 2666 8080 [email protected] For Literature Requests Only: Freescale Semiconductor Literature Distribution Center P.O. Box 5405 Denver, Colorado 80217 (800) 441-2447 303-675-2140 Fax: 303-675-2150 LDCForFreescaleSemiconductor @hibbertgroup.com RoHS-compliant and/or Pb- free versions of Freescale products have the functionality and electrical characteristics of their non-RoHS-compliant and/or non-Pb- free counterparts. For further information, see http://www.freescale.com or contact your Freescale sales representative. For information on Freescale.s Environmental Products program, go to http://www.freescale.com/epp. Information in this document is provided solely to enable system and software implementers to use Freescale Semiconductor products. There are no express or implied copyright licenses granted hereunder to design or fabricate any integrated circuits or integrated circuits based on the information in this document. Freescale Semiconductor reserves the right to make changes without further notice to any products herein. Freescale Semiconductor makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does Freescale Semiconductor assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. “Typical” parameters which may be provided in Freescale Semiconductor data sheets and/or specifications can and do vary in different applications and actual performance may vary over time. All operating parameters, including “Typicals” must be validated for each customer application by customer’s technical experts. Freescale Semiconductor does not convey any license under its patent rights nor the rights of others. Freescale Semiconductor products are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the Freescale Semiconductor product could create a situation where personal injury or death may occur. Should Buyer purchase or use Freescale Semiconductor products for any such unintended or unauthorized application, Buyer shall indemnify and hold Freescale Semiconductor and its officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that Freescale Semiconductor was negligent regarding the design or manufacture of the part. HC05P4AGRS/D For More Information On This Product, Go to: www.freescale.com