1 / 20

Les 6 - onderwerpen

Les 6 - onderwerpen. Errata PC Indirect adresseren Read analog inputs EEPROM Zend en ontvang een IR signaal Muziek Geef door wat je ‘eigen’opdracht is Solderen. Pas op : foutje in de sheets van vorige week. De reset knop ‘aanzetten’. ; configuration settings

jock
Download Presentation

Les 6 - 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 6 - onderwerpen • Errata • PC • Indirect adresseren • Read analog inputs • EEPROM • Zend en ontvang een IR signaal • Muziek • Geef door wat je ‘eigen’opdracht is • Solderen Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  2. Pas op : foutje in de sheets van vorige week Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  3. De reset knop ‘aanzetten’ ; configuration settings #define _CONFIG_A _FCMEN_OFF & _IESO_ON & _BOD_ON & _CPD_OFF #define _CONFIG_B _CP_OFF & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF __CONFIG _CONFIG_A & _CONFIG_B & _INTRC_OSC_NOCLKOUT Veranderen naar: ; configuration settings #define _CONFIG_A _FCMEN_OFF & _IESO_ON & _BOD_ON & _CPD_OFF #define _CONFIG_B _CP_OFF & _MCLRE_ON & _PWRTE_ON & _WDT_OFF __CONFIG _CONFIG_A & _CONFIG_B & _INTRC_OSC_NOCLKOUT Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  4. END directive • Puur voor de assembler om het einde van de source aan te geven (stamt uit de tijd van papertape en punch-cards) • Twee manieren om de processor te laten ‘stoppen’: sleep ; speciale instructie klaar ; eeuwige lus goto klaar Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  5. PC (1) • De laagste 8 bits van de PC kan je lezen en schrijven via PCL • 4k  PC is 12 bits • Hoogste 6 bits komen uit PCLATH • Waarvoor gebruik je dit? Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  6. PC (2) ; data table Get_Data: addwf PCL, f retlw 0x11 retlw 0x21 retlw 0x44 … Let op: • PCLATH bits • Onverwachte waarden in W Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  7. PC (3) GOTO label GOSUB label De instructie bevat slechts 11 bits, het hoogste 2 bit komen wederom uit PCLATH. PCLATH start op 0x00, dus hier heb je pas mee te maken als je meer dan 2k code schrijft. Datasheet p21 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  8. Indirect adresseren X = *A: movfw A movwf FSR movfw INDF movwf X FSR is een soort pointer, INDF is dan het ‘venster’ naar het aangewezen file register FSR is 8 bits, dus het hoogste bit is page bit 0. Page bit 1 komt uit SATUS:IRP. Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  9. Read an analog input (1) • Zet de juiste code op RA0 .. RA2 en RC0 .. RC2 voor de potentiometer of de LDR • Zet de RC3 pin op input • Zet ANSEL op 0x80 (AN7 == RC3 is de analoge input) Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  10. Read an analog input (2) • Zet ADCON1 0x50 • Zet ADCON0 op 0x1D • Wacht >= 100 us Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  11. Read an analog input (3) • Zet het A/D start/busy bit aan • Wacht tot het A/D start/busy bit uit staat • Lees de waarde uit ADRESH Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  12. EEPROM - read • 256 bytes data EEPROM • Read: EEADR = <address>; EECON1 = 0; EECON1 = EECON1 | 1; /* bsf EECON1,0 */ While( eecon1 & 1 ); <data> = EEDAT; Datasheet p73 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  13. EEPROM - write EEADR = <address>; EECON1 = 4; EECON2 = 0x55; EECON2 = 0xAA; EECON1 = EECON1 | 2; /* bsf EECON1,1 */ While( eecon1 & 2 ); EECON1 = 0; <data> = EEDAT; Datasheet p73 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  14. De IR ontvanger (1) • (alleen) gevoelig voor een 36 kHz signaal. • Dat signaal mag niet continu zijn Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  15. De IR ontvanger (2) (alleen) gevoelig voor een 36 kHz signaal. Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  16. De IR ontvanger (3) Aanbevolen: puls >= 400uS, periode =< 0.4 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  17. De IR ontvanger (4) Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  18. Eenvoudig IR zenden en ontvangen • 36 kHz  28 us per puls  28 instructies per fase (hoog of laag) • 400 us / 28 us  minimaal 14 pulsen, neem bv 30 pulsen • Onmiddelijk daarna de IR ingang lezen (laag == signaal gedetecteerd) • Wacht te minste 6/4 x de zendtijd • herhaal Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  19. Muziek • Octaaf = verdubbeling van de frequentie • ‘centrale A’ = 440 Hz • Octaaf is verdeeld in 12 gelijke stappen • Dus stap^12 = 2  stap = 12√ 2 • Klopt niet helemaal (‘gelijkzwevend’) • Niet uitrekenen, gewoon een tabel gebruiken (zelf samenstellen of googelen) Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  20. Solderen • De power connector solderen • Mink (hiernaast) assisteert • Pak de soldeerbout aan het juiste einde vast  • Overschakelen op de stekkervoeding: Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

More Related