Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdOscar Peeters Laatst gewijzigd meer dan 9 jaar geleden
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
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.