PIC microcontrollers PIC Microcontrollers Families Eigenschappen De PIC

  • Slides: 36
Download presentation
PIC microcontrollers

PIC microcontrollers

PIC Microcontrollers • Families • Eigenschappen • De PIC 16 C 84 • •

PIC Microcontrollers • Families • Eigenschappen • De PIC 16 C 84 • • Eigenschappen Pinnen Interne structuur Instructieset • De PIC 16 F 877 • Eigenschappen • Interne structuur

De PIC controller • Families – – PIC 16 C 5 x reeks PIC

De PIC controller • Families – – PIC 16 C 5 x reeks PIC 16 Cxxx reeks PIC 17 Cxxx reeks PIC 18 Cxxx reeks – – 12 bit program word 14 bit program word 16 bit program word • Met welke hebben wij te maken ? – PIC 16 C 84 – PIC 16 F 877

PIC Microcontrollers • Families • Eigenschappen • De PIC 16 C 84 • •

PIC Microcontrollers • Families • Eigenschappen • De PIC 16 C 84 • • Eigenschappen Pinnen Interne structuur Instructieset • De PIC 16 F 877 • Eigenschappen • Interne structuur

Eigenschappen • Harvard Architectuur – Program en Data Memory gebruiken verschillende bus • •

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

RISC eigenschappen

RISC eigenschappen

Harvard structuur

Harvard structuur

PIC Microcontrollers • Families • Eigenschappen • De PIC 16 C 84 • •

PIC Microcontrollers • Families • Eigenschappen • De PIC 16 C 84 • • Eigenschappen Pinnen Interne structuur Instructieset • De PIC 16 F 877 • Eigenschappen • Interne structuur

De PIC 16 C 84 - eigenschappen • Eigenschappen – – – 35 instructies

De PIC 16 C 84 - eigenschappen • Eigenschappen – – – 35 instructies 1 K-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 RB 0 TMR 0 overflow Port B (pins 7: 4) change EEPROM write – 15 special functions hardware registers – Directe, indirecte en relatieve adressering

De PIC 16 C 84 - pinning • Pinning • – – 13 I/O

De PIC 16 C 84 - pinning • Pinning • – – 13 I/O pinnen 20 m. A current sink LEDs direct aan te sturen External interrupt op RB 0 Timer en oscillator pinnen

De PIC 16 C 84 - memory • 2 memory blockken – Program memory

De PIC 16 C 84 - memory • 2 memory blockken – Program memory – Data memory • Program memory – – 13 bit 8 K woorden Slechts 1 K ingevuld Reset vector op 0000 h Interrupt vector op 0004 h

De PIC 16 C 84 - memory • Data memory verdeeld in – Special

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

De PIC 16 C 84 – program counter • Addressering in het program memory

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

PIC 16 C 84 – PORT A • Twee poorten : PORTA en PORTB

PIC 16 C 84 – 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 – RA 3: RA 0 push-pull – RA 4 open collector

PIC 16 C 84 – PORT B • Selectie van Input of Output door

PIC 16 C 84 – PORT B • Selectie van Input of Output door TRISB register – TRISA en TRISB – TRISB bit = 1 High Z – TRISB bit = 0 OUTPUT • Soorten pinnen – RB 7: RB 4 geven interrupt

PIC 16 C 84 – Timer • Instelling gestuurd door OPTION register • Functies:

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

PIC 16 C 84 – Speciale functies • • EEPROM programmeerbaar in normale werking

PIC 16 C 84 – 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

PIC 16 C 84 – programmatie • Definities – f : register file address,

PIC 16 C 84 – programmatie • Definities – f : register file address, gaat van 0 x 00 tot 0 x 7 f – 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

PIC 16 C 84 – instruction set • Algemeen • Bit-oriented

PIC 16 C 84 – instruction set • Algemeen • Bit-oriented

PIC 16 C 84 – instruction set • Literal and Control • Voorbeeld: wis

PIC 16 C 84 – instruction set • Literal and Control • Voorbeeld: wis geheugen van 0 x 20 tot 0 x 2 F LOOP movlw movwf clrf incf btfss goto 0 x 20 FSR INDF FSR, 7 LOOP ; ; ; initialize W register B 0010 0000 put in FSR register clear indirect with FSR increment FSR register bit 7 test, skip if set if NO, goto LOOP CONTINUE : : ; if YES, continue

PIC 16 C 84 – Vb. instructies • MOVF reg 7 equ 07 h

PIC 16 C 84 – Vb. instructies • MOVF reg 7 equ 07 h W equ 0 movf reg 7, W

PIC 16 C 84 – Vb. instructies • MOVWF

PIC 16 C 84 – Vb. instructies • MOVWF

PIC 16 C 84 – Vb. instructies • MOVLW

PIC 16 C 84 – Vb. instructies • MOVLW

PIC 16 C 84 – Vb. gebruik • Verwissel inhoud van w met de

PIC 16 C 84 – Vb. gebruik • Verwissel inhoud van w met de inhoud van reg movwf movf temp 1 reg, W temp 2 temp 1, W reg temp 2, W ; save w ; save reg ; old (w) -> reg ; old (reg) -> w • Kortere methode ; w ; reg = = xorwf 1010 0101 reg, F reg, W reg, F AA 55 ; w = AA, reg = FF ; w = 55, reg = AA

PIC 16 C 84 – toepassing 1: seriële poort

PIC 16 C 84 – toepassing 1: seriële poort

PIC 16 C 84 – toepassing 2: LCD display

PIC 16 C 84 – toepassing 2: LCD display

PIC Microcontrollers • Families • Eigenschappen • De PIC 16 C 84 • •

PIC Microcontrollers • Families • Eigenschappen • De PIC 16 C 84 • • Eigenschappen Pinnen Interne structuur Instructieset • De PIC 16 F 877 • Eigenschappen • Interne structuur

De PIC 16 F 877 • Complexer • 40 pins IC • 8 K

De PIC 16 F 877 • 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

PIC 16 F 877 - geheugen • Program Memory • Banked memory: instelbaar met

PIC 16 F 877 - geheugen • Program Memory • Banked memory: instelbaar met het STATUS register

PIC 16 F 877 - geheugen • Data Memory

PIC 16 F 877 - geheugen • Data Memory

PIC 16 F 877 – I/O poorten • 3 Input/Output poorten – PORT A

PIC 16 F 877 – I/O poorten • 3 Input/Output poorten – PORT A : • push-pull op RA 3: RA 0 en RA 5 • Open collector op RA 4

PIC 16 F 877 – I/O poorten • PORT B : • High Z

PIC 16 F 877 – I/O poorten • PORT B : • High Z inputs • RB 7: RB 4 aangesloten op de interrupt

PIC 16 F 877 – I/O poorten • PORT C : • TRIS C=1

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

 • PIC 16 F 877 – I/O poorten Andere poorten: – PORT D/TRIS

• PIC 16 F 877 – 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