slide1
Download
Skip this Video
Download Presentation
Wouter van Ooijen Mail: [email protected] Sheets en verdere info:

Loading in 2 Seconds...

play fullscreen
1 / 36

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


  • 119 Views
  • Uploaded on

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)

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Wouter van Ooijen Mail: [email protected] Sheets en verdere info:' - maite-york


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
slide1
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

movlw H'00'

delay_loop:

addlw H'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

slide11
File Registers (SFR, GPR)

Hogeschool Utrecht / Institute for Information & Communication Technology

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

MOVLW H’30’

MOVWF H’31’

Hogeschool Utrecht / Institute for Information & Communication Technology

slide15
W

Hogeschool Utrecht / Institute for Information & Communication Technology

slide16
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

slide17
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

MOVWF H’21’

 Hoe kan dit korter?

Hogeschool Utrecht / Institute for Information & Communication Technology

slide19
Arithmetic instructions - monadic

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

Hogeschool Utrecht / Institute for Information & Communication Technology

slide20
Arithmeticinstructions- monadic

Hogeschool Utrecht / Institute for Information & Communication Technology

wat doet dit code fragment2
Wat doet dit code fragment?

RLF H’30’, w

MOVFW H’31’

RRF H’32’, f

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

Hogeschool Utrecht / Institute for Information & Communication Technology

slide22
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

slide23
Bit set and clear

Hogeschool Utrecht / Institute for Information & Communication Technology

wat doet dit code fragment3
Wat doet dit code fragment?

BSF H’03’, 0

RRF H’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

slide25
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

slide27
Conditional skips

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

Hogeschool Utrecht / Institute for Information & Communication Technology

slide28
Conditionalskips

Hogeschool Utrecht / Institute for Information & Communication Technology

slide29
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

movlw H'00'

delay_loop

addlw H'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

slide36
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

ad