120 likes | 287 Views
Les 4 - onderwerpen. Tellen op een enkel 7-segment display Multiplexen (tellen op meerdere displays) Beep read switches. 7 –segment display. eigenlijk gewoon 7 LEDjes je kan 1 cijfer selecteren dmv RA0, RA1, RA2:. segment letters. A. B. F. G. E. C. DF. DP. multiplexen.
E N D
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
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
segment letters A B F G E C DF DP Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren
multiplexen Laat Digit 1 zien (wacht) Laat Digit 2 zien (wacht) Laat Digit 3 zien (wacht) Doe eentueel ander werk Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren
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
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
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
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 laag 500 us = 1000 instructies bij 8 MHz 1/4 seconde = 250 pulsen Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren
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
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
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
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 } Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren