1 / 17

PIC mikrovezérlők

PIC mikrovezérlők. Több mint 800 különbőző típus. 8 bites magok. Baseline Midrange Enhanced-midrange High-end. Baseline. 33 utasítás 1mips/4mhz (max 20MHz) 12 bites utasításszélesség , 8 bites adatbusz 16-128 byte ram 256 word - 3kWord flash

teleri
Télécharger la présentation

PIC mikrovezérlők

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 mikrovezérlők

  2. Több mint 800 különbőző típus

  3. 8 bites magok • Baseline • Midrange • Enhanced-midrange • High-end

  4. Baseline • 33 utasítás 1mips/4mhz (max 20MHz) • 12 bites utasításszélesség , 8 bites adatbusz • 16-128 byte ram • 256 word - 3kWord flash • 2 mély hw-es stack (nem elérhető sw-oldalról) • Kis lábszám (6-8-(40)) • Nincs megszakítás • Kevés periféria • Harvard-architektúra

  5. Midrange (nem a kiterjesztett) • 35 utasítás 1mips/4mhz (max 20Mhz) • 14 bites utasításszélesség • 8 mély hw-stack (nem elérhető sw-esen) • Max 384byte „ram” • ~1-7kword flash • 64-256 byte eeprom • Sok, változatos periféria • Megszakítások • 8-40 láb • Némelyik képes a saját programmemóriáját írni

  6. Perifériák • I/O portok • Időzítők/számlálók • USART, SPI, I2C, I2S, PMP • CCP, PWM, Input Capture, Output Compare • ADC, DAC, komparátor • Lcd vezérlő (magát az lcd szegmenseit) • EEPROM • USB, Ethernet • Kapacitív gombok • (RF, CRC, DMA, RTC)

  7. Hogyan válasszunk PIC-et? • Microchip Advanced Part Selector (MAPS) • Online verzió: gyorsabb, mindig "friss”, nehezebb benne komplexebb filtereket összeállítani • Offline: lassú (nagyon), szól ha elavult az adatbázisa, könnyebb „komplex” keresés • (nemcsak mikrovezérlőket tudunk benne keresni) • demo

  8. Fejlesztőkörnyezet • MPLAB, MPLABX (java alapú), PIKLAB(linux alatt) • Programozók: ICD2,3 PICKIT2,3 ami nekünk fontos

  9. Miért assembly? • Ki tudjuk használni a processzor teljes erejét • Nem nehéz (vs avr) • MPLAB ban beépített asm fordító, minden ic hez definíciók

  10. Miért C? • Gyorsabb kódolás, rengeteg kész programrészlet Hátrányok: • Nemigazán optimalizál itt ott a fordító • Vagy ismerni kell a fordítót (erről később) • 10-16F Hitech C, CSS • 18F CSS, C18

  11. MPLAB demo

  12. Ismerkedés Baseline típusokkal • A 10F222 kontrollert fogjuk használni • 512 word flash (0,75kB) • 23 byte ram • 6 lábú tokozás • 3 IO, 1 input only • 8 bites AD konverter, belső 0,6V stabil referenciával • 8 MHz belső rc oszcillátor (bizonyos keretek között állítható) -> 2 mips -> 500nS / utasítás • 8 bites időzítő/számláló modul • 25mA sink/source / portláb

  13. „Programozható kapu”

  14. Adatlap a „biblia”! Nagyon jól dokumentálnak mindent Csak az adott kontroller adatlapjából simán programozható minden periféria, de ha nem lenne elég van a családhoz egy adatlap, illetve egyes perifériákhoz is külön 15-50 oldalas ERRATA!

  15. Értékek összehasonlításaram - konstans *** Ugrik ha igaz *** RAM > X RAM < X RAM >= X RAM <= X movf RAM,w movlw X movlw X movf RAM,w sublw X subwf RAM,w subwf RAM,w sublw X btfss status,c btfss status,c btfsc status,c btfsc status,c goto true goto true goto true goto true *** Ugrik ha nem igaz *** RAM > X RAM < X RAM >= X RAM <= X movf RAM,w movlw X movlw X movf RAM,w sublw X subwf RAM,w subwf RAM,w sublw X btfsc status,c btfsc status,c btfss status,c btfss status,c goto false goto false goto false goto false

  16. Értékek összehasonlításaram - ram *** Ugrik, ha igaz *** RAM0 > RAM1 RAM0 < RAM1 RAM0 >= RAM1 RAM0<= RAM1 movf RAM0,w movf RAM1,w movf RAM1,w movf RAM0,w subwf RAM1,w subwf RAM0,w subwf RAM0,w subwf RAM1,w btfss status,c btfss status,c btfsc status,c btfsc status,c goto true goto true goto true goto true *** Ugrik, ha hamis *** RAM0 > RAM1 RAM0 < RAM1 RAM0 >= RAM1 RAM0<= RAM1 movf RAM0,w movf RAM1,w movf RAM1,w movf RAM0,w subwf RAM1,w subwf RAM0,w subwf RAM0,w subwf RAM1,w btfsc status,c btfsc status,c btfss status,c btfss status,c goto false goto false goto false goto false

More Related