Computertechniek 1 Wouter van Ooijen Mail wouter vanooijenhvu

  • Slides: 41
Download presentation
Computertechniek 1 Wouter van Ooijen Mail: wouter. vanooijen@hvu. nl Sheets en verdere info: www.

Computertechniek 1 Wouter van Ooijen Mail: wouter. vanooijen@hvu. nl Sheets en verdere info: www. voti. nl/hvu/2 PROJ 4 Onderwerp: PIC assembler programmeren Materiaal: - PIC USB target board (€ 50 ), - handouts etc (worden uitgedeeld) Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

Computertechniek 2 Wat er van u verwacht wordt • • U bent (op tijd!)

Computertechniek 2 Wat er van u verwacht wordt • • U bent (op tijd!) aanwezig Theorie en praktijk in D 212 De eerste weken iedere week een of meer opgave(n) U maak de opgave(n) zelf De opgaven worden beoordeeld op werking en code De laatste weken een projectje Het (gewogen) gemiddelde van de opgaven en projectje is uw cijfer • Er is dus geen tentamen Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

Computertechniek 3 Voor verder geinteresseerden ISBN 0 -07 -136172 -3 (E 68) Hogeschool van

Computertechniek 3 Voor verder geinteresseerden ISBN 0 -07 -136172 -3 (E 68) Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

Computertechniek 4 onderwerpen • wat is een microcontroller (embedded, real-time) • wat is assembler

Computertechniek 4 onderwerpen • wat is een microcontroller (embedded, real-time) • wat is assembler • hoe werk je met een microcontroller • wat is een PIC • de PIC 16 F 688 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

Computertechniek 5 Wat is een microcontroller? meestal: Ø ‘computer-achtig’ ding (computertje) Ø combinatie van

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

Computertechniek 6 steeds meer transistoren op een chip. . . losse transistor analoge ICs

Computertechniek 6 steeds meer transistoren op een chip. . . losse transistor analoge ICs logica micro processor micro controller programmeerbare logica ‘super’ microprocessor klant-specifieke logica u. C als IP Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

Computertechniek ultra-goedkoop chinees, inclusief de documentatie lastig verkrijgbaar general-purpose PIC, Atmel, 8051, 68 HC,

Computertechniek ultra-goedkoop chinees, inclusief de documentatie lastig verkrijgbaar general-purpose PIC, Atmel, 8051, 68 HC, . . . high-end ARM, Power. PC special purpose: DSP, ethernet, USB, analoog, . . . Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 7

Computertechniek Ø ergens in, deel van een geheel, (diep) verstopt, dienstbaar aan waar ‘t

Computertechniek Ø ergens in, deel van een geheel, (diep) verstopt, dienstbaar aan waar ‘t in zit Ø vaste functie, dus niet vrij programmeerbaar Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 8

Computertechniek niet: Ø snel Ø zo snel mogelijk Ø interactief, batch wel: Ø op

Computertechniek niet: Ø snel Ø zo snel mogelijk Ø interactief, batch wel: Ø op tijd! Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 9

Computertechniek 10 nut responstijd soft real-time! Hogeschool van Utrecht / Institute for Computer, Communication

Computertechniek 10 nut responstijd soft real-time! Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

Computertechniek 11 Wat is assembler? • De meeste directe manier om een CPU te

Computertechniek 11 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 assembler vertaalt (de ‘compiler’) Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

Computertechniek 12 een assembler fragment ; delay movlw H'00' delay_loop addlw H'01' skpz goto

Computertechniek 12 een assembler fragment ; delay movlw H'00' delay_loop addlw H'01' skpz goto delay_loop Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

Computertechniek bijna altijd cross-development: Ø jij werkt op een PC Ø daar draait je

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

Computertechniek 14 Wat is een PIC? • ooit: Peripheral Interface Controller voor de CP

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

Computertechniek 15 Soorten PICs Processor (core) • 12 -bit • 14 -bit • 16

Computertechniek 15 Soorten PICs Processor (core) • 12 -bit • 14 -bit • 16 -bit • 24 -bit Behuizing • 6. . 80 pinnen 14 • DIP, SMD, PLCC DIP Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

Computertechniek 16 Soorten PICs Soort geheugen • Mask ROM • OTP EPROM • Window

Computertechniek 16 Soorten PICs Soort geheugen • Mask ROM • OTP EPROM • Window EPROM • Flash Prijzen • $0. 25. . $30 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

Computertechniek 17 Soorten PICs Special Features • A/D • UART • Data EEPROM •

Computertechniek 17 Soorten PICs Special Features • A/D • UART • Data EEPROM • Timers • Interne oscillator • PWM • USB • … Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

Computertechniek 18 Hoe schrijf je een PIC programma • • • HEX Assembler C

Computertechniek 18 Hoe schrijf je een PIC programma • • • HEX Assembler C C++ (beperkt) Jal Pascal Ladder Basic … Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

Computertechniek Hoe krijg je het programma in de PIC • • • In de

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

Computertechniek 20 PIC 16 F 688 • • 14 -pins chip, 12 beschikbaar als

Computertechniek 20 PIC 16 F 688 • • 14 -pins chip, 12 beschikbaar als I/O Interne clock is (maximaal) 8 MHz met kristal maximaal 20 MHz 4 k code (14 -bit instructies) 256 general purpose registers (RAM) 256 bytes EEPROM Nanowatt features Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

Computertechniek 21 De PIC 16 F 688 Hogeschool van Utrecht / Institute for Computer,

Computertechniek 21 De PIC 16 F 688 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC

Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 22

Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC

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

Computertechniek 24 basic data paths Hogeschool van Utrecht / Institute for Computer, Communication and

Computertechniek 24 basic data paths Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

Computertechniek file-to-file Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ;

Computertechniek file-to-file Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 25

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

Computertechniek W register Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 26

Computertechniek file-to-W Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ;

Computertechniek file-to-W Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 27

Computertechniek file and W to file or W Hogeschool van Utrecht / Institute for

Computertechniek file and W to file or W Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 28

Computertechniek ALU status flags Hogeschool van Utrecht / Institute for Computer, Communication and Media

Computertechniek ALU status flags Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 29

Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC

Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 30

Computertechniek use status register Hogeschool van Utrecht / Institute for Computer, Communication and Media

Computertechniek use status register Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 31

Computertechniek 32 literal data Hogeschool van Utrecht / Institute for Computer, Communication and Media

Computertechniek 32 literal data Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

Computertechniek literals Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ;

Computertechniek literals Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 33

Computertechniek goto call return Hogeschool van Utrecht / Institute for Computer, Communication and Media

Computertechniek goto call return Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 34

Computertechniek conditional Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ;

Computertechniek conditional Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 35

Computertechniek PIC 16 F 688 memory map Hogeschool van Utrecht / Institute for Computer,

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

Computertechniek 37 wat doet dit stukje assembler code? ; delay movlw H'00' delay_loop addlw

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

Computertechniek 38 oefening 1 Op geheugenplaatsen H’ 20’ en H’ 21’ staan 2 getallen.

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

Computertechniek 39 oefening 2 Op geheugenplaatsen H’ 20’ en H’ 21’ staan 2 getallen.

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

Computertechniek 40 Doen • neem de slides nog eens door noteer wat je niet

Computertechniek 40 Doen • neem de slides nog eens door noteer wat je niet duidelijk is ! neem € 50 mee voor het bordje schrijf 1 programma (volgende sheet) Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren

Computertechniek opgave voor volgende week Op geheugenplaatsen H’ 20’ en H’ 21’ staan 2

Computertechniek opgave voor volgende week Op geheugenplaatsen H’ 20’ en H’ 21’ staan 2 getallen. Vermenigvuldig deze getallen op 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 van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 41