De PIC Microcontroller

Maat: px
Weergave met pagina beginnen:

Download "De PIC Microcontroller"

Transcriptie

1 1 De PIC Microcontroller Wat is het en wat kun je er mee? November 2010, v0.9 Lex Peters PE1CVJ Ben Emons PB2BN Dick Bronsdijk PA3HBS

2 Inhoud presentatie 2 Waarom starten met een PIC Microcontroller? hoe werkt het ding wat kun je er nu mee wat heb je nodig om te starten Uitwerking van een PIC project Werkende voorbeelden uit de praktijk VERON afdeling Amstelveen, 25 November 2010

3 3 Peripheral Interface Controller Achtergrond en basale werking

4 Waarom een microcontroller? 4 Wat is er mis met de conventionele manier van electronische schakelingen ontwerpen en bouwen? Helemaal niets! Waarom dan toch starten met microcontrolers? Je kunt bijna alles maken met een handvol componenten en een goed idee Je hebt nauwelijks ruimte nodig om te ontwikkelen (alleen een PC, wat software, een programmer en een experimenteer (bread) board Je kunt dingen veel simpeler ontwerpen Het werkt vaak sneller Het is te integreren met andere componenten (I 2 C bus, serieel, USB, CAN bus, 1- wire etc.) Er is ontzettend veel gratis beschikbaar!! Er zijn al veel gebruikers forums waar je via internet veel mee kunt delen En het is gewoon ontzettend leuk om het zelf te kunnen ontwerpen!!!!

5 Waarom de PIC van Microchip? (er zijn nog zoveel andere typen) 5 Eigenlijk geen speciale reden, ATMEL en TI maken ook hele goede chips met wellicht een betere architectuur, alleen: Vanuit de historie zijn er al veel ontwerpen beschikbaar voor de PIC PIC modellen zijn upwards compatible Binnen de VERON A02 was er al de nodige kennis van PIC Microcontrollers Er zijn al een groot aantal 16F88 s PICs en LCD displays verzameld door VERON A02 voor nog op te starten projecten (SWR/Power meter was een idee) Er zijn al projecten mee gedaan (denk aan de LC-meter) Bijna alle PICs kun je in-circuit programmeren (dus zonder ze uit de schakeling te halen) Er zijn een paar hele leuke boeken beschikbaar om mee te starten van Bert van Dam JAL (Just Another Language), een gratis open source compiler die via een wereldwijd platform van gebruikers dat steeds meer functionaliteit biedt Onderdelen zijn goed verkrijgbaar via VOTI.NL welke is opgezet door Wouter van Ooijen, initiator van JAL en de leverancier van de bekende WISP programmers Dus eigenlijk niet echt een heel speciale reden.;-)

6 Architectuur & funkties I 6 Wat zit er zoal in een PIC Microcontroller aan functies: Input/output poorten digitaal/analoog AD en DA omzetters Timer / Clock / Oscillator Pulse Wide Modulation (PWM) Communicatie bussen (Serial port, USB, I2C, etc.) Comparator Memory Voorbeeld: PIC16F887 Block Diagram Een microcontroller bevat dus veel meer dan alleen een processor!! Schema uit webcursus van MikroElektronika

7 Architectuur & funkties II 7 Von Neuman architectuur (zoals in de PC) Voordeel: 1 soort memory, makkelijk uitbreidbaar Nadeel: zelfde bus voor data en instructies (dus langzamer) Focus: data processing Harvard architectuur (zoals in de PIC) Voordeel: verschillende bussen voor data en instructies dus snelheidsonafhankelijk Nadeel: verschillende soorten memory, niet zo makkelijk uit te breiden Focus: besturing Een microcontroller is eigenlijk een complete computer voor maar een paar Euro ;-) Schema uit webcursus van MikroElektronika

8 Instructies en registers Een PIC Microcontroller is dus eigenlijk een complete computer, inclusief geheugen en connectie mogelijkheden naar de buitenwereld. Dus ook een eigen, heel simpel operating system. Als we een functie iets willen laten doen moeten we dus dat operating system vertellen wat, hoe, wanneer; kortom via instructies (programma). De aansturing van de beschikbare functies vindt plaats via z.g. registers. De meest basale manier om een programma te schrijven is via Assembler. Via deze taal kan via een beperkte set van instructies alles worden aangestuurd en afgetest. 8 Microchip levert gratis de programma suite MPLAB die naast een editor om het programma te schrijven ook een assembler heeft om het programma om te zetten in hexadecimale codes: de enige taal die een PIC begrijpt. Schema uit webcursus van MikroElektronika

9 Assembler vs high level taal Voordelen assembler: Je kunt alles aansturen en afvangen Het is specifiek voor de PIC en wordt gratis door de fabrikant geleverd (MPLAB) Het zal daarom altijd worden ondersteund Nadelen assembler: Je hebt meer basale kennis nodig van de diepere werking van de controller Het leest minder makkelijk Veel instructies voor simpele handelingen Oplossing: high level programmeer taal als C, Basic of JAL Makkelijker leesbaar en programmeerbaar door preset functies (maar: uiteindelijke PIC code blijft gelijk) 9 Schema uit webcursus van MikroElektronika

10 Nodig om te starten. 10 PC + Software internet Serieel / USB 9-16 V.of..5 V apart In-circuit Prog + Serieel Software (MPLAB of JAL editor): 1. Een editor om het programma in te schrijven 2. Een Compiler om het geschreven programma om te zetten in machine code 3. Een programma om de machinecode in de PIC Microcontroller te zetten 4. Handig: een VT52 terminal emulatie programma om met de PIC te communiceren Interface I/O via Display of VT52 Bread board LCD Display

11 Basale PIC aansluitingen + + : Vdd - : Vss 11 Spanning Meestal 5 V Sommige 3,3 V Int/ext Oscillator Interne oscillator Of extern kristal 4-20Mc Of extern keramisch filter I/O poorten Analoog/Digitaal Opletten of er pull-up weerstanden nodig zijn ADC Let goed op de spannningsrange Voorbeeld van een schakeling met reset en voeding

12 Een simpel project in assembler Bij het begin van een nieuw project zal er een keuze gemaakt worden met welke PIC er begonnen wordt. Ben s eerste keus is de PIC 16F Bevat : Twee I/O registers voor analoge input en digitale input en output. In- en externe oscillator opties. Diverse timer opties. Geschikt voor ICSP. Goed verkrijgbaar en goedkoop. Veel kant en klare software op internet. Ondersteuning in diverse programmeertalen. Later kan altijd nog naar een grotere of kleinere PIC overgestapt worden omdat de code compatibel is. Vraagt wel enige kleine aanpassingen in de broncode en vervolgens draait het programma weer. - +

13 De 16F88 nader bekeken Aansluitingen Per pin meerdere opties mogelijk die in het programma aan of uitgezet moeten worden. Aansluitspanning 5V (Vdd = + en Vss = -) Externe oscillator op OSC1 en OSC RAx en RBx indicatie voor poorten A en B met poortnummer x INT = interrupt PGD en PGC nodig voor seriele communicatie met de programmer Ook PGM en MCLR nodig voor programmeren ANx geeft verwijzing naar analoge ingang met poortnummer x Kortom: datasheet is onmisbaar

14 Voorbeeldproject Assembler I Bepaal of S1 wordt gesloten (poort RA0 input) en laat dan LED D1 branden (poort RB0 - output) + ; Name: SWITCH.ASM ; ; Test for switch connected between RA0 and ground and resistor ; of 1000 Ohm between RA0 and + 5 V. ; LED, connected to RB0 via 470 Ohm resistor, shows result. ; Ben Emons, PB2BN, Amstelveen, 21 nov ; ; Instructions for assembler ; LIST P=16F88 ERRORLEVEL -302 ;Suppress bank selection msgs #INCLUDE "p16f88.inc" 14 1K CONFIG _CONFIG1, _CPD_OFF & _CP_OFF & _DEBUG_OFF & _LVP_OFF & _MCLR_ON & _PWRTE_ON & _WDT_OFF & _WRT_PROTECT_OFF & _HS_OSC & _BODEN_OFF ;================= Start of Code ================= org 100 ;Prevent conflicts with first 20H! goto Start ; Enable B0 for dig output / A0 for dig input S1 Start clrf STATUS ;Initialize ports A and B banksel PORTA clrf PORTA ;Set port A0 as digital input. banksel ANSEL movlw 0x00 movwf ANSEL movlw b' ' movwf TRISA clrf PORTB ;Set port B0 as digital output. movlw b' ' movwf TRISB BCF STATUS,RP0 ;Select REGISTER BANK 0 ; Program D1 Oscillator etc. even weggelaten in dit voorbeeld - TEST BTFSS PORTA,0 ;Test switch for ON/OFF GOTO RESET BSF PORTB,0 ;Set LED 1 ON GOTO RESULT RESET BCF PORTB,0 ;Set LED 1 OFF RESULT GOTO TEST END ; Instructionset for PIC 16F88 can be found in : ; ; "8-bit CMOS Flash/EEPROM Microcontrollers PIC 16F88"

15 Voorbeeldproject Assembler II 15 ; Name: SWITCH.ASM ; ; Test for switch connected between RA0 and ground and resistor ; of 1000 Ohm between RA0 and + 5 V. ; LED, connected to RB0 via 470 Ohm resistor, shows result. ; Ben Emons, PB2BN, Amstelveen, 21 nov ; ; Instructions for assembler ; LIST P=16F88 ERRORLEVEL -302 ;Suppress bank selection msgs #INCLUDE "p16f88.inc" CONFIG _CONFIG1, _CPD_OFF & _CP_OFF & _DEBUG_OFF & _LVP_OFF & _MCLR_ON & _PWRTE_ON & _WDT_OFF & _WRT_PROTECT_OFF & _HS_OSC & _BODEN_OFF ;================= Start of Code ================= org 100 ;Prevent conflicts with first 20H! goto Start ; Enable B0 for dig output / A0 for dig input

16 Voorbeeldproject Assembler III 16 Start clrf STATUS ;Initialize ports A and B banksel PORTA clrf PORTA ;Set port A0 as digital input. banksel ANSEL movlw 0x00 movwf ANSEL movlw b' ' movwf TRISA clrf PORTB ;Set port B0 as digital output. movlw b' ' movwf TRISB ; Program BCF STATUS,RP0 ;Select REGISTER BANK 0 TEST BTFSS PORTA,0 ;Test switch for ON/OFF GOTO RESET BSF PORTB,0 ;Set LED 1 ON GOTO RESULT RESET BCF PORTB,0 ;Set LED 1 OFF RESULT GOTO TEST END

17 PIC programmers 17 De JDM-programmer is een eenvoudige schakeling om te gebruiken om uw programma in de PIC te schrijven. De software hiervoor is ICPROG van Bonny Gijzen. Kijk bij Voor een printje zie Vereist een echte RS232C poort die meestal afwezig is. Werkt niet met USB serieel kabeltje! Geen ondersteuning voor modernere PIC's zoals 16F88. Advies: kies in zulke gevallen een USB-programmer want die poort is er altijd. Canakit UK1301 met 20-pens ZIF-voet, zie Prijs ongeveer Werkt uitstekend op basis van PICkit2 software van Microchip. Updates voor nieuwe PIC's is dus geen probleem. Er is een duurdere versie met 40 pens ZIF-voet. Niet nodig, want de UK1301 kan die via ICSP programmeren. WISP648: is verkrijgbaar bij als bouwpakket en volledig gebouwd Is volledig compatible met zowel de MPLAB software en hardware van Microchip alsook met de JAL software. Ondersteuning alle PICs (updateble PIC), gaat uit van in-line programming (dus geen ZIF-voet) Goede ervaringen Lex en Dick. Prijs bouwpakket 29 Euro, Rs232 naar USB kabel (16 Euro) is nodig voor USB gebruik maar werkt wel goed

18 Overige hulpmiddelen 18 Een ontwikkelbordje is erg handig en zelf te maken (gaatjesprint). Bread boards zijn handig voor de het hele experimentele stadium. Aantal exemplaren aanwezig in het clubhuis voor experimenten op de technische avonden. Zijn ook in de handel te koop. Voor een idee, zie bij onder o.a. DWARF-board. Daar vindt men ook printjes voor LCD display of analoge aansluitingen. Op internet is voor PIC's veel software te vinden. Vaak met broncode die met kleine aanpassingen goed te gebruiken is. Selectief kijken en u vindt zeker wat u zoekt! Dat bespaart veel werk! Leuke en leerzame projecten zijn vaak compleet te downloaden van internet zoals de Frequentiemeter, zie of Vaak is alleen de gecompileerde code beschikbaar en niet de z.g. source code die u nog aan kunt passen. Het voordeel is dat u, met een eigen programmer en software wel uw eigen PICs hiermee kunt programmeren. Werken met PIC's vereist wel ervaring met PC, internet, downloaden en installeren van software. Heeft u die kennis (nog) niet denk dan even na voordat er in een impuls met iets begonnen wordt om teleurstellingen te voorkomen.

19 19 Zelf een morse decoder ontwerpen o.b.v. de PIC 16F88 met de high level programmeertaal JAL (Just Another Language)

20 Project ontwerp 20 Wensenlijstje Ingangsignaal schakelbaar Lijn signaal Microfoon ingebouwd Keyer Signaal hoorbaar (aan/uit schakelbaar) In-Circuit Programmeren mogelijk Seriëele communicatie mogelijk LCD display Gedecodeerde tekst Woorden per minuut (WPM) Iets over kwaliteit Ingangssignaal level? Signaal indicatie (Led) Liefst met reeds aanwezige componenten Micr Audio-in Line-in Key Tone Decoder OpAmp NE 567 Max. 200 mv Input select Principe schema LCD 4x compatible TTL PIC 16F88 Signal On/offl ICP Serial

21 Schema PIC schakeling 21 Schema is getekend met ExpressPCB CAD software die gratis gebruikt kan worden om schema s te tekenen maar ook om printen te ontwerpen en deze ontwerpen electronisch te laten vervaardigen:

22 Toondecoder met NE567 Uit datasheet LM Maar eerst het gebied analyseren dat we willen gaan automatiseren...

23 Analyse van het morse signaal De puzzel. 23 Een letter in morse bestaat uit maximaal 6 tekens in de vorm van signalen kort en lang De tijdsduur van lang is 3 maal die van kort De tijdsduur tussen de tekens is gelijk aan de tijdsduur van kort Het einde van een letter wordt aangegeven doordat de tijdsduur tussen 2 signalen (tekens) niet 1 maal maar 3 maar de lengte van kort is Het einde van een woord wordt aangegeven met een tijdsduur tussen 2 tekens van 7 maal de duur van kort Kort samengevat voor de techneuten. F.. -. Einde letter t t t t 3t t t 3t Einde woord 7t

24 24 Bepalen woorden per minuut Definitie en berekening: De norm voor het aantal woorden per minuut is bepaald aan de hand van het aantal keer dat het woord PARIS in 1 minuut kan worden geseind (1 maal = 50t) Het gaat er dus om om de waarde van t te bepalen (= de tijdseenheid van kort ) Een snelheid van 12 WPM betekent dus dat PARIS 12 maal in 60 sec. (1 minuut) wordt geseind Dus 1 maal PARIS seinen duurt dus 5 sec. Dat is gelijk aan 50t dus: t = 5/50, is 0,1 sec = 100 msec Vanuit de gemeten duur van een punt (t in sec) kun je dus berekenen dat: WPM = 60/(t*50) WPM = 60000/(t*50) = 1200/t (in msec) P A R I S Einde. letter - t t 3t t 3t t t 3t =14t Einde. letter -. t t 3t 3t =8t Einde.. letter t t 3t t t 3t =10t Einde.. letter. t t t 3t =6t Einde woord t t t t t 7t =12t =50t

25 Programma opzet 25 Start nee Signaal hoog Ja Display letter Meet signaaltijd hoog Einde woord? nee Meet signaaltijd laag Ja Einde letter? Ja Display spatie nee

26 Opbouw van een JAL programma 26 Programma commentaar inclusief, auteur, versie, datum, compiler etc. (-- of ) Specifieke opdrachten voor de compiler om speciale features aan of uit te zetten bv Pragma. Aangeven welke libraries gebruikt gaan worden: INCLUDE [librarynaam] Declareren van variabelen: VAR [variabele naam] [type] = [waarde] Declareren van constanten: CONST [Constante naam] [type] = [waarde] Definieren van de pin setting: normaal door register setting, met goede library met naam Initieren van gebruikte periferie zoals: LCD display Communicatie bus (serieel, USB, I2C etc.) Etc. Het programme zelf als 1 herhalende lus (loop): Forever Loop Opdracht 1 Opdracht 2 Opdracht 2 Opdracht n End loop Binnen hoofdprogramma kunnen ook weer loops worden gebruikt: de end loop opdracht heeft altijd betrekking op de laatst gestart loop (LiFo)

27 Documentatie & bibliotheken 27 Het begin van een programma Altijd programma documenteren Versie beheer Compiler indicatie Bibliotheken: alle functies die je kunt bedenken kun je in een bibliotheek opslaan en steeds weer gebruiken. Veel is er al!!! De 16F88_bert library is een standaard JAL bibliotheek waarin alle basale zaken voor een specifieke PIC worden ingesteld. De lcd_44780_lex_4x20_16f88 library bevat Bv aangepaste functies voor een 4*20 LCD display. Commentaar in JAL begint met een quote ( ) of twee streepjes (--) en kan overal geplaatst worden Morse code decoder October Version Author: Lex Peters (PE1CVJ) PIC Processor 16F88 -- and 4*20 display -- JAL include 16F88_bert include lcd_44780_lex_4x20_16f88

28 Constanten en pin settings 28 Constanten: Variabelen die gedurende de loop van het programma niet meer veranderen -- Constants Const volatile byte txt_disp10[] ="PE1CVJ CW Decoder " Const volatile byte txt_disp11[] ="Initialising..." Const volatile byte txt_disp12[] ="Version " Const volatile byte txt_disp2[] ="WPM: " Const volatile byte txt_disp3[] ="msec: " Aparte constante: gebruikt als tabel: Morse tekens worden omgezet in byte Waarde byte is gelijk positie tabel Met deze positie kan de bijbehorende letter worden opgehaald Volatile (zeker stellen van een vaste plek) Const volatile byte LtrDisp[] = *TEMNAIOGKDWRUS**QZYCXBJP*L*FVH09*8***7*(;**/=61*******2***3*45*******:****,*****)***********-**'***@****.********?************ Pin setting: LEDje aansturen met poort b1 Lezen hoog/laag op poort b4 -- pin setting -- B1 for switching the LED (pin 7) -- B4 to read the morse signal (pin 10) pin_b1_direction = output pin_b4_direction = input

29 Variabelen I 29 Type variabelen: Bit (0 of 1) Byte (8 bits) Word (16 bits) Logisch (0 of 1) Array (tabel met plaatsindex) Posities (bit) van een variabele van het type Byte Let op bij rekenen met variabelen: het type moet de uitkomst of tussenwaarde wel kunnen bevatten! -- variables var byte H_Pointer var byte Teller_t var byte Teller_q var byte FouteMeting = 0 -- Unit time op 100 standaard bij start uitgaande van 1 punt 100 msec -- bij 12 WPM -- Standaard 80 msec is ingeveer 15 WPM var word AvgUnitTime = 80 var volatile byte LetterCode var byte LetterPos var volatile byte HLetterCode -- wordt 1 als einde letter wordt geconstateerd var byte EoL -- wordt 1 als einde woord wordt geconstateerd var byte EoW -- var byte CWspeed -- In de even plekken van "InputBuffer" worden de tijden hoog gemeten -- in de oneven de tijden laag var volatile word InputBuffer[12] var volatile bit DashDot at LetterCode:0 var byte TimeRatio var byte TxtLine[20] var byte WPM Variabelen eerst definieren voor je ze kunt gebruiken!

30 Variabelen II 30 Soms wil je maar 1 bit bekijken van een byte (8- bits) Als je zeker hebt gesteld dat de byte variable op een vaste plek staat kun je ook iedere bit ervan een naam geven (alias) Doordat het programma nog in een experimenteel stadium verkeert, zijn er veel extra variabelen gedefinieerd om allerlei zaken te meten, vast te leggen of te displayen. Als alles uiteindelijk werkt kunnen deze weer worden verwijderd. -- mechaniek voor HighByte en LowByte splitsing Word var volatile word WordValue var volatile byte FW[2] at WordValue var volatile byte HB = FW[1] var volatile byte LB = FW[0] -- var byte bbx var byte NrDashDots var word NrTimeUnits Var word SumHighTimes var volatile bit hbb0 at hlettercode:0 var volatile bit bb0 at lettercode:0 var volatile bit bb1 at lettercode:1 var volatile bit bb2 at lettercode:2 var volatile bit bb3 at lettercode:3 var volatile bit bb4 at lettercode:4 var volatile bit bb5 at lettercode:5 var volatile bit bb6 at lettercode:6 var volatile bit bb7 at lettercode:7 Volatile (zeker stellen van een vaste plek)

31 Meten van kort en lang Binnen doorlopende loop (loop forever): Wachten op hoog signaal, Meet de tijdsduur per msec In Inputbuffer op de positie van het ontvangen teken (even) Daarna tijdsduur laag signaal (oneven) meten. Bepaal of het gaat om: End of Letter (E0L) en/of End of Word (EoW) zo niet wachten op volgende teken Voor het visuele aspect wordt het Ledje uit en aan gezet bij hoog/laag signaal. Als het hoog signaal korter is dan realistische tijd dan stoorpuls! Let op: wordt alleen uitgevoerd indien meting correct is (IF statement) -- measure high time (CW key pushed) LED gaat uit FouteMeting = 0 while pin_b4 == 1 loop pin_b1=0 InputBuffer[H_pointer] = InputBuffer[H_Pointer] + 1 delay_1ms(1) end loop if InputBuffer[H_Pointer] < 50 then FouteMeting = 1 end if pin_b1=0 If FouteMeting == 0 then -- measure low time: LED gaat aan while ((pin_b4 == 0) & (word(inputbuffer[h_pointer+1]) <= 1400)) loop pin_b1=1 InputBuffer[H_Pointer+1] = InputBuffer[H_Pointer+1] + 1 delay_1ms(1) end loop -- End of Word? (EOW) indien laag meer dan 5 maal de unit time If InputBuffer[H_Pointer + 1] >= (7 * word(avgunittime)) then EoW = 1 EoL = 1 end if -- End of Letter? (EoL) indien laagtijd meer dan 3 maal de unit time if inputbuffer[h_pointer + 1] >= (3 * word(avgunittime)) then EoL = 1 end if 31

32 LetterCode opbouwen In de byte (8 bits) LetterCode worden de morsetekens omgezet in 1 (kort) en 0 (lang). Om nu duidelijk te maken dat het om lang gaat en niet om voorloop nullen, begint de waarde altijd met een 1. Na elk teken wordt dat teken (bit) links in de byte geschoven waardoor de 1 altijd het begin aangeeft. Een letter of leesteken kan maar maximaal 6 morse tekens bevatten dus de byte zal meer dan 7 relevante bits bevatten dus maximaal waarde 127 krijgen. -- Al 6 morse tekens bereikt? H_pointer begint bij 0 en loopt per 2 op if H_Pointer == 10 then EoL = 1 end if LetterCode = LetterCode << 1 TimeRatio = word(inputbuffer[h_pointer]) / word(avgunittime) If TimeRatio < 2 then DashDot = 1 NrTimeUnits = NrTimeUnits + 1 Else DashDot = 0 NrTimeUnits = NrTimeUnits + 3 end if SumHighTimes = Word(SumHighTimes) + word(inputbuffer[h_pointer]) -- increment inputbuffer pointer (= 2 maal morse teken counter) -- on forehand 32 Als de letter geheel ontvangen is kan de letter representatie uit de tabel worden opgehaalden weergegeven via de procedure ShowLetter H_Pointer = H_pointer + 2 if EoL == 1 then Showletter

33 Bepalen WPM De gemiddelde tijdseenheid kort (t) in msec is bepaald en daarmee kan worden bepaald wat de woordsnelheid per minuut is (WPM, zie formule voorgaande sheets) Deze wordt vervolgens op positie 5 van eerste regel (aangeduid als 0) op het display weergegeven. Als extra wordt de gedecodeerde morse letter ook als byte binair weergeven om te kunnen controleren of e.e.a. goed werkt. Deze routine wordt nog omgebouwd om de gedecodeerde letter grafisch weer te geven in punten en strepen. Omdat we met een nieuwe letter gaan beginnen wordt de InputBuffer weer leeg gemaakt. -- Bepalen WPM, schonen en display WPM WPM = word(60000 / (50 * word(wordvalue))) for 3 using Teller_t loop lcd_char_line_pos(" ",0,(5 + Teller_t)) end loop lcd_num_line_pos(wpm,0,5) Display binary the morse lettercode found BBx = 48 + bb7 lcd_char_line_pos(bbx,1,0) BBx = 48 + BB6 lcd_char_line_pos(bbx,1,1) BBx = 48 + BB5 lcd_char_line_pos(bbx,1,2) BBx = 48 + BB4 lcd_char_line_pos(bbx,1,3) BBx = 48 + BB3 lcd_char_line_pos(bbx,1,4) BBx = 48 + BB2 lcd_char_line_pos(bbx,1,5) BBx = 48 + BB1 lcd_char_line_pos(bbx,1,6) BBx = 48 + BB0 lcd_char_line_pos(bbx,1,7) ClearInputBuffer

34 Procedures Instructies die vaak herhaald worden kun je in een z.g. procedure zetten die je willekeurig kunt aanroepen. Procedure ShowLetter plaatst de letter op het display en in de line buffer. De letter zelf wordt op basis van de waarde van de variable LetterCode opgehaald uit de Constante tabel LtrDispl Als de Linebuffer vol is wordt de hele regel 4 naar regel 3 geplaatst en wordt weer verder gegaan op een lege regel 4 (4*20 display) Regels 1 en 2 (0 en 1 in het programma) worden gebruikt voor meet informatie gedurende de ontwikkeling. Procedure ClearInputBuffer maakt de collectie tabel InputBuffer leeg die de gemeten tijdwaarden vastlegt (hoog en laag) per morse teken. procedure ShowLetter is if LetterPos < 20 then lcd_char_line_pos(ltrdisp[lettercode],3,letterpos) TxtLine[LetterPos] = LtrDisp[LetterCode] LetterPos = LetterPos + 1 Else lcd_clear_line(2) Teller_q = 0 for 20 using Teller_q loop lcd_char_line_pos(txtline[teller_q],2,teller_q) end loop Teller_q = 0 for 20 using Teller_q loop TxtLine[Teller_q] = " " end loop lcd_clear_line(3) LetterPos = 0 lcd_char_line_pos(ltrdisp[lettercode],3,letterpos) TxtLine[LetterPos] = LtrDisp[LetterCode] LetterPos = LetterPos + 1 end if end procedure procedure ClearInputBuffer is Teller_q = 0 for 12 using Teller_q loop InputBuffer[Teller_q] = 0 end loop end procedure 34

35 35 Een overzicht van relevante PIC info

36 36 PIC Leveranciers / gebruikersgroep Van Ooijen Technische Informatica Microchip is de fabrikant van de PIC Microprocessor. Je kunt op deze site alle datasheets vinden. Pas wel op de grootte voor je gaat printen: sommigens zijn enkel honderden bladzijden. Vanaf deze site kan ook de complete gratis assembler suite worden gedownload van Microchip: MPLAB. Wouter van Ooijen is de initiator van JAL. Hij heeft een eigen web winkel opgezet en verkoopt daar o.a. PIC processoren maar ook de de bekende WISP 648 PIC programmer, gebouwd en als bouwpakket. De JAL gebruikersgroep is eigenlijk de belangrijkste bron van informatie en vernieuwing ( Er is een manual beschikbaar en op deze site zijn ook veel bibliotheken gepubliseerd. Het manual kan ook worden gedownload via deze site evenals een grote hoeveelheid voorbeeld prograamma s. JAL valt onder de open source agreement waarvan de voorwaarden ook via deze site zijn te bekijken. Iedereen kan lid worden van de community en een account aanvragen. De firma MikroElektronika heeft een erg leuke website met online een zeer overzichtelijke beschouwing over de werking van microprocessors in het algemeen en de PIC in het byzonder.

37 JAL Boeken en software 37 Absoluut 2 erg leuke en duidelijk geschreven boeken over het gebruik van PIC Microprocessoren in de praktijk. Er worden een 50-tal schakelingen / projectjes beschreven die tot een inzicht leiden in de werking van zowel de PIC maar vooral ook in hoe je deze moet programmeren in JAL. Het boek gaat hierbij m.n. uit van de: 16F877A 18F4455 Alsmede het gebruik van de gratis JAL compiler en libraries. Er zijn onderdelen pakketten bij VOTI.NL te koop die de benodigde onderdelen voor de experimenten bevatten. Boeken zijn bij o.a. Elektor te bestellen (klik op de links of op de boeken) Op de Elektor site staat een link naar de gratis JAL software die weliswaar bij het boek wordt aangeboden maar vrij kan worden gedownload. Naast een Editor, een compiler en een programmer bevat het een zeer uitgebreide bibliotheek, alle programmaatjes in JAL die in projecten van het boek worden gebruikt en een groot aantal andere handige hulpmiddelen. JAL Klik voor een directe download van de complete JAL suite van Bert van Dam op het JAL logo.

38 Andere handige links 38 voor experimenteerboard DEV en een hoop ander informatie. IC-PROG voor seriële programmer software en een hoop ander informatie. De site van PI4ZLB voor serieele programmer hardware en een hoop leuke zelfbouw projecten met PICs. Kijk bij de projecten sectie. Veel documentatie en projecten op de site van Peter Halickey. Breadout Heeft opsteekprintje voor 18 pens PIC'S met ICSP Canakit, voor USB programmerkit. David Tait s PIC archief:

Peripheral Interface Controllers. BRAC clubavond 5-105 PE2WDO

Peripheral Interface Controllers. BRAC clubavond 5-105 PE2WDO Peripheral Interface Controllers -10 PE2WDO Programma Introductie Wat is een PIC Wat heb je nodig om te beginnen Praktijkopdrachten: Voorbeeld met uitleg Opdrachten pag. 2 Wat is een PIC Programmable Intelligent

Nadere informatie

;OUTPUTS VOEDING EQU H'00' ; 12V voeding aan/uit A0 / 17 OPEN EQU H'01' ; raam open A1 / 18 DICHT EQU H'02' ; raam dicht A2 / 1

;OUTPUTS VOEDING EQU H'00' ; 12V voeding aan/uit A0 / 17 OPEN EQU H'01' ; raam open A1 / 18 DICHT EQU H'02' ; raam dicht A2 / 1 ; openen van raamservo ; na stroom aan (=laag) op RB8 uitgang RA0 hoog, na 5 sec. openen RA1 (60 sec hoog) dan ook RA1 laag; ; na stroom uit (hoog) op RB8 uitgang RA1 hoog, na 45 sec. sluiten RA2 (60 sec.

Nadere informatie

led 0 aan Opdracht: 1 Opdracht: 4

led 0 aan Opdracht: 1 Opdracht: 4 Opdracht: 1 Maak een set meetkabels zoals op foto blz.7 is aangegeven, lengte 60cm. Maak een programmeerkabel zoals op de foto van blz.5 is aangegeven. Houd je ook hier exact aan de kabel kleuren en posities

Nadere informatie

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (4)

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (4) De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (4) Timloto o.s. / E. Gernaat / ISBN 978-90-79302-06-2 Op dit werk is de Creative Commens Licentie van toepassing. Uitgave: september 2012

Nadere informatie

Wat is Arduino? Arduino = microprocessor (Atmel)

Wat is Arduino? Arduino = microprocessor (Atmel) Intro tot Arduino Wat is Arduino? Volgens de website: Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers,

Nadere informatie

De Arduino-microcontroller in de motorvoertuigentechniek (4)

De Arduino-microcontroller in de motorvoertuigentechniek (4) De Arduino-microcontroller in de motorvoertuigentechniek () E. Gernaat (ISBN 978-90-7930--6) De Atmel ATmega38/P microcontroller. Uitvoering De ATmega38 is een microprocessor van de Amerikaanse firma ATMEL

Nadere informatie

Accelerometer project 2010 Microcontroller printje op basis van de NXP-LPC2368

Accelerometer project 2010 Microcontroller printje op basis van de NXP-LPC2368 Accelerometer project 2010 Microcontroller printje op basis van de NXP-LPC2368 Handleiding bij het gebruik van een microcontroller in het Accelerometerproject (Project II) Er zijn speciaal voor het Accelerometerproject

Nadere informatie

Oefeningen Interpretatie I Reeks 6 : Registermachines

Oefeningen Interpretatie I Reeks 6 : Registermachines Oefeningen Interpretatie I Reeks 6 : Registermachines Deze oefeningenreeks behandelt het beschrijven van computationele processen aan de hand van registermachineprogrammaʼs. Registermachines manipuleren

Nadere informatie

Arduino CURSUS. door Willy - 09-juni-2017

Arduino CURSUS. door Willy - 09-juni-2017 Arduino CURSUS door Willy - w2@skynet.be, 09-juni-2017 OVERZICHT (1) OVERZICHT (2) Historiek Microcontroller (1) Microcontroller (2) Specificaties - Arduino UNO bord Specificaties - ATmega328P chip LET

Nadere informatie

ES1 Project 1: Microcontrollers

ES1 Project 1: Microcontrollers ES1 Project 1: Microcontrollers Les 3: Eenvoudige externe hardware & hardware programmeren in C Hardware programmeren in C Inmiddels ben je al aardig op gang gekomen met het programmeren van microcontrollers.

Nadere informatie

AVR-DOPER MINI ASSEMBLAGE HANDLEIDING + LAYOUT. Geschreven door: Tom Vocke

AVR-DOPER MINI ASSEMBLAGE HANDLEIDING + LAYOUT. Geschreven door: Tom Vocke AVR-DOPER MINI ASSEMBLAGE HANDLEIDING + LAYOUT Geschreven door: Tom Vocke Datum: 28-09-2010 Inleiding: Dit document bevat alle hardware informatie betreffende de AVR-Doper mini. Het eerste deel zal zich

Nadere informatie

ES1 Project 1: Microcontrollers

ES1 Project 1: Microcontrollers ES1 Project 1: Microcontrollers Les 5: Timers/counters & Interrupts Timers/counters Hardware timers/counters worden in microcontrollers gebruikt om onafhankelijk van de CPU te tellen. Hierdoor kunnen andere

Nadere informatie

Tinyserir-RC5. Datasheet. Tinyserir-RC5 Page: 1 of 8

Tinyserir-RC5. Datasheet. Tinyserir-RC5 Page: 1 of 8 9600 bps RS-232 interface voor uitlezing van Ontvangen RC5 codes Led aanduiding bij ontvangst van Infrarood pulsen Led aanduiding goede werking Interne firmware Inwendige oscillator Weinig externe componenten

Nadere informatie

RCL Arduino Workshop 1

RCL Arduino Workshop 1 RCL Arduino Workshop 1 Leren door doen april 2015 - slides voor RCL Arduino workshop 1 ON4CDU & ON8VQ Workshop Leren door doen Werken in een groep Beperkte tijd Alleen essentiele vragen stellen Thuis oefenen

Nadere informatie

Microcontrollers. Bart Kardinaal E204 221490 Verslag microcontrollers 28-11-06. Rev 1.0 Status definitief.

Microcontrollers. Bart Kardinaal E204 221490 Verslag microcontrollers 28-11-06. Rev 1.0 Status definitief. Microcontrollers Bart Kardinaal E204 221490 Verslag microcontrollers 28-11-06 Rev 1.0 Status definitief. Voorword. Dit verslag is geschreven in het kader van de opdracht, als onderdeel van het eerste studiejaar

Nadere informatie

Zelf PIC's programmeren. Deel-13 IR-sensor

Zelf PIC's programmeren. Deel-13 IR-sensor Zelf PIC's programmeren Deel-13 IR-sensor Met de Infrarood-sensor TCTR5000 kun je voorbijkomende treinen detecteren. Plaats de IR-sensor tussen de bielzen van de spoorrails. Door nu een reflextorstrip

Nadere informatie

ID-er/sequencer. Beschrijving. Pag 1/6

ID-er/sequencer. Beschrijving. Pag 1/6 Beschrijving Inleiding Om schade en mogelijk vroegtijdig overlijden van een dure antenneversterker en/of de antennerelais te voorkomen dient het in- en uitschakelen van de zend/ontvangstapparatuur in een

Nadere informatie

PIC Callgever Door PA1RUM

PIC Callgever Door PA1RUM PIC Callgever Door PA1RUM Aanleiding Tijdens de radiokampweek 2008 is deze callgever met veel enthousiasme gebouwd. Niet alleen omdat het een zeer eenvoudig en veelzijdig ontwerp is, maar ook omdat het

Nadere informatie

Opgave Tussentijdse Oefeningen Jaarproject I Reeks 4: Lcd Interface & Files

Opgave Tussentijdse Oefeningen Jaarproject I Reeks 4: Lcd Interface & Files Opgave Tussentijdse Oefeningen Jaarproject I Reeks 4: Lcd Interface & Files 1 Introductie In deze oefening zal je je LCD display leren aansturen. Je controleert deze display door er instructies naar te

Nadere informatie

EmSE presentatie. Starten met de ATtiny2313: Een RGB powerled driver Kees Moerman, 13 juli 2010

EmSE presentatie. Starten met de ATtiny2313: Een RGB powerled driver Kees Moerman, 13 juli 2010 EmSE presentatie Starten met de ATtiny2313: Een RGB powerled driver Kees Moerman, 13 juli 2010 Het probleem Ik wil een LED controller maken Voor zelfgemaakte RGB power-led lampjes Om aan mijn thuisnetwerk

Nadere informatie

Werkbladen voor Arduino workshop 1

Werkbladen voor Arduino workshop 1 De aansluitingen van de Arduino Uno Werkbladen voor Arduino workshop 1 Arduino Arduino is een open-source ontwikkelbord, waarmee het eenvoudig is om informatica aan fysieke objecten te koppelen. Je kunt

Nadere informatie

Handleiding software USB PIC DEV. BOARD

Handleiding software USB PIC DEV. BOARD Handleiding software USB PIC DEV. BOARD V2.0 M.F. van Lieshout & J.G.W. Carpaij 21-03-2006 Handleiding software USB PIC DEV. BOARD Algemene informatie Hier volgt eerst wat algemene informatie over het

Nadere informatie

Meet the Arduino FAMILY

Meet the Arduino FAMILY www.arduino.cc Arduino is HARDWARE Meet the Arduino FAMILY Mega Lilypad Ethernet Mini En meer... Gemeenschappelijke kenmerken Printkaartje met een ATMEL microcontroller Digitale en analoge in- en/of uitgangen

Nadere informatie

Zelf PIC's programmeren. Deel-1 KnipperLED (flashing LED)

Zelf PIC's programmeren. Deel-1 KnipperLED (flashing LED) Zelf PIC's programmeren Deel-1 KnipperLED (flashing LED) Het eerste project is het programmeren van een knipperende LED. Bij dit project gaat het vooral om ervaring op te doen met PIC-programmeren. We

Nadere informatie

De Arduino-microcontroller in de motorvoertuigentechniek (6)

De Arduino-microcontroller in de motorvoertuigentechniek (6) De Arduino-microcontroller in de motorvoertuigentechniek (6) E. Gernaat (ISBN 978-90-79302-11-6) 1 De Arduino Programmeeromgeving (IDE) 1.1 Inleiding Als we naar de Arduino site gaan kunnen we daar de

Nadere informatie

Arduino : Morse Voltmeter

Arduino : Morse Voltmeter Arduino : Morse Voltmeter Ooit was ik begonnen met het leren programmeren van een PIC processor in assembler. Maar ja, dat ging niet zo vlot, er kwamen andere dringende zaken en de PIC vloog weer in de

Nadere informatie

Arduino Workshop 1 Zuid-Limburg

Arduino Workshop 1 Zuid-Limburg Arduino Workshop 1 Zuid-Limburg Leren door doen Mei 2016 - slides voor Arduino workshop 1 v2.5 Zuid-Limburg PA3CZS, PA0FOT, ON4CDU, PE1EAM 1 Workshop 1 Workshop 1 concentreert op kennismaking en eenvoudige

Nadere informatie

B3C 70cm converter besturing. v1.0 2010 PE5PVB www.het bar.net pe5pvb@het bar.net

B3C 70cm converter besturing. v1.0 2010 PE5PVB www.het bar.net pe5pvb@het bar.net B3C 70cm converter besturing v1.0 2010 PE5PVB www.het bar.net pe5pvb@het bar.net Deze schakeling en de bijbehorende software mag niet worden gedupliceerd voor commerciële verkoop zonder uitdrukkelijke

Nadere informatie

De Arduino-microcontroller in de motorvoertuigentechniek (2)

De Arduino-microcontroller in de motorvoertuigentechniek (2) De Arduino-microcontroller in de motorvoertuigentechniek (2) E. Gernaat (ISBN 978-90-79302-11-6) 1 Procescomputer 1.1 Microprocessoren algemeen De informatie-verwerking zoals is behandeld, is vrijwel geheel

Nadere informatie

Microcontrollers Introductie INLMIC Jesse op den Brouw INLMIC/2014-2015

Microcontrollers Introductie INLMIC Jesse op den Brouw INLMIC/2014-2015 Microcontrollers Introductie INLMIC Jesse op den Brouw INLMIC/2014-2015 Microcontroller Uit Wikipedia A microcontroller (sometimes abbreviated µc or uc) is a small computer on a single integrated circuit

Nadere informatie

Workshop Arduino voor beginners deel 2

Workshop Arduino voor beginners deel 2 Workshop Arduino voor beginners deel 2 Voor deze workshop is het van belang dat je deel 1 van de workshop hebt afgerond. In deze workshop zitten meerdere opdrachten die elkaar niet allemaal op hoeven te

Nadere informatie

Van Poort tot Pipeline. Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam

Van Poort tot Pipeline. Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Van Poort tot Pipeline Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Van Poort tot Pipeline Pipeline processor One cycle machine Calculator File of registers Assembly

Nadere informatie

De Arduino-microcontroller in de motorvoertuigentechniek (3)

De Arduino-microcontroller in de motorvoertuigentechniek (3) De Arduino-microcontroller in de motorvoertuigentechniek (3) E. Gernaat (ISBN 978-90-79302-11-6) 1 In- en uitgangssignalen van microprocessoren 1.1 Overzicht signalen Informatie van en naar een microprocessor

Nadere informatie

Workshop Arduino voor beginners. door TkkrLab Enschede

Workshop Arduino voor beginners. door TkkrLab Enschede Workshop Arduino voor beginners door TkkrLab Enschede Tkkrlab TkkrLab (Tukkerlab) bestaat uit een groep mensen die geïnteresseerd zijn in in technologie, digitale techniek en wetenschap, kortom geeks.

Nadere informatie

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (3)

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (3) De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (3) Timloto o.s. / E. Gernaat / ISBN 978-90-79302-06-2 Op dit werk is de Creative Commens Licentie van toepassing. Uitgave: september 2012

Nadere informatie

Microcontrollers. Robert Langenhuysen, PA0RYL

Microcontrollers. Robert Langenhuysen, PA0RYL Microcontrollers Robert Langenhuysen, PA0RYL 1 RF Seminar B&D 2013 Eisen Niet al te ingewikkeld Kits, geschikt voor experimenteren, rapid prototyping, etc. I/O mogelijkheden HDMI, VGA, SD, analoog, digital,

Nadere informatie

CTCSS Encoder Super Flexibel Ontwerpen met een Arduino Nano

CTCSS Encoder Super Flexibel Ontwerpen met een Arduino Nano CTCSS Encoder Super Flexibel Ontwerpen met een Arduino Nano (voor minder als 2 euro weer QRV op de repeater) Henk Hamoen (PA3GUO) March 2016 Agenda Introductie CTCSS toonslot op repeaters Arduino Nano

Nadere informatie

VTI Sint-Laurentius De school voor Wetenschap, Techniek en Technologie Pr. Thuysbaertlaan 1 9160 Lokeren www.vti-lokeren.be info@vti-lokeren.

VTI Sint-Laurentius De school voor Wetenschap, Techniek en Technologie Pr. Thuysbaertlaan 1 9160 Lokeren www.vti-lokeren.be info@vti-lokeren. VTI Sint-Laurentius De school voor Wetenschap, Techniek en Technologie Pr. Thuysbaertlaan 1 9160 Lokeren www.vti-lokeren.be info@vti-lokeren.be GEÏNTEGREERDE PROEF Automatische schuifdeur Industriële informatie

Nadere informatie

DDS chips. DDS = Direct Digital (frequency) Synthesis. Output = sinusvormig signaal. Maximum frequentie = ½ klokfrequentie

DDS chips. DDS = Direct Digital (frequency) Synthesis. Output = sinusvormig signaal. Maximum frequentie = ½ klokfrequentie www.arduino.cc Arduino en DDS DDS chips DDS = Direct Digital (frequency) Synthesis Output = sinusvormig signaal Maximum frequentie = ½ klokfrequentie Frequentie bepaald door tuning word Grootste fabrikant:

Nadere informatie

Gebruiksaanwijzing AVR910 USB Programmer

Gebruiksaanwijzing AVR910 USB Programmer TECHNISCH INSTITUUT SINT-PAULUS Kruisven 25 2400 Mol Gebruiksaanwijzing Schooljaar 2007-2008 Studierichting EE Gebruiksaanwijzing AVR910 USB Programmer Geïntegreerd in AVR-DevL Board Jan Cools Projecten

Nadere informatie

Besturingspaneel v Raam E-systeem functie omschrijving v109

Besturingspaneel v Raam E-systeem functie omschrijving v109 Besturingspaneel v Raam E-systeem functie omschrijving v109 Aantal druktoetsen: 4 stuks met de volgende functies: On/off toets voor in- en uitschakelen, toets 1 laagste vermogen, 2 midden stand, 3 max.

Nadere informatie

De FOR lus: // terug naar waar je vandaan kwam Serial.begin(115200); // communicatie snelheid met de PC

De FOR lus: // terug naar waar je vandaan kwam Serial.begin(115200); // communicatie snelheid met de PC Verslag les -5-2-4-19 Werkende lussen: for-loop; while-loop; do while- loop. Wanneer iets twee of meerdere keren gedaan moet worden, dan gebruiken we een subroutine, loop, functie. (verschillende woorden

Nadere informatie

GEÏNTEGREERDE PROEF. VTI Sint-Laurentius. Pakketweegschaal. Industriële informatie & communicatietechnologie SCHOOLJAAR 2010-2011.

GEÏNTEGREERDE PROEF. VTI Sint-Laurentius. Pakketweegschaal. Industriële informatie & communicatietechnologie SCHOOLJAAR 2010-2011. VTI Sint-Laurentius De school voor Wetenschap, Techniek en Technologie Pr. Thuysbaertlaan 1 9160 Lokeren www.vti-lokeren.be info@vti-lokeren.be GEÏNTEGREERDE PROEF Pakketweegschaal Industriële informatie

Nadere informatie

Locobuffer Handleiding

Locobuffer Handleiding Locobuffer Handleiding HDM09 Disclaimer van Aansprakelijkheid: Het gebruik van alle items die kunnen worden gekocht en alle installatie-instructies die kunnen worden gevonden op deze site is op eigen risico.

Nadere informatie

Workshop Arduino Uno. Touw dag 6 juni 2015 Harold Pootjes en Simon Pauw

Workshop Arduino Uno. Touw dag 6 juni 2015 Harold Pootjes en Simon Pauw Workshop Arduino Uno Touw dag 6 juni 2015 Harold Pootjes en Simon Pauw Arduino Uno Pagina 2 Een programmeerbare controller The Arduino Uno is a programmable microcontroller board based on the ATmega 328.

Nadere informatie

In- en uitgangssignalen van microprocessoren

In- en uitgangssignalen van microprocessoren In- en uitgangssignalen van microprocessoren E. Gernaat 1 Overzicht signalen Informatie van en naar een microprocessor kan parallel of seriëel gebeuren. Bij parallel-overdracht zal elke lijn (draad) een

Nadere informatie

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (2)

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (2) De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (2) Timloto o.s. / E. Gernaat / ISBN 978-90-79302-06-2 Op dit werk is de Creative Commens Licentie van toepassing. Uitgave: september 2012

Nadere informatie

ES1 Project 1: Microcontrollers

ES1 Project 1: Microcontrollers ES1 Project 1: Microcontrollers Les 2: Architectuur ATmega32 en STK500 Door Hugo Arends, september 2012 Architectuur ATmega32 Een uitgebreide en gedetailleerde beschrijving van de ATmega32 microcontroller

Nadere informatie

16F877A development board cursus deel 1

16F877A development board cursus deel 1 16F877A development board cursus deel 1 Auteur: Stijn Coenen (Stynus) [0909-005] Een tijd geleden waren er development boardjes voor de PIC16F877A te koop. Er was toen beloofd eloofd dat er een cursus

Nadere informatie

Digitale en analoge technieken

Digitale en analoge technieken Digitale en analoge technieken Peter Slaets February 14, 2006 Peter Slaets () Digitale en analoge technieken February 14, 2006 1 / 33 Computerarchitectuur 1 Processors 2 Primair geheugen 3 Secundair geheugen

Nadere informatie

Meervoudige Smart-Card Duplicator. Gebruiksaanwijzing

Meervoudige Smart-Card Duplicator. Gebruiksaanwijzing Meervoudige Smart-Card Duplicator Gebruiksaanwijzing Project Specificaties De Smart Card Duplicating PCB is kan zes verschillende type smartcards lezen en schrijven, die allemaal gebaseerd zijn op de microchip

Nadere informatie

In deze mannual zal ik het voorbeeld van de Led cube gebruiken maar de principes zijn op alles toepasbaar.

In deze mannual zal ik het voorbeeld van de Led cube gebruiken maar de principes zijn op alles toepasbaar. Parallelle poort interface met Visual basic Waarom dit naslagwerk: Ik was zelf een beginner op dit vlak en heb dagen lopen zoeken naar correcte en up to date info inzake de aansturing van pc naar elektronica

Nadere informatie

ROBOTICS CCFZ 13/5/2009

ROBOTICS CCFZ 13/5/2009 ROBOTICS CCFZ Motorsturing Het is niet de bedoeling van onze programmeerwerkzaamheden om alleen maar een of meer lampjes te laten branden om ze daarna weer uit doen gaan. We willen een racerobot bouwen,

Nadere informatie

K8048 PIC PROGRAMMER BOARD

K8048 PIC PROGRAMMER BOARD K8048 PIC PROGRAMMER BOARD K8048 2003 Velleman Components Velleman Kits Welcome to the exciting world of Velleman Kits. Velleman Kit is known all over the world for our High Quality electronic kits. Our

Nadere informatie

Betaalbaar Home Control. Presentatie op bijeenkomst van EmSE: Embedded Systems Eindhoven

Betaalbaar Home Control. Presentatie op bijeenkomst van EmSE: Embedded Systems Eindhoven EmSE presentatie Betaalbaar Home Control Presentatie op bijeenkomst van EmSE: Embedded Systems Eindhoven Ad-hoc presentatie aan de hand van een project waar ik nog mee bezig ben... Nog niet alles is perfect

Nadere informatie

Arduino. Workshop. 20 juni 2014 Peter Struwe Stichting De Jonge Onderzoekers Groningen

Arduino. Workshop. 20 juni 2014 Peter Struwe Stichting De Jonge Onderzoekers Groningen Arduino Workshop Beta-docentendag 20 juni 2014 Peter Struwe Stichting De Jonge Onderzoekers Groningen Wat is een microcontroller? Maak een computer met alleen het meest noodzakelijke: processor geheugen

Nadere informatie

Hoofdstuk 3: Processen: Beschrijving en Besturing. Wat is een proces? Waarom processen? Wat moet het OS ervoor doen? Is het OS zelf een proces?

Hoofdstuk 3: Processen: Beschrijving en Besturing. Wat is een proces? Waarom processen? Wat moet het OS ervoor doen? Is het OS zelf een proces? Hoofdstuk 3: Processen: Beschrijving en Besturing Wat is een proces? Waarom processen? Wat moet het OS ervoor doen? Is het OS zelf een proces? 1 Wat is een proces? Een proces is een programma in uitvoering

Nadere informatie

Arduino. HCC Vlaanderen - Mechelen 7 februari 2011. Luc De Cock

Arduino. HCC Vlaanderen - Mechelen 7 februari 2011. Luc De Cock Arduino HCC Vlaanderen - Mechelen 7 februari 2011 Luc De Cock Inhoud Wat is Arduino? Wat hebben we nodig? Arduino IDE Voorbeelden Extra tools Uitbreidingen Wat is Arduino? Open source electronica platform

Nadere informatie

continue in een for, while of do lus herhaalt de lus vroegtijdig. De volgende herhaling wordt onmiddellijk begonnen.

continue in een for, while of do lus herhaalt de lus vroegtijdig. De volgende herhaling wordt onmiddellijk begonnen. Hoofdstuk 3: controlestructuren instructies en blokken Naar elke instructie staat een ; Instructies worden door de haakjes {} in een block samengevat. if else if ( expression) statement1; else statement2;

Nadere informatie

Programmeren met Arduino-software

Programmeren met Arduino-software Programmeren met Arduino-software De software waarin we programmeren is Arduino IDE. Deze software is te downloaden via www.arduino.cc. De programmeertaal die hier gebruikt wordt, is gebaseerd op C en

Nadere informatie

voordat we verder gaan raad ik aan om in ieder geval te zorgen dat je het volgende hebt:

voordat we verder gaan raad ik aan om in ieder geval te zorgen dat je het volgende hebt: Inleiding Dit artikel is geschreven om enige hulp te bieden bij het "debuggen" van de K8048 Beide zijn zelfbouwkits van velleman en zijn bedoeld voor het programeren Dit artikel is geschreven omdat er

Nadere informatie

Wat is een busverbinding?

Wat is een busverbinding? Wat is een busverbinding? gemeenschappelijke verbinding tussen CPU, geheugen en I/O-schakelingen onderscheid tussen: databus/adresbus/controlbus intern/extern serieel/parallel unidirectioneel/bidirectioneel

Nadere informatie

Microcontrollers Week 1 Introductie microcontroller Jesse op den Brouw INLMIC/2014-2015

Microcontrollers Week 1 Introductie microcontroller Jesse op den Brouw INLMIC/2014-2015 Microcontrollers Week 1 Introductie microcontroller Jesse op den Brouw INLMIC/2014-2015 Computersysteem Een systeem dat rekenkundige operaties, data manipulaties en beslissingen kan uitvoeren, aan de hand

Nadere informatie

Vakinhoudelijke uitwerking Keuzevak Applicatieontwikkeling van het profiel MVI vmbo beroepsgericht

Vakinhoudelijke uitwerking Keuzevak Applicatieontwikkeling van het profiel MVI vmbo beroepsgericht Vakinhoudelijke uitwerking Keuzevak Applicatieontwikkeling van het profiel MVI vmbo beroepsgericht Deze vakinhoudelijke uitwerking is ontwikkeld door het Redactieteam van de Schooleamenbank vmbo voor dit

Nadere informatie

A Quick Start Guide: AVR programmeren

A Quick Start Guide: AVR programmeren A Quick Start Guide: AVR programmeren In deze guide wordt uitgelegd hoe men kan beginnnen met het programeren van een ATMEL AVR microcontroller. Er zal een testprogramma uit de software library AVRlib

Nadere informatie

Tweede workshop Arduino

Tweede workshop Arduino Tweede workshop Arduino In deze workshop zal veel gewerkt worden met voorbeelden die meegeleverd worden met de Arduino IDE. Deze zijn te vinden onder het menu File >Examples. Oefening 1 - Seriële communicatie

Nadere informatie

Raspberry Pi Interfacing.

Raspberry Pi Interfacing. Als je met je Raspberry Pi contact wil maken met de buitenwereld heb je het GPIO ( General Purpose Input Output) interface van de RPi nodig. Met het GPIO interface kun je besturingen maken voor heel veel

Nadere informatie

Hoe werkt een computer precies?

Hoe werkt een computer precies? Hoe werkt een computer precies? Met steun van stichting Edict Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Overview Introductie SIM-PL Simulatietool voor werking computer

Nadere informatie

informatica. hardware. overzicht. moederbord CPU RAM GPU architectuur (vwo)

informatica. hardware. overzicht. moederbord CPU RAM GPU architectuur (vwo) informatica hardware overzicht moederbord CPU RAM GPU architectuur (vwo) 1 moederbord basis van de computer componenten & aansluitingen chipset Northbridge (snel) Southbridge ("traag") bussen FSB/HTB moederbord

Nadere informatie

Deel 8: stappenmotoren en interrupts

Deel 8: stappenmotoren en interrupts Deel 8: stappenmotoren en interrupts Stappenmotor Kan hoek van as instellen zonder een gesloten feedbacksysteem. Het is een simpel en precies open loop systeem. Werkt met discrete stappen, dus schokkerig

Nadere informatie

Online c++ leren programmeren:

Online c++ leren programmeren: Online c++ leren programmeren: Inhoud 1)Waar vind ik een c++ compiler?... 2 2)Hoe start ik een programma in c++?... 2 3)Een eerste c++ programma:... 3 Een eerste programma schrijven:... 3 Mijn eerste programma

Nadere informatie

Programmeren van de Raspberry Pi. http://ardezo.home.xs4all.nl/rpi_programmeren/

Programmeren van de Raspberry Pi. http://ardezo.home.xs4all.nl/rpi_programmeren/ Programmeren van de Raspberry Pi Zaterdag 21 september 2013 De Bilt Johan Swenker http://ardezo.home.xs4all.nl/rpi_programmeren/ Agenda Inleiding Raspberry Pi GPIO Programmeren bash python scratch Interfaces

Nadere informatie

Het aansluiten van uw Victron op een computer; met VE Bus Quick Configure

Het aansluiten van uw Victron op een computer; met VE Bus Quick Configure Het aansluiten van uw Victron op een computer; met VE Bus Quick Configure Voor het aansluiten van uw Victron op een computer is het volgende belangrijk: - Alleen identieke modellen met VE Bus software

Nadere informatie

Stappenmotor Interface. Controller

Stappenmotor Interface. Controller Besturing In deze moderne tijd zal de besturing geheel elektrisch worden uitgevoerd. De bedoeling is dat er voor ieder afgaand spoor een wisseladres gebruikt worden. Dit betekend dan een reeks van 24 aansluitende

Nadere informatie

Zelfbouw frequentieteller

Zelfbouw frequentieteller Zelfbouw frequentieteller De frequentieteller die hier beschreven is, is een teller die gebruik maakt van de software van JG6DFK. De teller is opgebouwd met een PIC processor, namelijk de bekende PIC 16F84.

Nadere informatie

Module 3: Scratch programmeren: is het logisch of is het niet logisch?

Module 3: Scratch programmeren: is het logisch of is het niet logisch? Module 3: Scratch programmeren: is het logisch of is het niet logisch? Inhoudsopgave Module 3: Scratch programmeren: is het logisch of is het niet logisch?...1 Wat is een computerprogramma eigenlijk?...2

Nadere informatie

Inductiemeter via de parallelle poort

Inductiemeter via de parallelle poort K.T.A.1-Gent "De Lindenlei" Lindenlei 38 9000 Gent Tel: 09.225.33.04 en 09.225.43.42 Fax: 09.225.52.88 Geïntegreerde proef Inductiemeter via de parallelle poort Naam: Michaël Clinckspoor Richting: Industriële

Nadere informatie

FORTH op de 80C535 processor met het ATS535 board.

FORTH op de 80C535 processor met het ATS535 board. FORTH op de 80C535 processor met het ATS535 board. ATS535 Het ATS535 board met 8052- ANS-Forth, is een product van de HCC Forth GG en Atelec Hoorn. Het board met de ingebouwde software is een uitstekend

Nadere informatie

EM2 Microcontroller Project. LED cube

EM2 Microcontroller Project. LED cube EM2 Microcontroller Project LED cube Door: Dennis Koster Klas: Tc202 Studentnummer: 536496 Docent: Jan Derriks & Ruud Slokker Versie 1.0 (12-1-2009) Inhoudsopgave Inleiding 3 De onderdelen 4 t/ m 6 Het

Nadere informatie

Microcontrollers PIC16F84. Inhoud

Microcontrollers PIC16F84. Inhoud Microcontrollers PIC16F84 Inhoud Korte handleiding Programmastructuren Het programmeermodel van de PIC16F84 Het statusregister I/O van de PIC16F84 Basisschema Looplicht met RC Oscillator In-Circuit Serial

Nadere informatie

De computer als processor

De computer als processor De computer als processor DE FYSIEKE COMPUTER Componenten van de computerconfiguratie Toetsenbord Muis Scanner Microfoon (Extern geheugen) Invoerapparaten Uitvoerapparaten Monitor Printer Plotter Luidspreker

Nadere informatie

Logo quiz Project Inleiding op de Logo!

Logo quiz Project Inleiding op de Logo! Logo quiz Project Inleiding op de Logo! Project ontwikkelt door: Tim van Schuylenburg Ben van Kruisbergen Inhoudsopgave Projectbeschrijving en Planning 2 Blz. De benodigdheden en aansluitschema 4-8 Complete

Nadere informatie

Algemene beschrijving van de regelprogramma's

Algemene beschrijving van de regelprogramma's Algemene beschrijving van de regelprogramma's Deze beschrijving is voor de regelprogramma's, die werken met de I/O kaart K8055 en/of VM167. Om het aantal in- en uitgangen te verhogen kan een multiplexer

Nadere informatie

Deel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax,

Deel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax, Deel 1: Arduino kennismaking Wat is een microcontroller, structuur van een programma, syntax, Wat is een microcontroller Wat is een microcontroller? Microcontroller = kleine dedicated computer. - Beperkt

Nadere informatie

MAKERKLAS WORKSHOP ARDUINO. Maandag 7 december 2015

MAKERKLAS WORKSHOP ARDUINO. Maandag 7 december 2015 1 MAKERKLAS WORKSHOP ARDUINO Maandag 7 december 2015 2 AAN DE SLAG! ONDERDELEN Je hebt de beschikking over een Arduino Starter Kit met een heleboel onderdelen. We gaan ze in de ze workshop niet allemaal

Nadere informatie

Oefening 1 - Seriële communicatie via USB

Oefening 1 - Seriële communicatie via USB Werkbladen voor Arduino workshop 2 In deze workshop zal gewerkt worden met de voorbeelden die meegeleverd worden met de Arduino IDE. Deze zijn te vinden onder het menu Bestand->Voorbeelden. Oefening 1

Nadere informatie

Mechatronica Inleiding tot de PIC microcontroller. Kristof Goris VUB-MECH-R&MM

Mechatronica Inleiding tot de PIC microcontroller. Kristof Goris VUB-MECH-R&MM Mechatronica Inleiding tot de PIC microcontroller Kristof Goris VUB-MECH-R&MM 30 januari 2006 Inhoudsopgave 1 Inleiding 2 1.1 Wat is Mechatronica?...................... 2 1.2 Wat is een Microcontroller?...................

Nadere informatie

Keuzedeel Programmeren van microcontrollers (K0730, 240 uur)

Keuzedeel Programmeren van microcontrollers (K0730, 240 uur) Keuzedeel Programmeren van microcontrollers (K0730, 240 uur) Docentendag btg ICT en Creatieve Industrie 22 maart 2017 μc of MCU 2017 FC, Jan J. Zuur MEd Formulier Keuzedeel Lesprogramma Examineren Vragen

Nadere informatie

Programmeren: Visual Basic

Programmeren: Visual Basic PETERSTUYVESANT COLLEGE INFORMATICA 2009-2010 Programmeren: Visual Basic Algemene Kennis: 01. Programmeren Programmeren is het schrijven van een computerprogramma, een concrete verzameling instructies

Nadere informatie

ROBOTICS CCFZ 27/3/2010

ROBOTICS CCFZ 27/3/2010 Totaalplaatje robotbesturing De ingrediënten voor het programmeren van de racerobot hebben we nu behandeld. We kunnen een PIC processor programmeren. Het aansturen van een motor (gebruikmakend van de H

Nadere informatie

2 Algemene opbouw van een computersysteem

2 Algemene opbouw van een computersysteem Procescomputer E. Gernaat 1 Microprocessoren algemeen Informatie-verwerking zoals behandeld is momenteel vrijwel geheel overgenomen door microprocessoren. Wanneer we voortborduren op het idee van combinatorische

Nadere informatie

WORKSHOP ORANGE PI & PYTHON v september 2017

WORKSHOP ORANGE PI & PYTHON v september 2017 WORKSHOP ORANGE PI & PYTHON v1.1 21 september 2017 In deze workshop maak je kennis met een zogenaamde bord-computer ter grootte van een bankpas. Een bord-computer kan gebruikt worden als een normale computer

Nadere informatie

De CB channel controller TMS1022NL/NLL en TMS1023NL/NLL. ( Dit is een maskrom-programmed version van de Texas Instruments TMS1000 family)

De CB channel controller TMS1022NL/NLL en TMS1023NL/NLL. ( Dit is een maskrom-programmed version van de Texas Instruments TMS1000 family) De CB channel controller TMS1022NL/NLL en TMS1023NL/NLL ( Dit is een maskrom-programmed version van de Texas Instruments TMS1000 family) Ik begin even met een korte inleiding over de TMS1000. ( Wil je

Nadere informatie

HD44780 compatibele LCD-displays begrijpen

HD44780 compatibele LCD-displays begrijpen LinuxFocus article number 258 http://linuxfocus.org HD44780 compatibele LCD-displays begrijpen door Jan Svenungson Over de auteur: Jan gebruikt GNU/Linux al sinds 1996 en heeft

Nadere informatie

Arduino Zuid-Limburg Workshop 2

Arduino Zuid-Limburg Workshop 2 1 Arduino Zuid-Limburg Workshop 2 Leren door doen Juni 2016 - slides voor Arduino workshop Zuid-Limburg 2 In deze workshop Minder focus op de programmeertaal zelf Voorbeelden als basis gebruiken Tonen

Nadere informatie

1. Sluit de LED aan zoals afgebeeld 2. Sluit de USB-kabel aan op de Arduino 3. Klik op de knop uploaden 4. De LED begint te knipperen

1. Sluit de LED aan zoals afgebeeld 2. Sluit de USB-kabel aan op de Arduino 3. Klik op de knop uploaden 4. De LED begint te knipperen Workshop Arduino Inleiding In deze workshop werk je in tweetallen met een Arduino microcontroller. Dit is een kleine computer die je kunt programmeren om te doen wat jij wilt. Om dit te doen gebruik je

Nadere informatie

Mechatronica Inleiding tot de PIC microcontroller. Kristof Goris VUB-MECH-R&MM

Mechatronica Inleiding tot de PIC microcontroller. Kristof Goris VUB-MECH-R&MM Mechatronica Inleiding tot de PIC microcontroller Kristof Goris VUB-MECH-R&MM februari 2008 Inhoudsopgave 1 Inleiding 2 1.1 Wat is Mechatronica?...................... 2 1.2 Wat is een Microcontroller?...................

Nadere informatie

Installatie handleiding

Installatie handleiding Installatie handleiding Pagina 2 van 7 1 Inleiding Vanwege de zeer uitgebreide elektronica op Porsche voertuigen is het noodzakelijk dat de diagnosesoftware enorm snel evolueert. De installatie en verdere

Nadere informatie

18 Embedded systemen 1

18 Embedded systemen 1 18 Embedded systemen 1 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15(pc) NZCV CPSR Figuur 18.1 ARM-programmeermodel Byte 0 Byte 1 Byte 2 Byte 3 Byte 3 Byte 2 Byte 1 Byte 0 Figuur 18.2 Endian conversie

Nadere informatie

Handleiding Piccolino

Handleiding Piccolino Handleiding Piccolino Installatie van de benodigde software, en aansluiten van de hardware. (c)2012 Bert van Dam INLEIDING 3 INSTALLATIE INSTRUCTIES 8 VOORBEELD PROGRAMMA 11 PROGRAMMEREN LUKT NIET 23 GEBRUIK

Nadere informatie