De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 1 Wouter van Ooijen Mail: Sheets.

Verwante presentaties


Presentatie over: "2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 1 Wouter van Ooijen Mail: Sheets."— Transcript van de presentatie:

1 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 1 Wouter van Ooijen Mail: wouter.vanooijen@hu.nl Sheets en verdere info: www.voti.nl/hvu/2TPRJ5 (deze link staat ook op sharepoint) Onderwerp: PIC assembler programmeren Materiaal: - PIC USB target board ( € 60 ) - handouts etc (worden uitgedeeld) - (thuis) PC met XP of Vista (met USB) - Memory stick

2 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 2 Wat er van u verwacht wordt U bent (op tijd!) aanwezig Theorie in D 05.18 (vanaf 10;50), praktijk in C01.14 De eerste weken iedere week een of meer opgave(n) De opgaven moeten voor de volgende les klaar zijn U maak de opgave(n) zelf De opgaven worden beoordeeld op werking, code en begrip De laatste weken een individueel projectje Het resultaat van het projectje is uw cijfer, mits alle voorgaande opgaven voldoende, en op tijd (anders minpunten!) Er is dus geen tentamen, geen projectverslag, etc.

3 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 3 Wat er van u verwacht wordt De opgaven zijn individueel Code schrijft u zelf Overleg mag, maar zorg dat je het uiteindelijk zelf ook begrijpt Copy-and-paste is dus niet toegestaan

4 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 4 Onderwerpen voor vandaag wat is een microcontroller (embedded, real-time) wat is assembler hoe werk je met een microcontroller wat is een PIC de PIC16F887

5 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 5 Wat is een microcontroller? meestal:  ‘computer-achtig’ ding (computertje)  combinatie van processor, ROM, RAM, I/O,...  compact  goedkoop  zuinig  geschikt voor real-time  geschikt voor embedded gebruik

6 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 6 ultra-goedkoop chinees, inclusief de documentatie  lastig verkrijgbaar (in kleinere aantallen, zeg < 10^5) general-purpose PIC, Atmel, 8051, 68HC,... high-end ARM, PowerPC special purpose: DSP, ethernet, USB, analoog, LCD,...

7 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 7  ergens in, deel van een geheel, (diep) verstopt, dienstbaar aan waar ‘t in zit  vaste functie, dus niet vrij programmeerbaar Deeply embedded : zo diep dat je de computer zelf niet meer ziet

8 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 8 Wat is assembler? De meeste directe manier om een CPU te programmeren Veel werk voor de programmeur Een stuk beter dan binair, hex of met schakelaars programmeren... Regel-georienteerd (meestal) 1 regel  1 CPU instructie maar ook: het programma dat een in assembler geschreven programma vertaalt (de ‘compiler’)

9 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 9 ; delay movlwH'00' delay_loop: addlwH'01' skpz goto delay_loop een assembler fragment

10 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 10 bijna altijd cross-development:  jij werkt op een PC  daar draait je editor, compiler, assembler, linker assembler, linker  loader of programmer om te laden  burn and crash  luuxer: cross-debugger, ICE

11 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 11 Wat is een PIC? ooit: Peripheral Interface Controller voor de CP1600 minicomputer nu: merknaam voor een zeer brede reeks 8-bit microcontrollers van fabrikant Microchip Harvard-architectuur concurrenten: AVR (Atmel), 68HC, MSP430 (Motorola), 8051, ARM (diverse fabrikanten),

12 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 12 Soorten PICs Processor (core) –12-bit (max 2k code, 2-level stack, geen interrupts) –14-bit  (max 8k code, 8-level stack) –16-bit –24-bit –32-bit Behuizing –6.. 80 pinnen  40 –DIP, SMD, PLCC  DIP volkomen andere processors

13 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 13 Soorten PICs Soort geheugen –Mask ROM –OTP EPROM –Window EPROM –Flash  –Reduced Flash Prijzen (@ 1) –$0.50.. $30

14 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 14 Hoe schrijf je een PIC programma HEX Assembler  C  C++ (beperkt) Jal Pascal Ladder Basic …

15 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 15 Hoe krijg je het programma in de PIC In de fabriek, eenmalig (mask ROM) Eraser / ex-circuit programmer (EPROM) Ex-circuit programmer (FLASH) In-circuit programmer  (In-circuit debugger)

16 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 16 PIC16F887 40-pins chip, max. 35 beschikbaar als I/O met kristal maximaal 20 MHz (interne osc 8 MHz) 8k code (14-bit instructies) 368 general purpose registers (RAM) 256 bytes EEPROM Diverse peripherals (bv A/D, timers, UART, PWM)

17 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 17

18 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 18 PIC programming model W (accumulator) – het enige echte ‘register’ Geheugen, adressen 0.. 0x1FF (512), waarin oa: –File registers (memory, RAM) –Flags – die zitten dus in het ‘geheugen’!

19 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 19

20 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 20 File Registers (SFR, GPR)

21 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 21

22 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 22 a represents an address, [ a ] the (byte) content of that address Literal to W, W to file, file to W

23 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 23 MOVF H’20’, W MOVWF H’21’ MOVLWH’30’ MOVWFH’31’ Wat doet dit code fragment?

24 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 24 W

25 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 25 a represents an address, [ a ] the (byte) content of that address, n a (byte) literal Arithmetic instructions - diadic

26 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 26 Arithmetic instructions - diadic

27 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 27 MOVF H’20’, w ADDWF H’21’, w MOVWFH’21’ Wat doet dit code fragment?  Hoe kan dit korter?

28 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 28 a represents an address, [ a ] the (byte) content of that address Arithmetic instructions - monadic

29 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 29 Arithmetic instructions - monadic

30 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 30 RLFH’30’, w MOVFWH’31’ RRFH’32’, f Wat doet dit code fragment? Het maakt niet uit of je hoofdletters of kleine letters gebruikt, maar CaMelCaSe werkt niet.

31 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 31 a represents an address, [ a ] the (byte) content of that address, n a (byte) literal, b a 3-bit literal (a bit number, 0..7), X : b represents bit b of X Bit set and clear

32 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 32 Bit set and clear

33 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 33 BSFH’03’, 0 RRFH’32’, f Wat doet dit code fragment? Zoek in de INSTRUCTION SET SUMMARY op hoe de RRF instructie precies werkt. Wat gebeurt er als je de BSF instructie weg laat?

34 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 34 goto call return

35 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 35 Start: CALL Main HALT Spagetti: MOVLW 1 CALL spinazie GOTO spinazie MOVLW 2 Spinazie: MOVLW 3 RETURN MOVLW 4 Main: MOVLW 5 CALL spagetti MOVLW 6 In welke volgorde worden de MOVLW instructies uitgevoerd?

36 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 36 a represents an address, [ a ] the (byte) content of that address Conditional skips

37 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 37 Conditional skips

38 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 38 diversen

39 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 39 Assembler build-in macro’s SKPZ = btfss 3, 2 SKPNZ SKPC SKPNC

40 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 40 movlw 5 movwf h’30’ btfsc h’30’, 0 movlw 12 btfss h’30’, 1 movlw 13 addlw 252 skpz movlw 14 skpnc movlw 15 In welke MOVLW instructies worden uitgevoerd?

41 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 41 wat doet dit stukje assembler code? ; delay movlwH'00' delay_loop addlwH'01' skpz goto delay_loop nb: skpz == btfss 3, 2

42 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 42 oefening 1 Op geheugenplaatsen H’20’ en H’21’ staan 2 getallen. Schrijf een programma dat deze getallen optelt en het resultaat in H’22’ plaatst (3 instructies)

43 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 43 oefening 2 Op geheugenplaatsen H’20’ en H’21’ staan 2 getallen. Zet het grootste van deze twee getallen in geheugenplaats H’22’. (diverse oplossingen mogelijk, bv 8 instructies)

44 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 44 Oefening 3 Op geheugenplaatsen H’20’ en H’21’ staan 2 getallen. Vermenigvuldig deze getallen en plaats het resultaat in H’22’. Na afloop mogen de getallen in H’20’ en H’21’ veranderd zijn. (diverse oplossingen mogelijk, bv 10 instructies. Tip: vermenigvuldigen is herhaald optellen, evt eerst uitschrijven in C of Java)

45 2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 45 Doen  neem de slides nog eens door  noteer wat je niet duidelijk is !  neem € 60 mee voor het bordje (gepast!)  schrijf de programma’s voor de oefeningen (mag op papier, of in notepad, etc ) dit moet voor volgende week af zijn!!  let goed op het verschil tussen MOVLW en MOVWF/MOVF/MOVFW.


Download ppt "2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 1 - 1 Wouter van Ooijen Mail: Sheets."

Verwante presentaties


Ads door Google