1 / 29

Les 2 - onderwerpen

Les 2 - onderwerpen. PIC16F688 MPLAB De assembler en de simulator Assembler pseudo-instructions Het DB026 bordje Programma: tellen op de LEDjes. MPLAB IDE. IDE : Integrated Development Environment Project management Editor Assembler Programmer/debugger interface(s)

lael-murray
Download Presentation

Les 2 - 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 2 - onderwerpen • PIC16F688 • MPLAB • De assembler en de simulator • Assembler pseudo-instructions • Het DB026 bordje • Programma: tellen op de LEDjes Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  2. MPLAB IDE IDE : Integrated Development Environment • Project management • Editor • Assembler • Programmer/debugger interface(s) • Integration of third-party tools (compilers) Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  3. PIC16F688 • Interne clock is 8 MHz (16F676: 4 MHz) • 4k code (16F676: 1k) • 256 general purpose registers (RAM, 16F676: 64) • 256 bytes EEPROM (16F676: 128) • Nanowatt features • € 3.56 (16F676: € 2.62) Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  4. PIC16F688 memory map Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  5. Gebruik van MPLAB (Zie ook de MPLAB quick start guide op de Microchip website) • Start MPLAB • Controleer: Configure  Select Device 16F688 • (als je het bordje hebt aangesloten) Controleer: Programmer  Select Programmer  5 PICkit 1 • Start een project: Project  New  kies een project naam, zet project directory naar keuze lokaal, op je USB stick, of op (in directory in) je network drive • Of open een bestaand project: Project  Open  kies een bestaand project • Een nieuwe file creeren: File  New; File  Save As  mag zelfde naam als project (als het de hoofdfile is, of als je maar 1 file gebruikt) • Een assembler file toevoegen aan een project: Project  Add Files to Project  double click to add the file as source file Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  6. Gebruik van de assembler • Check: edit  properties  editor tab  zet “line numbers’ aan • Edit je file (saven is niet nodig maar wel verstandig) • Assembleren en linken: Project  Build All • Herhalen tot de fouten en warnings eruit zijn! Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  7. Gebruik van de simulator • Debugger  select tool  MPLAB SIM • Debugger  reset  processor reset (F6) • Debugger  Clear Memory  GPRs (let op!) • Debugger  step into (F7) • View  4 File Registers • View  5 Special Function Registers (Waarden die in de vorige stap zijn veranderd worden rood weergegeven.) Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  8. Gebruik van de simulator • Stap nu een aantal keren tot je denkt dat je programma-lus goed werkt (F6) • Double-click op de regel na je loop om een breakpoint te zetten • Debugger  Run (F9) • Controleer of het resultaat klopt Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  9. Assembler : variabelen Absolute adressen: Met #define of EQU: movfw H’20’ movwf H’21 #define A H’20’ B EQU H’21’ movfw A movwf B Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  10. Assembler : variabelen cblock cblock 0x20 ; name_1, name_2 name_3, name_4 ; endc ... cblock name_5, name_6 endc Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  11. Assembler template list p=16f688, f=inhx32 #include <P16F688.INC> __CONFIG _INTRC_OSC_NOCLKOUT & _WDT_OFF & … movlw B'01110000' bsf H'03', 5 movwf H'8F' bcf H'03', 5 org 0 cblock H’20’ endc ; hier komt uw code sleep END staat op http://www.voti.nl/hvu/2TPRJ5/template.asm Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  12. Een stukje van PIC16F688.INC ;----- Register Files----------------------------- INDF EQU H'0000' TMR0 EQU H'0001' PCL EQU H'0002' STATUS EQU H'0003' FSR EQU H'0004' PORTA EQU H'0005' PORTC EQU H'0007' PCLATH EQU H'000A' INTCON EQU H'000B' PIR1 EQU H'000C' Staat op C:/Program Files/MPLAB IDE/MChIP_Tools Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  13. Het DB026 bordje • USB interface (power, data) • optional Wall-Wart power • USB / programming circuit with PIC16C745 • target PIC16F676 (or other 14-pin PICs) • I/O: • 8 LEDs, 3 seven-segment digits • keypad • potentiometer, LDR • luidsprekertje • IR transmitter, IR receiver Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  14. USB interface Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  15. Wall-wart voeding Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  16. programming circuit Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  17. target PIC16F688 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  18. 8 LEDs Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  19. 3 7-segment displays Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  20. keypad Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  21. LDR (lichtgevoelige weerstand) Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  22. Potentiometer (instelbare weerstand) Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  23. Luidsprekertje Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  24. IR receiver Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  25. IR transmitter Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  26. RJ connector Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  27. Dwarf Board connector Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  28. DB026 bordje – tel op 6 LEDs • Configureer RA en RC als outputs • Zet RA op de juiste waarde voor ’LEDs’ • Loop: • Tel in een variabele • Copieer die naar RC • Wacht (ongeveer) 0.5 ms (wachtlus) Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

  29. DB026 bordje – tel op 8 LEDs • Schijf ook (telkens) de juiste waarde naar RA: • Copieeer de teller • Verschuif tot de positie klopt • Maskeer de rest weg • Voeg de ‘selecteer LEDs’ bitjes toe Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

More Related