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

14
Hogeschool Utrecht / Institute for Computer, Communication a nd Media Technology 1 2PROJ5 – PIC assembler Les 5 - onderwerpen Aansturen van vier 7-segment displays Uitlezen van het toetsenbordje Laatste twee verplichte opdrachten Eigen opdracht

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

Page 1: 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 5 - onderwerpen Aansturen van vier 7-segment.

Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

12PROJ5 – PIC assembler

Les 5 - onderwerpen

• Aansturen van vier 7-segment displays• Uitlezen van het toetsenbordje• Laatste twee verplichte opdrachten• Eigen opdracht

Page 2: 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 5 - onderwerpen Aansturen van vier 7-segment.

Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

22PROJ5 – PIC assembler

opdrachten les 5 – 1 : tellen

Tel op de 4 cijfers van het display, in decimaal.

Maar … je kan maar 1 display tegelijk laten oplichten! Hoe nu verder?

Page 3: 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 5 - onderwerpen Aansturen van vier 7-segment.

Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

32PROJ5 – PIC assembler

Selecteren van één van de vier 7-segment displays

• Nieuw bordje (DB037):

- Zorg dat pin RA2 hoog is– schrijf 0..3 naar PORTE

• Oud bordje (DB036):– movlw 0x02 (of 0x04, 0x08, 0x10)– call LatchWrite

Page 4: 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 5 - onderwerpen Aansturen van vier 7-segment.

Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

42PROJ5 – PIC assembler

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)

Page 5: 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 5 - onderwerpen Aansturen van vier 7-segment.

Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

52PROJ5 – PIC assembler

multiplexen

Laat het volgende Digit zien

Doe eentueel ander werk

eventueel (extra?) vertraging

Page 6: 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 5 - onderwerpen Aansturen van vier 7-segment.

Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

62PROJ5 – PIC assembler

keypad

Page 7: 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 5 - onderwerpen Aansturen van vier 7-segment.

Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

72PROJ5 – PIC assembler

keypad

Page 8: 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 5 - onderwerpen Aansturen van vier 7-segment.

Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

82PROJ5 – PIC assembler

Keypad lezen

• Maak pin RA1 een ingang (bit 1 in TRISA)

• Maak poort A een digitale poort:

ANSEL = 0

• Zet een waarde 0x01, 0x02, 0x04 of 0x08 op PORTD

• Zet een waarde 4 .. 7 op PORTE

• Wacht 1 ms

• Lees pin RA1

• Herhaal voor alle 16 toetsen

Page 9: 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 5 - onderwerpen Aansturen van vier 7-segment.

Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

92PROJ5 – PIC assembler

Keypad lezen – oude bordje (DB036)

• Maak pin RA1 een ingang (bit 1 in TRISA)• Maak poort A een digitale poort

ANSEL = 0x00CMCON0 = 0x07

• Zet een waarde 0x01, 0x02, 0x04 of 0x08 op de laagste 4 bits van PORTD

• Zet een waarde 0 .. 3 op de hoogste 4 bits van PORTD• Wacht 1 ms• Lees pin RA1• Herhaal voor alle 16 toetsen

Page 10: 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 5 - onderwerpen Aansturen van vier 7-segment.

Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

102PROJ5 – PIC assembler

banksel

0063 1683 1303 00099 banksel TRISA0065 1485 00100 bsf ( TRISA & 0x7F ), 1 00101 0066 1683 1703 00102 banksel ANSEL0068 0188 00103 clrf ( ANSEL & 0x7F ) 00104 0069 1283 1303 00105 banksel 0

banksel TRISA

bsf ( TRISA & 0x7F ), 1

banksel ANSEL

clrf ( ANSEL & 0x7F )

banksel 0

Page 11: 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 5 - onderwerpen Aansturen van vier 7-segment.

Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

112PROJ5 – PIC assembler

opdrachten les 5 - 2 : keypad uitlezen

• Schrijf een subroutine die het keypad uitleest.• Laat op een of meer 7-segment displays zien

welke toets er is ingedrukt, formaat naar eigen keuze

Page 12: 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 5 - onderwerpen Aansturen van vier 7-segment.

Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

122PROJ5 – PIC assembler

opdrachten les 5 - 3 : verzin je vrije opdracht

De laatste twee 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

Demonstreren in de projectenweek (mag ook eerder), gebruikelijke tijd en plaats.

Page 13: 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 5 - onderwerpen Aansturen van vier 7-segment.

Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

132PROJ5 – PIC assembler

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

Page 14: 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 5 - onderwerpen Aansturen van vier 7-segment.

Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

142PROJ5 – PIC assembler

Mogelijke onderwerpen voor les 5/6

• Omgaan met “dender” van een schakelaar• Luidsprekertje, 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