pic family microcontroller - devi ahilya … · pic 16f877 five ports • 6-bit porta • 8-bit...

33
PIC Family Microcontroller Chapter 13

Upload: phungdung

Post on 01-Aug-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

PIC Family Microcontroller

Chapter 13

Page 2: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

Lesson 05

Peripherals and Ports

Page 3: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

3

Internal Peripherals

RAM

Registers

368 BytePorts

A to E

Data EEPROM 256 Byte

8

data bus

8

Flash Memory

Program counter

13

8-level stack (13-bit)13

Synchronous Serial Port

USART10-bit ADC

CCP1, CCP2

8-bit Timer TMR2

8-bit Timer TMR0

16-bit Timer TMR1

Page 4: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

4

Two data communication peripherals

• 1-A/E/USART [Universal synchronous asynchronous receiver and transmitter USART]

• 1-MSSP (SPI/I2C)

Page 5: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

5

MSSP (master synchronous serial port)

• Operate in master SPI mode • or master/slave mode I2 C

Page 6: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

6

Synchronous serial port

• Can be configured as 3-wire Serial Peripheral Interface (SPI™) option 1

• 2-wire Inter-Integrated Circuit (I²C™) bus in The option 2 [A Universal Asynchronous Receiver Transmitter]

Page 7: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

7

Timers

• Two 8-bit timers, TMR0 and TMR2 2 × 8-bit• One 16-bit timer, TMR1 1× 16-bit

Page 8: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

8

CCP1, CCP 2 functions

• Two capture/compare/PWM peripherals• Input capture• Out-compare and • Pulse width modulation (PWM) functions

Page 9: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

9

ADC

• 8-input channel 10-bit ADC

Page 10: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

10

PIC 16F877 Five Ports

• 6-bit PORTA• 8-bit PORTB• 8-bit PORTC• 8-bit PORTD• 3-bit PORTE.

Page 11: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

11

Port Addresses • PORTA Address 0x05H in bank 0 has 6 bits

(RA0 to RA5) • PORTB Address 0x06/0x106 in bank 0/2 has

8 bits (RB0 to RB7) • PORTC Address is 0x07 in bank 0. It has 8

bits (RC0 to RC7)• PORTD/PSP Address is 0x08 in bank 0. It

has 8 bits (RD0 to RD7)• PORTE Address 0x09 in bank 0 has 3 bits

(RE0 to RE2)

Page 12: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

12

Each port’s data-direct register

• TRISA, TRISB, TRISC, TRISD and TRISE for PORTS A, B, C, D and E, respectively.

Page 13: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

13

TRIS data-direct registers for PORTS A, B, C, D and E

• TRISA• TRISB• TRISC• TRISD• TRISE

Page 14: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

14

6-bit port A

• Inputs/outputs• Also multiplexes with the multi-channel

analog inputs, AN0, AN1, AN2, AN3, clock-input to timer TMR0 when counting and AN4. Analog inputs connect the internal ADC (Analog to Digital Converter).

Page 15: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

15

RA2, 3 and 4 pins

• RA2 also Vref– and • RA3 also Vref+. • RA4 input has ST a input• RA4 output is open drain

Page 16: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

16

ST Input

• Schmitt Trigger input• When analog V exceeds a +Threshold, the

output is logic 1• When analog V falls below a −Threshold, the

output is logic 0

Page 17: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

17

Output Open Drain

• Internally output MOSFET drain not connected to VDD

• Active or passive pull up resistance required and connection to V+.

Page 18: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

18

8-bit port B for the inputs/outputs,

• RB0 also functions as INT and has ST input when MCU programmed for external interrupt.

• RB4, RB5 and RB6 also functions as interrupt on-program change.

Page 19: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

19

RB6 Pin

• RB6 has ST input when MCU pin programmed for serial programming clock (PGC) when used in serial programming mode.

• RB6 also used in in-circuit debugger mode.

Page 20: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

20

RB7 Pin

• RB7 also functions as interrupt on-program change

• RB7 has ST a input when MCU pin programmed for serial programming data (PGD) when used in serial programming mode.

• RB7 is also used in in-circuit debugger mode.

Page 21: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

21

Port C

• 8-bit port for the inputs/outputs, and peripherals when they are programmed for use.

• RC0 also functions as T1OSC output or TMR1 clock input.

• RC1 also functions as T1OSC input or Capture 2 input or Compare 2 output or PWM2 output

• RC2 also functions as Capture 1 input or Compare 1 output or PWM1 output.

Page 22: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

22

RC3 and 4 Pins SPI Option 1

• RC3 also as synchronous serial clock in or clock Out for SPI

• RC4 also as synchronous serial for SPI data-in/data-out modes

Page 23: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

23

RC3 and 4 Pins I2C Option 2

• RC3 also as synchronous serial clock in or clock Out for I2C mode

• RC4 also as synchronous serial for I2C data-in/data-out modes

Page 24: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

24

RC3 Pin Capture/Compare/PWM2 Option 3

• RC3 Capture 2 input or Compare 2 output or PWM2 output

Page 25: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

25

RC5, 6 and 7 Pins

• RC5 also as synchronous serial for data out in SPI mode.

• RC6 also as USART synchronous clock or asynchronous data transmit

• RC7 also as USART synchronous data or asynchronous receive

Page 26: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

26

Parallel Slave Port

• PSP— a handshake mode port• Port D pins are used for PSP input/output• PORTD can either function as general purpose port

or PSP. PSP control and status bits are at TRISE bit b4, b5, b6 and b7 and the control signals are through PORTE when PORTD is programmed for the PSP8-bit port for the inputs/outputs.

• PORTD also multiplexes with the PSP when a microprocessor bus is interfaced to the MCU

Page 27: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

27

Microprocessor bus interfacing

• PORTD also multiplexes with the PSP when a microprocessor bus is interfaced to the MCU

Page 28: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

28

Port E pins

• Used for control signals RD, WR and CS

Page 29: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

29

Port E

• 3-bit port for the inputs/outputs. PORTE also controls the PSP when a microprocessor bus is interfaced to the MCU.

• RE0 also functions as read control for PSP or as analog input AN5

• RE1 also functions as write control for PSP or as analog input AN6

• RE2 also functions as chip select (CS) control for PSP or as analog input AN7

Page 30: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

Summary

Page 31: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

31

Internal Peripherals

RAM

Registers

368 Byte

Ports

A to E

Data EEPROM 256 Byte

8

data bus

8

Flash Memory

Program counter

13

8-level stack (13-bit)13

Synchronous Serial Port

USART10-bit ADC

CCP1, CCP2

8-bit Timer TMR2

8-bit Timer TMR0

16-bit Timer TMR1

and PIC 16F877 Five Ports

Page 32: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

2011 Microcontrollers-... 2nd Ed. Raj Kamal Pearson Education

32

• PIC 16F877 Five Ports• 6-bit PORTA• 8-bit PORTB• 8-bit PORTC• 8-bit PORTD• 3-bit PORTE.

We learnt

Page 33: PIC Family Microcontroller - Devi Ahilya … · PIC 16F877 Five Ports • 6-bit PORTA • 8-bit PORTB • 8-bit PORTC • 8-bit PORTD • 3-bit PORTE. 2011 Microcontrollers-... 2nd

End of Lesson 05 on

Peripherals and Ports