AN586. Macros for Page and Bank Switching INTRODUCTION

Size: px
Start display at page:

Download "AN586. Macros for Page and Bank Switching INTRODUCTION"

Transcription

1 Macros for Page and Bank Switching Author: Mark Palmer Microchip Technology Inc. Contributions: Mike Morse Sr. Field Applications Engineer (Dallas) INTRODUCTION This application note discusses the use of the MPASM assembler's conditional assembly to automatically switch between program memory pages or to set the data memory banks. These macros, along with the long call technique (Application Note AN581), ease the development of software. Though the use of these macros can simplify program memory paging and data memory banking with minimal software overhead, the use of these macros without thought can cause unnecessary (duplicate) instructions to be used, by setting page or bank bits unnecessarily. The PIC16C5X family of devices has an architecture in which program memory has up to four pages of program memory (512 words / page) and four banks of data memory (16 bytes / bank). Two bits in the STATUS register, PA1:PA0, are used to manage the program memory pages. Two bits of the FSR register, bits 6 and 5, manage the data memory banks. We will call the FSR<5> bit RP0 and the FSR<6> bit RP1 (for Register Page 0 and 1). The naming of these bits RP1 and RP0 should not be confused with the similarly named bits in the PIC16CXX family (PIC16C64, PIC16C71, etc.). The RP bits for the PIC16CXX family are found in the STA- TUS register, as opposed to the FSR register for the PIC16C5X family. The use of these macros can be modified to support the PIC16CXX family. The program memory organization is shown in Figure 1 and the data memory organization is shown in Figure 2. To use the macros for the data memory, the data memory locations must be EQUated for the absolute address, and not the relative address in the bank. The relative address is the lower 5-bits of the data memory address. When the address of the data memory has the MSb (bit4) of the direct address cleared, or FSR<4> cleared (for indirect addressing), the address 0h through 0Fh is accessed. That is, when accessing addresses 0h through 0Fh the bank selection (FSR<6:5>) bits are ignored. This means that data memory addresses 'xxx0 xxxx'b access the data memory address 0xh (x is anywhere from 0 - F) Microchip Technology Inc. DS00586B-page 1

2 FIGURE 1: PROGRAM MEMORY ORGANIZATION File Address 00h 01h 02h A10 03h 04h 05h 06h 07h 08h 09h 0Ah 0Bh 0Ch 0Dh 0Eh 0Fh A9 A Indirect Addr. (1) TMR0 PCL STATUS FSR PORTA PORTB PORTC General Purpose Register File CALL RETLW STACK 1 STACK 2 To and from register file via ALU FSR<6:5> Data Memory Bank Select TRISA TRISB TRISC W OPTION From Program Memory h 11h 12h 13h 14h 15h 16h 17h 18h 19h 1Ah 1Bh 1Ch 1Dh 1Eh 1Fh General Purpose Register File (All Types) 30h 50h General Purpose Register File (PIC16C57 Only) 70h (Bank 0) (2) (Bank 1) (2) (Bank 2) (2) (Bank 3) (2) 3F 5Fh 7Fh Note 1: Not a physically implemented register. 2: Bank 0 is available on all microcontrollers while Bank 1, Bank 2, and Bank 3 are only available on the PIC16C57 and PIC16C58. DS00586B-page Microchip Technology Inc.

3 FIGURE 2: DATA MEMORY MAP GOTO, CALL instruction with PC as destination... from STATUS<6> (PIC16C57 Only) GOTO, CALL instruction with PC as destination... from STATUS<5> (PIC16C56/57/58 Only) GOTO direct from instruction word CALL instruction with PC as destination always '0' GOTO, CALL... direct from instruction word Instruction with PC as destination... from ALU PC A10 A9 A8 A<7:0> RETLW, CALL 9-11 bits STACK LEVEL 1 STACK LEVEL h 00 PAGE 0 0FFh 100h MAX. EPROM/ROM ADDRESS 1FFh 200h PIC16C54\PIC16C55 01 PAGE 1 2FFh 300h 3FFh 400h PIC16C56 10 PAGE 2 4FFh 500h 5FFh 600h 11 PAGE 3 6FFh 700h 7FFh PIC16C57/PIC16C Microchip Technology Inc. DS00586B-page 3

4 The use of MPASM s conditional assembly, allows the selection of source code to be assembled based on the address of the symbol / label. The macros supplied are show in Table 1. They can be grouped into three categories: 1. Configuring of the program memory pages. 2. Configuring of the data memory banks. 3. Other. TABLE 1: MACROS Program Calling Paging Operands Operation CALLM address Sets page bits, then CALLs the specified routine GOTOM address Sets page bits, then GOTOs the specified address PAGE_MAC address Sets the specified page bits Data Memory Banking ADDWF_MAC Reg, dest Sets Bank bits, then executes the ADDWF ANDWF_MAC Reg, dest Sets Bank bits, then executes the ANDWF BCF_MAC Reg, bit Sets Bank bits, then executes the BCF BSF_MAC Reg, bit Sets Bank bits, then executes the BSF BTFSC_MAC Reg, bit Sets Bank bits, then executes the BTFSC BTFSS_MAC Reg, bit Sets Bank bits, then executes the BTFSS CLRF_MAC Reg Sets Bank bits, then executes the CLRF COMF_MAC Reg, dest Sets Bank bits, then executes the COMF DECF_MAC Reg, dest Sets Bank bits, then executes the DECF DECFSZ_MAC Reg, dest Sets Bank bits, then executes the DECFSZ INCF_MAC Reg, dest Sets Bank bits, then executes the INCF INCFSZ_MAC Reg, dest Sets Bank bits, then executes the INCFSZ IORWF_MAC Reg, dest Sets Bank bits, then executes the IORWF MOVF_MAC Reg, dest Sets Bank bits, then executes the MOVF MOVWF_MAC Reg Sets Bank bits, then executes the MOVWF RLF_MAC Reg, dest Sets Bank bits, then executes the RLF RRF_MAC Reg, dest Sets Bank bits, then executes the RRF SUBWF_MAC Reg, dest Sets Bank bits, then executes the SUBWF SWAPF_MAC Reg, dest Sets Bank bits, then executes the SWAPF XORWF_MAC Reg, dest Sets Bank bits, then executes the XORWF BANK_MAC Reg Sets the specified Bank bits Other SAVE_W_STATUS - Saves the W and STATUS registers RESTORE_W_STATUS - Restores the W and STATUS registers DS00586B-page Microchip Technology Inc.

5 These macros (Appendix A) ease the development of programs, but care should be taken in their use so that redundant instructions are not caused. An example of this (Example 1) is if you wanted to do the operations, INCF and BTFSS, on data memory location CNTR (in Bank 3) and the FSR was pointing to some other bank. The use of the macros for both operations would cause six program memory locations to be assembled, while with some thought only four words are needed (Example 2). CONCLUSION The use of these macros simplify program development by managing the memory resources of the PIC16C5X device. If the application program becomes too large for the device s program memory, it is recommended to study the listing file for any unnecessary code due to non-optimum usage of these macros. The MAC_TST.ASM file, is supplied to show how these macros work in a program. EXAMPLE 1: GENERATION OF UNNECESSARY CODE INCF_MAC CNTR, F > BSF FSR, 5 BSF FSR, 6 INCF CNTR, F BTFSS_MAC CNTR, 5 > BSF FSR, 5 ; Unnecessary, already in bank BSF FSR, 6 ; Unnecessary, already in bank BTFSS CNTR, 5 EXAMPLE 2: GENERATION OF OPTIMUM CODE INCF_MAC CNTR, F > BSF FSR, 5 BSF FSR, 6 INCF CNTR, F BTFSS CNTR, 5 > BTFSS CNTR, Microchip Technology Inc. DS00586B-page 5

6 DS00586B-page Microchip Technology Inc. Please check the Microchip BBS for the latest version of the source code. Microchip s Worldwide Web Address: Bulletin Board Support: MCHIPBBS using CompuServe (CompuServe membership not required). APPENDIX A: MACRO FILE MPASM Released LCALL_5X.ASM :13:33 PAGE 1 LOC OBJECT CODE LINE SOURCE TEXT VALUE LIST P = 16C57, n = ERRORLEVEL -302, ; ; Program = LCALL_5x.asm ; Revision Date: ; Compatibility with MPASMWIN ; ; P1_TOP EQU 0x FF P1_BOTTOM EQU 0x01FF P2_TOP EQU 0x FF P2_BOTTOM EQU 0x03FF P3_TOP EQU 0x FF P3_BOTTOM EQU 0x05FF P4_TOP EQU 0x FF P4_BOTTOM EQU 0x07FF FF RESET_V EQU 0x07FF ; STATUS EQU 0x03 ; Status Register PA0 EQU 0x05 ; Program Memory Page Address bit PA1 EQU 0x06 ; Program Memory Page Address bit ; FSR EQU 0x04 ; FSR Register RP0 EQU 0x05 ; Direct Addressing Register Bank bit RP1 EQU 0x06 ; Direct Addressing Register Bank bit ; BANK0_T EQU 0x BANK1_T EQU 0x BANK2_T EQU 0x BANK3_T EQU 0x ; org P1_TOP ; A P1_CALL_1_V GOTO P1_CALL_ A0A P1_CALL_2_V GOTO P1_CALL_2

7 1997 Microchip Technology Inc. DS00586B-page A0D P1_CALL_3_V GOTO P1_CALL_ A1F P1_CALL_4_V GOTO P1_CALL_ A P1_CALL_5_V GOTO P1_CALL_ ; ; D_address EQU 0x F EQU W EQU ; include <AUTO_PG.MAC> list ; D START CALL P1_CALL_ ; A LOOP GOTO LOOP ; ; P1_CALL_ ; if ( (P1_CALL_1_V & 0x0600)!= (P1_CALL_1 & 0x0600) ) MESSG ERROR - User Defined: CALL VECTOR and CALL routine NOT in same page endif ; NOP NOP P1_CALL_1_END RETURN ; if ( (P1_CALL_1 & 0x0600)!= (P1_CALL_1_END & 0x0600) ) MESSG Warning - User Defined: Call routine crosses page boundry endif ; A P1_CALL_ ; if ( (P1_CALL_2_V & 0x0600)!= (P1_CALL_2 & 0x0600) ) MESSG ERROR - User Defined: CALL VECTOR and CALL routine NOT in same page endif ; 000A NOP 000B NOP 000C P1_CALL_2_END RETURN ; if ( (P1_CALL_2 & 0x0600)!= (P1_CALL_2_END & 0x0600) ) MESSG Warning - User Defined: Call routine crosses page boundry endif

8 DS00586B-page Microchip Technology Inc ; D P1_CALL_ ; if ( (P1_CALL_3_V & 0x0600)!= (P1_CALL_3 & 0x0600) ) MESSG ERROR - User Defined: CALL VECTOR and CALL routine NOT in same page endif ; 000D NOP 000E NOP 000F P1_CALL_3_END RETURN ; if ( (P1_CALL_3 & 0x0600)!= (P1_CALL_3_END & 0x0600) ) MESSG Warning - User Defined: Call routine crosses page boundry endif ; CALLM P2_CALL_3_V M if ( ( P2_CALL_3_V & 0x0200 ) == 0x0200 ) A3 M BSF STATUS, PA0 ; Set PA0 for Program Memory Page M BCF STATUS, PA0 ; Clear PA0 for Program Memory Page M if ( ( P2_CALL_3_V & 0x0400 ) == 0x0400 ) M BSF STATUS, PA1 ; Set PA1 for Program Memory Page C3 M BCF STATUS, PA1 ; Clear PA1 for Program Memory Page M CALL P2_CALL_3_V nop nop ; CALLM P4_CALL_2_V M if ( ( P4_CALL_2_V & 0x0200 ) == 0x0200 ) A3 M BSF STATUS, PA0 ; Set PA0 for Program Memory Page M BCF STATUS, PA0 ; Clear PA0 for Program Memory Page M if ( ( P4_CALL_2_V & 0x0400 ) == 0x0400 ) C3 M BSF STATUS, PA1 ; Set PA1 for Program Memory Page

9 1997 Microchip Technology Inc. DS00586B-page 9 M BCF STATUS, PA1 ; Clear PA1 for Program Memory Page M CALL P4_CALL_2_V nop nop ; CALLM P3_CALL_1_V M if ( ( P3_CALL_1_V & 0x0200 ) == 0x0200 ) M BSF STATUS, PA0 ; Set PA0 for Program Memory Page 001A 04A3 M BCF STATUS, PA0 ; Clear PA0 for Program Memory Page M if ( ( P3_CALL_1_V & 0x0400 ) == 0x0400 ) 001B 05C3 M BSF STATUS, PA1 ; Set PA1 for Program Memory Page M BCF STATUS, PA1 ; Clear PA1 for Program Memory Page 001C 0900 M CALL P3_CALL_1_V 001D nop 001E nop ; 001F P1_CALL_ ; if ( (P1_CALL_4_V & 0x0600)!= (P1_CALL_4 & 0x0600) ) MESSG ERROR - User Defined: CALL VECTOR and CALL routine NOT in same page endif ; 001F NOP NOP P1_CALL_4_END RETURN ; if ( (P1_CALL_4 & 0x0600)!= (P1_CALL_4_END & 0x0600) ) MESSG Warning - User Defined: Call routine crosses page boundry endif ; nop nop ADDWF_MAC D_address, F M BSF FSR, RP0 ; Set RP0 for Data Memory Page

10 DS00586B-page Microchip Technology Inc A4 M BCF FSR, RP0 ; Clear RP0 for Data Memory Bank C4 M BCF FSR, RP1 ; Clear RP1 for Data Memory Bank F0 M ADDWF D_address, F ANDWF_MAC D_address, F A4 M BCF FSR, RP0 ; Clear RP0 for Data Memory Bank C4 M BCF FSR, RP1 ; Clear RP1 for Data Memory Bank M ANDWF D_address, F BCF_MAC D_address, 7 002A 04A4 M BCF FSR, RP0 ; Clear RP0 for Data Memory Bank 002B 04C4 M BCF FSR, RP1 ; Clear RP1 for Data Memory Bank 002C 04F0 M BCF D_address, BSF_MAC D_address, 7 002D 04A4 M BCF FSR, RP0 ; Clear RP0 for Data Memory Bank

11 1997 Microchip Technology Inc. DS00586B-page E 04C4 M BCF FSR, RP1 ; Clear RP1 for Data Memory Bank 002F 05F0 M BSF D_address, BTFSC_MAC D_address, A4 M BCF FSR, RP0 ; Clear RP0 for Data Memory Bank C4 M BCF FSR, RP1 ; Clear RP1 for Data Memory Bank F0 M BTFSC D_address, BTFSS_MAC D_address, A4 M BCF FSR, RP0 ; Clear RP0 for Data Memory Bank C4 M BCF FSR, RP1 ; Clear RP1 for Data Memory Bank F0 M BTFSS D_address, CLRF_MAC D_address A4 M BCF FSR, RP0 ; Clear RP0 for Data Memory Bank C4 M BCF FSR, RP1 ; Clear RP1 for Data Memory Bank M CLRF D_address

12 DS00586B-page Microchip Technology Inc COMF_MAC D_address, F A4 M BCF FSR, RP0 ; Clear RP0 for Data Memory Bank 003A 04C4 M BCF FSR, RP1 ; Clear RP1 for Data Memory Bank 003B 0270 M COMF D_address, F DECF_MAC D_address, F 003C 04A4 M BCF FSR, RP0 ; Clear RP0 for Data Memory Bank 003D 04C4 M BCF FSR, RP1 ; Clear RP1 for Data Memory Bank 003E 00F0 M DECF D_address, F DECFSZ_MAC D_address, F 003F 04A4 M BCF FSR, RP0 ; Clear RP0 for Data Memory Bank C4 M BCF FSR, RP1 ; Clear RP1 for Data Memory Bank F0 M DECFSZ D_address, F INCF_MAC D_address, F

13 1997 Microchip Technology Inc. DS00586B-page A4 M BCF FSR, RP0 ; Clear RP0 for Data Memory Bank C4 M BCF FSR, RP1 ; Clear RP1 for Data Memory Bank B0 M INCF D_address, F INCFSZ_MAC D_address, F A4 M BCF FSR, RP0 ; Clear RP0 for Data Memory Bank C4 M BCF FSR, RP1 ; Clear RP1 for Data Memory Bank F0 M INCFSZ D_address, F IORWF_MAC D_address, F A4 M BCF FSR, RP0 ; Clear RP0 for Data Memory Bank C4 M BCF FSR, RP1 ; Clear RP1 for Data Memory Bank 004A 0130 M IORWF D_address, F MOVF_MAC D_address, F 004B 04A4 M BCF FSR, RP0 ; Clear RP0 for Data Memory Bank

14 DS00586B-page Microchip Technology Inc. 004C 04C4 M BCF FSR, RP1 ; Clear RP1 for Data Memory Bank 004D 0230 M MOVF D_address, F MOVWF_MAC D_address 004E 04A4 M BCF FSR, RP0 ; Clear RP0 for Data Memory Bank 004F 04C4 M BCF FSR, RP1 ; Clear RP1 for Data Memory Bank M MOVWF D_address RLF_MAC D_address, F A4 M BCF FSR, RP0 ; Clear RP0 for Data Memory Bank C4 M BCF FSR, RP1 ; Clear RP1 for Data Memory Bank M RLF D_address, F RRF_MAC D_address, F A4 M BCF FSR, RP0 ; Clear RP0 for Data Memory Bank C4 M BCF FSR, RP1 ; Clear RP1 for Data Memory Bank M RRF D_address, F SUBWF_MAC D_address, F

15 1997 Microchip Technology Inc. DS00586B-page A4 M BCF FSR, RP0 ; Clear RP0 for Data Memory Bank C4 M BCF FSR, RP1 ; Clear RP1 for Data Memory Bank B0 M SUBWF D_address, F SWAPF_MAC D_address, F 005A 04A4 M BCF FSR, RP0 ; Clear RP0 for Data Memory Bank 005B 04C4 M BCF FSR, RP1 ; Clear RP1 for Data Memory Bank 005C 03B0 M SWAPF D_address, F XORWF_MAC D_address, F 005D 04A4 M BCF FSR, RP0 ; Clear RP0 for Data Memory Bank 005E 04C4 M BCF FSR, RP1 ; Clear RP1 for Data Memory Bank 005F 01B0 M XORWF D_address, F PAGE_MAC P1_CALL_4 M if ( ( P1_CALL_4 & 0x0200 ) == 0x0200 ) M BSF STATUS, PA0 ; Set PA0 for Program Memory Page A3 M BCF STATUS, PA0 ; Clear PA0 for Program Memory Page

16 DS00586B-page Microchip Technology Inc. M if ( ( P1_CALL_4 & 0x0400 ) == 0x0400 ) M BSF STATUS, PA1 ; Set PA1 for Program Memory Page C3 M BCF STATUS, PA1 ; Clear PA1 for Program Memory Page BANK_MAC D_address A4 M BCF FSR, RP0 ; Clear RP0 for Data Memory Bank C4 M BCF FSR, RP1 ; Clear RP1 for Data Memory Bank P1_CALL_ ; if ( (P1_CALL_5_V & 0x0600)!= (P1_CALL_5 & 0x0600) ) MESSG ERROR - User Defined: CALL VECTOR and CALL routine NOT in same page endif ; NOP NOP ; org P2_TOP ; This is to force an intentional User Defined Message ; NOP NOP P1_CALL_5_END RETURN ; if ( (P1_CALL_5 & 0x0600)!= (P1_CALL_5_END & 0x0600) ) Message[301]: MESSAGE: (Warning - User Defined: Call routine crosses page boundry) MESSG Warning - User Defined: Call routine crosses page boundry endif ; A P2_CALL_1_V GOTO P2_CALL_ A0B P2_CALL_2_V GOTO P2_CALL_2

17 1997 Microchip Technology Inc. DS00586B-page A P2_CALL_3_V GOTO P2_CALL_ A P2_CALL_4_V GOTO P2_CALL_ A1C P2_CALL_5_V GOTO P2_CALL_ P2_CALL_1 NOP NOP 020A RETURN ; if ( (P2_CALL_1_V & 0x0600)!= (P2_CALL_1 & 0x0600) ) MESSG ERROR - User Defined: CALL VECTOR and CALL routine NOT in same page endif ; 020B P2_CALL_2 NOP 020C NOP 020D RETURN ; if ( (P2_CALL_2_V & 0x0600)!= (P2_CALL_2 & 0x0600) ) MESSG ERROR - User Defined: CALL VECTOR and CALL routine NOT in same page endif ; CALLM P1_CALL_3_V M if ( ( P1_CALL_3_V & 0x0200 ) == 0x0200 ) M BSF STATUS, PA0 ; Set PA0 for Program Memory Page 020E 04A3 M BCF STATUS, PA0 ; Clear PA0 for Program Memory Page M if ( ( P1_CALL_3_V & 0x0400 ) == 0x0400 ) M BSF STATUS, PA1 ; Set PA1 for Program Memory Page 020F 04C3 M BCF STATUS, PA1 ; Clear PA1 for Program Memory Page M CALL P1_CALL_3_V nop nop P2_CALL_3 NOP NOP RETURN ; if ( (P2_CALL_3_V & 0x0600)!= (P2_CALL_3 & 0x0600) ) MESSG ERROR - User Defined: CALL VECTOR and CALL routine NOT in same page

18 DS00586B-page Microchip Technology Inc endif ; GOTOM P1_CALL_2 M if ( ( P1_CALL_2 & 0x0200 ) == 0x0200 ) M BSF STATUS, PA0 ; Set PA0 for Program Memory Page A3 M BCF STATUS, PA0 ; Clear PA0 for Program Memory Page M if ( ( P1_CALL_2 & 0x0400 ) == 0x0400 ) M BSF STATUS, PA1 ; Set PA1 for Program Memory Page C3 M BCF STATUS, PA1 ; Clear PA1 for Program Memory Page A0A M GOTO P1_CALL_ ; P2_CALL_4 NOP 021A NOP 021B RETURN ; if ( (P2_CALL_4_V & 0x0600)!= (P2_CALL_4 & 0x0600) ) MESSG ERROR - User Defined: CALL VECTOR and CALL routine NOT in same page endif ; 021C P2_CALL_5 NOP 021D NOP 021E RETURN ; if ( (P2_CALL_5_V & 0x0600)!= (P2_CALL_5 & 0x0600) ) MESSG ERROR - User Defined: CALL VECTOR and CALL routine NOT in same page endif ; MOVF_MAC BANK0_T, 0 M if ( ( BANK0_T & 0x020 ) == 0x020 ) 021F 04A4 M BCF FSR, RP0 ; Clear RP0 for Data Memory Bank M if ( ( BANK0_T & 0x040 ) == 0x040 )

19 1997 Microchip Technology Inc. DS00586B-page 19 M BSF FSR, RP1 ; Set RP1 for Data Memory Page C4 M BCF FSR, RP1 ; Clear RP1 for Data Memory Page M MOVF BANK0_T, MOVWF_MAC BANK1_T M if ( ( BANK1_T & 0x020 ) == 0x020 ) A4 M BSF FSR, RP0 ; Set RP0 for Data Memory Page M BCF FSR, RP0 ; Clear RP0 for Data Memory Page M if ( ( BANK1_T & 0x040 ) == 0x040 ) M BSF FSR, RP1 ; Set RP1 for Data Memory Page C4 M BCF FSR, RP1 ; Clear RP1 for Data Memory Page M MOVWF BANK1_T MOVF_MAC BANK2_T, 0 M if ( ( BANK2_T & 0x020 ) == 0x020 ) M BSF FSR, RP0 ; Set RP0 for Data Memory Page A4 M BCF FSR, RP0 ; Clear RP0 for Data Memory Page M if ( ( BANK2_T & 0x040 ) == 0x040 ) C4 M BSF FSR, RP1 ; Set RP1 for Data Memory Page M BCF FSR, RP1 ; Clear RP1 for Data Memory Page M MOVF BANK2_T, MOVWF_MAC BANK3_T M if ( ( BANK3_T & 0x020 ) == 0x020 ) A4 M BSF FSR, RP0 ; Set RP0 for Data Memory Page M BCF FSR, RP0 ; Clear RP0 for Data Memory Page M if ( ( BANK3_T & 0x040 ) == 0x040 ) C4 M BSF FSR, RP1 ; Set RP1 for Data Memory Page M BCF FSR, RP1 ; Clear RP1 for Data Memory Page 022A 0030 M MOVWF BANK3_T

20 DS00586B-page Microchip Technology Inc ; org P3_TOP ; A P3_CALL_1_V GOTO P3_CALL_ A P3_CALL_2_V GOTO P3_CALL_ A0B P3_CALL_3_V GOTO P3_CALL_ A0E P3_CALL_4_V GOTO P3_CALL_ A P3_CALL_5_V GOTO P3_CALL_ P3_CALL_1 NOP NOP RETURN ; if ( (P3_CALL_1_V & 0x0600)!= (P3_CALL_1 & 0x0600) ) MESSG ERROR - User Defined: CALL VECTOR and CALL routine NOT in same page endif ; P3_CALL_2 NOP NOP 040A RETURN ; if ( (P3_CALL_2_V & 0x0600)!= (P3_CALL_2 & 0x0600) ) MESSG ERROR - User Defined: CALL VECTOR and CALL routine NOT in same page endif ; 040B P3_CALL_3 NOP 040C NOP 040D RETURN ; if ( (P3_CALL_3_V & 0x0600)!= (P3_CALL_3 & 0x0600) ) MESSG ERROR - User Defined: CALL VECTOR and CALL routine NOT in same page endif ; 040E P3_CALL_4 NOP 040F NOP RETURN ; if ( (P3_CALL_4_V & 0x0600)!= (P3_CALL_4 & 0x0600) ) MESSG ERROR - User Defined: CALL VECTOR and CALL routine NOT in same page endif ;

21 1997 Microchip Technology Inc. DS00586B-page org P4_TOP ; A P4_CALL_1_V GOTO P4_CALL_ A0B P4_CALL_2_V GOTO P4_CALL_ A0E P4_CALL_3_V GOTO P4_CALL_ A P4_CALL_4_V GOTO P4_CALL_ A P4_CALL_5_V GOTO P4_CALL_ ; P3_CALL_5 NOP ; This is to force an intentional User Defined Message NOP RETURN ; if ( (P3_CALL_5_V & 0x0600)!= (P3_CALL_5 & 0x0600) ) Message[301]: MESSAGE: (ERROR - User Defined: CALL VECTOR and CALL routine NOT in same page) MESSG ERROR - User Defined: CALL VECTOR and CALL routine NOT in same page endif ; P4_CALL_1 NOP NOP 060A RETURN ; if ( (P4_CALL_1_V & 0x0600)!= (P4_CALL_1 & 0x0600) ) MESSG ERROR - User Defined: CALL VECTOR and CALL routine NOT in same page endif ; 060B P4_CALL_2 NOP 060C NOP 060D RETURN ; if ( (P4_CALL_2_V & 0x0600)!= (P4_CALL_2 & 0x0600) ) MESSG ERROR - User Defined: CALL VECTOR and CALL routine NOT in same page endif ; 060E P4_CALL_3 NOP 060F NOP RETURN ; if ( (P4_CALL_3_V & 0x0600)!= (P4_CALL_3 & 0x0600) ) MESSG ERROR - User Defined: CALL VECTOR and CALL routine NOT in same page endif ; P4_CALL_4 NOP

22 DS00586B-page Microchip Technology Inc NOP RETURN ; if ( (P4_CALL_4_V & 0x0600)!= (P4_CALL_4 & 0x0600) ) MESSG ERROR - User Defined: CALL VECTOR and CALL routine NOT in same page endif ; P4_CALL_5 NOP NOP RETURN ; if ( (P4_CALL_5_V & 0x0600)!= (P4_CALL_5 & 0x0600) ) MESSG ERROR - User Defined: CALL VECTOR and CALL routine NOT in same page endif ; ; 07FF org RESET_V ; 07FF 0A GOTO START ; Goto the begining of the program end MEMORY USAGE MAP ( X = Used, - = Unused) 0000 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0040 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXX : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXX : XXXXXXXXXXXXXXXX X : XXXXXXXXXXXXXXXX XXXXXXX C0 : X All other memory blocks unused. Program Memory Words Used: 186 Program Memory Words Free: 1862 Errors : 0 Warnings : 0 reported, 0 suppressed Messages : 2 reported, 10 suppressed

23 Note the following details of the code protection feature on PICmicro MCUs. The PICmicro family meets the specifications contained in the Microchip Data Sheet. Microchip believes that its family of PICmicro microcontrollers is one of the most secure products of its kind on the market today, when used in the intended manner and under normal conditions. There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our knowledge, require using the PICmicro microcontroller in a manner outside the operating specifications contained in the data sheet. The person doing so may be engaged in theft of intellectual property. Microchip is willing to work with the customer who is concerned about the integrity of their code. Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not mean that we are guaranteeing the product as unbreakable. Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our product. If you have any further questions about this matter, please contact the local sales office nearest to you. Information contained in this publication regarding device applications and the like is intended through suggestion only and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. No representation or warranty is given and no liability is assumed by Microchip Technology Incorporated with respect to the accuracy or use of such information, or infringement of patents or other intellectual property rights arising from such use or otherwise. Use of Microchip s products as critical components in life support systems is not authorized except with express written approval by Microchip. No licenses are conveyed, implicitly or otherwise, under any intellectual property rights. Trademarks The Microchip name and logo, the Microchip logo, FilterLab, KEELOQ, microid, MPLAB, PIC, PICmicro, PICMASTER, PICSTART, PRO MATE, SEEVAL and The Embedded Control Solutions Company are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. dspic, ECONOMONITOR, FanSense, FlexROM, fuzzylab, In-Circuit Serial Programming, ICSP, ICEPIC, microport, Migratable Memory, MPASM, MPLIB, MPLINK, MPSIM, MXDEV, PICC, PICDEM, PICDEM.net, rfpic, Select Mode and Total Endurance are trademarks of Microchip Technology Incorporated in the U.S.A. Serialized Quick Turn Programming (SQTP) is a service mark of Microchip Technology Incorporated in the U.S.A. All other trademarks mentioned herein are property of their respective companies. 2002, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved. Printed on recycled paper. Microchip received QS-9000 quality system certification for its worldwide headquarters, design and wafer fabrication facilities in Chandler and Tempe, Arizona in July The Company s quality system processes and procedures are QS-9000 compliant for its PICmicro 8-bit MCUs, KEELOQ code hopping devices, Serial EEPROMs and microperipheral products. In addition, Microchip s quality system for the design and manufacture of development systems is ISO 9001 certified Microchip Technology Inc.

24 M WORLDWIDE SALES AND SERVICE AMERICAS Corporate Office 2355 West Chandler Blvd. Chandler, AZ Tel: Fax: Technical Support: Web Address: Rocky Mountain 2355 West Chandler Blvd. Chandler, AZ Tel: Fax: Atlanta 500 Sugar Mill Road, Suite 200B Atlanta, GA Tel: Fax: Boston 2 Lan Drive, Suite 120 Westford, MA Tel: Fax: Chicago 333 Pierce Road, Suite 180 Itasca, IL Tel: Fax: Dallas 4570 Westgrove Drive, Suite 160 Addison, TX Tel: Fax: Detroit Tri-Atria Office Building Northwestern Highway, Suite 190 Farmington Hills, MI Tel: Fax: Kokomo 2767 S. Albright Road Kokomo, Indiana Tel: Fax: Los Angeles Von Karman, Suite 1090 Irvine, CA Tel: Fax: New York 150 Motor Parkway, Suite 202 Hauppauge, NY Tel: Fax: San Jose Microchip Technology Inc North First Street, Suite 590 San Jose, CA Tel: Fax: Toronto 6285 Northam Drive, Suite 108 Mississauga, Ontario L4V 1X5, Canada Tel: Fax: ASIA/PACIFIC Australia Microchip Technology Australia Pty Ltd Suite 22, 41 Rawson Street Epping 2121, NSW Australia Tel: Fax: China - Beijing Microchip Technology Consulting (Shanghai) Co., Ltd., Beijing Liaison Office Unit 915 Bei Hai Wan Tai Bldg. No. 6 Chaoyangmen Beidajie Beijing, , No. China Tel: Fax: China - Chengdu Microchip Technology Consulting (Shanghai) Co., Ltd., Chengdu Liaison Office Rm. 2401, 24th Floor, Ming Xing Financial Tower No. 88 TIDU Street Chengdu , China Tel: Fax: China - Fuzhou Microchip Technology Consulting (Shanghai) Co., Ltd., Fuzhou Liaison Office Unit 28F, World Trade Plaza No. 71 Wusi Road Fuzhou , China Tel: Fax: China - Shanghai Microchip Technology Consulting (Shanghai) Co., Ltd. Room 701, Bldg. B Far East International Plaza No. 317 Xian Xia Road Shanghai, Tel: Fax: China - Shenzhen Microchip Technology Consulting (Shanghai) Co., Ltd., Shenzhen Liaison Office Rm. 1315, 13/F, Shenzhen Kerry Centre, Renminnan Lu Shenzhen , China Tel: Fax: Hong Kong Microchip Technology Hongkong Ltd. Unit 901-6, Tower 2, Metroplaza 223 Hing Fong Road Kwai Fong, N.T., Hong Kong Tel: Fax: India Microchip Technology Inc. India Liaison Office Divyasree Chambers 1 Floor, Wing A (A3/A4) No. 11, O Shaugnessey Road Bangalore, , India Tel: Fax: Japan Microchip Technology Japan K.K. Benex S-1 6F , Shinyokohama Kohoku-Ku, Yokohama-shi Kanagawa, , Japan Tel: Fax: Korea Microchip Technology Korea 168-1, Youngbo Bldg. 3 Floor Samsung-Dong, Kangnam-Ku Seoul, Korea Tel: Fax: Singapore Microchip Technology Singapore Pte Ltd. 200 Middle Road #07-02 Prime Centre Singapore, Tel: Fax: Taiwan Microchip Technology Taiwan 11F-3, No. 207 Tung Hua North Road Taipei, 105, Taiwan Tel: Fax: EUROPE Denmark Microchip Technology Nordic ApS Regus Business Centre Lautrup hoj 1-3 Ballerup DK-2750 Denmark Tel: Fax: France Microchip Technology SARL Parc d Activite du Moulin de Massy 43 Rue du Saule Trapu Batiment A - ler Etage Massy, France Tel: Fax: Germany Microchip Technology GmbH Gustav-Heinemann Ring 125 D Munich, Germany Tel: Fax: Italy Microchip Technology SRL Centro Direzionale Colleoni Palazzo Taurus 1 V. Le Colleoni Agrate Brianza Milan, Italy Tel: Fax: United Kingdom Arizona Microchip Technology Ltd. 505 Eskdale Road Winnersh Triangle Wokingham Berkshire, England RG41 5TU Tel: Fax: /18/ Microchip Technology Inc.

PIC17C7XX. PIC17C7XX Data Sheet Errata. Voltage. Frequency. Voltage. Frequency. Clarifications/Corrections to the Data Sheet:

PIC17C7XX. PIC17C7XX Data Sheet Errata. Voltage. Frequency. Voltage. Frequency. Clarifications/Corrections to the Data Sheet: M PIC17C7XX PIC17C7XX Data Sheet Errata Clarifications/Corrections to the Data Sheet: In the Device Data Sheet (DS30289B), the following clarifications and corrections should be noted. 1. Module: Electrical

More information

AN602. How to get 10 Million Cycles out of your Microchip Serial EEPROM 10 MILLION CYCLE GUARENTEE INTRODUCTION ENDURANCE. Thi d t t d ith F M k 4 0 4

AN602. How to get 10 Million Cycles out of your Microchip Serial EEPROM 10 MILLION CYCLE GUARENTEE INTRODUCTION ENDURANCE. Thi d t t d ith F M k 4 0 4 Thi d t t d ith F M k 4 0 4 AN602 How to get 10 Million Cycles out of your Microchip Serial EEPROM Author: INTRODUCTION Microchip Technology Incorporated recently became the first manufacturer of Serial

More information

PIC16C54C/55A/56A/57C/58B

PIC16C54C/55A/56A/57C/58B PIC16C54C/55A/56A/57C/58B (Rev. A Silicon) Errata Sheet The PIC16C54C/55A/56A/57C/58B (Rev. A Silicon ONLY) parts you have received conform functionally to the PIC16C5X Device Data Sheet (DS30453D), except

More information

PIC16F872 Rev. A0 Silicon Errata Sheet. As with any windowed EPROM device, please cover the window at all times, except when erasing.

PIC16F872 Rev. A0 Silicon Errata Sheet. As with any windowed EPROM device, please cover the window at all times, except when erasing. PIC16F872 Rev. A0 Silicon Errata Sheet The PIC16F872 (Rev. A0) parts you have received conform functionally to the Device Data Sheet (DS30221A), except for the anomalies described below. All of the problems

More information

Optimizing Serial Bus Operations with Proper Write Cycle Times

Optimizing Serial Bus Operations with Proper Write Cycle Times AN559 Optimizing Serial Bus Operations with Proper Write Cycle Times SERIAL EEPROM WRITE TIME REQUIREMENTS Elements of the Write Cycle Time The total write operation time for a Serial EEPROM is determined

More information

PIC16F87X. PIC16F87X Rev. B3 Silicon Errata Sheet DC SPECIFICATION CHANGES FROM DATA SHEET

PIC16F87X. PIC16F87X Rev. B3 Silicon Errata Sheet DC SPECIFICATION CHANGES FROM DATA SHEET PIC16F87X Rev. B3 Silicon Errata Sheet The PIC16F87X (Rev. B3) parts you have received conform functionally to the Device Data Sheet (DS30292A), except for the anomalies described below. All the problems

More information

PIC16F84A. PIC16F84A Errata Sheet

PIC16F84A. PIC16F84A Errata Sheet M PIC16F84A Errata Sheet PIC16F84A The PIC16F84A parts you have received conform functionally to the Device Data Sheet (DS35007A), except for the anomalies described below. None. 2001 Microchip Technology

More information

PIC16C745/765. PIC16C745/765 Rev. A2 Silicon/Data Sheet Errata

PIC16C745/765. PIC16C745/765 Rev. A2 Silicon/Data Sheet Errata Rev. A2 Silicon/Data Sheet Errata The (Rev. A2) parts you have received conform functionally to the Device Data Sheet (DS41124C), except for the anomalies described below. None. Note: The silicon revision

More information

AN514. Software Interrupt Techniques CREATING CONSTANT TIME POLLING INTRODUCTION THEORY OF OPERATION

AN514. Software Interrupt Techniques CREATING CONSTANT TIME POLLING INTRODUCTION THEORY OF OPERATION Software Techniques AN514 INTRODUCTION This application note describes a unique method for implementing interrupts in software on the PIC16C5X series of microcontrollers. This method takes advantage of

More information

SEEVAL 32 Quick Start Guide

SEEVAL 32 Quick Start Guide SEEVAL 32 Quick Start Guide 2003 Microchip Technology Inc. Advance Information DS51338A Information contained in this publication regarding device applications and the like is intended through suggestion

More information

ICSP SOCKET MODULE USER S GUIDE

ICSP SOCKET MODULE USER S GUIDE M ICSP SOCKET MODULE USER S GUIDE 2002 Microchip Technology Inc. DS51113D All rights reserved. Copyright 2002, Microchip Technology Incorporated, USA. Information contained in this publication regarding

More information

PIC16F872 Rev. A2 Silicon Errata Sheet. As with any windowed EPROM device, please cover the window at all times, except when erasing.

PIC16F872 Rev. A2 Silicon Errata Sheet. As with any windowed EPROM device, please cover the window at all times, except when erasing. PIC16F872 Rev. A2 Silicon Errata Sheet The PIC16F872 Rev. A2 parts you have received conform functionally to the Device Data Sheet (DS30221A), except for the anomalies described below. All the problems

More information

AN767. Interfacing Microchip's Fan Speed Controllers to a SPI Port STANDARD IMPLEMENTATION INTRODUCTION

AN767. Interfacing Microchip's Fan Speed Controllers to a SPI Port STANDARD IMPLEMENTATION INTRODUCTION Interfacing Microchip's Speed Controllers to a SPI Port Author: INTRODUCTION Paul Paglia, Microchip Technology, Inc. Microchip's TC642, TC643, and TC646 are the world's first integrated circuits dedicated

More information

PS4200EV. PS4200 Evaluation Kit 1.0 INTRODUCTION. 1.1 Evaluation Kit Contents

PS4200EV. PS4200 Evaluation Kit 1.0 INTRODUCTION. 1.1 Evaluation Kit Contents PS4200 Evaluation Kit PS4200EV 1.0 INTRODUCTION The PS4200EV evaluation kit provides the opportunity to evaluate the PS402 IC quickly and easily. The evaluation kit contains all of the hardware and software

More information

AN583. Implementation of the Data Encryption Standard Using PIC17C42 KEY SCHEDULE INTRODUCTION THE DATA ENCRYPTION STANDARD

AN583. Implementation of the Data Encryption Standard Using PIC17C42 KEY SCHEDULE INTRODUCTION THE DATA ENCRYPTION STANDARD Implementation of the Data Encryption Standard Using PIC17C42 Authors: INTRODUCTION Al Lovrich Mark Palmer Microchip Technology Inc. In January 1977, The United States government adopted a product cipher

More information

M Using Timer1 in Asynchronous Clock Mode

M Using Timer1 in Asynchronous Clock Mode M Using Timer1 in Asynchronous Clock Mode AN580 Author INTRODUCTION This application note discusses the use of the PIC16CXXX Timer1 module as an asynchronous clock. The Timer1 module has it own oscillator

More information

Techniques to Disable Global Interrupts

Techniques to Disable Global Interrupts Techniques to Disable Global Interrupts AN576 This application brief discusses four methods for disabling global interrupts. The method best suited for the application may then be used. All discussion

More information

ICSP Socket Module User s Guide

ICSP Socket Module User s Guide ICSP Socket Module User s Guide Information contained in this publication regarding device applications and the like is intended through suggestion only and may be superseded by updates. No representation

More information

FIGURE 1 - TABLE READ

FIGURE 1 - TABLE READ Implementing Table Read and Table Write AN548 INTRODUCTION This application brief discusses how to read data from program memory to data memory and write data from data memory to program memory. RETLW

More information

TC74 Serial Temperature Sensor Demo Board User s Guide

TC74 Serial Temperature Sensor Demo Board User s Guide TC74 Serial Temperature Sensor Demo Board User s Guide 2002 Microchip Technology Inc. DS51303A Note the following details of the code protection feature on Microchip devices: Microchip products meet the

More information

How to Implement ICSP Using PIC17CXXX OTP MCUs PIC17CXXX IN-CIRCUIT SERIAL PROGRAMMING USING TABLE WRITE INSTRUCTIONS VPP 13V

How to Implement ICSP Using PIC17CXXX OTP MCUs PIC17CXXX IN-CIRCUIT SERIAL PROGRAMMING USING TABLE WRITE INSTRUCTIONS VPP 13V TB015 How to Implement ICSP Using PIC17CXXX OTP MCUs Author: INTRODUCTION Stan D Souza PIC17CXXX microcontroller (MCU) devices can be serially programmed using an RS-232 or equivalent serial interface.

More information

TC642DEMO FAN CONTROL MODULE FOR TC642/646 FEATURES GENERAL DESCRIPTION BOARD SCHEMATIC

TC642DEMO FAN CONTROL MODULE FOR TC642/646 FEATURES GENERAL DESCRIPTION BOARD SCHEMATIC FAN CONTROL MODULE FOR TC642/646 FEATURES Complete Implementation of TC642 or TC646 Fan Control Circuitry on a 1.5" x 2.0" Board Works with Standard Thermistors Temperature-proportional Fan Speed Control

More information

MPLAB. Processor Module and Device Adapter Specification. Host-to-Pod Processor Module. Logic Probe Connector Indicator Lights

MPLAB. Processor Module and Device Adapter Specification. Host-to-Pod Processor Module. Logic Probe Connector Indicator Lights CONTENTS 1.0 Introduction... 1 2.0 MPLAB ICE 4000 System... 1 3.0 Processor Modules... 2 4.0 Device Adapters... 4 5.0 Emulator-Related Issues... 4 1.0 INTRODUCTION The components of an MPLAB ICE 4000 in-circuit

More information

TB004. Automatic Calibration of the WDT Time-out Period CONCLUSION INTRODUCTION IMPLEMENTATION FIGURE 1: PROGRAM FLOWCHART

TB004. Automatic Calibration of the WDT Time-out Period CONCLUSION INTRODUCTION IMPLEMENTATION FIGURE 1: PROGRAM FLOWCHART This document was created with FrameMaker 404 TB004 Automatic Calibration of the WDT Time-out Period Author: INTRODUCTION Stan D Souza Advanced Microcontroller Technology Division The WDT timer is a simple

More information

Improving the Susceptibility of an Application to ESD HIGH VOLTAGE POWER SUPPLY 5V POWER SUPPLY PIN VSS

Improving the Susceptibility of an Application to ESD HIGH VOLTAGE POWER SUPPLY 5V POWER SUPPLY PIN VSS Thi d t t d ith F M k 4 4 Improving the Susceptibility of an Application to ESD Author: David Wilkie Reliability Engineering INDUCED LATCH-UP All semiconductor devices are sensitive to electrostatic discharge

More information

AN537. Serial EEPROM Endurance. Everything a System Engineer Needs to Know About Serial EEPROM Endurance

AN537. Serial EEPROM Endurance. Everything a System Engineer Needs to Know About Serial EEPROM Endurance AN537 Everything a System Engineer Needs to Know About Serial EEPROM Endurance The term endurance has become a confusing parameter for both users and manufacturers of EEPROM products. This is largely because

More information

TB042. Interfacing a KEELOQ Encoder to a PLL Circuit THE RF ENABLE OUTPUT OVERVIEW WHY USE A PLL HCS362 INTERFACE INTERFACING TO PLLS

TB042. Interfacing a KEELOQ Encoder to a PLL Circuit THE RF ENABLE OUTPUT OVERVIEW WHY USE A PLL HCS362 INTERFACE INTERFACING TO PLLS Interfacing a KEELOQ Encoder to a PLL Circuit Author: OVERVIEW Most of the recently introduced advanced KEELOQ Encoders, like the HCS362, HCS365, HCS370 and HCS412, have provisions for controlling a multiple

More information

TB079. Programming Baseline Flash Devices with PICkit 1 PIC12F508/509 AND PIC16F505 PROGRAMMING INTRODUCTION. PICkit 1 FIRMWARE VERSION 2.0.

TB079. Programming Baseline Flash Devices with PICkit 1 PIC12F508/509 AND PIC16F505 PROGRAMMING INTRODUCTION. PICkit 1 FIRMWARE VERSION 2.0. TB079 Baseline Flash Devices with PICkit 1 Author: INTRODUCTION The PICkit 1 Baseline Flash Programmer PC application together with the PICkit 1 Flash Starter Kit firmware version 2.0.0 or later can program

More information

TB056. Demonstrating the Set_Report Request With a PS/2 to USB Keyboard Translator Example INTRODUCTION THE SET_REPORT REQUEST DESCRIPTORS

TB056. Demonstrating the Set_Report Request With a PS/2 to USB Keyboard Translator Example INTRODUCTION THE SET_REPORT REQUEST DESCRIPTORS Demonstrating the Set_Report Request With a PS/2 to USB Keyboard Translator Example TB056 Author: Reston Condit Company: Microchip Technology Inc. INTRODUCTION This Technical Brief details the translation

More information

PIC18C601/801. PIC18C601/801 Rev. C0 Silicon/Data Sheet Errata. 3. Module: Interrupts. 1. Module: WDT. 2. Module: I/O

PIC18C601/801. PIC18C601/801 Rev. C0 Silicon/Data Sheet Errata. 3. Module: Interrupts. 1. Module: WDT. 2. Module: I/O M PIC18C601/801 PIC18C601/801 Rev. C0 Silicon/Data Sheet Errata The PIC18C601/801 parts you have received conform functionally to the Device Data Sheet (DS39541A), except for the anomalies described below.

More information

AN759. Interface Control Document for the MHz Anti-Collision Interrogator EXTERNAL INTERFACES SCOPE. Electrical Interfaces.

AN759. Interface Control Document for the MHz Anti-Collision Interrogator EXTERNAL INTERFACES SCOPE. Electrical Interfaces. M AN759 Interface Control Document for the 13.56 MHz Anti-Collision Interrogator SCOPE Author: Youbok Lee, Ph.D. This document specifies the external interface requirements for the MCRF4XX and MCRF355/360

More information

TB082. Understanding Reset Events On The PIC10F20X INTRODUCTION WATCHDOG TIMER OR WDT POWER-ON RESET (POR)

TB082. Understanding Reset Events On The PIC10F20X INTRODUCTION WATCHDOG TIMER OR WDT POWER-ON RESET (POR) Understanding Reset Events On The PIC10F20X Author: INTRODUCTION The PIC10F20X family of microcontrollers utilizes the baseline 12-bit microcontroller core from Microchip. Because this core does not support

More information

TB004. Automatic Calibration of the WDT Time-out Period CONCLUSION INTRODUCTION IMPLEMENTATION FIGURE 1: PROGRAM FLOWCHART

TB004. Automatic Calibration of the WDT Time-out Period CONCLUSION INTRODUCTION IMPLEMENTATION FIGURE 1: PROGRAM FLOWCHART This document was created with FrameMaker 404 TB004 Automatic Calibration of the WDT Time-out Period Author: INTRODUCTION Stan D Souza Advanced Microcontroller Technology Division The WDT timer is a simple

More information

AN915. 1K, 2K and 4K Microwire EEPROM Migration WRITE CYCLE TIME INTRODUCTION INITIATING WRITE CYCLES BUS SPEED COMPATIBILITY DIFFERENCES

AN915. 1K, 2K and 4K Microwire EEPROM Migration WRITE CYCLE TIME INTRODUCTION INITIATING WRITE CYCLES BUS SPEED COMPATIBILITY DIFFERENCES 1K, 2K and 4K Microwire EEPROM Migration Author: INTRODUCTION Microchip Technology recently introduced a new family of Microwire serial EEPROMs with smaller packaging, faster write times, and faster bus

More information

TCN75. 2-Wire Serial Temperature Sensor and Thermal Monitor. Package Type. Features. General Description. Applications SOIC TCN75MOA MSOP TCN75MUA

TCN75. 2-Wire Serial Temperature Sensor and Thermal Monitor. Package Type. Features. General Description. Applications SOIC TCN75MOA MSOP TCN75MUA 2-Wire Serial Temperature Sensor and Thermal Monitor Features Solid-State Temperature Sensing; 0.5 C Accuracy (Typ.) Operates from -55 C to +25 C Operating Supply Range: 2.7V to 5.5V Programmable Trip

More information

How to Implement ICSP Using PIC16CXXX OTP MCUs VDD. MCLR/VPP ICSP Connector. To application circuit Isolation circuits

How to Implement ICSP Using PIC16CXXX OTP MCUs VDD. MCLR/VPP ICSP Connector. To application circuit Isolation circuits TB013 How to Implement ICSP Using PIC16CXXX OTP MCUs Author: Rodger Richey INTRODUCTION In-Circuit Serial Programming (ICSP ) is a great way to reduce your inventory overhead and time-to-market for your

More information

MPLAB ICE. Processor Module and Device Adapter Specification 2.0 TERMINOLOGY CONTENTS 1.0 INTRODUCTION SYSTEM. 2.1 Host to Pod Cable. 2.

MPLAB ICE. Processor Module and Device Adapter Specification 2.0 TERMINOLOGY CONTENTS 1.0 INTRODUCTION SYSTEM. 2.1 Host to Pod Cable. 2. MPLAB ICE Processor Module and Device Adapter Specification CONTENTS 1.0 INTRODUCTION... 1 2.0 TERMINOLOGY... 1 3.0 PROCESSOR MODULES... 2 4.0 EMULATOR-RELATED ISSUES... 4 5.0 DEVICE ADAPTER ISSUES...

More information

TB066. Temperature Sensor Backgrounder INTRODUCTION ENTER THE TEMPERATURE SENSOR THEN AND NOW. Microchip Technology Inc.

TB066. Temperature Sensor Backgrounder INTRODUCTION ENTER THE TEMPERATURE SENSOR THEN AND NOW. Microchip Technology Inc. Temperature Sensor Backgrounder TB066 Author: INTRODUCTION History has shown that consumers have an almost insatiable appetite for even greater computing horsepower. If you're old enough to remember, the

More information

TC74. General Description. Features. Applications. Functional Block Diagram. Package Types

TC74. General Description. Features. Applications. Functional Block Diagram. Package Types M TC74 Tiny Serial Digital Thermal Sensor Features Digital Temperature Sensing in SOT-23-5 or TO-220 Packages Outputs Temperature as an 8-Bit Digital Word Simple SMBus/I 2 C Serial Port Interface Solid-State

More information

M Floating Point to ASCII Conversion

M Floating Point to ASCII Conversion M Floating Point to ASCII Conversion AN670 Authors: INTRODUCTION It is often necessary to output a floating point number to a display. For example, to check calculations, one might want to output floating

More information

TB026. Calculating Program Memory Checksums Using a PIC16F87X ACCESSING MEMORY INTRODUCTION. PIC16C7X vs. PIC16F87X. Microchip Technology Inc.

TB026. Calculating Program Memory Checksums Using a PIC16F87X ACCESSING MEMORY INTRODUCTION. PIC16C7X vs. PIC16F87X. Microchip Technology Inc. M TB026 Calculating Program Memory Checksums Using a PIC16F87X Author: INTRODUCTION Many applications require the microcontroller to calculate a checksum on the program memory to determine if the contents

More information

MPLAB ICE Processor Module and Device Adapter Specification. Host-to-Pod Processor Module. Logic Probe Connector.

MPLAB ICE Processor Module and Device Adapter Specification. Host-to-Pod Processor Module. Logic Probe Connector. CONTENTS 1.0 Introduction... 1 2.0 MPLAB ICE 4000 System... 1 3.0 Processor Modules... 2 4.0 Device Adapters... 4 5.0 Emulator-Related Issues... 4 1.0 INTRODUCTION The components of an MPLAB ICE 4000 in-circuit

More information

TC64X/TC64XB Fan Control Demo Board User s Guide

TC64X/TC64XB Fan Control Demo Board User s Guide M TC64X/TC64XB Fan Control Demo Board User s Guide 2003 Microchip Technology Inc. DS21401C Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification

More information

TB011. Using SRAM With A PIC16CXXX IMPLEMENTATION INTRODUCTION BLOCK DIAGRAM OF MULTIPLEXED ADDRESS/DATA BUS ON A PIC16C74

TB011. Using SRAM With A PIC16CXXX IMPLEMENTATION INTRODUCTION BLOCK DIAGRAM OF MULTIPLEXED ADDRESS/DATA BUS ON A PIC16C74 Using SRAM With A PIC16CXXX TB011 Author: Rick Evans INTRODUCTION There are applications where a significant amount of data memory is required beyond what is in the microcontroller. For example, buffering

More information

PIC16C5X Disassembler

PIC16C5X Disassembler PIC16C5X Disassembler Electromechanical Timer Replacements Author: PROGRAM DEFINITION DIS16 is an intelligent and easy-to-use disassembler for PIC16C5X microcontrollers. It produces a compact assembler

More information

Electromechanical Switch Replacement Smart Switch for Automotive Applications and More

Electromechanical Switch Replacement Smart Switch for Automotive Applications and More Electromechanical Switch Replacement Smart Switch for Automotive Applications and More Author: Marc Hoffknecht Aachen, Germany email: hoffknecht@online.de INTELLIGENT PUSH BUTTON FOR AIR CONTROL AND MORE

More information

AN536. Basic Serial EEPROM Operation. Basic Serial EEPROM Operation BASIC SERIAL EEPROM OPERATION CONTENTS SERIAL EEPROM APPLICATIONS

AN536. Basic Serial EEPROM Operation. Basic Serial EEPROM Operation BASIC SERIAL EEPROM OPERATION CONTENTS SERIAL EEPROM APPLICATIONS Basic Serial EEPROM Operation AN536 BASIC SERIAL EEPROM OPERATION Looking for the optimum non-volatile memory product for your system that requires a small footprint, byte level flexibility, low power,

More information

MCP2140. MCP2140 Rev. A Silicon/Data Sheet Errata. Clarifications/Corrections to the Data Sheet: INTEGRATED OPTICAL TRANSCEIVER

MCP2140. MCP2140 Rev. A Silicon/Data Sheet Errata. Clarifications/Corrections to the Data Sheet: INTEGRATED OPTICAL TRANSCEIVER MCP2140 Rev. A Silicon/Data Sheet Errata The MCP2140 Rev. A parts you have received conform functionally to the MCP2140 device data sheets (DS21790A), with the exception of the anomaly described below.

More information

PIC16F72. PIC16F72 Data Sheet Errata. Clarifications/Corrections to the Data Sheet: 1. Module: Core (Product Identification System)

PIC16F72. PIC16F72 Data Sheet Errata. Clarifications/Corrections to the Data Sheet: 1. Module: Core (Product Identification System) PIC16F72 Data Sheet Errata PIC16F72 The PIC16F72 parts you have received conform functionally to the Device Data Sheet (DS39597B), except for the anomalies described below. All of the issues listed here

More information

Section 40. Introduction (Part IV)

Section 40. Introduction (Part IV) Section 40. Introduction (Part IV) HIGHLIGHTS This section of the manual contains the following major topics: 40.1 Introduction... 40-2 40.2 Revision History...40-3 40 Introduction (Part IV) 2007-2012

More information

TC670. Tiny Predictive Fan Failure Detector. Features. General Description. Applications. Package Type. Typical Application Circuit

TC670. Tiny Predictive Fan Failure Detector. Features. General Description. Applications. Package Type. Typical Application Circuit M Tiny Predictive Fan Failure Detector TC67 Features Fan Wear-Out Detection for 2-Wire Linear-Controlled Fans Replacement System for 3-Wire Fans Fan Alert Signal when Fan Speed is below Programmed Threshold

More information

PIC12F752/HV752 Family Silicon Errata and Data Sheet Clarification. DEV<8:0> (1) REV<4:0> Silicon Revision (2)

PIC12F752/HV752 Family Silicon Errata and Data Sheet Clarification. DEV<8:0> (1) REV<4:0> Silicon Revision (2) Family Silicon Errata and Data Sheet Clarification The family devices that you have received conform functionally to the current Device Data Sheet (DS41576B), except for the anomalies described in this

More information

TC1047A Temperature-to-Voltage Converter PICtail Demo Board User s Guide

TC1047A Temperature-to-Voltage Converter PICtail Demo Board User s Guide TC1047A Temperature-to-Voltage Converter PICtail Demo Board User s Guide 2004 Microchip Technology Inc. DS51483A Note the following details of the code protection feature on Microchip devices: Microchip

More information

AN551. Serial EEPROM Solutions vs. Parallel Solutions. Serial EEPROM Solutions vs. Parallel Solutions PARALLEL NON-VOLATILE MEMORIES SERIAL EEPROMS

AN551. Serial EEPROM Solutions vs. Parallel Solutions. Serial EEPROM Solutions vs. Parallel Solutions PARALLEL NON-VOLATILE MEMORIES SERIAL EEPROMS AN551 Serial EEPROM Solutions vs. Parallel Solutions In searching for solutions to their system non-volatile memory requirements, equipment, systems and product designers are faced with a plethora of design

More information

AN510. Implementation of an Asynchronous Serial I/O IMPLEMENTATION INTRODUCTION. Microchip Technology Inc.

AN510. Implementation of an Asynchronous Serial I/O IMPLEMENTATION INTRODUCTION. Microchip Technology Inc. Implementation of an Asynchronous Serial I/O Author: INTRODUCTION Amar Palacherla Microchip Technology Inc. The PIC16C5X series from Microchip Technology Inc., are 8-bit, high-speed, EPROM-based microcontrollers.

More information

TC72 Digital Temperature Sensor PICtail Demo Board User s Guide

TC72 Digital Temperature Sensor PICtail Demo Board User s Guide TC72 Digital Temperature Sensor PICtail Demo Board User s Guide 2004 Microchip Technology Inc. DS51482A Note the following details of the code protection feature on Microchip devices: Microchip products

More information

AN237. Implementing a LIN Slave Node on a PIC16F73 INTRODUCTION APPLICATIONS. Resource Usage. Bit Rate. Summary. Process Time AVAILABLE PROCESS TIME

AN237. Implementing a LIN Slave Node on a PIC16F73 INTRODUCTION APPLICATIONS. Resource Usage. Bit Rate. Summary. Process Time AVAILABLE PROCESS TIME Implementing a LIN Slave de on a PIC16F73 Author: INTRODUCTION This application note presents a LIN slave driver for the PIC16F73 using the standard hardware USART. There are many details to this firmware

More information

EVALUATION KIT FOR TC642/TC646/TC647/TC648/TC649 BDC FAN CONTROLLERS

EVALUATION KIT FOR TC642/TC646/TC647/TC648/TC649 BDC FAN CONTROLLERS EVALUATION KIT FOR TC64/TC646/TC647/TC648/TC649 BDC FAN CONTROLLERS FEATURES Complete Evaluation / Prototyping Vehicle for Microchip s TC64, TC646,TC647, TC648 and TC649 BDC Fan Controllers Works with

More information

Electromechanical Switch Replacement Smart Switch for Car Windscreen Wiper Control

Electromechanical Switch Replacement Smart Switch for Car Windscreen Wiper Control Electromechanical Switch Replacement Smart Switch for Car Windscreen Wiper Control Author: Marc Hoffknecht Aachen, Germany email: hofknecht@online.de OPERATION FLOWCHART dry wet windscreen unit on PIC12C508

More information

AN1006. Interfacing SPI Serial EEPROMs to PIC18 Devices INTRODUCTION CIRCUIT FOR PIC18F1220 AND 25 SERIES (SPI) DEVICE

AN1006. Interfacing SPI Serial EEPROMs to PIC18 Devices INTRODUCTION CIRCUIT FOR PIC18F1220 AND 25 SERIES (SPI) DEVICE Interfacing SPI Serial EEPROMs to PIC18 Devices Author: INTRODUCTION Martin Kvasnicka Microchip Technology Inc. There are many different microcontrollers on the market today that are being used in embedded

More information

TB033. Using the PIC16F877 To Develop Code For PIC16CXXX Devices INTRODUCTION. Stan D Souza, Rodger Richey Microchip Technology Inc.

TB033. Using the PIC16F877 To Develop Code For PIC16CXXX Devices INTRODUCTION. Stan D Souza, Rodger Richey Microchip Technology Inc. Using the PIC16F877 To Develop Code For PIC16CXXX Devices TB033 Authors: INTRODUCTION Stan D Souza, Rodger Richey With the release of the FLASH-based PIC16F87X family, Microchip Technology has completed

More information

Simplifying External Memory Connections of PIC17CXXX PICmicro Microcontrollers. FIGURE 1: EXTERNAL MEMORY INTERFACE BLOCK DIAGRAM (x16 DEVICES)

Simplifying External Memory Connections of PIC17CXXX PICmicro Microcontrollers. FIGURE 1: EXTERNAL MEMORY INTERFACE BLOCK DIAGRAM (x16 DEVICES) Simplifying External Memory Connections of PIC17CXXX PICmicro Microcontrollers TB027 Author: Rodger Richey INTRODUCTION The PIC17CXXX family of PICmicro microcontrollers has an external program memory

More information

AN713. Controller Area Network (CAN) Basics INTRODUCTION CAN PROTOCOL BASICS CAN OVERVIEW

AN713. Controller Area Network (CAN) Basics INTRODUCTION CAN PROTOCOL BASICS CAN OVERVIEW Controller Area Network (CAN) Basics AN713 Author: INTRODUCTION Controller Area Network (CAN) was initially created by German automotive system supplier Robert Bosch in the mid-1980s for automotive applications

More information

Interfacing SPI Serial EEPROMs to Microchip PICmicro Microcontrollers PIC16F877 VDD VSS. Vcc 25XXXXX HOLD SCK

Interfacing SPI Serial EEPROMs to Microchip PICmicro Microcontrollers PIC16F877 VDD VSS. Vcc 25XXXXX HOLD SCK Interfacing SPI Serial EEPROMs to Microchip PICmicro Microcontrollers Author: Martin Kvasnicka Microchip Technology Inc. INTRODUCTION There are many different microcontrollers on the market today that

More information

Section 35. Glossary

Section 35. Glossary M Section 35. A A/D See Analog to Digital. Acquisition Time (TACQ) This is related to Analog to Digital (A/D) converters. This is the time that the A/D s holding capacitor acquires the analog input voltage

More information

PIC12LF1552 Silicon Errata and Data Sheet Clarification DEV<8:0>

PIC12LF1552 Silicon Errata and Data Sheet Clarification DEV<8:0> Silicon Errata and Data Sheet Clarification The device that you have received conforms functionally to the current Device Data Sheet (DS41674B), except for the anomalies described in this document. The

More information

MCP250XX DEVELOPMENT KIT USER S GUIDE

MCP250XX DEVELOPMENT KIT USER S GUIDE M MCP250XX DEVELOPMENT KIT USER S GUIDE 2002 Microchip Technology Inc. DS51266B Information contained in this publication regarding device applications and the like is intended through suggestion only

More information

PIC18F6390/6490/8390/8490

PIC18F6390/6490/8390/8490 PIC18F6390/6490/8390/8490 Rev. C0 Silicon Errata The PIC18F6390/6490/8390/8490 Rev. C0 parts you have received conform functionally to the Device Data Sheet (DS39629C), except for the anomalies described

More information

AN519. Implementing a Simple Serial Mouse Controller INTRODUCTION THEORY OF OPERATION FUNCTIONAL BLOCKS OF A SERIAL MOUSE

AN519. Implementing a Simple Serial Mouse Controller INTRODUCTION THEORY OF OPERATION FUNCTIONAL BLOCKS OF A SERIAL MOUSE Implementing a Simple Serial Mouse Controller INTRODUCTION The mouse is becoming increasingly popular as a standard pointing data entry device. There is no doubt that the demand for the mouse is increasing.

More information

PIC12CE5XXA. In-Circuit Serial Programming for PIC12C5XX OTP MCUs 1.0 PROGRAMMING THE PIC12C5XX. Pin Diagram. 1.1 Hardware Requirements

PIC12CE5XXA. In-Circuit Serial Programming for PIC12C5XX OTP MCUs 1.0 PROGRAMMING THE PIC12C5XX. Pin Diagram. 1.1 Hardware Requirements In-Circuit Serial Programming for PIC12C5XX OTP MCUs This document includes the programming specifications for the following devices: Pin Diagram PDIP, SOIC, JW PIC12C58 PIC12C58A PIC12CE518 PIC12C59 PIC12C59A

More information

PIC16F630/676. PIC16F630/676 EEPROM Memory Programming Specification 1.0 PROGRAMMING THE PIC16F630/676

PIC16F630/676. PIC16F630/676 EEPROM Memory Programming Specification 1.0 PROGRAMMING THE PIC16F630/676 PIC16F630/676 EEPROM Memory Programming Specification This document includes the programming specifications for the following devices: PIC16F630 PIC16F676 1.0 PROGRAMMING THE PIC16F630/676 The PIC16F630/676

More information

MPLAB IDE v6.xx Quick Start Guide

MPLAB IDE v6.xx Quick Start Guide MPLAB IDE v6.xx Quick Start Guide 2003 Microchip Technology Inc. DS51281C Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification contained

More information

SPI Communication with the AR1020 Controller

SPI Communication with the AR1020 Controller SPI Communication with the AR1020 Controller Author: Cassandra Backus Microchip Technology Inc. INTRODUCTION The AR1020 controller s SPI (Serial Peripheral Interface) communicates as a slave mode device

More information

PIC32MX. PIC32MX Rev. B2 ES Silicon Errata. PIC32MX (Rev. B2 ES) Silicon Errata. 1. Module: Device Reset. 2. Module: Software Device Reset

PIC32MX. PIC32MX Rev. B2 ES Silicon Errata. PIC32MX (Rev. B2 ES) Silicon Errata. 1. Module: Device Reset. 2. Module: Software Device Reset PIC32MX Rev. B2 ES Silicon Errata PIC32MX PIC32MX (Rev. B2 ES) Silicon Errata The PIC32MX devices (Rev. B2 ES) you received were found to conform to the specifications and functionality described in the

More information

MPLAB ICD 2 DESIGN ADVISORY. Operational Issues AC GROUNDING

MPLAB ICD 2 DESIGN ADVISORY. Operational Issues AC GROUNDING MPLAB ICD 2 DESIGN ADVISORY Operational Issues When designing applications that use the MPLAB ICD 2, the following operational issues should be considered: AC Grounding Oscillator Circuit Setup USB Driver

More information

Electromechanical Timer Replacement

Electromechanical Timer Replacement Electromechanical Timer Replacement Reminder Timer for Changing Chemicals in a Water Softener (IRON) Author: Michael MacDonald Mikaurie Prescott, WI USA email: mikemd@pressenter.com APPLICATION OPERATION:

More information

FLASH Memory Programming Specification

FLASH Memory Programming Specification FLASH Memory Programming Specification This document includes the programming specifications for the following devices: PIC16F73 PIC16F74 PIC16F76 PIC16F77 1.0 PROGRAMMING THE The is programmed using a

More information

MCP215X. MCP215X Rev. A Silicon/Data Sheet Errata. 4. Module: IR Protocol Handler. 1. Module: IR Protocol Handler. 5. Module: Test Escapes

MCP215X. MCP215X Rev. A Silicon/Data Sheet Errata. 4. Module: IR Protocol Handler. 1. Module: IR Protocol Handler. 5. Module: Test Escapes Rev. A Silicon/Data Sheet Errata The parts you have received conform functionally to the device data sheets (DS21655A and DS21690A), except for the anomalies described below. All of the issues listed here

More information

PIC10F220/222 Rev. B Silicon/Data Sheet Errata. Sym. Characteristic Min. Typ Max. Units Conditions

PIC10F220/222 Rev. B Silicon/Data Sheet Errata. Sym. Characteristic Min. Typ Max. Units Conditions PIC10F220/222 Rev. B Silicon/Data Sheet Errata The PIC10F220/222 silicon Rev. B. parts you have received conform functionally to the Device Data Sheet (DS41270E), except for the anomalies described below.

More information

Using the C18 Compiler to Interface Microwire Serial EEPROMs to PIC18 Devices CIRCUIT FOR PIC18F1220 AND 93 SERIES (MICROWIRE) DEVICE PIC18F1220

Using the C18 Compiler to Interface Microwire Serial EEPROMs to PIC18 Devices CIRCUIT FOR PIC18F1220 AND 93 SERIES (MICROWIRE) DEVICE PIC18F1220 Using the C18 Compiler to Interface Microwire Serial EEPROMs to PIC18 Devices Author: INTRODUCTION Chris Parris Microchip Technology Inc. There are many different microcontrollers on the market today that

More information

Using the MSSP Module to Interface SPI Serial EEPROMs with PIC18 Devices PDIP (600 MIL) PIC18F452 VDD VSS. Vcc 25XXX HOLD SCK. Vss

Using the MSSP Module to Interface SPI Serial EEPROMs with PIC18 Devices PDIP (600 MIL) PIC18F452 VDD VSS. Vcc 25XXX HOLD SCK. Vss Using the MSSP Module to Interface SPI Serial EEPROMs with PIC18 Devices Author: INTRODUCTION Martin Kvasnicka Microchip Technology Inc. The 25XXX series serial EEPROMs from Microchip Technology are SPI

More information

Complete CAN Solutions for Diverse Embedded Applications. CAN Solutions

Complete CAN Solutions for Diverse Embedded Applications. CAN Solutions Complete CAN Solutions for Diverse Embedded Applications CAN Solutions Microchip Brings CAN to Your Embedded Design Bring communication and connectivity in your embedded design to the next level with Controller

More information

PIC10F200/202/204/206

PIC10F200/202/204/206 PIC10F200/202/204/206 Rev. A Silicon/Data Sheet Errata The PIC10F200/202/204/206 parts you have received conform functionally to the Device Data Sheet (DS41239D), except for the anomalies described below.

More information

PIC12F629/675 Family Silicon Errata and Data Sheet Clarification. (1) Revision ID for Silicon Revision (2)

PIC12F629/675 Family Silicon Errata and Data Sheet Clarification. (1) Revision ID for Silicon Revision (2) PIC12F629/675 Family Silicon Errata and Data Sheet Clarification The PIC12F629/675 family of devices that you have received conform functionally to the current Device Data Sheet (DS41190F), except for

More information

Recommended Usage of Microchip SPI Serial SRAM Devices RECOMMENDED CONNECTIONS FOR 23XXXX SERIES DEVICES VCC 23XXXXX HOLD SCK

Recommended Usage of Microchip SPI Serial SRAM Devices RECOMMENDED CONNECTIONS FOR 23XXXX SERIES DEVICES VCC 23XXXXX HOLD SCK Recommended Usage of Microchip SPI Serial SRAM Devices Author: INTRODUCTION Martin Bowman Microchip Technology Inc. Many embedded systems require some amount of volatile storage for temporary data. This

More information

PIC18F2480/2580/4480/4580

PIC18F2480/2580/4480/4580 Data Sheet Errata Clarifications/Corrections to the Data Sheet In the Device Data Sheet (DS39637C), the following clarifications and corrections should be noted. Any silicon issues related to this device

More information

MSSP MODULE. MSSP Module Silicon/Data Sheet Errata. 1. Module: I 2 C (Slave Mode)

MSSP MODULE. MSSP Module Silicon/Data Sheet Errata. 1. Module: I 2 C (Slave Mode) MSSP Module Silicon/Data Sheet Errata The PICmicro microcontrollers you have received all exhibit anomalous behavior in their Master SSP (MSSP) modules, as described in this document. They otherwise conform

More information

Serial Port Utilities SPBRG =

Serial Port Utilities SPBRG = Serial Port Utilities AN547 Author: INTRODUCTION Amar Palacherla Microchip Technology Inc. The PIC17C42 has an on-chip high speed Universal Synchronous Asynchronous Receiver Transmitter (USART). The serial

More information

PICMASTER PICMASTER CE

PICMASTER PICMASTER CE PICMASTER PICMASTER CE Emulator Probe Specification INTRODUCTION The probes for PICMASTER (PM) and PICMASTER CE (PMCE) are interchangeable personality modules that allow the emulator to be reconfigured

More information

In-Circuit Serial Programming (ICSP ) for PIC16C715 OTP MCUs

In-Circuit Serial Programming (ICSP ) for PIC16C715 OTP MCUs PIC16C715 In-Circuit Serial Programming (ICSP ) for PIC16C715 OTP MCUs This document includes the programming specifications for the following devices: PIC16C715 Pin Diagrams PDIP, SOIC, Windowed CERDIP

More information

TB3010. Maximize Software Portability for Future PIC32 MCUs CASE 1: WRITING TO SFR INTRODUCTION CASE 2: READING FROM SFR. Microchip Technology Inc.

TB3010. Maximize Software Portability for Future PIC32 MCUs CASE 1: WRITING TO SFR INTRODUCTION CASE 2: READING FROM SFR. Microchip Technology Inc. Maximize Software Portability for Future PIC32 MCUs Author: INTRODUCTION Aseem Swalah Microchip Technology Inc. This document describes the programming techniques that will maximize the software portability

More information

EPROM Memory Programming Specification TABLE 1-1: PIN DESCRIPTIONS (DURING PROGRAMMING): PIC16C64X/66X

EPROM Memory Programming Specification TABLE 1-1: PIN DESCRIPTIONS (DURING PROGRAMMING): PIC16C64X/66X M PIC16C64X/66X EPROM Memory Programming Specification This document includes the programming specifications for the following devices: PIC16C642 PIC16C662 1. PROGRAMMING THE PIC16C64X/66X The PIC16C64X/66X

More information

AN891. Interrupt-based PIC18 Master LIN Driver in C for Enhanced USART FILES. Microchip Technology Inc.

AN891. Interrupt-based PIC18 Master LIN Driver in C for Enhanced USART FILES. Microchip Technology Inc. Interrupt-based PIC18 Master LIN Driver in C for Enhanced USART Author: Caio Gübel Microchip Technology Inc. The LIN protocol was originally designed by a group of European carmakers to be used as a low-cost,

More information

Using the 8-Bit Parallel Slave Port

Using the 8-Bit Parallel Slave Port M AN579 Using the 8-Bit Parallel Slave Port Author: INTRODUCTION PIC16C64/74 microcontrollers from Microchip Technology Inc. can be interfaced with ease into a multi-microprocessor environment using its

More information

PIC16C63A/65B/73B/74B

PIC16C63A/65B/73B/74B Data Sheet Errata The parts you have received conform functionally to the Device Data Sheet (DS30605C), except for the anomalies described below. None. 003 Microchip Technology Inc. DS80164A-page 1 Clarifications/Corrections

More information

PIC18CXX2 Rev. B Silicon/Data Sheet Errata. As with any windowed EPROM device, please cover the window at all times, except when erasing.

PIC18CXX2 Rev. B Silicon/Data Sheet Errata. As with any windowed EPROM device, please cover the window at all times, except when erasing. M Rev. B Silicon/Data Sheet Errata The (Rev. B) parts you have received conform functionally to the Device Data Sheet (DS39026C), except for the anomalies described below. All the problems listed here

More information

AN690. I 2 C Memory Autodetect INTRODUCTION AUTOMATIC DETECTION OF MEMORY SIZE ON THE I 2 C BUS. Smart Serial or the I 2 C Dilemma [ref 3]

AN690. I 2 C Memory Autodetect INTRODUCTION AUTOMATIC DETECTION OF MEMORY SIZE ON THE I 2 C BUS. Smart Serial or the I 2 C Dilemma [ref 3] M I 2 C Memory Autodetect AN690 Author: INTRODUCTION Lucio Di Jasio Microchip Technology, Italy This application note describes a method to automatically detect the memory size of a serial EEPROM connected

More information

MPLAB ICE Processor Module and Device Adapter Specification 2.0 TERMINOLOGY CONTENTS 1.0 INTRODUCTION SYSTEM. 2.1 Host to Pod Cable

MPLAB ICE Processor Module and Device Adapter Specification 2.0 TERMINOLOGY CONTENTS 1.0 INTRODUCTION SYSTEM. 2.1 Host to Pod Cable MPLAB ICE 2000 Processor Module and Device Adapter Specification CONTENTS 1.0 Introduction... 1 2.0 Terminology... 1 3.0 Processor Modules... 2 4.0 Emulator-Related Issues... 4 5.0 Device Adapter Issues...

More information

Using a Timer to Interface PIC18 MCUs with UNI/O Bus-Compatible Serial EEPROMs CIRCUIT FOR PIC18F24J10 MCU AND 11XXX SERIAL EEPROM MCLR RA3 VCC (1)

Using a Timer to Interface PIC18 MCUs with UNI/O Bus-Compatible Serial EEPROMs CIRCUIT FOR PIC18F24J10 MCU AND 11XXX SERIAL EEPROM MCLR RA3 VCC (1) Author: INTRODUCTION As embedded systems become smaller, a growing need exists to minimize I/O pin usage for communication between devices. Microchip has addressed this need by developing the UNI/O bus,

More information

TB028. Technique to Calculate Day of Week DESCRIPTION OF SOFTWARE INTRODUCTION THEORY OF CALCULATION. Microchip Technology Inc.

TB028. Technique to Calculate Day of Week DESCRIPTION OF SOFTWARE INTRODUCTION THEORY OF CALCULATION. Microchip Technology Inc. M Technique to Calculate Day of Week TB028 Author: INTRODUCTION Tan Beng Hai Basically, there are two kinds of electronic systems that come with a built-in calendar. The first kind of system is used mainly

More information