De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Onderwerp: PIC assembler programmeren

Verwante presentaties


Presentatie over: "Onderwerp: PIC assembler programmeren"— Transcript van de presentatie:

1 Onderwerp: PIC assembler programmeren
Wouter van Ooijen Mail: Sheets en verdere info: Onderwerp: PIC assembler programmeren Materiaal: - PIC USB target board (€ 60 ), - handouts etc (worden uitgedeeld) - Memory stick Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

2 Wat er van u verwacht wordt
U bent (op tijd!) aanwezig Theorie en praktijk in D212 De eerste weken iedere week een of meer opgave(n) U maak de opgave(n) zelf De opgaven worden beoordeeld op werking, code en begrip De laatste weken een individueel projectje Het resultaat van het projectje is uw cijfer, mits alle voorgaande opgaven voldoende waren Er is dus geen tentamen, geen projectverslag, etc. Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

3 wat is een microcontroller (embedded, real-time) wat is assembler
onderwerpen wat is een microcontroller (embedded, real-time) wat is assembler hoe werk je met een microcontroller wat is een PIC de PIC16F917 Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

4 Wat is een microcontroller?
meestal: ‘computer-achtig’ ding (computertje) combinatie van processor, ROM, RAM, I/O, ... compact goedkoop zuinig geschikt voor real-time geschikt voor embedded gebruik Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

5 steeds meer transistoren op een chip...
ontstaansgeschiedenis steeds meer transistoren op een chip... losse transistor analoge ICs logica programmeerbare logica klant-specifieke logica micro processor ‘super’ microprocessor micro controller uC als IP Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

6 soorten microcontrollers
ultra-goedkoop chinees, inclusief de documentatie  lastig verkrijgbaar general-purpose PIC, Atmel, 8051, 68HC, ... high-end ARM, PowerPC special purpose: DSP, ethernet, USB, analoog, ... Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

7 wat is: embedded ? ergens in, deel van een geheel, (diep) verstopt,
dienstbaar aan waar ‘t in zit vaste functie, dus niet vrij programmeerbaar Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

8 wat is real-time ? niet: snel zo snel mogelijk interactief, batch wel:
op tijd! Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

9 Wat is assembler? De meeste directe manier om een CPU te programmeren
Veel werk voor de programmeur Een stuk beter dan binair, hex of met schakelaars programmeren ... Regel-georienteerd (meestal) 1 regel  1 CPU instructie maar ook: het programma dat een in assembler geschreven programma vertaalt (de ‘compiler’) Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

10 een assembler fragment
; delay movlw H'00' delay_loop addlw H'01' skpz goto delay_loop Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

11 embedded development bijna altijd cross-development:
jij werkt op een PC daar draait je editor, compiler, assembler, linker loader of programmer om te laden burn and crash luxer: cross-debugger, ICE Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

12 Wat is een PIC? voor de CP1600 microprocessor
ooit: Peripheral Interface Controller voor de CP1600 microprocessor nu: merknaam voor een zeer brede reeks microcontrollers van fabrikant Microchip Harvard-architectuur concurrenten: AVR (Atmel), 68HC (Motorola), 8051 (diverse fabrikanten), ... Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

13 Soorten PICs Processor (core) 12-bit 14-bit  16-bit 24-bit Behuizing
pinnen  40 DIP, SMD, PLCC  DIP Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

14 Soorten PICs Soort geheugen Mask ROM OTP EPROM Window EPROM Flash 
Prijzen $ $30 Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

15 Soorten PICs Special Features A/D UART Data EEPROM Timers
Interne oscillator PWM USB Ethernet etc Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

16 Hoe schrijf je een PIC programma
HEX Assembler  C  C++ (beperkt) Jal Pascal Ladder Basic Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

17 Hoe krijg je het programma in de PIC
In de fabriek, eenmalig Eraser / ex-circuit programmer (EPROM) Ex-circuit programmer (FLASH) In-circuit programmer  In-circuit debugger Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

18 PIC16F917 40-pins chip, 12 beschikbaar als I/O
met kristal maximaal 20 MHz (interne osc 8 MHz) 8k code (14-bit instructies) 256 general purpose registers (RAM) 256 bytes EEPROM Nanowatt features Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

19 De PIC16F917 Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

20 Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

21 Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

22 Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

23 file-to-file data paths
Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

24 file-to-file Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

25 W register Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

26 file-to-W Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

27 file ‘op’ W to file or W Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

28 ALU status flags (check “status affected”)
Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

29 Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

30 use status register Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

31 literal data Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

32 literals Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

33 goto call return Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

34 conditional Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

35 PIC16F917 memory map Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

36 wat doet dit stukje assembler code?
; delay movlw H'00' delay_loop addlw H'01' skpz goto delay_loop nb: skpz == btfss 3, 2 Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

37 oefening 1 Op geheugenplaatsen H’20’ en H’21’ staan 2 getallen. Schrijf een programma dat deze getallen optelt en het resultaat in H’22’ plaatst (3 instructies) Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

38 oefening 2 Op geheugenplaatsen H’20’ en H’21’ staan 2 getallen. Zet het grootste van deze twee getallen in geheugenplaats H’22’. (bv 8 instructies) Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

39 Doen  neem de slides nog eens door  noteer wat je niet duidelijk is !  neem € 60 mee voor het bordje  schrijf 1 programma (volgende sheet) Hogeschool Utrecht / Institute for Computer, Communication and Media Technology

40 opgave voor volgende week
Op geheugenplaatsen H’20’ en H’21’ staan 2 getallen. Vermenigvuldig deze getallen en plaats het resultaat in H’22’. Na afloop mogen de getallen in H’20’ en H’21’ veranderd zijn. (diverse oplossingen mogelijk, bv 10 instructies. vermenigvuldigen is herhaald optellen!) Hogeschool Utrecht / Institute for Computer, Communication and Media Technology


Download ppt "Onderwerp: PIC assembler programmeren"

Verwante presentaties


Ads door Google