Wouter van Ooijen
This presentation is the property of its rightful owner.
Sponsored Links
1 / 36

Wouter van Ooijen Mail: [email protected] Sheets en verdere info: PowerPoint PPT Presentation


  • 81 Views
  • Uploaded on
  • Presentation posted in: General

Wouter van Ooijen Mail: [email protected] Sheets en verdere info: www.voti.nl/hvu/V1TH04 (deze link staat ook op sharepoint) Onderwerp: PIC assembler programmeren Materiaal: - PIC USB target board ( € 70 ) - handouts etc (worden uitgedeeld)

Download Presentation

Wouter van Ooijen Mail: [email protected] Sheets en verdere info:

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Wouter van ooijen mail wouter vanooijen hu nl sheets en verdere info

Wouter van Ooijen

Mail: [email protected]

Sheets en verdere info:

www.voti.nl/hvu/V1TH04

(deze link staat ook op sharepoint)

Onderwerp: PIC assembler programmeren

Materiaal: - PIC USB target board (€ 70 )

- handouts etc (worden uitgedeeld)

- (thuis) PC met XP of Vista (met USB)

- Memory stick

Hogeschool Utrecht / Institute for Information & Communication Technology


Wat er van u verwacht wordt

Wat er van u verwacht wordt

  • U bent (op tijd!) aanwezig

  • Theorie in C03.14 (vanaf 10;50), praktijk in D01.12

  • 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.

Hogeschool Utrecht / Institute for Information & Communication Technology


Wat er van u verwacht wordt1

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

Hogeschool Utrecht / Institute for Information & Communication Technology


Onderwerpen voor vandaag

Onderwerpen voor vandaag

  • wat is een microcontroller

  • wat is assembler

  • hoe werk je met een microcontroller

  • eerste stappen in PIC assembler

Hogeschool Utrecht / Institute for Information & Communication Technology


Wat is een microcontroller

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

Hogeschool Utrecht / Institute for Information & Communication Technology


Wat is assembler

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’)

Hogeschool Utrecht / Institute for Information & Communication Technology


Een assembler fragment

een assembler fragment

; delay

movlwH'00'

delay_loop:

addlwH'01'

skpz

goto delay_loop

Hogeschool Utrecht / Institute for Information & Communication Technology


Pic16f887

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)

Hogeschool Utrecht / Institute for Information & Communication Technology


Pic programming model

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’!

Hogeschool Utrecht / Institute for Information & Communication Technology


Wouter van ooijen mail wouter vanooijen hu nl sheets en verdere info

Hogeschool Utrecht / Institute for Information & Communication Technology


Wouter van ooijen mail wouter vanooijen hu nl sheets en verdere info

File Registers (SFR, GPR)

Hogeschool Utrecht / Institute for Information & Communication Technology


Wouter van ooijen mail wouter vanooijen hu nl sheets en verdere info

Hogeschool Utrecht / Institute for Information & Communication Technology


Wouter van ooijen mail wouter vanooijen hu nl sheets en verdere info

Literal to W, W to file, file to W

a represents an address, [ a ] the (byte) content of that address

Hogeschool Utrecht / Institute for Information & Communication Technology


Wat doet dit code fragment

Wat doet dit code fragment?

MOVF H’20’, W

MOVWF H’21’

MOVLWH’30’

MOVWFH’31’

Hogeschool Utrecht / Institute for Information & Communication Technology


Wouter van ooijen mail wouter vanooijen hu nl sheets en verdere info

W

Hogeschool Utrecht / Institute for Information & Communication Technology


Wouter van ooijen mail wouter vanooijen hu nl sheets en verdere info

Arithmetic instructions - diadic

a represents an address, [ a ] the (byte) content of that address, n a (byte) literal

Hogeschool Utrecht / Institute for Information & Communication Technology


Wouter van ooijen mail wouter vanooijen hu nl sheets en verdere info

Arithmeticinstructions- diadic

Hogeschool Utrecht / Institute for Information & Communication Technology


Wat doet dit code fragment1

Wat doet dit code fragment?

MOVF H’20’, w

ADDWF H’21’, w

MOVWFH’21’

 Hoe kan dit korter?

Hogeschool Utrecht / Institute for Information & Communication Technology


Wouter van ooijen mail wouter vanooijen hu nl sheets en verdere info

Arithmetic instructions - monadic

a represents an address, [ a ] the (byte) content of that address

Hogeschool Utrecht / Institute for Information & Communication Technology


Wouter van ooijen mail wouter vanooijen hu nl sheets en verdere info

Arithmeticinstructions- monadic

Hogeschool Utrecht / Institute for Information & Communication Technology


Wat doet dit code fragment2

Wat doet dit code fragment?

RLFH’30’, w

MOVFWH’31’

RRFH’32’, f

Het maakt niet uit of je hoofdletters of kleine letters gebruikt, maar CaMelCaSe werkt niet.

Hogeschool Utrecht / Institute for Information & Communication Technology


Wouter van ooijen mail wouter vanooijen hu nl sheets en verdere info

Bit set and clear

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

Hogeschool Utrecht / Institute for Information & Communication Technology


Wouter van ooijen mail wouter vanooijen hu nl sheets en verdere info

Bit set and clear

Hogeschool Utrecht / Institute for Information & Communication Technology


Wat doet dit code fragment3

Wat doet dit code fragment?

BSFH’03’, 0

RRFH’32’, f

Zoek in de INSTRUCTION SET SUMMARY op hoe de RRF instructie precies werkt.

Wat gebeurt er als je de BSF instructie weg laat?

Hogeschool Utrecht / Institute for Information & Communication Technology


Wouter van ooijen mail wouter vanooijen hu nl sheets en verdere info

gotocallreturn

Hogeschool Utrecht / Institute for Information & Communication Technology


In welke volgorde worden de movlw instructies uitgevoerd

In welke volgorde worden de MOVLW instructies uitgevoerd?

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

Hogeschool Utrecht / Institute for Information & Communication Technology


Wouter van ooijen mail wouter vanooijen hu nl sheets en verdere info

Conditional skips

a represents an address, [ a ] the (byte) content of that address

Hogeschool Utrecht / Institute for Information & Communication Technology


Wouter van ooijen mail wouter vanooijen hu nl sheets en verdere info

Conditionalskips

Hogeschool Utrecht / Institute for Information & Communication Technology


Wouter van ooijen mail wouter vanooijen hu nl sheets en verdere info

diversen

Hogeschool Utrecht / Institute for Information & Communication Technology


Assembler build in macro s

Assembler build-in macro’s

SKPZ = btfss 3, 2

SKPNZ

SKPC

SKPNC

Hogeschool Utrecht / Institute for Information & Communication Technology


In welke movlw instructies worden uitgevoerd

In welke MOVLW instructies worden uitgevoerd?

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

Hogeschool Utrecht / Institute for Information & Communication Technology


Wat doet dit stukje assembler code

wat doet dit stukje assembler code?

; delay

movlwH'00'

delay_loop

addlwH'01'

skpz

goto delay_loop

nb: skpz == btfss 3, 2

Hogeschool Utrecht / Institute for Information & Communication Technology


Oefening 1

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)

Hogeschool Utrecht / Institute for Information & Communication Technology


Oefening 2

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)

Hogeschool Utrecht / Institute for Information & Communication Technology


Oefening 3

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)

Hogeschool Utrecht / Institute for Information & Communication Technology


Wouter van ooijen mail wouter vanooijen hu nl sheets en verdere info

Doen

  • neem de slides nog eens door noteer wat je niet duidelijk is ! neem € 70 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.

Hogeschool Utrecht / Institute for Information & Communication Technology


  • Login