1 / 36

PIC microcontrollers

PIC microcontrollers. PIC Microcontrollers. Families Eigenschappen De PIC16C84 Eigenschappen Pinnen Interne structuur Instructieset De PIC16F877 Eigenschappen Interne structuur. De PIC controller. 12 bit program word 14 bit program word 16 bit program word 16 bit program word.

Download Presentation

PIC microcontrollers

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PIC microcontrollers

  2. PIC Microcontrollers • Families • Eigenschappen • De PIC16C84 • Eigenschappen • Pinnen • Interne structuur • Instructieset • De PIC16F877 • Eigenschappen • Interne structuur

  3. De PIC controller • 12 bit program word • 14 bit program word • 16 bit program word • 16 bit program word • Families • PIC 16C5x reeks • PIC 16Cxxx reeks • PIC 17Cxxx reeks • PIC 18Cxxx reeks • Met welke hebben wij te maken ? • PIC 16C84 • PIC 16F877

  4. PIC Microcontrollers • Families • Eigenschappen • De PIC16C84 • Eigenschappen • Pinnen • Interne structuur • Instructieset • De PIC16F877 • Eigenschappen • Interne structuur

  5. Eigenschappen • Harvard Architectuur • Program en Data Memory gebruiken verschillende bus • Long Word instructions • SingleWord instructions • Single Cycle instructions • Instruction Pipelining • Reduced Instruction Set • Register File Architecture: • bv. 16C84 heeft 36 8-bits registers • Orthogonal (symmetric) instructions • Alle instructies kunnen op elk register gebruikt worden

  6. RISC eigenschappen

  7. Harvard structuur

  8. PIC Microcontrollers • Families • Eigenschappen • De PIC16C84 • Eigenschappen • Pinnen • Interne structuur • Instructieset • De PIC16F877 • Eigenschappen • Interne structuur

  9. De PIC 16C84 - eigenschappen • Eigenschappen • 35 instructies • 1K-woord EEPROM • 36 8-bit interne registers • 64 bytes 8-bit RAM • Hardware stack met 8 levels voor jumps • 4 interrupt levels • External INT op pin RB0 • TMR0 overflow • Port B (pins 7:4) change • EEPROM write • 15 special functions hardware registers • Directe, indirecte en relatieve adressering

  10. De PIC 16C84 - pinning • Pinning • 13 I/O pinnen • 20 mA current sink  LEDs direct aan te sturen • External interrupt op RB0 • Timer en oscillator pinnen

  11. De PIC 16C84 - memory • 2 memory blockken • Program memory • Data memory • Program memory • 13 bit  8K woorden • Slechts 1K ingevuld • Reset vector op 0000h • Interrupt vector op 0004h

  12. De PIC 16C84 - memory • Data memory verdeeld in • Special functions register (SFR) • General purpose SRAM • EEPROM memory • Banked SFR • Keuze via het status register

  13. De PIC 16C84 – program counter • Addressering in het program memory • Program counter (13 bits) = PCH (5bit) + PCL (8bit) • PCL is read/write • PCL heeft memory boundary van 256 bytes • PCH comes from PCLATH register • Vb. 16C84 heeft 1K  CALL en GOTO hebben 11 bit address • Controleer of PAGE BITS juist staan !

  14. PIC 16C84 – PORT A • Twee poorten : PORTA en PORTB • Selectie van Input of Output door TRIS register • TRISA en TRISB • TRISA bit = 1  INPUT • TRISA bit = 0  OUTPUT • Soorten pinnen • RA3:RA0 push-pull • RA4 open collector

  15. PIC 16C84 – PORT B • Selectie van Input of Output door TRISB register • TRISA en TRISB • TRISB bit = 1  High Z • TRISB bit = 0  OUTPUT • Soorten pinnen • RB7:RB4 geven interrupt

  16. PIC 16C84 – Timer • Instelling gestuurd door OPTION register • Functies: • 8 bit read/write • 8 bit prescaler • Select : internal or external clock • Interrupt on overflow

  17. PIC 16C84 – Speciale functies • EEPROM programmeerbaar in normale werking • In-circuit serial programming • Watchdog timer • Power-up timer • Code protection • SLEEP mode voor low-current operation • Clock met crystal of goedkoop RC circuit

  18. PIC 16C84 – programmatie • Definities • f : register file address, gaat van 0x00 tot 0x7f • b : bit address within an 8-bit file register • W: Working register (Accumulator) • d : destination • Als d=0 : result in W • Als d=1 : result in file register (default) • k : constant or label

  19. PIC 16C84 – instruction set • Algemeen • Bit-oriented

  20. PIC 16C84 – instruction set • Literal and Control • Voorbeeld: wis geheugen van 0x20 tot 0x2F movlw 0x20 ; initialize W register B0010 0000 movwf FSR ; put in FSR register LOOP clrf INDF ; clear indirect with FSR incf FSR ; increment FSR register btfss FSR,7 ; bit 7 test, skip if set goto LOOP ; if NO, goto LOOP CONTINUE : ; if YES, continue :

  21. PIC 16C84 – Vb. instructies • MOVF reg7 equ 07h W equ 0 movf reg7,W

  22. PIC 16C84 – Vb. instructies • MOVWF

  23. PIC 16C84 – Vb. instructies • MOVLW

  24. PIC 16C84 – Vb. gebruik movwf temp1 ;save w movf reg,W ;save reg movwf temp2 movf temp1,W ;old (w) -> reg movwf reg movf temp2,W ;old (reg) -> w • Verwissel inhoud van w met de inhoud van reg • Kortere methode ; w = 1010 1010 AA ; reg = 0101 0101 55 xorwf reg,F ;w = AA, reg = FF xorwf reg,W ;w = 55, reg = FF xorwf reg,F ;w = 55, reg = AA

  25. PIC 16C84 – toepassing 1: seriële poort

  26. PIC 16C84 – toepassing 2: LCD display

  27. PIC Microcontrollers • Families • Eigenschappen • De PIC16C84 • Eigenschappen • Pinnen • Interne structuur • Instructieset • De PIC16F877 • Eigenschappen • Interne structuur

  28. De PIC 16F877 • Complexer • 40 pins IC • 8 K Woord (14 bit) Program memory • 368 Bytes data memory • 256 Bytes EEPROM • Ook hier slechts 35 instructies. • Speciale functies: • 10 kanaals 8-bit analog input • SPI seriële poort • USART seriële communicatie • Brown-out detection • In-circuit programmable

  29. PIC 16F877 - geheugen • Program Memory • Banked memory: instelbaar met het STATUS register

  30. PIC 16F877 - geheugen • Data Memory

  31. PIC 16F877 – I/O poorten • 3 Input/Output poorten • PORT A : • push-pull op RA3:RA0 en RA5 • Open collector op RA4

  32. PIC 16F877 – I/O poorten • PORT B : • High Z inputs • RB7:RB4 aangesloten op de interrupt

  33. PIC 16F877 – I/O poorten • PORT C : • TRIS C=1 : INPUT • TRIS C=0 : OUTPUT • Meerdere functies. O.a. Schmitt trigger

  34. PIC 16F877 – I/O poorten • Andere poorten: • PORT D/TRIS D: Schmitt-trigger input buffer • PORT E/TRIS E : Schmitt-trigger input buffers • Analoge ingangen: verspreid over andere poorten

More Related