Presentation is loading. Please wait.

Presentation is loading. Please wait.

Features of the PIC18 microcontroller - 8-bit CPU - 2 MB program memory space (internal 32KB to 128KB) - 256 bytes to 1KB of data EEPROM - Up to 4096 bytes.

Similar presentations


Presentation on theme: "Features of the PIC18 microcontroller - 8-bit CPU - 2 MB program memory space (internal 32KB to 128KB) - 256 bytes to 1KB of data EEPROM - Up to 4096 bytes."— Presentation transcript:

1 Features of the PIC18 microcontroller - 8-bit CPU - 2 MB program memory space (internal 32KB to 128KB) - 256 bytes to 1KB of data EEPROM - Up to 4096 bytes of on-chip SRAM - 4 KB to 128KB flash program memory - Sophisticated timer functions that include: input capture, output compare, PWM, real-time interrupt, and watchdog timer - Serial communication interfaces: SPI, I2C - Background debug mode (BDM) - 10-bit A/D converter - Memory protection capability - Instruction pipelining - Operates at up to 40 MHz crystal oscillator

2 Features of PIC18 ̶ 5 input/output Port (PORT A,B,C,D & E) ̶ Synchronous Serial Port (SSP) with SPI (master code) and I2C (master/slave). ̶ Universal Synchronous Asynchronous Receiver Transmitter (USART) with 9 bit address detection. ̶ Parallel Slave Port (PSP) 8 bit wide with external RD, WR and CS controls (40/46pin). ̶ Brown Out circuitry for Brown-Out Reset (BOR). ̶ In-circuit serial programming and in-circuit debugging capability

3 Architecture of PIC18

4

5 Microprocessor Unit Includes Arithmetic Logic Unit (ALU), Registers, and Control Unit ◦ Arithmetic Logic Unit (ALU)  Instruction decoder  16-bit instructions  Status register that stores flags  5-bits  WREG – working register  8-bit accumulator

6 Microprocessor Unit ◦ Registers  Program Counter (PC)  21-bit register that holds the Program Memory address  Bank Select Register (BSR)  4-bit register used in direct addressing the Data Memory  File Select Registers (FSRs)  12-bit registers used as memory pointers in indirect addressing Data Memory ◦ Control unit  Provides timing and control signals  Read and Write operations 330_026

7 Microprocessor Unit ◦ Registers  Program Counter (PC)  21-bit register that holds the Program Memory address  Bank Select Register (BSR)  4-bit register used in direct addressing the Data Memory  File Select Registers (FSRs)  12-bit registers used as memory pointers in indirect addressing Data Memory ◦ Control unit  Provides timing and control signals  Read and Write operations 330_027

8 PIC18F - Address Buses Address bus ◦ 21-bit address bus for Program Memory  Addressing capacity: 2 MB ◦ 12-bit address bus for Data Memory  Addressing capacity: 4 KB Data bus ◦ 16-bit instruction/data bus for Program Memory ◦ 8-bit data bus for Data Memory Control signals ◦ Read and Write 330_028

9 PIC18F452/4520 Memory Program Memory: 32 K to 128K ◦ Address range: 000000 to 007FFF H Data Memory: 4 K ◦ Address range: 000 to FFF H Data EEPROM ◦ Not part of the data memory space ◦ Addressed through special function registers 330_029

10 MCU Support Devices Timers ◦ Capture, Compare and PWM (CCP Modules) Serial Communications ◦ Master Synchronous Serial Port (MSSP) ◦ Addressable USART A/D converter Parallel Slave Port (PSP) Data EEPROM 330_0210

11 Memory Organization

12

13

14

15

16

17

18 PIC 18 - CPU

19 CPU Registers

20

21

22

23 CPU registers STATUS Register

24 PIPELINING

25 PIPELINING

26 PIPELINING

27 PIPELINING

28 PIPELINING

29 PIPELINING

30 PIPELINING

31 PIC18 Instruction Format

32

33

34

35

36

37 PIC18 Addressing Modes PIC18 Addressing Modes

38

39 PIC18 Instruction Set

40

41

42

43 Interrupt

44 Interrupt Structure

45 Interrupt Operation

46 Core Group

47 Interrupt Operation without Setting Priority

48 Interrupt Operation with Priority Enabled

49 Interrupt Operation

50

51 Reset operation

52 Parallel Ports

53 Input/output ports PIC18F has 5 basic input/output ports. They are usually denoted by PORT A (RA), PORT B (RB), PORT C (RC), PORT D (RD), and PORT E (RE). These ports are used for input/ output interfacing All these ports are bi-directional. The direction of the port is controlled by using TRIS(X) registers (TRIS A used to set the direction of PORT-A, TRIS B used to set the direction for PORT-B, etc.) Parallel Ports

54

55 Each port has three registers for its operation. These registers are: TRIS register (data direction register) PORT register (reads the levels on the pins of the device) LAT register (output latch) PORTA, TRISA and LATA Registers  PORTA is an 7-bit wide, bidirectional port.  The corresponding data direction register is TRISA.  Setting a TRISA bit (= 1) will make the corresponding PORTA pin an input (i.e., put the corresponding output driver in a high-impedance mode).  Clearing a TRISA bit (= 0) will make the corresponding PORTA pin an output

56 Parallel Ports PORTB, TRISB and LATB Registers  PORTB is an 8-bit wide, bidirectional port.  The corresponding data direction register is TRISB.  Setting a TRISB bit (= 1) will make the corresponding PORTB pin an input (i.e., put the corresponding output driver in a high-impedance mode).  Clearing a TRISB bit (= 0) will make the corresponding PORTB pin an output

57 Parallel Ports PORTC, TRISC and LATC Registers  PORTB is an 7-bit wide, bidirectional port.  The corresponding data direction register is TRISC.  Setting a TRISC bit (= 1) will make the corresponding PORTC pin an input (i.e., put the corresponding output driver in a high-impedance mode).  Clearing a TRISC bit (= 0) will make the corresponding PORTC pin an output

58 Parallel Ports PORTD, TRISD and LATD Registers  PORTD is an 8-bit wide, bidirectional port.  The corresponding data direction register is TRISD.  Setting a TRISD bit (= 1) will make the corresponding PORTD pin an input (i.e., put the corresponding output driver in a high-impedance mode).  Clearing a TRISD bit (= 0) will make the corresponding PORTD pin an output

59 Parallel Ports PORTE, TRISE and LATE Registers  PORTE is an 4-bit wide, bidirectional port.  The corresponding data direction register is TRISE.  Setting a TRISE bit (= 1) will make the corresponding PORTE pin an input (i.e., put the corresponding output driver in a high-impedance mode).  Clearing a TRISE bit (= 0) will make the corresponding PORTE pin an output  Three pins (RE0/AN5/CK1SPP, RE1/AN6/CK2SPP and RE2/AN7/OESPP) are individually configurable as inputs or outputs.


Download ppt "Features of the PIC18 microcontroller - 8-bit CPU - 2 MB program memory space (internal 32KB to 128KB) - 256 bytes to 1KB of data EEPROM - Up to 4096 bytes."

Similar presentations


Ads by Google