2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1.

Slides:



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


Boss RC-50 Guide Beats laten horen Beats aanpassen Instructie voor leerlingen Guide is één van de mogelijkheden met de Boss RC-50.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Operatoren, Arrays, Command-line tools.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Een programma opbouwen.
Les1: eenvoudig computergebruik
Les 5 - onderwerpen Aansturen van vier 7-segment displays
De microcontroller Door Klaas De Nys.
Week 2: Microarchitectuur niveau ALU en datapad
Computerarchitectuur
Jelle Aarnoudse Beginnen met PIC's Jelle Aarnoudse

1/1/ / faculty of Computer Science eindhoven university of technology 5B040:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 7(1): Flow of.
1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam.
IR-communicatie Welkom Studenten: -Rob Arends -Casper van Belzen Docent: -Ing Verhage.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 2 - onderwerpen Herhaling instructieset en.
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.
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.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  basis files: ram-rom.zip.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 3 - onderwerpen Instruction timing Shadow.
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  herhaling ARM assembler instructies.
Mail: Jan Zuurbier  Mail:
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 ; 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.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 6 - onderwerpen Code paging Switch bounce.
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.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  een MIDI track interpreteren, laten zien en afspelen.
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.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Finite State Machine (Eindige.
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  programma draaien vanuit ROM.
Tircms02-p les 3 Functies Strings Structuren. Functies 1. main() 2. { int k; k = 10 ; printf(“%d\n”,fac(k)); } 3. int fac(n) int n; 4. { int f; f= 1;
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,
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.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag User-defined characters op de.
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.
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.
2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology Wouter van Ooijen Mail: Sheets.
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:
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.
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.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  de track structuur van een MIDI file interpreteren.
VPEMSY1, D3ECPT2 : ARM Assembler Hogeschool Utrecht / Electrical Engineering & Design 1  Herhaling B/BL, conditions,
Microcontrollers Labo
Huiswerkcontrole tabel 3
Kennismaking met programmeren
Digitale Methoden Onderdeel van vak Computer Systemen
3 Hardware 3.1 De processor en intern geheugen
Kennismaking met programmeren
Codesystemen Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology.
Wat gaan we doen? Herhaling ARM assembler instructies
Transcript van de presentatie:

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 2 Les 4 - onderwerpen DB036 schema: Luidsprekertje read-modify-write / shadow registers macro’s DB036 schema: LEDs en 7-segment displays opdrachten: –Beep –Tellen op een enkel 7-segment display –Multiplexen (tellen op meerdere displays) –verzin je eigen opdracht

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 3 DB036 circuit – luidspreker

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 4 DB036 circuit – luidspreker

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 5 PIC16F917 memory map

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

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 7 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 8 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 9 wat is een macro naam voor een aantal regels text, eventueel met parameters wordt letterlijk ingevoegd bank0 macro bcfSTATUS, RP0 bcfSTATUS, RP1 endm

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 10 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 11 Macro – listing (.lst)

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 12 Macro  Subroutine marco heeft geen call/return (gebruikt de stack niet) subroutine aanroep is altijd 1 statement macro ‘aanroep’ voegt de complete macro in een macro kan assembly-time argumenten hebben

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 13 DB036 circuit – 74HC259 adresseable latch G CLR D S0.. S2

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 14 DB036 circuit – 74HC259 adresseable latch GCLR

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 15 DB036 circuit – 74HC259 adresseable latch

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 16 DB036 circuit – displays and LEDs

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 17 LatchWrite (1) ;================================================================ ; ; segments.asm ; ;================================================================ ; initialisation etc for DB036 #include GOTO MAIN

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 18 LatchWrite (2) ;================================================================ ; ; Shadow Registers and Flush subroutines ; ;================================================================ 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 19 LatchWrite (3) ;================================================================ ; ; LatchWrite ; ; set outputs of the 74HC259 adresseable latch ; according to the value in W ; ;================================================================ CBLOCK LatchWritePattern ENDC LatchWrite ; save outputs to be activated MOVWF LatchWritePattern ; make gate line high (= inactive) BSF PORTB_SHADOW, 5 CALL PORTB_FLUSH ; make address and data 0 movlw 0xF0 andwf PORTD_SHADOW, f

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 20 LatchWrite (4) LatchWriteNext ; assume data line low, set to high only when ; the (next) bit of LatchWritePattern is 1 RRF LatchWritePattern, f SKPNC BSF PORTD_SHADOW, 3 ; output address and data CALL PORTD_FLUSH CALL LatchWriteReturn ; toggle gate line BCF PORTB_SHADOW, 5 CALL PORTB_FLUSH CALL LatchWriteReturn BSF PORTB_SHADOW, 5 CALL PORTB_FLUSH CALL LatchWriteReturn

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 21 LatchWrite (5) ; clear bit 3 and increment address BCF PORTD_SHADOW, 3 INCF PORTD_SHADOW, F ; if carry into bit 3 we are done BTFSS PORTD_SHADOW, 3 GOTO LatchWriteNext LatchWriteReturn RETURN

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 22 LatchWrite (6) MAIN MOVLW 0x02 CALL LatchWrite MOVLW 0xAA MOVWF PORTD SLEEP ;================================================================ ; end of assembler source ;================================================================ END

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 23 segment letters A B C DFDF E F G DP

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 24 segment letters PIC pinDisplay Segment RD0A RD1B RD2C RD3D RD4E RD5F RD6G RD7DP let op: active low !

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 25 multiplexen Laat Digit 1 zien (wacht) Doe eventueel ander werk Laat Digit 2 zien (wacht) Laat Digit 3 zien (wacht) Laat Digit 4 zien (wacht)

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 26 multiplexen Laat het volgende Digit zien Doe eentueel ander werk eventueel (extra) vertraging

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 27 opdrachten les 4 - 1: beep Maak een programma dat 1 keer een piep laat horen (bv 1/4 seconde op 1 kHz) Piepen is niets anders dan knipperen, maar dan met een luidspreker in plaats van een LED, en wat sneller. 1 kHz = 1ms per puls = 500 us hoog / 500 us laag 500 us = 1000 instructies bij 8 MHz 1/4 seconde = 250 pulsen

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 28 opdrachten les : tellen tel op de 1 cijfer van het 7-segment display van 0 tot F (en dan weer opnieuw, bv 1 tikken per seconde) Gebruik een sprongtabel om te vertalen van een getal (0..F) naar het bitpatroon van de segmenten.

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 29 opdrachten les : tellen + Kitt tel op de 3 cijfer van de 7-segment displays van 0 tot 999 (en dan weer opnieuw, bv 5 tikken per seconde), en laat tegelijk het Kitt patroon zien op de LEDs. Gebruik voor het tellen voor ieder digit een aparte RAM locatie.

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 30 opdrachten les : verzin je vrije opdracht (voorzover je dat nog niet hebt gedaan) De laatste twee/drie lessen (en thuis!) ga je werken aan een vrije opdracht. Verzin zelf een project(je). Stem af. Schijf zelf de opdracht. citeria: niet te makkelijk niet te moeilijk hardware gebruiken is een plus, externe hardware plus plus

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 31 Mogelijke onderwerpen voor les 5/6 Schakelaartjes uitlezen (dender) Muziek A/D converter uitlezen (potmeter, M335, LDR) UART (serieel naar PC via de 2e USB connector) Werking IR afstandsbedieningen Interfacen van een PC keyboard en/of muis

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 32 een paar suggesties: Muziekjes (Fur Elise, Jingle Bells, etc) rekenmachine beat detector + patroon licht => geluid (random?) RC5 IR zender; RC5 ontvanger voorwerp-detector (IR zender + ontvanger) Reactiesnelheid tester spelletjes ‘Kitt’ display met 10 verschillende patronen (selecteer mbv de knoppen, sla op in de EEPROM) iets externs, bv een motor aansturen, PC keyboard, TV, iets loggen naar een PC en daar iets mee doen

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 33 TL431 Voltage Reference chip