1 / 18

Les 5 - onderwerpen

Les 5 - onderwerpen. DB038 hardware : toetsenbordje 16F887 : memory banks, code pages DB038 hardware : luidsprekertje Opdracht1 : lees toetsenbord Opdracht2 : sirene Opdracht3 : bedenk je eindopdracht

amandla
Download Presentation

Les 5 - onderwerpen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Les 5 - onderwerpen • DB038 hardware : toetsenbordje • 16F887 : memory banks, code pages • DB038 hardware : luidsprekertje • Opdracht1 : lees toetsenbord • Opdracht2 : sirene • Opdracht3 : bedenk je eindopdracht  Lees van de DB038 manual hoofdstuk 3 door (PIC 14-bit architecture and instruction set summary) Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

  2. DB038 2 16 toetsjes Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

  3. keypad 3 DB038 manual 2.7 Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

  4. keypad 4 DB038 manual 2.18 Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

  5. 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 ten minste 10 µs Lees pin RA1 (hoog == toets is ingedrukt) Doe dit voor alle 16 toetsen 5 DB038 manual 2.18.1 Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

  6. 6 • Maak pin RA1 een ingang (bit 1 in TRISA) • Maak poort A een digitale poort: ANSEL = 0 CMCON0 = 0x07 • Zet een waarde 0x01, 0x02, 0x04 of 0x08 op PORTD • Zet een waarde 4 .. 7 op PORTE • Wacht ten minste 10 µs • Lees pin RA1 (hoog == toets is ingedrukt) • Doe dit voor alle 16 toetsen PIC16F887 memory map Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

  7. PIC –register bank selection 7 Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

  8. banksel 0063 1683 1303 00099 banksel TRISA 0065 1485 00100 bsf ( TRISA & 0x7F ), 1 00101 0066 1683 1703 00102 banksel ANSEL 0068 0188 00103 clrf ( ANSEL & 0x7F ) 00104 0069 1283 1303 00105 banksel 0 8 banksel TRISA bsf ( TRISA & 0x7F ), 1 banksel ANSEL clrf ( ANSEL & 0x7F ) banksel 0  Gebruik dus altijd banksel, en schakel terug naar bank 0! DB038 manual 3.9 Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

  9. Code paging 11 bits == maar 2k instructies...

  10. Code paging Als je minder dan 2k code gebruikt  geen probleem Anders: GOTO  LGOTO CALL  LCALL Maar: LGOTO en LCALL worden vertaald naar meerdere instructies, dus je kan niet skippen! Wel kan: PAGESEL daarzo SKPNZ GOTO daarzo Let op pagesel – banksel ! DB038 manual 3.8

  11. DB038 11 ‘Luid’sprekertje extern Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

  12. DB038 circuit – luidspreker 12 Externe luidspreker DB038 manual 2.14 Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

  13. piepen 13 • RE0..RE3 output, waarde 0x02 • RA1 output • En nu maar ‘knipperen’ op RA1 DB038 manual 2.14.1 Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

  14. opdrachten les 5 - 1 : 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 14 Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

  15. opdrachten les 5 - 2 : sirene Schrijf een piep-subroutine met twee parameters: de tijdvertraging, uitgedrukt in 10 µs per fase, en het aantal pulsen, uitgedrukt in 10 pulsen. (Dus: piep(3,10) is 100 periodes van 60 µs per periode.) Je kan maar 1 waarde in W meegeven, dus de andere waarde (of eventueel beiden) moet in een afgesproken geheugenplaats staan. Schrijf een piep macro om het aanroepen van die piep subroutine wat makkelijker te maken. De macro heeft twee argumenten (beide vaste getallen): de tijdsvertraging, en het aantal pulsen. Je hoofdprogramma moet dit doen: 15 While(1) { Piep gedurende 1 seconde op 1 kHz (=1000Hz) 0.1 seconde stilte Piep gedurende 1/2 seconde op 2 kHz 0.5 seconde stilte } • 2 kHz  wat is dan de tijdvertraging? • 1/2 seconde op 2 kHz  hoeveel pulsen is dat? Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

  16. 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. 16 Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

  17. een paar suggesties: Muziekjes (Fur Elise, Jingle Bells, etc) rekenmachine (audio) 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 17 Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

  18. Mogelijke onderwerpen voor les 6/7 A/D converter uitlezen (potmeter, M335, LDR) Aansturen van twee motortjes Omgaan met “dender” van een schakelaar UART (serieel naar PC via de 2e USB connector) Werking IR afstandsbedieningen Muziek? Interfacen van een PC keyboard en/of muis? I2C? Dallas 1-wire? 18 Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

More Related