Les 4 - onderwerpen
description
Transcript of Les 4 - onderwerpen
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren
1Computertechniek
Les 4 - onderwerpen
• Tellen op een enkel 7-segment display• Multiplexen (tellen op meerdere displays)• Beep• read switches
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren
2Computertechniek
7 –segment display• eigenlijk gewoon 7 LEDjes• je kan 1 cijfer selecteren dmv RA0, RA1, RA2:
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren
3Computertechniek
segment letters
AB
CDF
E
FG
DP
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren
4Computertechniek
multiplexen
Laat Digit 1 zien (wacht)
Doe eentueel ander werk
Laat Digit 2 zien (wacht)
Laat Digit 3 zien (wacht)
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren
5Computertechniek
multiplexen
Laat het volgende Digit zien
Doe eentueel ander werk
eventueel (extra) vertraging
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren
6Computertechniek
opdrachten les 4 - 1 : tellen
tel op de 1 cijfer van het 7-segment display van 0 tot 9 (en dan weer opnieuw, bv 1 tikken per seconde)
Gebruik een sprongtabel (les 2) om te vertalen van een getal (0..9) naar het bitpatroon van de segmenten.
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren
7Computertechniek
opdrachten les 4 - 2 : tellen
tel op de 3 cijfer van de 7-segment displays van 0 tot 999 (en dan weer opnieuw, bv 5 tikken per seconde)
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren
8Computertechniek
opdrachten les 4 - 3: 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 laag500 us = 1000 instructies bij 8 MHz1/4 seconde = 250 pulsen
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren
9Computertechniek
opdrachten les 4 - 4 : vrije opdracht
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.
een paar suggesties:• (random!) RC5 IR zender• RC5 ontvanger• voorwerp-detector (IR zender + ontvanger)• Fur Elise• Reactiesnelheid tester• ‘Kitt’ display met 10 verschillende patronen (selecteer mbv de knoppen, sla
op in de EEPROM)• iets externs, bv LCD
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren
10Computertechniek
Read the switches
• Zet de juiste code op RA0 .. RA2 om een rij schakelaars te selecteren
• Zet ANSEL (0x91, dus bank 1) op 0• Zet CMCON0 op 7• Wacht even (bv 5us = 10 instructies) • Lees RC0 .. RC3• Als een van die pinnen hoog is dan is de schakelaar in die
kolom ingedrukt• Herhaal (eventueel) voor de andere 3 rijen
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren
11Computertechniek
Switch bounce (denderen)
Als je een drukknop indrukt maakt hij niet 1 keer contact: hij dendert een tijdje (maximaal ~ 50 ms)
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren
12Computertechniek
opdrachten les 4 - 5: count• Maak een programma dat op de drie 7-segment digits telt
hoe vaak de drukknop ‘1’ is ingedrukt.• Zorg dat je de schakelaar ten minste 1000 keer per
seconde checkt• Als je het effect van denderen hebt gezien maak de lus
dan trager (check de schakelaars max. 20 ker perseconde)
for(;;){ show digit(s) check schakelaar verhoog de teller}