De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 2 - onderwerpen MPLAB.

Verwante presentaties


Presentatie over: "Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 2 - onderwerpen MPLAB."— Transcript van de presentatie:

1 Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 2 - onderwerpen MPLAB Herhaling instructieset De assembler en de simulator Assembler pseudo-instructions Programmeren 1: delay N ms Programmeren 2: jumptable

2 Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 2 Instructies: file + w => file /w

3 Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 3 Instructies: bit set/clear, bit test

4 Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 4 Instructies: file + literal => file /w, diversen

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

6 Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 6 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

7 Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 7 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!

8 Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 8 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.)

9 Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 9 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 een loop om een breakpoint te zetten Debugger  Run (F9) Controleer of het resultaat klopt

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

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

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

13 Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 13 Assembler template (zie website) list p=16f688, f=inhx32 #include __CONFIG _INTRC_OSC_NOCLKOUT & _WDT_OFF & … movlwB'01110000' bsfH'03', 5 movwf H'8F' bcfH'03', 5 org 0 cblock H’20’ endc ; hier komt uw code sleep END

14 Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 14 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

15 Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 15 Programmeren 1: Een delay subroutine Een instructie duurt 0.5 us (8 MHz, 2 MIPS) Een ‘geskipte’ instructie ook! Behalve GOTO, CALL, RETURN: 1 us Maak een subroutine die W ms wacht Test dmv de stopwatch/instructie counter

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

17 Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 17 PC manipulatie PCL is de laagste 8 bits van de program counter (PC) Maar: schrijven naar PCL schrijft die waarde naar PC[0..7], + PCLATH naar PC[8..] Hiermee kan je een jumptable maken: spring naar een plek N plaatsen verder Nuttig in combinatie met RETLW X

18 Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 18 Programmeren 2: Een jump table Maak een subroutine die afhankelijk van de waarde in W bij de aanroep een waarde in W teruggeeft: 0  0 1  1 2  4 3  9 … 9  81 Boven 9 is het effect niet gedefinieerd  Maak een overtuigende test!


Download ppt "Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 2 - onderwerpen MPLAB."

Verwante presentaties


Ads door Google