2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 3 - onderwerpen Instruction timing Shadow.

Slides:



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

2/3 betekent; je deelt iets in 3 stukken en jij krijgt er 2 van.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Een programma opbouwen.
1 Wat is microfinanciering ? 2 1. De financiële behoefte.
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Ronde (Sport & Spel) Quiz Night !
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Backtracking: –Permutaties –Koninginnen.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Gelinkte lijsten Finite State.
Les 5 - onderwerpen Aansturen van vier 7-segment displays
WISKUNDIGE FORMULES.
Jelle Aarnoudse Beginnen met PIC's Jelle Aarnoudse

1/1/ / faculty of Computer Science eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 7(2): Vertalen.
1Ben Bruidegom A Harvard Machine Calculator Calculator  Computer.
1Ben Bruidegom A Harvard Machine Recapitulatie Calculator Calculator  Calculator met “loopjes” Calculator met “loopjes”  Processor.
Opgave 1a: afronden int n=5; double a, b, c, d; a = n * 1.5; b = n * 3 / 2; c = n / 2 * 3; d = 3 / 2 * n; a b c d
CONTROLESTRUCTUREN (DEEL 2)
Werken aan Intergenerationele Samenwerking en Expertise.
CLICK THE END EINDE THE END May peace be with you EINDE Moge de vrede met jou zijn Next time I’ll present you the alphabet Volgende keer bied ik je het.
Hoe werkt een rekenmachine?
1 Van Harvard naar MIPS. 2 3 Van Harvard naar MIPS Microprocessor without Interlocked Pipeline Stages Verschillen met de Harvard machine: - 32 Registers.
PLAYBOY Kalender 2006 Dit is wat mannen boeit!.
1 HOOFDSTUK 5 CONTROLESTRUCTUREN (DEEL 2) 5.1. INTRODUCTIE  Vervolg discussie omtrent gestructureerd programmeren  Introductie van de overblijvende controlestructuren.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 2 - onderwerpen Herhaling instructieset en.
Computerarchitectuur
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  D3EEMS1  programmed I/O: de.
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.
KPRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Les 2 sheet 1 Wat gaan we doen:  Een (vaste) melodie.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 4 - onderwerpen DB038 hardware : LEDs en displays.
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.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  basis files: ram-rom.zip.
Security Technology PICT les 1
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Wouter van Ooijen Mail:
DU2PRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Beginselen van C opgaves… volgende week: ARM.
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  herhaling ARM assembler instructies.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag GUI  command line redirection.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 6 - onderwerpen seriele interface (UART -
Computertechniek 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 ; PIC assember programeren 1 Les 5 - onderwerpen Errata.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 2 - onderwerpen PIC16F688.
A H M F K EB C x 85 Korte zijde bij C 2 e secties volte 14 m en op afstand komen ( 0,5 rijbaan)
ZijActief Koningslust 10 jaar Truusje Trap
1 GfK Retail and TechnologyThe Netherlands20 September 2014 Judith Manenschijn Consultant Media & Leisure GfK Retail and Technology Judiths Weather Forecast.
Voorrangsregels bij rekenen (1)
ECHT ONGELOOFLIJK. Lees alle getallen. langzaam en rij voor rij
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 6 - onderwerpen Code paging Switch bounce.
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  herhaling ARM assembler instructies.
De financiële functie: Integrale bedrijfsanalyse©
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 7 onze.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 2 definitie.
1 Zie ook identiteit.pdf willen denkenvoelen 5 Zie ook identiteit.pdf.
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3.1 Peter Kramer Mail:
ZijActief Koningslust
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 ; PIC assember programeren 1 Les 6 - onderwerpen Uitleg.
Onderwerp: PIC assembler programmeren
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 ; 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.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 4 - onderwerpen DB038 hardware : luidsprekertje.
2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology Wouter van Ooijen Mail: Sheets.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1.
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.
Transcript van de presentatie:

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 3 - onderwerpen Instruction timing Shadow port registers, Macro’s Opgaves: delay, IO_SET/IO_CLEAR, Kitt

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 2 Opmerkingen Fouten in het DB038 document: graag doorgeven! Laptop gebruikers: USB power management uitzetten VMWare: soms komt de USB connectie in de root- PC terecht in plaats van in de gesimuleerde PC  Bewaar je bordje tussen dat zwarte schuim, maar zet ‘m er niet op als je ‘m gebruikt. Ook niet op een geleidend oppervlak!

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 3 Instruction timing Shadow port registers, Macro’s Register file banks Gebruik van het DB038 bord Aftekenen vorige opgaves Twee nieuwe opgaves

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 4 Programmeer opgave 1: Een delay subroutine Maak een subroutine die W ms wacht (nauwkeurigheid 1% of beter) Test dmv de stopwatch/instructie counter in de simulator.

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 5 Een W * 1 ms delay int i = W; while( i > 0 ){ i--; delay_1ms(); }

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 6 Instruction timing 20 MHz / 4  5 MIPS Dus 0.2 us per instructie Behalve als de PC geschreven wordt (GOTO, CALL, RETURN), dan 0.4 us

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 7 Een Delay_1ms 5 MIPS, dus 1 ms is 5000 instructies* In 8 bit kan je tot 256 tellen, neem keer door de lus moet dan 5000 / 250 = 20 instructies zijn * GOTO etc. tellen voor 2

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 8 Delay_1ms : eerste poging cblock teller endc movlw D’250’ movwf teller loop: decfsz teller, f goto loop Hoeveel vertraging moeten we nog toevoegen, en waar precies?

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 9 Een paar instructies vertraging (1) loop:nop ; 17 NOPs... nop decfsz teller, f goto loop

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 10 Een paar instructies vertraging (2) nop4:macro nop enmd loop:nop nop4 decfsz teller, f goto loop

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 11 Een paar instructies vertraging (3) delay_4:return cblock teller endc movlw D’250’ movwf teller loop: nop call delay_4 decfsz teller, f goto loop

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 12 Een paar instructies vertraging (4) delay_16:call delay_4 delay_12:call delay_4 delay_8:call delay_4 delay_4:return cblock teller endc movlw D’250’ movwf teller loop: nop call delay_16 decfsz teller, f goto loop

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 13 Een paar instructies vertraging (5) delay_2: macro goto $+1 endm delay_4:macro delay_2 endm delay_8: macro delay_4 endm delay_16:macro delay_8 endm

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 14 Het ‘read-modify-write probleem Macro’s Shadow PORT registers

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 15 read-modify-write : IO pin

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 16 read-modify-write (fout) clrf PORTA bsf PORTA, 0 bsf PORTA, 1 bsf PORTA, 2 bsf PORTA, 3 bsf PORTA, 4 bsf PORTA, 5 bsf PORTA, 6 bsf PORTA, 7

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 17 read-modify-write (goed) clrf PORTA_SHADOW call PORTA_FLUSH bsf PORTA_SHADOW, 0 call PORTA_FLUSH bsf PORTA_SHADOW, 1 call PORTA_FLUSH bsf PORTA_SHADOW, 2 call PORTA_FLUSH... PORTA_FLUSH movfw PORTA_SHADOW movwf PORTA return

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 18 wat is een macro naam voor een aantal regels text wordt letterlijk ingevoegd RRFW macro movwf temp rrf temp, w endm

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 19 wat is een macro Kan (textuele) parameters parameters hebben double macro REGISTER bcfSTATUS, C rlfREGISTER, f endm

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 20 macro voorbeeld en gebruik FLUSH_MACRO MACRO Shadow, Port CBLOCK Shadow ENDC MOVFW Shadow MOVWF Port RETURN ENDM PORTA_FLUSHFLUSH_MACRO PORTA_SHADOW, PORTA PORTB_FLUSHFLUSH_MACRO PORTB_SHADOW, PORTB PORTC_FLUSHFLUSH_MACRO PORTC_SHADOW, PORTC PORTD_FLUSHFLUSH_MACRO PORTD_SHADOW, PORTD PORTE_FLUSHFLUSH_MACRO PORTE_SHADOW, PORTE

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 21 Macro  Subroutine een macro is een reeks regels die ingevoegd wordt een macro kan assembly-time argumenten hebben macro heeft geen call/return (gebruikt de stack niet) subroutine aanroep is altijd 1 statement; macro ‘aanroep’ voegt de complete macro in (je programma wordt al snel erg groot)

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 22 Macro – listing (.lst)

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 23 Programmeer opgave 2: I/O pin set en clear macro’s Schrijf de macro’s IO_SET en IO_CLEAR met twee parameters X en Y. X moet een poort register zijn (PORTA, PORTB, etc), B een bit (0..7). De macro moet het betreffende bit in het shadow register zetten, en dan een subroutine ‘FLUSH_ALL’ aanroepen. Schrijf ook de FLUSH_ALL subroutine.

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 24 Programmeer opgave 3: KITT / Knight Rider Maak een ‘Kitt’ display op de LEDs. Iedere stap in de sequence moet 250 ms zijn. Gebruik de IO_SET en IO_CLEAR macro’s voor het aan en uit zetten van de LEDs.