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

Slides:



Advertisements
Verwante presentaties
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 5 - onderwerpen •DB038 hardware : toetsenbordje.
Advertisements

PROS2 Les 13 Programmeren en Software Engineering 2.
Programmeren en Software Engineering 2
Embedded systemen Embedded software.
Hardware (1) NSG Informatica.
Arduino project.
Inleiding programmeren in C++ Life Science & Technology 19 januari Universiteit Leiden.
ADuC8xx MICROCONVERTER
Les 5 - onderwerpen Aansturen van vier 7-segment displays
Auteursomgeving voor Digitale Componenten
De microcontroller Door Klaas De Nys.
Computerarchitectuur
C programma int main(){ } Compilatie met devc++ in file main.c Gecompileerd programma in file FirstProgram.exe Mov R1, 120 Mov R2, 160 ADD R1, R2.
Instructie Programmeren Debuggen 5JJ70. Debuggen: Wat is het probleem Je programma compileert, maar werkt niet zoals verwacht, wat nu? Vraag je af: wat.
1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 2 - onderwerpen Herhaling instructieset en.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 3 - onderwerpen Het.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 4 - onderwerpen Tellen.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 4 - onderwerpen DB038 hardware : LEDs en displays.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Wouter van Ooijen Mail: Sheets en.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 4 - onderwerpen DB038 hardware : LEDs en displays.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Het ARM bord met wat library functies.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 4 - onderwerpen Multiplexen.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 3 - onderwerpen Instruction timing Shadow.
Mail: Jan Zuurbier  Mail:
VPEMSY1, D3ECPT2, DU1EMSY1 : ARM Assemblerhttp:// Hogeschool Utrecht / Electrical Engineering & Design 1 Hogeschool van Utrecht.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 6 - onderwerpen seriele interface (UART -
Presentatie Het BIOS (wat is dat) Rondkijken in het BIOS
Power PC Assembler. Assembler toolkit bevat Assembler zelf Linkerlibrarian.
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 4: Inleiding InstructieSetArchitectuur (ISA) datatypen.
Mail: (of Sheets en verdere info: Onderwerp: vervolg C
DU2PRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Arrays en pointers lichtkrant op het ARM bordje.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 3 - onderwerpen  DB036 printjes subroutines.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  herhaling ARM assembler instructies  assembler.
PEMSY1http:// 1  Herhaling: combineren van assembler en C  Herhaling: subroutine  Oefening: melodie Klas EV2B: week.
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  programma draaien vanuit ROM.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 6 - onderwerpen Uitleg.
Onderwerp: PIC assembler programmeren
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 3 redirection,
Les 1: Zaterdag 10 mei 2014 Wim Peeters
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 2 - onderwerpen  Helaas nog geen printjes.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Wouter van Ooijen Mail: Sheets en.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 2 - onderwerpen MPLAB.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 4 - onderwerpen DB027 hardware : LEDs en displays.
VPEMSY1, D3ECPT2 : ARM Assembler 1 Hogeschool Utrecht / Electrical Engineering & Design 1  Herhaling: CMP, CMN,
PEMSY1http:// 1  Herhaling nieuwe instructies van vorige week  nieuw: combineren van assembler en C  oefeningen: assembler.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag top-down decompositie Opdrachten:
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Maak, uitgaande van een MIDI file, een (klein) programma.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  Een (vaste) melodie spelen op de PC speaker 
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 4 - onderwerpen DB038 hardware : luidsprekertje.
Inleiding computersystemen en netwerken Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 2.1 Programmeren (2.9) assembler,
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Wouter van Ooijen Mail:
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1.
Inleiding Computersystemen
2TPRJ8 – hardware en ontwikkelomgeving Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Wouter van Ooijen Mail:
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Wouter van Ooijen Mail: Sheets.
Instructie Programmeren Task 3 5JJ70. Task 3.1: MIPS Rating Volg de beschrijving in de opdracht om het aantal assembly instructies in de loop uit te vinden.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Een embedded systeem: ARM bord.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 3 - onderwerpen Instruction timing Shadow.
Programmeren met kinderen NWT-conferentie basisonderwijs SPANNING & SENSATIE.
1 K. Werschkull Programmeren in Delphi 7 De ontwikkeling van de computer Programmeertalen Compilers Hoofdstuk 1 Hoofdstuk 1: De ontwikkeling van de computer.
C++ Les 1: introductie. Programmeren Programma’s scripts Websites libraries (Sound, GUI, netwerking…)
VPEMSY1, D3ECPT2 : ARM Assembler Hogeschool Utrecht / Electrical Engineering & Design 1  Herhaling B/BL, conditions,
Digitale gegevens Drs. Ing. Rainier Kock 1. Vorige les 2 Computers werken met elektrische schakelingen Schakelaar aan = 1, uit = 0 Tekst, geluid en beeld.
Operating Systems Informatica.
Programmeren.
Kennismaking met programmeren
Kennismaking met programmeren
Kennismaking met programmeren
Wat gaan we doen? Herhaling ARM assembler instructies
Transcript van de presentatie:

2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology Wouter van Ooijen Mail: Sheets en verdere info: (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

2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology Wat er van u verwacht wordt U bent (op tijd!) aanwezig Theorie in D (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.

2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 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

2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 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

2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 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

2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 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,...

2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology  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

2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 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’)

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

2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 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

2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 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),

2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 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 – pinnen  40 –DIP, SMD, PLCC  DIP volkomen andere processors

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

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

2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 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)

2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology PIC16F 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)

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

2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 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’!

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

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

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

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

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

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

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

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

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

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

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

2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 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.

2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 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

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

2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 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?

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

2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 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?

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

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

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

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

2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 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?

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

2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 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)

2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 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)

2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 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)

2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology 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.