0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
COP840C

COP840C

  • 厂商:

    NSC

  • 封装:

  • 描述:

    COP840C - 8-Bit CMOS ROM Based Microcontrollers with 1k or 2k Memory, Comparator and Brown Out Detec...

  • 数据手册
  • 价格&库存
COP840C 数据手册
COP820CJ/COP840CJ Family, 8-Bit CMOS ROM Based Microcontrollers with 1k or 2k Memory, Comparator and Brown Out Detector September 1999 COP820CJ/COP840CJ Family 8-Bit CMOS ROM Based Microcontrollers with 1k or 2k Memory, Comparator and Brown Out Detector General Description The COP820CJ/840CJ Family ROM based microcontrollers are integrated COP8™ Base core devices with 1k or 2k memory, an Analog comparator and Brownout detection. These single-chip CMOS devices are suited for lowerfunctionality applications where power and voltage fluctuations are a consideration. Pin and software compatible (no Brownout; different Vcc range) 4k/32k OTP versions are available (COP87LxxCJ/RJ Family) for pre-production, and for use with a range of COP8 software and hardware development tools. Family features include an 8-bit memory mapped architecture, 10MHz CKI with 1us instruction cycle, one multifunction 16-bit timer/counter, MICROWIRE/PLUS™ serial I/O, one analog comparator, power saving HALT mode, MIWU, on-chip R/C oscillator capacitor (COP840CJ), high current outputs, software selectable I/O options, WATCHDOG™ timer, modulator/timer, Brownout detector, Power on Reset, 2.5v-6.0v operation, and 16/20/28 pin packages. In this datasheet, the term COP820CJ refers to packages including the COP820CJ, COP822CJ, and COP823CJ; and COP840CJ refers to COP840CJ, COP842CJ, COP940CJ, and COP942CJ. Devices included in this data sheet are: Packages 28 DIP/SOIC 20 DIP/SOIC 16 SOIC 28 DIP/SOIC 28 DIP/SOIC 20 DIP/SOIC 20 DIP/SOIC Temperature -40 to +85˚C -40 to +85˚C -40 to +85˚C -40 to +85˚C -0 to +70˚C -40 to +85˚C -0 to +70˚C 2.5V-4.5V, CJH = 4V-6V Low EMI 2.5V-4.5V, CJH = 4V-6V Comments Device COP820CJ COP822CJ COP823CJ COP840CJ COP940CJ COP842CJ COP942CJ Memory (bytes) 1k ROM 1k ROM 1k ROM 2k ROM 2k ROM 2k ROM 2k ROM RAM (bytes) 64 54 64 128 128 128 128 I/O Pins 24 16 12 24 24 16 16 Key Features n n n n n Multi-Input Wake Up (on the 8-bit Port L) Brown out detector Analog comparator Modulator/timer (High speed PWM for IR transmission) 16-bit multi-function timer supporting — PWM mode — External event counter mode — Input capture mode 1024 or 2048 bytes of ROM 64 or 128 bytes of RAM Quiet design (low radiated emissions) Integrated capacitor for the R/C oscillator for COP840CJ n Schmitt trigger inputs on Port G n MICROWIRE/PLUS serial I/O CPU/Instruction Set Feature n 1 µs instruction cycle time n Three multi-source vectored interrupts servicing — External interrupt with selectable edge — Timer interrupt — Software interrupt n 8-bit Stack Pointer (SP) — stack in RAM n Two 8-bit register indirect data memory pointers (B, X) n n n n Fully Static CMOS n Low current drain (typically < 1 µA) n Single supply operation: 2.5V to 6.0V n Temperature ranges: −0˚C to +70˚C and −40˚C to +85˚C I/O Features n Software selectable I/O options (TRI-STATE ® output, push-pull output, weak pull-up input, high impedance input) n High current outputs (8 pins) n Packages — 16 SO with 12 I/O pins for COP820CJ — 20 DIP/SO with 16 I/O pins — 28 DIP/SO with 24 I/O pins Development Support n Emulation and OTP devices n Real time emulation and full program debug offered by MetaLink Development System TRI-STATE ® is a registered trademark of National Semiconductor Corporation. COP8™, MICROWIRE™, MICROWIRE/PLUS™ and WATCHDOG™ are trademarks of National Semiconductor Corporation. iceMASTER ® is a registered trademark of MetaLink Corporation. © 2000 National Semiconductor Corporation DS011208 www.national.com COP820CJ/COP840CJ Family Block Diagram DS011208-1 2k ROM and 128 Bytes RAM for COP840CJ FIGURE 1. Block Diagram Connection Diagrams DS011208-5 DS011208-4 DS011208-3 Top View Order Number COPCJ820-XXX/N or COPCJ820-XXX/M, Order Number COPCJ840-XXX/N or COPCJ840-XXX/M, Order Number COPCJ940-XXX/N or COPCJ940-XXX/M See NS Package Number N28B or M28B Top View Order Number COPCJ822-XXX/N or COPCJ822-XXX/M Order Number COPCJ842-XXX/N or COPCJ842-XXX/M Order Number COPCJ942-XXX/N or COPCJ942-XXX/M See NS Package Number N20A or M20B Top View Order Number COPCJ823-XXX/WM See NS Package Number M16B FIGURE 2. Connection Diagrams www.national.com 2 COP820CJ/COP840CJ Family Connection Diagrams Port Pin L0 L1 L2 L3 L4 L5 L6 L7 G0 G1 G2 G3 G4 G5 G6 G7 I0 I1 I2 I3 D0 D1 D2 D3 VCC GND CKI RESET Typ. I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I I I I I I O O O O (Continued) COP820CJ/COP840CJ Pin Assignment ALT Function MIWU/CMPOUT MIWU/CMPIN− MIWU/CMPIN+ MIWU MIWU MIWU MIWU MIWU/MODOUT INTR 16-Pin 5 6 7 8 9 10 11 12 20-Pin 7 8 9 10 11 12 13 14 17 18 19 TIO SO SK SI CKO 16 1 2 15 20 1 2 3 4 28-Pin 11 12 13 14 15 16 17 18 25 26 27 28 1 2 3 4 7 8 9 10 19 20 21 22 4 13 3 14 6 15 5 16 6 23 5 24 3 www.national.com COP820CJ/COP840CJ Family Absolute Maximum Ratings (Note 1) If Military/Aerospace specified devices are required, please contact the National Semiconductor Sales Office/ Distributors for availability and specifications. Supply Voltage (VCC) Voltage at any Pin 7.0V −0.3V to VCC + 0.3V Total Current into VCC pin (Source) Total Current out of GND pin (sink) Storage Temperature Range 80 mA 80 mA −65˚C to +150˚C Note 1: Absolute maximum ratings indicate limits beyond which damage to the device may occur. DC and AC electrical specifications are not ensured when operating the device at absolute maximum ratings. DC Electrical Characteristics −0˚C ≤ TA ≤ + 70˚C for COP94x and −40˚C ≤ TA ≤ +85˚C for all others Parameter Operating Voltage COP94xCJ COP94xCJH Power Supply Ripple 1 (Note 2) Supply Current (Note 3) CKI = 10 MHz CKI = 4 MHz CKI = 4 MHz CKI = 1 MHz HALT Current with Brown Out Disabled (Note 4) HALT Current with Brown Out Enabled COP840CJ Supply Current (Note 3) CKI = 10 MHz, R = 2.2k CKI = 4 MHz, R = 4.7k CKI = 4 MHz, R = 4.7k CKI = 1 MHz, R = 20k HALT Current with Brown Out Disabled HALT Current with Brown Out Enabled Brown Out Trip Level (Brown Out Enabled) COP840CJ Brown Out Trip Level (Brown Out Enabled) INPUT LEVELS (VIH, VIL) Reset, CKI: Logic High Logic Low All Other Inputs Logic High Logic Low Hi-Z Input Leakage Input Pullup Current L- and G-Port Hysteresis (Note 6) VCC = 6.0V VCC = 6.0V, VIN = 0V −2 −40 COP840CJ 0.05 VCC 0.7 VCC 0.2 VCC +2 −250 0.35 VCC V V µA µA V 0.8 VCC 0.2 VCC V V VCC = 6V, tc = 1 µs VCC = 6V, tc = 2.5 µs VCC = 4.5V, tc = 2.5 µs VCC = 4.5V, tc = 10 µs VCC = 6V, CKI = 0 MHz VCC = 6V, CKI = 0 MHz 1.8 1.9 8.0 6.0 2.5 1.5 mA mA mA mA µA µA VCC = 6V, tc = 1 µs VCC = 6V, tc = 2.5 µs VCC = 4.0V, tc = 2.5 µs VCC = 4.0V, tc = 10 µs VCC = 6V, CKI = 0 MHz VCC = 6V, CKI = 0 MHz 6.0 3.5 2.0 1.5 mA mA mA mA µA Conditions Brown Out Disabled Brown Out Disabled Brown Out Disabled Peak to Peak Min 2.5 2.5 4.5 Typ Max 6.0 4.5 6.0 0.1 VCC Units V V V V 5 x Power Supply Rise Time FIGURE 4. Recommended Reset Circuit WATCHDOG RESET With WATCHDOG enabled, the WATCHDOG logic resets the device if the user program does not service the WATCHDOG timer within the selected service window. The WATCHDOG reset does not disable the WATCHDOG. Upon WATCHDOG reset, the WATCHDOG Prescaler and Counter are each initialized with FF Hex. The following actions occur upon WATCHDOG reset that are different from external reset. WDREN WATCHDOG Reset Enable bit UNCHANGED WDUDFWATCHDOG Underflow bitUNCHANGED Additional initialization actions that occur as a result of WATCHDOG reset are as follows: Port L Port G Port D PC RAM Contents B, X, SP PSW, CNTRL1 and CNTRL2 (except WDUDF Bit) Registers Multi-Input Wakeup Registers WKEDG, WKEN WKPND Data and Configuration Registers for L & G WATCHDOG Timer CLEARED Prescalar/Counter each loaded with FF CLEARED UNKNOWN TRI-STATE TRI-STATE HIGH CLEARED UNCHANGED/RANDOM UNCHANGED CLEARED 11 www.national.com COP820CJ/COP840CJ Family Reset (Continued) BROWN OUT RESET The on-board Brown Out protection circuit resets the device when the operating voltage (VCC) is lower than the Brown Out voltage. The device is held in reset when VCC stays below the Brown Out Voltage. The device will remain in RESET as long as VCC is below the Brown Out Voltage. The Device will resume execution if VCC rises above the Brown Out Voltage. If a two pin crystal/resonator clock option is selected, the Brown Out reset will trigger a 256tc delay. This delay allows the oscillator to stabilize before the device exits the reset state. The delay is not used if the clock option is either R/C or external clock. The contents of data registers and RAM are unknown following a Brown Out reset. The external reset takes priority over Brown Out Reset and will deactivate the 256 tc cycles delay if in progress. The Brown Out reset takes priority over the WATCHDOG reset. The following actions occur as a result of Brown Out reset: Port L Port G Port D PC RAM Contents B, X, SP PSW, CNTRL1, CNTRL2 and WDREG Registers Multi-Input Wakeup Registers WKEDG, WKEN WKPND Data and Configuration Registers for L & G WATCHDOG Timer Timer T1 and Accumulator CLEARED Prescalar/Counter each loaded with FF Unknown data after coming out of the HALT (through Brown Out Reset) with any Clock option CLEARED UNKNOWN CLEARED TRI-STATE TRI-STATE HIGH CLEARED RANDOM UNKNOWN voltage (Max frequency 4 MHz), For temperature range of 0˚C to 70˚C the Brown Out voltage is expected to be between 1.9V to 3.9V. The circuit can be enabled or disabled by Brown Out mask option. If the device is intended to operate at lower VCC (lower than Brown Out voltage VBO max), the Brown Out circuit should be disabled by the mask option. The Brown Out circuit may be used as a power-up reset provided the power supply rise time is slower than 50 µs (0V to 6.0V). Brown Out should not be used at frequencies over 4 MHz (COP840CJ). Note: Brown Out Circuit is active in HALT mode (with the Brown Out mask option selected). Oscillator Circuits EXTERNAL OSCILLATOR CKI can be driven by an external clock signal provided it meets the specified duty cycle, rise and fall times, and input levels. G7/CKO is available as a general purpose input G7 and/or Halt control. CRYSTAL OSCILLATOR By selecting G7/CKO as a clock output, CKI and G7/CKO can be connected to create a crystal controlled oscillator. Table 1 shows the component values required for various standard crystal values. R/C OSCILLATOR (COP820CJ) For COP820CJ, selecting CKI as a single pin oscillator, CKI can make a R/C oscillator. G7/CKO is available as a general purpose input and/or HALT control. Table 2 shows variation in the oscillator frequencies as functions of the component (R and C) values. Note 8: The development system will detect the BROWN OUT RESET externally and will force the RESET pin low. The Development System does not emulate the 256tc delay. Brown Out Detection An on-board detection circuit monitors the operating voltage (VCC) and compares it with the minimum operating voltage specified. The Brown Out circuit is designed to reset the device if the operating voltage is below the Brown Out voltage (between 1.8V to 4.2V at −40˚C to +85˚C). The Minimum operating voltage for the device is 2.5V with Brown Out disabled, but with BROWN OUT enabled the device is guaranteed to operate properly down to minimum Brown Out DS011208-7 FIGURE 5. Clock Oscillator Configurations TABLE 1. Crystal Oscillator Configuration R1 (kΩ) 0 0 5.6 R2 (MΩ) 1 1 1 C1 (pF) 30 30 100/200 C2 (pF) 30–36 30–36 100–156 CKI Freq. (MHz) 10 4 0.455 Conditions VCC = 5V VCC = 5V VCC = 5V www.national.com 12 COP820CJ/COP840CJ Family Reset (Continued) TABLE 2. R/C Oscillator Configuration (Part-To-Part Variation) R (kΩ) 3.3 5.6 6.8 C (pF) 82 100 100 CK1 Freq. (MHz) 2.2 to 2.7 1.1 to 1.3 0.9 to 1.1 Instr. Cycle (µs) 3.7 to 4.6 7.4 to 9.0 8.8 to 10.8 Conditions VCC = 5V VCC = 5V VCC = 5V R/C OSCILLATOR (COP840CJ) For COP840CJ, selecting the R/C oscillator option makes a R/C oscillator when connecting a resistor from the CKI pin to V . The capacitor is on-chip. The G7/CKO pin is available as a general purpose input G7 and/or Halt control. Adding an external capacitor will jeopardize the clock frequency tolerance and increase EMI emissions. Table 3 shows the clock frequency for the different resistor values. TABLE 3. RC Oscillator Configuration (Part-To-Part Variation) R (kΩ) 2.2 4.7 20.0 CK1 Freq. (MHz) 7.0 ± 15% 4.2 ± 10% 7.1 ± 10% Temperature -40˚C to +85˚C -40˚C to +85˚C -40˚C to +85˚C VCC 4.5V to 5.5V 4.5V to 5.5V 4.5V to 5.5V Note 9: The resistance level is calculated with a total of 5.3 pF capacitance added from the printed circuit board. It is important to take this into account when figuring the clock frequency. HALT Mode The device is a fully static device. The device enters the HALT mode by writing a one to the G7 bit of the G data register. Once in the HALT mode, the internal circuitry does not receive any clock signal and is therefore frozen in the exact state it was in when halted. In this mode, the chip will only draw leakage current (output current and DC current due to the Brown Out circuit if Brown Out is enabled). The device supports four different methods of exiting the HALT mode. The first method is with a low to high transition on the CKO (G7) pin. This method precludes the use of the crystal clock configuration (since CKO is a dedicated output). It may be used either with an RC clock configuration or an external clock configuration. The second method of exiting the HALT mode is with the multi-Input Wakeup feature on the L port. The third method of exiting the HALT mode is by pulling the RESET input low. The fourth method is with the operating voltage going below Brown Out voltage (if Brown Out is enabled by mask option). If the two pin crystal/resonator oscillator is being used and Multi-Input Wakeup or Brown Out causes the device to exit the HALT mode, the WAKEUP signal does not allow the chip to start running immediately since crystal oscillators have a delayed start up time to reach full amplitude and freuqency stability. The WATCHDOG timer (consisting of an 8-bit prescaler followed by an 8-bit counter) is used to generate a fixed delay of 256tc to ensure that the oscillator has indeed stabilized before allowing instruction execution. In this case, upon detecting a valid WAKEUP signal only the oscillator circuitry is enabled. The WATCHDOG Counter and Prescaler are each loaded with a value of FF Hex. The WATCHDOG prescaler is clocked with the tc instruction cycle. (The tc clock is derived by dividing the oscillator clock down by a factor of 10). The Schmitt trigger following the CKI inverter on the chip ensures that the WATCHDOG timer is clocked only when the oscillator has a sufficiently large amplitude to meet the Schmitt trigger specs. This Schmitt trigger is not part of the oscillator closed loop. The start-up timeout from the WATCHDOG timer enables the clock signals to be routed to the rest of the chip. The delay is not activated when the device comes out of HALT mode through RESET pin. Also, if the 13 clock option is either RC or External clock, the delay is not used, but the WATCHDOG Prescaler/Counter contents are changed. The Development System will not emulate the 256tc delay. The RESET pin or Brown Out will cause the device to reset and start executing from address X’0000. A low to high transition on the G7 pin (if single pin oscillator is used) or Multi-Input Wakeup will cause the device to start executing from the address following the HALT instruction. When RESET pin is used to exit the device from the HALT mode and the two pin crystal/resonator (CKI/CKO) clock option is selected, the contents of the Accumulator and the Timer T1 are undetermined following the reset. All other information except the WATCHDOG Prescaler/Counter contents is retained until continuing. If the device comes out of the HALT mode through Brown Out reset, the contents of data registers and RAM are unknown following the reset. All information except the WATCHDOG Prescaler/Counter contents is retained if the device exits the HALT mode through G7 pin or Multi-Input Wakeup. G7 is the HALT-restart pin, but it can still be used as an input. If the device is not halted, G7 can be used as a general purpose input. If the Brown Out Enable mask option is selected, the Brown Out circuit remains active during the HALT mode causing additional current to be drawn. Note: To allow clock resynchronization, it is necessary to program two NOP’s immediately after the device comes out of the HALT mode. The user must program two NOP’s following the “enter HALT mode” (set G7 data bit) instruction. MICROWIRE/PLUS MICROWIRE/PLUS is a serial synchronous bidirectional communications interface. The MICROWIRE/PLUS capability enables the device to interface with any of National Semiconductor’s MICROWIRE peripherals (i.e. A/D converters, display drivers, EEPROMS, etc.) and with other microcontrollers which support the MICROWIRE/PLUS interface. It consists of an 8-bit serial shift register (SIO) with serial data www.national.com COP820CJ/COP840CJ Family Reset (Continued) SL1 0 0 1 0 1 x TABLE 4. SL0 SK Cycle Time 2tc 4tc 8tc input (SI), serial data output (SO) and serial shift clock (SK). Figure 6 shows the block diagram of the MICROWIRE/PLUS interface. where, tc is the instruction cycle time. MICROWIRE/PLUS OPERATION Setting the BUSY bit in the PSW register causes the MICROWIRE/PLUS arrangement to start shifting the data. It gets reset when eight data bits have been shifted. The user may reset the BUSY bit by software to allow less than 8 bits to shift. The device may enter the MICROWIRE/PLUS mode either as a Master or as a Slave. Figure 7 shows how two device microcontrollers and several peripherals may be interconnected using the MICROWIRE/PLUS arrangement. DS011208-8 FIGURE 6. MICROWIRE/PLUS Block Diagram The shift clock can be selected from either an internal source or an external source. Operating the MICROWIRE/PLUS interface with the internal clock source is called the Master mode of operation. Operating the MICROWIRE/PLUS interface with an external shift clock is called the Slave mode of operation. The CNTRL register is used to configure and control the MICROWIRE/PLUS mode. To use the MICROWIRE/PLUS , the MSEL bit in the CNTRL register is set to one. The SK clock rate is selected by the two bits, SL0 and SL1, in the CNTRL register. Table 4 details the different clock rates that may be selected. MASTER MICROWIRE/PLUS OPERATION In the MICROWIRE/PLUS Master mode of operation the shift clock (SK) is generated internally by the device. The MICROWIRE/PLUS Master always initiates all data exchanges (Figure 7). The MSEL bit in the CNTRL register must be set to enable the SO and SK functions on the G Port. The SO and SK pins must also be selected as outputs by setting appropriate bits in the Port G configuration register. Table 5 summarizes the bit settings required for Master mode of operation. SLAVE MICROWIRE/PLUS OPERATION In the MICROWIRE/PLUS Slave mode of operation the SK clock is generated by an external source. Setting the MSEL bit in the CNTRL register enables the SO and SK functions on the G Port. The SK pin must be selected as an input and the SO pin selected as an output pin by appropriately setting up the Port G configuration register. Table 5 summarizes the settings required to enter the Slave mode of operation. DS011208-23 FIGURE 7. MICROWIRE/PLUS Application www.national.com 14 COP820CJ/COP840CJ Family Reset (Continued) MODE 1. TIMER WITH AUTO-LOAD REGISTER In this mode of operation, the timer T1 counts down at the instruction cycle rate. Upon underflow the value in the register R1 gets automatically reloaded into the timer which continues to count down. The timer underflow can be programmed to interrupt the microcontroller. A bit in the control register CNTRL enables the TIO (G3) pin to toggle upon timer underflows. This allows the generation of square-wave outputs or pulse width modulated outputs under software control (Figure 8). MODE 2. EXTERNAL COUNTER In this mode, the timer T1 becomes a 16-bit external event counter. The counter counts down upon an edge on the TIO pin. Control bits in the register CNTRL program the counter to decrement either on a positive edge or on a negative edge. Upon underflow the contents of the register R1 are automatically copied into the counter. The underflow can also be programmed to generate an interrupt (Figure 9). The user must set the BUSY flag immediately upon entering the Slave mode. This will ensure that all data bits sent by the Master will be shifted properly. After eight clock pulses the BUSY flag will be cleared and the sequence may be repeated. (See Figure 7). TABLE 5. G4 Bit 1 0 1 0 G5 Bit 1 1 0 0 SO TRI-STATE SO TRI-STATE Int. SK Int. SK Ext. SK Ext. SK SI SI SI SI MICROWIRE Master MICROWIRE Master MICROWIRE Slave MICROWIRE Slave G4 Fun. G5 Fun. G6 Fun. Operation Config. Config. Timer/Counter The device has a powerful 16-bit timer with an associated 16-bit register enabling it to perform extensive timer functions. The timer T1 and its register R1 are each organized as two 8-bit read/write registers. Control bits in the register CNTRL allow the timer to be started and stopped under software control. The timer-register pair can be operated in one of three possible modes. Table 6 details various timer operating modes and their requisite control settings. DS011208-24 FIGURE 8. Timer/Counter Auto Reload Mode Block Diagram TABLE 6. Timer Operating Modes CNTRL Bits 765 000 001 010 011 100 101 110 111 External Counter w/Auto-Load Reg. External Counter w/Auto-Load Reg. Not Allowed Not Allowed Timer w/Auto-Load Reg. Timer w/Auto-Load Reg./Toggle TIO Out Timer w/Capture Register Timer w/Capture Register Timer Underflow Timer Underflow Not Allowed Not Allowed Timer Underflow Timer Underflow TIO Pos. Edge TIO Neg. Edge Operation Mode T Interrupt Timer Counts On TIO Pos. Edge TIO Neg. Edge Not Allowed Not Allowed tc tc tc tc 15 www.national.com COP820CJ/COP840CJ Family Timer/Counter (Continued) DS011208-29 FIGURE 9. Timer in External Event Counter Mode MODE 3. TIMER WITH CAPTURE REGISTER Timer T1 can be used to precisely measure external frequencies or events in this mode of operation. The timer T1 counts down at the instruction cycle rate. Upon the occurrence of a specified edge on the TIO pin the contents of the timer T1 are copied into the register R1. Bits in the control register CNTRL allow the trigger edge to be specified either as a positive edge or as a negative edge. In this mode the user can elect to be interrupted on the specified trigger edge (Figure 10). DS011208-26 FIGURE 11. Timer Application WATCHDOG The device has an on-board 8-bit WATCHDOG timer. The timer contains an 8-bit READ/WRITE down counter clocked by an 8-bit prescaler. Under software control the timer can be dedicated for the WATCHDOG or used as a general purpose counter. Figure 12 shows the WATCHDOG timer block diagram. MODE 1: WATCHDOG TIMER The WATCHDOG is designed to detect user programs getting stuck in infinite loops resulting in loss of program control or “runaway” programs. The WATCHDOG can be enabled or disabled (only once) after the device is reset as a result of brown out reset or external reset. On power-up the WATCHDOG is disabled. The WATCHDOG is enabled by writing a “1” to WDREN bit (resides in WDREG register). Once enabled, the user program should write periodically into the 8-bit counter before the counter underflows. The 8-bit counter (WDCNT) is memory mapped at address 0CE Hex. The counter is loaded with n-1 to get n counts. The counter underflow resets the device, but does not disable the WATCHDOG. Loading the 8-bit counter initializes the prescaler with FF Hex and starts the prescaler/counter. Prescaler and counter are stopped upon counter underflow. Prescaler and counter are each loaded with FF Hex when the device goes into the HALT mode. The prescaler is used for crystal/ resonator start-up when the device exits the HALT mode through Multi-Input Wakeup. In this case, the prescaler/ counter contents are changed. 16 DS011208-25 FIGURE 10. Timer Capture Mode Block Diagram TIMER PWM APPLICATION Figure 11 shows how a minimal component D/A converter can be built out of the Timer-Register pair in the Auto-Reload mode. The timer is placed in the “Timer with auto reload” mode and the TIO pin is selected as the timer output. At the outset the TIO pin is set high, the timer T1 holds the on time and the register R1 holds the signal off time. Setting TRUN bit starts the timer which counts down at the instruction cycle rate. The underflow toggles the TIO output and copies the off time into the timer, which continues to run. By alternately loading in the on time and the off time at each successive interrupt a PWM frequency can be easily generated. www.national.com COP820CJ/COP840CJ Family WATCHDOG MODE 2: TIMER (Continued) In this mode, the prescaler/counter is used as a timer by keeping the WDREN (WATCHDOG reset enable) bit at 0. The counter underflow sets the WDUDF (underflow) bit and the underflow does not reset the device. Loading the 8-bit counter (load n-1 for n counts) sets the WDTEN bit (WATCHDOG Timer Enable) to “1”, loads the prescaler with FF, and starts the timer. The counter underflow stops the timer. The WDTEN bit serves as a start bit for the WATCHDOG timer. This bit is set when the 8-bit counter is loaded by the user program. The load could be as a result of WATCHDOG service (WATCHDOG timer dedicated for WATCHDOG function) or write to the counter (WATCHDOG timer used as a general purpose counter). The bit is cleared upon Brown Out reset, WATCHDOG reset or external reset. The bit is not memory mapped and is transparent to the user program. TABLE 7. WATCHDOG Control/Status HALT Parameter 8-Bit Prescaler 8-Bit WD Counter WDREN Bit WDUDF Bit WDTEN Signal Note 10: BOR is Brown Out Reset. WD Reset FF FF Unchanged Unchanged 0 EXT/BOR Reset (Note 10) FF FF 0 0 0 Counter Load FF User Value No Effect 0 1 Mode FF FF Unchanged 0 Unchanged CONTROL/STATUS BITS WDUDF: WATCHDOG Timer Underflow Bit This bit resides in the CNTRL2 Register. The bit is set when the WATCHDOG timer underflows. The underflow resets the device if the WATCHDOG reset enable bit is set (WDREN = 1). Otherwise, WDUDF can be used as the timer underflow flag. The bit is cleared upon Brown-Out reset, external reset, load to the 8-bit counter, or going into the HALT mode. It is a read only bit. WDREN: WD Reset Enable WDREN bit resides in a separate register (bit 0 of WDREG). This bit enables the WATCHDOG timer to generate a reset. The bit is cleared upon Brown Out reset, or external reset. The bit under software control can be written to only once (once written to, the hardware does not allow the bit to be changed during program execution). WDREN = 1 WATCHDOG reset is enabled. WDREN = 0 WATCHDOG reset is disabled. Table 7 shows the impact of Brown Out Reset, WATCHDOG Reset, and External Reset on the Control/Status bits. 17 www.national.com COP820CJ/COP840CJ Family WATCHDOG (Continued) DS011208-15 FIGURE 12. WATCHDOG Timer Block Diagram Modulator/Timer The Modulator/Timer contains an 8-bit counter and an 8-bit autoreload register (MODRL address 0CF Hex). The Modulator/Timer has two modes of operation, selected by the control bit MC3. The Modulator/Timer Control bits MC1, MC2 and MC3 reside in CNTRL2 Register. MODE 1: MODULATOR The Modulator is used to generate high frequency pulses on the modulator output pin (L7). The L7 pin should be configured as an output. The number of pulses is determined by the 8-bit down counter. Under software control the modulator input clock can be either CKI or tC. The tc clock is derived by dividing down the oscillator clock by a factor of 10. Three control bits (MC1, MC2, and MC3) are used for the Modulator/Timer output control. When MC2 = 1 and MC3 = 1, CKI is used as the modulator input clock. When MC2 = 0, and MC3 = 1, tc is used as the modulator input clock. The user loads the counter with the desired number of counts (256 max) and sets MC1 to start the counter. The modulator autoreload register is loaded with n-1 to get n pulses. CKI or tc pulses are routed to the modulator output (L7) until the counter underflows (Figure 13). Upon underflow the hardware resets MC1 and stops the counter. The L7 pin goes low and stays low until the counter is restarted by the user program. The user program has the responsibility to timeout the low time. Unless the number of counts is changed, the user program does not have to load the counter each time the counter is started. The counter can simply be started by setting the MC1 bit. Setting MC1 by software will load the counter with the value of the autoreload register. The software can reset MC1 to stop the counter. MODE 2: PWM TIMER The counter can also be used as a PWM Timer. In this mode, an 8-bit register is used to serve as an autoreload register (MODRL). a. 50% Duty Cycle: When MC1 is 1 and MC2, MC3 are 0, a 50% duty cycle free running signal is generated on the L7 output pin (Figure 14). The L7 pin must be configured as an output pin. In this mode the 8-bit counter is clocked by tC. Setting the MC1 control bit by software loads the counter with the value of the autoreload register and starts the counter. The counter underflow toggles the (L7) output pin. The 50% duty cycle signal will be continuously generated until MC1 is reset by the user program. www.national.com 18 COP820CJ/COP840CJ Family Modulator/Timer b. Variable Duty Cycle: (Continued) TABLE 8. Modulator/Timer Modes Control Bits in CNTRL2(00CC) MC3 MC2 MC1 0 0 0 1 1 0 0 1 0 1 0 1 X X X Normal I/O 50% Duty Cycle Mode (Clocked by t c) Variable Duty Cycle Mode (Clocked by tc) Using Timer 1 Underflow Modulator Mode (Clocked by tc) Modulator Mode (Clocked by CKI) Operation Mode L7 Function When MC3 = 0 and MC2 = 1, a variable duty cycle PWM signal is generated on the L7 output pin. The counter is clocked by tC. In this mode the 16-bit timer T1 along with the 8-bit down counter are used to generate a variable duty cycle PWM signal. The timer T1 underflow sets MC1 which starts the down counter and it also sets L7 high (L7 should be configured as an output).When the counter underflows the MC1 control bit is reset and the L7 output will go low until the next timer T1 underflow. Therefore, the width of the output pulse is controlled by the 8-bit counter and the pulse duration is controlled by the 16-bit timer T1 (Figure 15). Timer T1 must be configured in “PWM Mode/Toggle TIO Out” (CNTRL1 Bits 7,6,5 = 101). Note 11: MC1, MC2 and MC3 control bits are cleared upon reset. Table 8 shows the different operation modes for the Modulator/Timer. Internal Data Bus DS011208-16 FIGURE 13. Mode 1: Modulator Block Diagram/Output Waveform DS011208-17 19 www.national.com COP820CJ/COP840CJ Family Modulator/Timer (Continued) DS011208-18 FIGURE 14. Mode 2a: 50% Duty Cycle Output DS011208-19 DS011208-20 FIGURE 15. Mode 2b: Variable Duty Cycle Output Comparator The device has one differential comparator. Ports L0–L2 are used for the comparator. The output of the comparator is brought out to a pin. Port L has the following assignments: L0 Comparator output L1 Comparator negative input L2 Comparator positive input THE COMPARATOR STATUS/CONTROL BITS These bits reside in the CNTRL2 Register (Address 0CC) CMPEN Enables comparator (“1” = enable) CMPRD Reads comparator output internally (CMPEN = 1, CMPOE=X) CMPOE Enables comparator output to pin L0 (“1”=enable), CMPEN bit must be set to enable this function. If CMPEN=0, L0 will be 0. The Comparator Select/Control bits are cleared on RESET (the comparator is disabled). To save power the program should also disable the comparator before the device enters the HALT mode. The user program must set up L0, L1 and L2 ports correctly for comparator Inputs/Output: L1 and L2 need to be configured as inputs and L0 as output. See Table 9. TABLE 9. Comparator DC and AC Characteristics 4V ≤ VCC ≤ 6V, −40˚C ≤ TA ≤ + 85˚C (Note 7) Parameters Input Offset Voltage Input Common Mode Voltage Range Voltage Gain DC Supply Current (when enabled) Response Time VCC = 6.0V 100 mV Overdrive 500 mV Overdrive 1000 mV Overdrive Note 12: For comparator output current characteristics see L-Port specs. Conditions 0.4V < VIN < VCC − 1.5V Min 0.4 Type Max Units mV V V/V µA ns ns ns ± 10 300k ± 25 VCC − 1.5 250 60 80 135 100 125 215 140 165 300 www.national.com 20 COP820CJ/COP840CJ Family Multi-Input Wake Up The Multi-Input Wakeup feature is used to return (wakeup) the device from the HALT mode. Figure 16 shows the Multi-Input Wakeup logic. This feature utilizes the L Port. The user selects which particular L port bit or combination of L Port bits will cause the device to exit the HALT mode. Three 8-bit memory mapped registers, Reg:WKEN, Reg:WKEDG, and Reg:WKPND are used in conjunction with the L port to implement the Multi-Input Wakeup feature. All three registers Reg:WKEN, Reg:WKPND, and Reg:WKEDG are read/write registers, and are cleared at reset, except WKPND. WKPND is unknown on reset. The user can select whether the trigger condition on the selected L Port pin is going to be either a positive edge (low to high transition) or a negative edge (high to low transition). This selection is made via the Reg:WKEDG, which is an 8-bit control register with a bit assigned to each L Port pin. Setting the control bit will select the trigger condition to be a negative edge on that particular L Port pin. Resetting the bit selects the trigger condition to be a positive edge. Changing an edge select entails several steps in order to avoid a pseudo Wakeup condition as a result of the edge change. First, the associated WKEN bit should be reset, followed by the edge select change in WKEDG. Next, the associated WKPND bit should be cleared, followed by the associated WKEN bit being re-enabled. An example may serve to clarify this procedure. Suppose we wish to change the edge select from positive (low going high) to negative (high going low) for L port bit 5, where bit 5 has previously been enabled for an input. The program would be as follows: RBIT 5, WKEN ; Disable MIWU SBIT 5, WKEDG ; Change edge polarity RBIT 5, WKPND ; Reset pending flag SBIT 5, WKEN ; Enable MIWU If the L port bits have been used as outputs and then changed to inputs with Multi-Input Wakeup, a safety procedure should also be followed to avoid inherited pseudo wakeup conditions. After the selected L port bits have been changed from output to input but before the associated WKEN bits are enabled, the associated edge select bits in WKEDG should be set or reset for the desired edge selects, followed by the associated WKPND bits being cleared. This same procedure should be used following RESET, since the L port inputs are left floating as a result of RESET. The occurrence of the selected trigger condition for Multi-Input Wakeup is latched into a pending register called Reg:WKPND. The respective bits of the WKPND register will be set on the occurrence of the selected trigger edge on the corresponding Port L pin. The user has the responsibility of clearing these pending flags. Since the Reg:WKPND is a pending register for the occurrence of selected wakeup conditions, the device will not enter the HALT mode if any Wakeup bit is both enabled and pending. Setting the G7 data bit under this condition will not allow the device to enter the HALT mode. Consequently, the user has the responsibility of clearing the pending flags before attempting to enter the HALT mode. If a crystal oscillator is being used, the Wakeup signal will not start the chip running immediately since crystal oscillators have a finite start up time. The WATCHDOG timer 21 prescaler generates a fixed delay to ensure that the oscillator has indeed stabilized before allowing the device to execute instructions. In this case, upon detecting a valid Wakeup signal only the oscillator circuitry and the WATCHDOG timer are enabled. The WATCHDOG timer prescaler is loaded with a value of FF Hex (256 counts) and is clocked from the tc instruction cycle clock. The tc clock is derived by dividing down the oscillator clock by a factor of 10. A Schmitt trigger following the CKI on chip inverter ensures that the WATCHDOG timer is clocked only when the oscillator has a sufficiently large amplitude to meet the Schmitt trigger specs. This Schmitt trigger is not part of the oscillator closed loop. The startup timeout from the WATCHDOG timer enables the clock signals to be routed to the rest of the chip. DS011208-21 FIGURE 16. Multi-Input Wakeup Logic INTERRUPTS The device has a sophisticated interrupt structure to allow easy interface to the real world. There are three possible interrupt sources, as shown below. — A maskable interrupt on external G0 input (positive or negative edge sensitive under software control) — A maskable interrupt on timer carry or timer capture — A non-maskable software/error interrupt on opcode zero INTERRUPT CONTROL The GIE (global interrupt enable) bit enables the interrupt function. This is used in conjunction with ENI and ENTI to select one or both of the interrupt sources. This bit is reset when interrupt is acknowledged. ENI and ENTI bits select external and timer interrupts respectively. Thus the user can select either or both sources to interrupt the microcontroller when GIE is enabled. IEDG selects the external interrupt edge (0 = rising edge, 1 = falling edge). The user can get an interrupt on both rising and falling edges by toggling the state of IEDG bit after each interrupt. IPND and TPND bits signal which interrupt is pending. After an interrupt is acknowledged, the user can check these two bits to determine which interrupt is pending. This permits the interrupts to be prioritized under software. The www.national.com COP820CJ/COP840CJ Family Multi-Input Wake Up (Continued) pending flags have to be cleared by the user. Setting the GIE bit high inside the interrupt subroutine allows nested interrupts. The software interrupt does not reset the GIE bit. This means that the controller can be interrupted by other interrupt sources while servicing the software interrupt. INTERRUPT PROCESSING The interrupt, once acknowledged, pushes the program counter (PC) onto the stack and the stack pointer (SP) is decremented twice. The Global Interrupt Enable (GIE) bit is reset to disable further interrupts. The microcontroller then vectors to the address 00FFH and resumes execution from that address. This process takes 7 cycles to complete. At the end of the interrupt subroutine, any of the following three instructions return the processor back to the main program: RET, RETSK or RETI. Either one of the three instructions will pop the stack into the program counter (PC). The stack pointer is then incremented twice. The RETI instruction additionally sets the GIE bit to re-enable further interrupts. Any of the three instructions can be used to return from a hardware interrupt subroutine. The RETSK instruction should be used when returning from a software interrupt subroutine to avoid entering an infinite loop. Note: There is always the possibility of an interrupt occurring during an instruction which is attempting to reset the GIE bit or any other interrupt enable bit. If this occurs when a single cycle instruction is being used to reset the interrupt enable bit, the interrupt enable bit will be reset but an interrupt may still occur. This is because interrupt processing is started at the same time as the interrupt bit is being reset. To avoid this scenario, the user should always use a two, three, or four cycle instruction to reset interrupt enable bits. DETECTION OF ILLEGAL CONDITIONS The device incorporates a hardware mechanism that allows it to detect illegal conditions which may occur from coding errors, noise, and “brown out” voltage drop situations. Specifically, it detects cases of executing out of undefined ROM area and unbalanced tack situations. Reading an undefined ROM location returns 00 (hexadecimal) as its contents. The opcode for a software interrupt is also “00”. Thus a program accessing undefined ROM will cause a software interrupt. Reading an undefined RAM location returns an FF (hexadecimal). The subroutine stack on the device grows down for each subroutine call. By initializing the stack pointer to the top of RAM, the first unbalanced return instruction will cause the stack pointer to address undefined RAM. As a result the program will attempt to execute from FFFF (hexadecimal), which is an undefined ROM location and will trigger a software interrupt. DS011208-27 FIGURE 17. Interrupt Block Diagram www.national.com 22 COP820CJ/COP840CJ Family Control Registers CNTRL1 REGISTER (ADDRESS 00EE) TC3 Bit 7 TC2 TC1 TRUN MSEL IEDG SL1 SL0 Bit 0 CNTRL2 REGISTER (ADDRESS 00CC) MC3 MC2 MC1 CMPEN CMPRD CMPOE WDUDF R/W Bit 7 R/W R/W R/W R/O R/W R/O Bit 0 unused The Timer and MICROWIRE control register contains the following bits: TC3 Timer T1 Mode Control Bit TC2 Timer T1 Mode Control Bit TC1 Timer T1 Mode Control Bit TRUN Used to start and stop the timer/counter (1 = run, 0 = stop) MSEL Selects G5 and G4 as MICROWIRE signals SK and SO respectively IEDG External interrupt edge polarity select SL1 and SL0 Select the MICROWIRE clock divide-by (00 = 2, 01 = 4, 1x = 8) PSW REGISTER (ADDRESS 00EF) HC Bit 7 C TPND ENTI IPND BUSY ENI GIE Bit 0 MC3 MC2 MC1 CMPEN CMPRD CMPOE WDUDF Modulator/Timer Control Bit Modulator/Timer Control Bit Modulator/Timer Control Bit Comparator Enable Bit Comparator Read Bit Comparator Output Enable Bit WATCHDOG Timer Underflow Bit (Read Only) WDREG REGISTER (ADDRESS 00CD) UNUSED Bit 7 WDREN Bit 0 WDREN WATCHDOG Reset Enable Bit (Write Once Only) The PSW register contains the following select bits: HC Half-Carry Flip/Flop C Carry Flip/Flop TPND Timer T1 interrupt pending (timer Underflow or capture edge) ENTI Timer T1 interrupt enable IPND External interrupt pending BUSY MICROWIRE busy shifting flag ENI External interrupt enable GIE Global interrupt enable (enables interrupts) The Half-Carry bit is also effected by all the instructions that effect the Carry flag. The flag values depend upon the instruction. For example, after executing the ADC instruction the values of the Carry and the Half-Carry flag depend upon the operands involved. However, instructions like SET C and RESET C will set and clear both the carry flags. Table 10 lists the instructions that effect the HC and the C flags. TABLE 10. Instructions Effecting HC and C Flags Instr. ADC SUBC SET C RESET C RRC HC Flag Depends on Operands Depends on Operands Set Set Depends on Operands C Flag Depends on Operands Depends on Operands Set Set Depends on Operands 23 www.national.com COP820CJ/COP840CJ Family Memory Map All RAM, ports and registers (except A and PC) are mapped into data memory address space. Address 00 to 2F (820CJ) 00 to 6F (840CJ) 30 to 7F (820CJ) 70 to 7F (840CJ) 80 to BF C0 to C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 to DB DC DD to DF E0 to EF E0 to E7 E8 E9 EA EB EC ED EE EF F0 to FF FC FD FE Contents On-chip RAM bytes (48 bytes) On-chip RAM bytes (112 bytes) Unused RAM Address Space (Reads as All Ones) Unused RAM Address Space (Reads as All Ones) Expansion Space for On-Chip EERAM (Reads Undefined Data) Reserved MIWU Edge Select Register (Reg:WKEDG) MIWU Enable Register (Reg:WKEN) MIWU Pending Register (Reg:WKPND) Reserved Control2 Register (CNTRL2) WATCHDOG Register (WDREG) WATCHDOG Counter (WDCNT) Modulator Reload (MODRL) Port L Data Register Port L Configuration Register Port L Input Pins (Read Only) Reserved for Port L Port G Data Register Port G Configuration Register Port G Input Pins (Read Only) Port I Input Pins (Read Only) Reserved for Port C Port D Data Register Reserved for Port D On-Chip Functions and Registers Reserved for Future Parts Reserved MICROWIRE Shift Register Timer Lower Byte Timer Upper Byte Timer1 Autoreload Register Lower Byte Timer1 Autoreload Register Upper Byte CNTRL1 Control Register PSW Register On-Chip RAM Mapped as Registers X Register SP Register B Register Addressing Modes There are ten addressing modes, six for operand addressing and four for transfer of control. OPERAND ADDRESSING MODES REGISTER INDIRECT This is the “normal” addressing mode for the chip. The operand is the data memory addressed by the B or X pointer. REGISTER INDIRECT WITH AUTO POST INCREMENT OR DECREMENT This addressing mode is used with the LD and X instructions. The operand is the data memory addressed by the B or X pointer. This is a register indirect mode that automatically post increments or post decrements the B or X pointer after executing the instruction. DIRECT The instruction contains an 8-bit address field that directly points to the data memory for the operand. IMMEDIATE The instruction contains an 8-bit immediate field as the operand. SHORT IMMEDIATE This addressing mode issued with the LD B,# instruction, where the immediate # is less than 16. The instruction contains a 4-bit immediate field as the operand. INDIRECT This addressing mode is used with the LAID instruction. The contents of the accumulator are used as a partial address (lower 8 bits of PC) for accessing a data operand from the program memory. TRANSFER OF CONTROL ADDRESSING MODES RELATIVE This mode is used for the JP instruction with the instruction field being added to the program counter to produce the next instruction address. JP has a range from −31 to +32 to allow a one byte relative jump (JP + 1 is implemented by a NOP instruction). There are no “blocks” or “pages” when using JP since all 15 bits of the PC are used. ABSOLUTE This mode is used with the JMP and JSR instructions with the instruction field of 12 bits replacing the lower 12 bits of the program counter (PC). This allows jumping to any location in the current 4k program memory segment. ABSOLUTE LONG This mode is used with the JMPL and JSRL instructions with the instruction field of 15 bits replacing the entire 15 bits of the program counter (PC). This allows jumping to any location in the entire 32k program memory space. INDIRECT This mode is used with the JID instruction. The contents of the accumulator are used as a partial address (lower 8 bits of PC) for accessing a location in the program memory. The contents of this program memory location serves as a partial address (lower 8 bits of PC) for the jump to the next instruction. Reading other unused memory locations will return undefined data. www.national.com 24 COP820CJ/COP840CJ Family Instruction Set REGISTER AND SYMBOL DEFINITIONS Registers A B X SP PC PU PL C HC GIE 8-bit Accumulator register 8-bit Address register 8-bit Address register 8-bit Stack pointer register 15-bit Program counter register upper 7 bits of PC lower 8 bits of PC 1-bit of PSW register for carry Half Carry 1-bit of PSW register for global interrupt enable Symbols [B] [X] Mem Memory indirectly addressed by B register Memory indirectly addressed by X register Direct address memory or [B] MemI Direct address memory or [B] or Immediate data Imm 8-bit Immediate data Reg Register memory: addresses F0 to FF (Includes B, X and SP) Bit Bit number (0 to 7) ← Loaded with ↔ Exchanged with INSTRUCTION SET ADD ADC SUBC AND OR XOR IFEQ IFGT IFBNE DRSZ SBIT RBIT IFBIT X LD A LD mem LD Reg X X LD A LD A LD M CLRA INCA DECA LAID DCORA RRCA SWAPA SC RC IFC IFNC JMPL add add with carry subtract with carry Logical AND Logical OR Logical Exclusive-OR IF equal IF greater than IF B not equal Decrement Reg. ,skip if zero Set bit Reset bit If bit Exchange A with memory Load A with memory Load Direct memory Immed. Load Register memory Immed. Exchange A with memory [B] Exchange A with memory [X] Load A with memory [B] Load A with memory [X] Load Memory Immediate Clear A Increment A Decrement A Load A indirect from ROM DECIMAL CORRECT A ROTATE A RIGHT THRU C Swap nibbles of A Set C Reset C If C If not C Jump absolute long A ← A + MemI A ← A + MemI + C, C ← Carry HC ← Half Carry A ← A + MemI +C, C ← Carry HC ← Half Carry A ← A and MemI A ← A or MemI A ← A xor MemI Compare A and MemI, Do next if A = MemI Compare A and MemI, Do next if A > MemI Do next if lower 4 bits of B ≠ Imm Reg ← Reg − 1, skip if Reg goes to 0 1 to bit, Mem (bit= 0 to 7 immediate) 0 to bit, Mem If bit, Mem is true, do next instr. A ↔ Mem A ← MemI Mem ← Imm Reg ← Imm A ↔ [B] A ↔ [X] A ← [B] (B ← B ± 1) (X ← X ± 1) (B ← B ± 1) ← [X] A (X ← X ± 1) [B] ← Imm (B ← B ± 1) A←0 A←A+1 A←A−1 A ← ROM(PU,A) A ← BCD correction (follows ADC, SUBC) C → A7 → … → A0 → C A7 … A4 ↔ A3 … A0 C ← 1, HC ← 1 C ← 0, HC ← 0 If C is true, do next instruction If C is not true, do next instruction PC ← ii (ii = 15 bits, 0 to 32k) 25 www.national.com COP820CJ/COP840CJ Family Instruction Set JMP JP JSRL JSR JID RET RETSK RETI INTR NOP (Continued) INSTRUCTION SET (Continued) Jump absolute Jump relative short Jump subroutine long Jump subroutine Jump indirect Return from subroutine Return and Skip Return from Interrupt Generate an interrupt No operation PC11..0 ← i (i = 12 bits) PC ← PC + r (r is −31 to +32, not 1) [SP] ← PL,[SP-1] ← PU,SP-2,PC ← ii [SP] ← PL,[SP-1] ← PU,SP-2,PC11.. 0 ← i PL ← ROM(PU,A) SP+2,PL ← [SP],PU ← [SP-1] SP+2,PL ← [SP],PU ← [SP-1],Skip next instruction SP+2,PL ← [SP],PU ← [SP-1],GIE ← 1 [SP] ← PL,[SP−1] ← PU,SP-2,PC ← 0FF PC ← PC + 1 www.national.com 26 Opcode Table Bits 7–4 C DRSZ 0F0 DRSZ 0F1 DRSZ 0F2 DRSZ 0F3 DRSZ 0F4 DRSZ 0F5 DRSZ 0F6 DRSZ 0F7 DRSZ 0F8 DRSZ 0F9 DRSZ 0FA DRSZ 0FB DRSZ 0FC DRSZ 0FD DRSZ 0FE DRSZ 0FF * * * * * * * * * * * F RRCA SC X A,[B+] X A,[B−] LAID JID X A,[B] OR A,#i LD A,#i IFC IFNC INCA DECA * E RC SUBC A,#i IFEQ A,#i IFGT A,#i ADD A,#i AND A,#i XOR A,#i OR A,[B] LD B,8 LD B,7 LD B,6 LD B,5 LD B,4 LD B,3 LD B,2 RBIT 6,[B] SBIT 7,[B] RBIT 7,[B] LD B,1 LD B,0 IFBNE 9 IFBNE 0A IFBNE 0B IFBNE 0C RBIT 5,[B] IFBNE 0D IFBNE 0E IFBNE 0F IFBNE 8 IFBNE 7 SBIT 0,[B] SBIT 1,[B] SBIT 2,[B] SBIT 3,[B] SBIT 4,[B] SBIT 5,[B] SBIT 6,[B] RBIT 4,[B] RBIT 3,[B] RBIT 2,[B] RBIT 1,[B] RBIT 0,[B] IFBIT 7,[B] * D ADC A,#i SUBC A,[B] LD B,0E LD B,0D LD B,0C LD B,0B LD B,0A IFBNE 6 IFBNE 5 JSR JMP 0500–05FF 0500–05FF JSR JMP 0600–06FF 0600–06FF JSR JMP 0700–07FF 0700–07FF JSR JMP 0800–08FF 0800–08FF JSR JMP 0900–09FF 0900–09FF IFBNE 4 JSR JMP 0400–04FF 0400–04FF IFBNE 3 JSR JMP 0300–03FF 0300–03FF JP+20 JP+21 JP+22 JP+23 JP+24 JP+25 JP+26 JSR JMP JP+27 0A00–0AFF 0A00–0AFF JSR JMP JP+28 0B00–0BFF 0B00–0BFF JSR JMP JP+29 0C00–0CFF 0C00–0CFF JSR JMP JP+30 0D00–0DFF 0D00–0DFF JSR JMP JP+31 0E00–0EFF 0E00–0EFF JSR JMP JP+32 0F00–0FFF 0F00–0FFF IFBNE 2 JSR JMP 0200–02FF 0200–02FF JP+19 JP+3 JP+4 JP+5 JP+6 JP+7 JP+8 JP+9 JP+10 JP+11 JP+12 2 3 4 5 6 7 Bits 3–0 8 9 A B JP+13 C JP+14 D JP+15 JP+16 E F IFBNE 1 JSR JMP 0100–01FF 0100–01FF JP+18 JP+2 1 IFEQ A,[B] IFGT A,[B] ADD A,[B] AND A,[B] XOR A,[B] IFBIT DCORA LD B,9 6,[B] IFBIT SWAPA 5,[B] IFBIT 4,[B] CLRA IFBIT 3,[B] * B ADC A,[B] LD B,0F IFBNE 0 JSR JMP 0000–00FF 0000–00FF JP+17 INTR 0 IFBIT 1,[B] IFBIT 2,[B] * * A IFBIT 0,[B] * 9 8 7 6 5 4 3 2 1 0 JP−15 JP−31 LD 0F0, #i Instruction Set JP−14 X A,[X+] X A,[X−] JP−30 LD 0F1,#i JP−13 JP−29 LD 0F2,#i (Continued) JP−12 JP−28 LD 0F3,#i JP−11 JP−27 LD 0F4,#i JP−10 X A,[X] JP−26 LD 0F5,#i JP−9 JP−25 LD 0F6,#i JP−8 NOP * JP−24 LD 0F7,#i COP820CJ/COP840CJ Family 27 JP−7 JP−23 LD 0F8,#i JP−6 LD A,[X+] LD A,[X−] LD Md,#i DIR LD A,[X] RETI LD A,[B] LD [B],#i RET JSRL LD A,Md RETSK JMPL X A,Md LD LD A,[B−] [B−],#i LD LD A,[B+] [B+],#i JP−22 LD 0F9,#i JP−5 JP−21 LD 0FA,#i JP−4 JP−20 LD 0FB,#i JP−3 JP−19 LD 0FC,#i JP−2 JP−18 LD 0FD,#i JP−1 JP−17 LD 0FE,#i JP−0 JP−16 LD 0FF,#i www.national.com Where, i is the immediate data Md is a directly addressed memory location * is an unused opcode (see following table) COP820CJ/COP840CJ Family Instruction Execution Time Most instructions are single byte (with immediate addressing mode instruction taking two bytes). Most single instructions take one cycle time to execute. Skipped instructions require x number of cycles to be skipped, where x equals the number of bytes in the skipped instruction opcode. See the BYTES and CYCLES per INSTRUCTION table for details. Bytes and Cycles per Instruction The following table shows the number of bytes and cycles for each instruction in the format of byte/cycle. Arithmetic Instructions (Bytes/Cycles) [B] ADD ADC SUBC AND OR XOR IFEQ IFGT IFBNE DRSZ SBIT RBIT IFBIT 1/1 1/1 1/1 1/1 1/1 1/1 1/1 1/1 1/1 1/1 1/1 1/1 1/3 3/4 3/4 3/4 Direct 3/4 3/4 3/4 3/4 3/4 3/4 3/4 3/4 Immed. 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 Instructions Using A & C Instructions CLRA INCA DECA LAID DCOR RRCA SWAPA SC RC IFC IFNC Transfer of Control Instructions Instructions JMPL JMP JP JSRL JSR JID RET RETSK RETI INTR NOP Bytes/Cycles 3/4 2/3 1/3 3/5 2/5 1/3 1/5 1/5 1/5 1/7 1/1 Bytes/Cycles 1/1 1/1 1/1 1/3 1/1 1/1 1/1 1/1 1/1 1/1 1/1 Memory Transfer Instructions (Bytes/Cycles) Register Indirect [B] X A,* LD A,* LD B,Imm LD B,Imm LD Mem,Imm LD Reg,Imm *= Register Indirect Direct 2/3 2/3 2/2 1/1 2/3 3/3 2/3 2/2 Immed. Auto Incr & Decr [B+, B−] 1/2 1/2 [X+, X−] 1/3 1/3 (If B < 16) (If B > 15) [X] 1/3 1/3 1/1 1/1 > Memory location addressed by B or X or directly. The following table shows the instructions assigned to unused opcodes. This table is for information only. The operations performed are subject to change without notice. Do not use these opcodes. Unused Opcode 60 61 62 63 NOP NOP NOP NOP Instruction Unused Opcode A9 AF B1 B4 NOP LD A, [B] C → HC NOP Instruction Unused Opcode 67 8C 99 9F A7 A8 Instruction NOP RET NOP LD [B], #i X A, [B] NOP Unused Opcode B5 B7 B9 BF Instruction NOP X A, [X] NOP LD A, [X] www.national.com 28 COP820CJ/COP840CJ Family Mask Options The mask programmable options are listed below. The options are programmed at the same time as the ROM pattern to provide the user with hardware flexibility to a variety of oscillation and packaging configuration. OPTION 1: CKI INPUT = 1 Crystal (CKI/IO) CKO for crystal configuration = 2 External (CKI/IO) CKO available as G7 input = 3 R/C (CKI/IO) CKO available as G7 input OPTION 2: BROWN OUT = 1 Enable Brown Out Detection = 2 Disable Brown Out Detection OPTION 3: BONDING COP820CJ COP840CJ = 1 28-pin DIP 28-pin DIP/SO = 2 20-pin DIP/SO 20-pin DIP/SO = 3 16-pin SO N/A = 4 28-pin SO N/A Development Tools Support OVERVIEW National is engaged with an international community of independent 3rd party vendors who provide hardware and software development tool support. Through National’s interaction and guidance, these tools cooperate to form a choice of solutions that fits each developer’s needs. This section provides a summary of the tool and development kits currently available. Up-to-date information, selection guides, free tools, demos, updates, and purchase information can be obtained at our web site at: www.national.com/cop8. SUMMARY OF TOOLS COP8 Evaluation Tools • COP8–NSEVAL: Free Software Evaluation package for Windows. A fully integrated evaluation environment for COP8, including versions of WCOP8 IDE (Integrated Development Environment), COP8-NSASM, COP8-MLSIM, COP8C, DriveWay™ COP8, Manuals, and other COP8 information. COP8–MLSIM: Free Instruction Level Simulator tool for Windows. For testing and debugging software instructions only (No I/O or interrupt support). COP8–EPU: Very Low cost COP8 Evaluation & Programming Unit. Windows based evaluation and hardware-simulation tool, with COP8 device programmer and erasable samples. Includes COP8-NSDEV, Driveway COP8 Demo, MetaLink Debugger, I/O cables and power supply. COP8–EVAL-ICUxx: Very Low cost evaluation and design test board for COP8ACC and COP8SGx Families, from ICU. Real-time environment with add-on A/D, D/A, and EEPROM. Includes software routines and reference designs. • • • Manuals, Applications Notes, Literature: Available free from our web site at: www.national.com/cop8. COP8 Integrated Software/Hardware Design Development Kits • • COP8-EPU: Very Low cost Evaluation & Programming Unit. Windows based development and hardwaresimulation tool for COPSx/xG families, with COP8 device programmer and samples. Includes COP8-NSDEV, Driveway COP8 Demo, MetaLink Debugger, cables and power supply. COP8-DM: Moderate cost Debug Module from MetaLink. A Windows based, real-time in-circuit emulation tool with COP8 device programmer. Includes COP8-NSDEV, DriveWay COP8 Demo, MetaLink Debugger, power supply, emulation cables and adapters. COP8 Development Languages and Environments • • COP8-NSASM: Free COP8 Assembler v5 for Win32. Macro assembler, linker, and librarian for COP8 software development. Supports all COP8 devices. (DOS/Win16 v4.10.2 available with limited support). (Compatible with WCOP8 IDE, COP8C, and DriveWay COP8). COP8-NSDEV: Very low cost Software Development Package for Windows. An integrated development environment for COP8, including WCOP8 IDE, COP8NSASM, COP8-MLSIM. • 29 www.national.com COP820CJ/COP840CJ Family Development Tools Support (Continued) • COP8C: Moderately priced C Cross-Compiler and Code Development System from Byte Craft (no code limit). Includes BCLIDE (Byte Craft Limited Integrated Development Environment) for Win32, editor, optimizing C CrossCompiler, macro cross assembler, BC-Linker, and MetaLink tools support. (DOS/SUN versions available; Compiler is installable under WCOP8 IDE; Compatible with DriveWay COP8). EWCOP8-KS: Very Low cost ANSI C-Compiler and Embedded Workbench from IAR (Kickstart version: COP8Sx/Fx only with 2k code limit; No FP). A fully integrated Win32 IDE, ANSI C-Compiler, macro assembler, editor, linker, Liberian, C-Spy simulator/debugger, PLUS MetaLink EPU/DM emulator support. EWCOP8-AS: Moderately priced COP8 Assembler and Embedded Workbench from IAR (no code limit). A fully integrated Win32 IDE, macro assembler, editor, linker, librarian, and C-Spy high-level simulator/debugger with I/O and interrupts support. (Upgradeable with optional C-Compiler and/or MetaLink Debugger/Emulator support). EWCOP8-BL: Moderately priced ANSI C-Compiler and Embedded Workbench from IAR (Baseline version: All COP8 devices; 4k code limit; no FP). A fully integrated Win32 IDE, ANSI C-Compiler, macro assembler, editor, linker, librarian, and C-Spy high-level simulator/debugger. (Upgradeable; CWCOP8-M MetaLink tools interface support optional). EWCOP8: Full featured ANSI C-Compiler and Embedded Workbench for Windows from IAR (no code limit). A fully integrated Win32 IDE, ANSI C-Compiler, macro assembler, editor, linker, librarian, and C-Spy high-level simulator/debugger. (CWCOP8-M MetaLink tools interface support optional). EWCOP8-M: Full featured ANSI C-Compiler and Embedded Workbench for Windows from IAR (no code limit). A fully integrated Win32 IDE, ANSI C-Compiler, macro assembler, editor, linker, librarian, C-Spy high-level simulator/debugger, PLUS MetaLink debugger/hardware interface (CWCOP8-M). COP8 Productivity Enhancement Tools • WCOP8 IDE: Very Low cost IDE (Integrated Development Environment) from KKD. Supports COP8C, COP8NSASM, COP8-MLSIM, DriveWay COP8, and MetaLink debugger under a common Windows Project Management environment. Code development, debug, and emulation tools can be launched from the project window framework. • • DriveWay-COP8: Low cost COP8 Peripherals Code Generation tool from Aisys Corporation. Automatically generates tested and documented C or Assembly source code modules containing I/O drivers and interrupt handlers for each on-chip peripheral. Application specific code can be inserted for customization using the integrated editor. (Compatible with COP8-NSASM, COP8C, and WCOP8 IDE.) COP8-UTILS: Free set of COP8 assembly code examples, device drivers, and utilities to speed up code development. • • COP8-MLSIM: Free Instruction Level Simulator tool for Windows. For testing and debugging software instructions only (No I/O or interrupt support). COP8 Real-Time Emulation Tools • • • COP8-DM: MetaLink Debug Module. A moderately priced real-time in-circuit emulation tool, with COP8 device programmer. Includes COP8-NSDEV, DriveWay COP8 Demo, MetaLink Debugger, power supply, emulation cables and adapters. • IM-COP8: MetaLink iceMASTER ® . A full featured, realtime in-circuit emulator for COP8 devices. Includes MetaLink Windows Debugger, and power supply. Packagespecific probes and surface mount adaptors are ordered separately. COP8 Device Programmer Support • • • MetaLink’s EPU and Debug Module include development device programming capability for COP8 devices. Third-party programmers and automatic handling equipment cover needs from engineering prototype and pilot production, to full production environments. Factory programming available for high-volume requirements. • • www.national.com 30 COP820CJ/COP840CJ Family Development Tools Support Vendor National Tools COP8-NSEVAL COP8-NSASM COP8-MLSIM COP8-NSDEV COP8-EPU COP8-DM Development Devices OTP Programming Adapters (Continued) TOOLS ORDERING NUMBERS FOR THE COP820CJ/COP840CJ FAMILY DEVICES Order Number COP8-NSEVAL COP8-NSASM COP8-MLSIM COP8-NSDEV Not available for this device Contact MetaLink COP87L20/40CJxx COP87L22/42CJxx COP8SA-PGMA COP8-PGMA-44QFP COP8-PGMA-28CSP COP8-PGMA-28SO IM-COP8 MetaLink COP8-EPU COP8-DM Contact MetaLink Not available for this device DM4-COP8-840CJ (10 MHz), plus PS-10, plus DM-COP8/xxx (ie. 28D) MHW-CONVxx (xx = 33, 34 etc.) MHW-COP8-PGMA-DS M Included p/s (PS-10), target cable of choice (DIP or PLCC; i.e. DM-COP8/28D), 16/20/28/40 DIP/SO and 44 PLCC programming sockets. Add OTP adapter (if needed) and target adapter (if needed) DM target converters for 16DIP/20/SO/28SO/44QFP/28CSP; (MHW-CNV38 for 20 pin DIP to SO package converter) For programming 16/20/28 SOIC and 44 PLCC on the EPU Base unit 10 MHz; -220 = 220V; add probe card (required) and target adapter (if needed); included software and manuals 10 MHz 20 or 28 DIP probe card; 2.5V to 6.0V 16 or 20 or 28 pin SOIC adapter for probe card VL L L L VL 4k or 32k OTP devices. No windowed devices For programming 16/20/28 SOIC and 44 PLCC on the EPU For programming 44QFP on any programmer For programming 28CSP on any programmer For programming 16/20/28 SOIC on any programmer Cost Free Free Free VL Web site download Included in EPU and DM. Web site download Included in EPU and DM. Web site download Included in EPU and DM. Order CD from website Notes DM Target Adapters OTP Programming Adapters IM-COP8 L L IM-COP8-AD-464 (-220) (10 MHz maximum) PC-840CJxxDW-AD-10 (xx = 20 or 28) H M L IM Probe Target Adapter ICU or National KKD IAR Byte Craft Aisys MHW-SOICxx (xx = 16, 20, 28) COP8-EVAL-ICUxx Not available for this device WCOP8-IDE EWCOP8-xx COP8C DriveWay COP8 WCOP8-IDE See summary above COP8C DriveWay COP8 Contact vendors VL L-H M L L-H Included in EPU and DM Included all software and manuals Included all software and manuals Included all software and manuals For approved programmer listings and vendor information, go to our OTP support page at: www.national.com/cop8 OTP Programmers Cost: Free; VL = < $100; L = $100 - $300; M = $300 - $1k; H = $1k - $3k; VH = $3k - $5k 31 www.national.com COP820CJ/COP840CJ Family Development Tools Support WHERE TO GET TOOLS (Continued) Tools are ordered directly from the following vendors. Please go to the vendor’s web site for current listings of distributors. Vendor Aisys Home Office U.S.A.: Santa Clara, CA 1-408-327-8820 fax: 1-408-327-8830 Byte Craft U.S.A. 1-519-888-6911 fax: 1-519-746-6751 IAR Sweden: Uppsala +46 18 16 78 00 fax: +46 18 16 78 38 www.iar.se info@iar.se info@iar.com info@iarsys.co.uk info@iar.de U.S.A.: San Francisco 1-415-765-5500 fax: 1-415-765-5503 U.K.: London +44 171 924 33 34 fax: +44 171 924 53 41 Germany: Munich +49 89 470 6022 fax: +49 89 470 956 ICU Sweden: Polygonvaegen +46 8 630 11 20 fax: +46 8 630 11 70 KKD MetaLink Denmark: U.S.A.: Chandler, AZ 1-800-638-2423 fax: 1-602-926-1198 www.icu.se support@icu.se support@icu.ch www.kkd.dk www.metaice.com sales@metaice.com support@metaice.com bbs: 1-602-962-0013 www.metalink.de National U.S.A.: Santa Clara, CA 1-800-272-9959 fax: 1-800-737-7018 www.national.com/cop8 support@nsc.com europe.support@nsc.com Germany: Kirchseeon 80-91-5696-0 fax: 80-91-2386 islanger@metalink.de Distributors Worldwide Europe: +49 (0) 180 530 8585 fax: +49 (0) 180 530 8586 Distributors Worldwide Switzeland: Hoehe +41 34 497 28 20 fax: +41 34 497 28 21 www.bytecraft.com info@bytecraft.com Distributors Electronic Sites www.aisysinc.com info @aisysinc.com Other Main Offices Distributors The following companies have approved COP8 programmers in a variety of configurations. Contact your local office or distributor. You can link to their web sites and get the latest listing of approved programmers from National’s COP8 OTP Support page at: www.national.com/cop8. Advantech; Advin; BP Microsystems; Data I/O; Hi-Lo Systems; ICE Technology; Lloyd Research; Logical Devices; MQP; Needhams; Phyton; SMS; Stag Programmers; System General; Tribal Microsystems; Xeltek. Customer Support Complete product information and technical support is available from National’s customer response centers, and from our on-line COP8 customer support sites. www.national.com 32 COP820CJ/COP840CJ Family Physical Dimensions inches (millimeters) unless otherwise noted 16-Lead Molded Package S.O. (M) Order Number COPCJ823-XXX/WM NS Package Number M16B 20-Lead Surface Mount Package (M) Order Number COPCJ822-XXX/WM, COP842CJ-XXX/M, or COP942CJ-XXX/M NS Package Number M20B 33 www.national.com COP820CJ/COP840CJ Family Physical Dimensions inches (millimeters) unless otherwise noted (Continued) 28-Lead Molded Package S.O. (M) Order Number COPCJ820-XXX/WM, COP840CJ-XXX/M, or COP940CJ-XXX/M NS Package Number M28B 20-Lead Molded Dual-In-Line Package (N) Order Number COPCJ822-XXX/N, COP842CJ-XXX/N, or COP942CJ-XXX/N NS Package Number N20A www.national.com 34 COP820CJ/COP840CJ Family, 8-Bit CMOS ROM Based Microcontrollers with 1k or 2k Memory, Comparator and Brown Out Detector Physical Dimensions inches (millimeters) unless otherwise noted (Continued) 28-Lead Molded Dual-In-Line Package (N) Order Number COPCJ820-XXX/N, COP840CJ-XXX/N, or COP940CJ-XXX/N NS Package Number N28B LIFE SUPPORT POLICY NATIONAL’S PRODUCTS ARE NOT AUTHORIZED FOR USE AS CRITICAL COMPONENTS IN LIFE SUPPORT DEVICES OR SYSTEMS WITHOUT THE EXPRESS WRITTEN APPROVAL OF THE PRESIDENT AND GENERAL COUNSEL OF NATIONAL SEMICONDUCTOR CORPORATION. As used herein: 1. Life support devices or systems are devices or systems which, (a) are intended for surgical implant into the body, or (b) support or sustain life, and whose failure to perform when properly used in accordance with instructions for use provided in the labeling, can be reasonably expected to result in a significant injury to the user. National Semiconductor Corporation Americas Tel: 1-800-272-9959 Fax: 1-800-737-7018 Email: support@nsc.com www.national.com National Semiconductor Europe Fax: +49 (0) 180-530 85 86 Email: europe.support@nsc.com Deutsch Tel: +49 (0) 69 9508 6208 English Tel: +44 (0) 870 24 0 2171 Français Tel: +33 (0) 1 41 91 87 90 2. A critical component is any component of a life support device or system whose failure to perform can be reasonably expected to cause the failure of the life support device or system, or to affect its safety or effectiveness. National Semiconductor Asia Pacific Customer Response Group Tel: 65-2544466 Fax: 65-2504466 Email: ap.support@nsc.com National Semiconductor Japan Ltd. Tel: 81-3-5639-7560 Email: nsj.crc@jksmtp.nsc.com Fax: 81-3-5639-7507 National does not assume any responsibility for use of any circuitry described, no circuit patent licenses are implied and National reserves the right at any time without notice to change said circuitry and specifications.
COP840C 价格&库存

很抱歉,暂时无法提供与“COP840C”相匹配的价格&库存,您可以联系我们找货

免费人工找货