Microcontrollers PIC16F84. Inhoud

Maat: px
Weergave met pagina beginnen:

Download "Microcontrollers PIC16F84. Inhoud"

Transcriptie

1 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 Programming van de PIC16F84 Teller met de PIC16F84 Eenvoudig ontwerp met de PIC16F84 De Timer TRM van de PIC16F84 Seriële communicatie met de PIC16F84 Interrupt met de PIC16F84 Sturing van een LCD display Gegevens voor het labo De instructieset van de PIC16F84 Special Function Registers MPLAB tutorial Luc Friant Academiejaar Editie (1/24)

2 Een korte Handleiding PIC16F84 Voor de volledigheid verwijzen we u naar de datasheets van Microchip! Beschouw deze korte handleiding als een basis om snel iets te weten te komen over deze microcontroller. Microprocessor MicroChip PIC16F84 eigenschappen -- 1.A2 A A3 A A4 O1.. --Oscillator Gnd/5V--..MC O ^ Gnd V -- 1.B B B1 B B2 B B3 B Eigenschappen van de PIC16F84: geheugenplaatsen voor programma-instrukties - 68 geheugenplaatsen voor tijdelijke opslag van gegevens - 64 geheugenplaatsen voor opslag van gegevens die ook behouden moeten blijven indien de voedingsspanning wegvalt. - maximaal 1MHz oscillator, 2.5 miljoen instrukties per seconde - 13 poorten (A-A4 + B-B7) die als 'input' of als 'output' ingesteld kunnen worden - Eenvoudig te programmeren (eventueel ook in de schakeling) Programmeren van de PIC16F84: -- 1.A2 A A3 A A4 O Gnd/13V--..MC O Gnd V -- 1.B B7.1 --DTR -- 1.B1 B6.1 --TxD TxD DTR Gnd -- 1.B2 B o o o o o -- 1.B3 B o o o o PIC16F84 COM-poort computer Sluit MC van de PIC aan op Gnd (-, min, V) van een spanningsbron. Sluit - van de PIC aan op Gnd van een spanningsbron. Sluit + van de PIC aan op 5V (4V-6V) van een spanningsbron. Sluit Gnd van de COM-poort aan op Gnd van een spanningsbron. Sluit TxD van de COM-poort aan op poort B6 van de PIC. Sluit DTR van de COM-poort aan op poort B7 van de PIC. Sluit MC van de PIC aan op 13V (12V-14V) van een spanningsbron. Start op de computer het programma voor het programmeren van de PIC. Wacht tot het programmeren voltooid is. Sluit MC van de PIC aan op Gnd van een spanningsbron. Handleiding PIC16F84-1

3 Indien twee spanningsbronnen (batterijen, trafo's) gebruikt worden om de spanning van 5V en 13V te verkrijgen, dan moeten de Gnd (-, min, V) van de spanningsbronnen met elkaar verbonden te zijn. Testen van de PIC: -- 1.A2 A A3 A A4 O1.. --Oscillator Gnd/5V--..MC O ^ Gnd V -- 1.B B B1 B B2 B B3 B Sluit het linker pootje van de oscillator aan op O1, het rechter pootje op O2 en het middelste pootje op Gnd (-, min, V) van de batterij. Sluit - van de PIC aan op Gnd van de batterij. Sluit + van de PIC aan op 4-6V (5V) van de batterij. Sluit MC van de PIC aan op Gnd van de batterij om de PIC te 'resetten'. Sluit MC van de PIC aan op 4-6V (5V) van de batterij om de PIC te starten. Sluit naar wens (via weerstanden) schakelaars, LED's of andere electronica aan op de poorten A-A4 en B-B7 (maximale stroom 5 ma). Test of de PIC in alle mogelijk voorkomende situaties juist reageert. Schrijven van een programma voor de PIC: Het programma wordt geschreven in Mnemonic. Dit zijn engelstalige afkortingen die elk een instruktie aangeven. Een voorbeeld: #Lbl_a movlw &h2 ;Getal 2 naar Werkregister. movwf CNT ;Getal uit werkregister naar register CNT. incf CNT,f ;Getal in register CNT met 1 verhogen. In de eerste kolom kan een label gezet worden waar het programma vanaf een andere plaats naar toe moet springen. In de tweede kolom staat de instruktie. In de derde kolom staat een getal, een geheugen-adres, of een programma-adres (label uit de eerste kolom). In de vierde kolom kan (na ;) verklarende tekst worden neergezet zodat het programma eenvoudiger te begrijpen is. Elke kolom moet door een spatie of een TAB van elkaar gescheiden zijn. In het programma kunnen labels (namen) gebruikt worden voor getallen en geheugen-adressen zodat het programma gemakkelijker te lezen en begrijpen is. Aan het begin van het programma moet opgegeven worden welke labels gebruikt worden en welk getal (register-adres) aan een label verbonden is. Handleiding PIC16F84-2

4 Een label kan altijd beginnen met '#'. Dit is niet strikt noodzakelijk. Dit wordt alleen in deze korte handleiding toegepast. Voorbeeld: #w equ &h ;Resultaat naar werkregister. #f equ &h1 ;Resultaat naar geheugen. #TM1 equ &h12 ;TM1 staat voor het getal &h12=18. #TEL equ &hc ;TEL staat voor het register op adres &hc. Stel dat je op geheugen-adres &hc een teller bijhoudt, en je wilt de teller met 1 verhogen. Je kunt dan schrijven 'incf &hc,1'. Bij het lezen van het programma denk je dan telkens weer: 'wat gebeurde er ook al weer in adres &hc'. Schrijf je 'incf #TEL,#f', dan weet je direkt: 'TEL (Teller) = TEL (Teller) + 1'. Voorbeeld van een eenvoudig programma: ;Proj1.ASM ;Blinking LEDs ;Green and red LEDs of port RB blinking ;author: www ;processor: PIC 16F84 ;assembler: MPASM.EXE by MicrochiP ;modules used: pp-bus, pp-ctr, pp-mon ; ;Beschrijving van de hardware processor 16f84 ;Processor type... org 27 ;fuse settings: de b'1111' ;CP=off, PWRTE=enable; WDT=disable ;bit1,: 11 =RC-Oscillator ; 1 =XT-Oscillator ; w equ ;Working register address f equ 1 ;File register address portb equ 6 ;RB port trisb equ 86 ;TRISB Register status equ 3 ;Status Register RP equ 5 ;Status Reg. Bit 5 ; org ;Reset Vector goto _main ;Program start address ;**************************** Main program ********************************** org 5 _main clrf portb ;portb = bsf status,rp ;select Bank 1 clrf trisb ;trisb = (output) bcf status,rp ;select Bank movlw b'1111' ;load constant in W-Reg. movwf portb ;copy to portb (LEDs) m1 swapf portb,f ;swap portb nibbles goto m1 ;endless loop end ;end program ;********************************** END ************************************* BELANGRIJK! : Bij het optreden van een interrupt (zie verder bij poort A en poort B, bij TIMER en bij INTCON) springt het programma altijd naar programma-adres &h4. De instrukties die reageren op een interrupt moeten dus altijd beginnen op adres &h4, en bij de start van het programma moet het programma hier altijd overheen springen. Het begin van het programma kan er dan zo uitzien zoals in bovenstaand voorbeed. Handleiding PIC16F84-3

5 In tegenstelling tot de meeste computers worden de gegevens in de PIC niet in hetzelfde geheugen opgeslagen. De PIC heeft een geheugen voor het programma (Flash), een geheugen voor tijdelijke opslag van gegevens (RAM) en een geheugen voor blijvende opslag van gegevens (EE-Memory). Adres &h van het programma-geheugen is dus niet hetzelfde als adres &h voor opslag van gegevens. Het programma-geheugen kan alleen tijdens het programmeren beschreven worden. Het geheugen voor tijdelijke opslag van gegevens is alleen toegankelijk tijdens het uitvoeren van het programma. Het geheugen voor blijvende opslag van gegevens (EE-Memory)zowel tijdens het programmeren als tijdens het uitvoeren van het programma toegankelijk. Tijdens het programmeren kan het EE-Memory al van inhoud voorzien worden. In de lijst met instrukties worden een aantal aanduidingen gebruikt: #Label is een zelf bedacht stukje tekst. Het kan dus ook #Test zijn, of #Lamp. Als achter een instruktie #Label staat, dan moet ergens anders in het programma #Label in de eerste kolom staan. &h12 is een hexadecimaal getal. Dit getal is een voorbeeld. In plaats van &h12 kan ook een ander getal ingevuld worden. Het moet echter wel altijd een hexadecimaal getal zijn (en beginnen met &h). #REG is een zelf bedachte naam voor een geheugenplaats, bijvoorbeeld #UUR, #MIN, #SEC, #TEL, #CON. #d geeft aan waar het resultaat van de bewerking naar toe moet. Als #d =, dan gaat het resultaat naar het werkregister, als #d = 1, dan gaat het resultaat naar het met #REG aangeduidde geheugen-adres. Meestal wordt in het begin van een Mnemonic-programma aangegeven dat de aanduiding #w gebruikt wordt voor en de aanduiding #f voor 1, zodat op de plaats van #d de aanduiding #w of #f komt te staan. Dit kan ook worden opgelost door de speudomnemonische code #include <P16f84.INC> In de verklarende tekst achter de instrukties wordt met W (WorkRegister) het werkregister aangeduid en met F (FileRegister) de geheugenplaats die in de instruktie met #REG aangeduid is. TO, PD, Z, DC en C zijn aanduidingen van bits in het StatusRegister, dat verderop beschreven wordt. Handleiding PIC16F84-4

6 Instrukties van de PIC16F84 : NOP CLRWDT SLEEP ;No OPeration. ;Deze instruktie doet niets. De uitvoering van deze ; instruktie kost wel tijd en kan daarom gebruikt ; worden om een vertraging in het programma aan te ; brengen (.5 microseconde bij 8 MHz oscillator). ; Wijzigt in het Statusregister : Niets. ;Clear WatchDog Timer. ; Wist de 'WatchdogTimer'. Als er situaties kunnen ; optreden waarin het programma in een oneindige lus ; terrecht komt, dan kan deze timer het programma ; daar met een interrupt uit halen. ; Wijzigt in het Statusregister : TO, PD. ;Sleep. ; De processor gaat slapen. De uitvoering van ; instrukties wordt gestopt tot het optreden van een ; interrupt door verandering van de spanning op ; een Input-poort. Gedurende de slaapstand is het ; stroomverbruik van de processor zeer gering. ; Wijzigt in het Statusregister : TO, PD CALL #Label ;Call subroutine ; Aanroep van de procedure met label '#Label' ; (het programma springt naar de regel met #Label ; en onthoudt vanaf welke regel het gesprongen is). ; Wijzigt in het Statusregister : Niets. RETURN ;Return from subroutine. ; Afsluiten van een procedure. Het programma gaat ; verder met de instruktie na de instruktie CALL ; waarmee de procedure aangeroepen was. ; Wijzigt in het Statusregister : Niets. RETLW &h12 ;Move Literal to W and Return from subroutine. ; Afsluiten van een procedure. Het programma gaat ; verder met de instruktie na de instruktie CALL ; waarmee de procedure aangeroepen was. Bovendien ; krijgt het 'Workregister' het getal achter de ; instruktie RETLW. Zo kan een procedure informatie ; teruggeven aan het hoofdprogramma (W = &h12). ; Wijzigt in het Statusregister : Niets. RETFIE ;Return from subroutine and Enable interrupts. ; Afsluiten van de procedure die door een interrupt ; aangeroepen was. Tijdens de uitvoering van de ; procedure worden andere interrupts geblokkeerd. ; Door de instruktie RETFIE wordt een interrupt-bit ; teruggezet zodat interrupts weer toegestaan zijn. ; Wijzigt in het Statusregister : Niets. GOTO #Label ;Goto adress #Label. ; Springen naar de regel met label '#Label'. ; Wijzigt in het Statusregister : Niets. CLRW ;Clear W. ; W =. ; Wijzigt in het Statusregister : Z. CLRF #REG ;Clear F. ; F =. ; Wijzigt in het Statusregister : Z. MOVF #REG,#d ;Move F (Copy F). ; Als d= : W = F. ; Als d=1 : F = F. ; Het lijkt onzinnig een kopie van F naar F te maken, ; maar het kan gebruikt worden om te bepalen of de ; inhoud van F nul is. Handleiding PIC16F84-5

7 ; Wijzigt in het Statusregister : Z. MOVLW &h12 ;Move Literal to W. ; W = &h12. ; Wijzigt in het Statusregister : Niets. MOVWF #REG ;Move W to F (Kopie W to F). ; F = W. ; Wijzigt in het Statusregister : Niets. SWAPF #REG,#d ;Swap nibbles in F. ; Verwisselt in F bits 7-4 met bits 3-. ; Als d= : W = Swap F ; Als d=1 : F = Swap F. ; Wijzigt in het Statusregister : Niets. ADDLW &h12 ;ADD Literal and W. ; W = W + &h12. ; Wijzigt in het Statusregister : C, DC, Z. SUBLW &h12 ;Subtract W from Literal. ; W = &h12 - W (Verwarrend. Bij instruktie SUBWF ; is het 'SUB W from F' zodat je hier zou ; verwachten 'SUB Literal from W'. Helaas is het ; andersom.) ; Wijzigt in het Statusregister : C, DC, Z. ADDWF #REG,#d ;ADD W and F. ; Als d= : W = W + F. ; Als d=1 : F = W + F. ; Wijzigt in het Statusregister : C, DC, Z. SUBWF #REG,#d ;Subtract W from F. ; Als d= : W = F - W. ; Als d=1 : F = F - W. ; Wijzigt in het Statusregister : C, DC, Z. INCF #REG,#d ;Increment F. ; Als d= : W = F + 1. ; Als d=1 : F = F + 1. ; Wijzigt in het Statusregister : Z. INCFSZ #REG,#d ;Increment F, Skip if Zero. ; Als d= : W = F + 1 ; Als d=1 : F = F + 1 ; Als het resultaat nul is, dan wordt de volgende ; instruktie als NOP-instruktie uitgevoerd (lijkt ; overgeslagen te worden) ( = ). ; Wijzigt in het Statusregister : Niets. DECF #REG,#d ;Decrement F. : Als d= : W = F - 1 ; Als d=1 : F = F - 1 ; Wijzigt in het Statusregister : Z. DECFSZ #REG,#d ;Decrement F, Skip if Zero ; Als d= : W = F - 1 ; Als d=1 : F = F - 1 ; Als het resultaat nul is, dan wordt de volgende ; instruktie als NOP-instruktie uitgevoerd (lijkt ; overgeslagen te worden). ; Wijzigt in het Statusregister : Niets. RLF #REG,#d ;Rotate Left F trough Carry. ; Schuift alle bits een plaats naar links (F * 2), ; bit C van het Statusregister komt in bit, ; bit 7 komt in bit C van het Statusregister. ; Als d= : W = F * 2. ; Als d=1 : F = F * 2. ; Wijzigt in het Statusregister : C. RRF #REG,#d ;Rotate Right F trough Carry ; Schuift alle bits een plaats naar rechts (F / 2), ; bit C van het Statusregister komt in bit 7, Handleiding PIC16F84-6

8 ; bit komt in bit C van het Statusregister. ; Als d= : W = F / 2. ; Als d=1 : F = F / 2. ; Wijzigt in het Statusregister : C. ANDLW &h12 ;AND Literal with W. ; W = W AND &h12. ; Wijzigt in het Statusregister : Z. ANDWF #REG,#d ;AND W with F. ; Als d= : W = W AND F. ; Als d=1 : F = W AND F. ; Wijzigt in het Statusregister : Z. IORLW &h12 ;Inclusive OR Literal with W. ; W = W IOR &h12. ; Wijzigt in het Statusregister : Z. IORWF #REG,#d ;Inclusive OR W with F. ; Als d= : W = W IOR F. ; Als d=1 : F = W IOR F. ; Wijzigt in het Statusregister : Z. XORLW &h12 ;Exclusive OR Literal with W. ; W = W XOR &h12. ; Wijzigt in het Statusregister : Z. XORWF #REG,#d ;Exclusive OR W with F. ; Als d= : W = W XOR F. ; Als d=1 : F = W XOR F. ; Wijzigt in het Statusregister : Z. COMF #REG,#d ;Complement of F. ; Als d= : W = Complement van F. ; Als d=1 : F = Complement van F. ; Wijzigt in het Statusregister : Z. BCF #REG,#b ;Bit Clear F. ; Bit b in 'Fileregister' F wordt. ; Wijzigt in het Statusregister : Niets. BSF #REG,#b ;Bit Set F. ; Bit b in 'Fileregister' F wordt 1. ; Wijzigt in het Statusregister : Niets. BTFSC #REG,#b ;Bit Test F, Skip if Clear. ; Als bit b in 'Fileregister' F is, dan wordt ; de volgende instruktie als NOP-instruktie ; uitgevoerd (lijkt overgeslagen te worden). ; Wijzigt in het Statusregister : Niets. BTFSS #REG,#b ;Bit Test F, Skip if Set. ; Als bit b in 'Fileregister' F 1 is, dan wordt ; de volgende instruktie als NOP-instruktie ; uitgevoerd (lijkt overgeslagen te worden). ; Wijzigt in het Statusregister : Niets. Handleiding PIC16F84-7

9 De eerste adressen (registers) van het beschrijfbare geheugen (RAM) zijn gereserveerd voor speciale taken. De instelling van bit 5 van het StatusRegister is daarbij van belang. Als bit 5 van het StatusRegister is: dan is bank geselecteerd adres &h : IND. Geen echt register. Indirekt adresseren via FSR. adres &h1 : TMR. Teller (instrukties of spanningswisselingen op B). adres &h2 : PCL. Laagste 8 bits van het programma-adres. adres &h3 : STATUS. Status Register. adres &h4 : FSR. File Select Register, in samenwerking met IND (&h). adres &h5 : PORT A. Lezen/Schrijven Input/Output-poort A. adres &h6 : PORT B. Lezen/Schrijven Input/Output-poort B. adres &h7 : Wordt niet gebruikt en is niet te gebruiken. adres &h8 : EEDATA. Data voor het EE-Memory. adres &h9 : EEADR. Adres voor het EE-Memory. adres &ha : PCLATCH. Hoogste 5 bits van het programma-adres. adres &hb : INTCON. Instellen interrupts. adres &hc : Dit adres tot en met adres &h2f is vrij te gebruiken Als bit 5 van het StatusRegister 1 is: dan is bank1 geselecteerd adres &h8 : Indirekt adres (bit 5 heeft op dit adres geen invloed) adres &h81 : OPTION (Instellen opties) adres &h82 : PCL (bit 5 heeft op dit adres geen invloed) adres &h83 : STATUS (bit 5 heeft op dit adres geen invloed) adres &h84 : FSR (bit 5 heeft op dit adres geen invloed) adres &h85 : TRISA (Instellen Input/Output poort A) adres &h86 : TRISB (Instellen Input/Output poort B) adres &h87 : Wordt niet gebruikt en is niet te gebruiken adres &h88 : EECON1 (Instellingen voor EE-Memory) adres &h89 : EECON2 (Instellingen voor EE-Memory) adres &h8a : PCLATCH (bit 5 heeft op dit adres geen invloed) adres &h8b : INTCON (bit 5 heeft op dit adres geen invloed) adres &h8c : &h8c t/m &h2f (bit 5 heeft op deze adressen geen invloed) : aders &h8c tot en met &haf zijn hetzelfde als bank De registers (geheugen-adressen) in het RAM : TMR (#TMR = &h1) In register OPTION kan ingesteld worden of de Timer de wisselingen van hoog naar laag of laag naar hoog op poort A4 moet tellen, of het aantal instrukties dat is uitgevoerd. Bovendien kan in het OPTION register een faktor ingesteld worden. Als bijvoorbeeld de instrukties geteld worden en de ingestelde factor is 2, dan gaat de Timer elke twee instrukties een stapje verder. Met een oscillator van 8MHz duurt elke instruktie.5 microseconde, elke twee instrukties 1 microseconde, zodat elke stap van de Timer een verlopen tijd van 1 microseconde aangeeft. PCL (#PCL = &h2) Het programma-adres, ofwel het adres van de uit te voeren instruktie. Als het programma in de PIC start, begint het programma op adres &h. Als een interrupt optreed dan springt het programma naar adres &h4. Bij de instruktie CALL, RETURN, RETFIE, RETLW en GOTO wordt de inhoud van de PCL en PCLATCH automatisch gewijzigd. Door zelf de PCL te wijzigen kan naar een ander adres in het programma gesprongen worden. Dit is echter oppassen. De PCL bevat 8 bits, de Handleiding PIC16F84-8

10 PCLATCH is niet te beschrijven, er kan dus alleen binnen een blok van 256 adressen gesprongen worden. STATUS (#STR = &h3) bit 7 : Wordt niet gebruikt, moet blijven bit 6 : Wordt niet gebruikt, moet blijven bit 5 : selectie van bank of bank1 bit 4 : TO = 1 na 'power-up', CLRWDT of SLEEP instruktie TO = als WatchDogTimer van 255 naar is gegaan bit 3 : PD = 1 na 'power-up' of CLRWDT instruktie PD = na SLEEP instruktie bit 2 : Z = 1 als het resultaat van een bewerking is Z = als het resultaat van een bewerking niet is bit 1 : DC = 1 na Carry van bit 4 naar 5 of van bit 5 naar 4 DC = als geen Carry tussen bit 4 en 5 opgetreden is bit : C = 1 als resultaat optelling >255 of aftelling < C = als resultaat optelling <=255 of aftelling >= FSR (#FSR = &h4) Indirekte register adressering (in samenwerking met register IND = &h) Stel dat je 5 registers wilt wissen. Dan kun je het volgende doen: clrf &hc ;Wist adres &hc clrf &hd ;Wist adres &hd clrf &he ;Wist adres &he en zo voor elk adres een instruktie, 5 instrukties in totaal. Het gaat beter via de indirekte adressering: movlw &hc ;Adres eerste te wissen register movwf #FSR ;naar FileSelectRegister. movlw &h32 ;Instellen van een teller, movwf #CNT ;5 adressen te wissen. #Wissen ;Sprong-adres. clrf #IND ;Wist het register waarvan het adres in FSR staat. incf #FSR,#f ;Volgende adres in register FSR instellen. decfsz #CNT,#f ;Aftellen van 5 naar : indien nul, GOTO ;overslaan. goto #Wissen ;Terug naar het label #Wissen.??? ;De volgende instrukties van het programma. In totaal zijn nu 8 instrukties gebruikt in plaats van 5. PORTA (#CPA = &h5) De bits in dit adres geven aan of de spanning op de pennen van poort A hoog (=1) of laag (=) zijn. Bit geeft de spanning op pen A, bit 1 geeft de spanning op pen A1, enzovoort. Alleen de eerste 5 bits worden gebruikt (Poort A heeft 5 pennen). In register TRISA kan ingesteld worden of een pen als 'Input' of als 'Output' gebruikt wordt. Stel dat pen A3 als Output is ingesteld en je wilt de spanning hoog of laag maken zonder de andere Output-pennen van Poort A te wijzigen. Dan gebruik je de instrukties 'bsf' en 'bcf' : bsf #CPA,&h3 ;Spanning op A3 hoog (#CPA = &h5, &h3 = bit 3 = A3). bcf #CPA,&h3 ;Spanning op A3 laag (#CPA = &h5, &h3 = bit 3 = A3). Handleiding PIC16F84-9

11 Als je wilt testen of de spanning op een Input-pen hoog of laag is, dan kun je gebruik maken van 'btfss' of 'btfsc'. Stel dat je naar een subroutine met de naam #Test wilt springen als de spanning op pen A3 hoog is, dan gebruik je de volgende instrukties: btfsc #CPA,&h3 ;Testen of de spanning op A3 hoog is (#CPA = &h5). call #Test ;Aanroepen #Test als A3=1, overslaan als A3=.??? ;Verder gaan met het programma. Pen A4 heeft nog een speciale mogelijkheid. Je kunt instellen dat de Timer (TMR) het aantal keren telt dat de spanning op pen A4 van hoog naar laag of van laag naar hoog is gegaan. Je kunt bijvoorbeeld een kwartsklokje uit elkaar halen en de elektronica die elke seconde een puls geeft op A4 aansluiten. De Timer telt dan de seconden, zodat de PIC zeer nauwkeurig de tijd bij kan houden. PORTB (#CPB = &h6) De bits in dit adres geven aan of de spanning op de pennen van poort B hoog (=1) of laag (=) zijn. Bit geeft de spanning op pen B, bit 1 geeft de spanning op pen B1, enzovoort. In register TRISB kan ingesteld worden of een pen als 'Input' of als 'Output' gebruikt wordt. Poort B heeft een aantal speciale mogelijkheden. Voor pen B kan ingesteld worden dat een interrupt optreedt als de spanning van hoog naar laag of van laag naar hoog gaat. Voor pennen B4 t/m B7 kan ingesteld worden dat een interrupt optreed als de spanning op een van die pennen wijzigt. Bovendien kan ingesteld worden dat de spanning van een niet aangesloten pen hoog is. Dat is handig als je een schakelaar aansluit op een pen. Is de schakelaar open, dan is de spanning hoog. Is de op V aangesloten schakelaar dicht, dan is de spanning laag. (sluit de schakelaar bij voorkeur aan via een weerstand van 1K, ook al hoeft dat niet bij een 'input'-poort. Mocht door een foutje in het programma de poort waarop de schakelaar aangesloten is niet ingesteld zijn als 'input' maar als 'output', dan raakt de PIC tenminste niet beschadigt.) Zie verder bij het INTCON en het OPTION register. EEDATA (#EED = &h8) Voor schrijven in EE-Memory: Plaats in EEDATA de te schrijven waarde en in EEADR het gewenste adres, geef vervolgens de schrijf opdracht. Voor lezen uit het EE-Memory: Schrijf in EEADR het gewenste adres en geef de lees opdracht, lees vervolgens uit EEDATA de uit het EE-Memory op adres EEADR gelezen waarde. Zie EECON1 en EECON2. EEADR (#EEA = &h9) Voor schrijven in EE-Memory: Plaats in EEDATA de te schrijven waarde en in EEADR het gewenste adres, geef vervolgens de schrijf opdracht. Voor lezen uit het EE-Memory: Schrijf in EEADR het gewenste adres en geef de lees opdracht, lees vervolgens uit EEDATA de uit het EE-Memory op adres EEADR gelezen waarde. Zie EECON1 en EECON2. PCLATCH (&ha) Hoogste 5 bits van het programma-adres. Niet te lezen, niet te beschrijven. Handleiding PIC16F84-1

12 INTCON (#ICR = &hb) bit 7 : 1 = interrupts toegestaan (instelling na RETFIE) = interrupte niet toegestaan (instelling na een interrupt) bit 6 : 1 = interrupt als schrijven in EE-Memory voltooid is = geen interrupt als schrijven in EE-Memory voltooid is bit 5 : 1 = interrupt als TMR van 255 naar gaat = geen interrupt als TMR van 255 naar gaat bit 4 : 1 = interrupt als spanning op B wijzigt (zie bit 6 in OPTION) = geen interrupt als spanning op B wijzigt bit 3 : 1 = interrupt als spanning op B4-B7 wijzigt = geen interrupt als spanning op B4-B7 wijzigt bit 2 : 1 = TRM is van 255 naar gegaan = TMR is niet van 255 naar gegaan dit bit moet in het programma gewist worden (BCF #INT,&h2) voordat opnieuw getest kan worden of TRM van 255 naar is gegaan bit 1 : 1 = interrupt op B opgetreden = geen interrupt op B opgetreden bit : 1 = de spanning op een pennetje van B4-B7 is gewijzigt = de spanning op de pennejtes van B4-B7 is niet gewijzigt Het programma springt bij een interrupt altijd naar adres &h4. Als interrupts toegestaan zijn (bit 7 = 1), dan moet vanaf dat adres een aantal instrukties in het programma opgenomen zijn die bepalen wat er gedaan moet worden. Die instrukties kunnen aan bit 2,1, zien wat voor interrupt opgetreden is. Aangezien het programma altijd begint op adres &h, moet voor adres &h4 een GOTO instruktie staan die de programma-teller over de interrupt afhandelings instrukties heen laat springen naar het werkelijke begin van het programma. OPTION (#OPT = &h1 met bit 5 van het statusregister op 1) bit 7 : 1 = interne weerstandjes op poort B aangesloten zodat de spanning op niet aangesloten pennen hoog is. = geen interne weerstandjes aangesloten bit 6 : 1 = interrupt als de spanning op B van laag naar hoog gaat = interrupt als de spanning van B van hoog naar laag gaat zie bit 4 van INTCON bit 5 : 1 = TMR spanningwisselingen op A4 laten tellen = TMR het aantal uitgevoerde instrukties laten tellen bit 4 : 1 = Als bit 5 = 1, TMR=TMR+1 als A4 van hoog naar laag gaat = Als bit 5 = 1, TMR=TMR+1 als A4 van laag naar hoog gaat bit 3 : 1 = Timer-factor gebruiken voor de WatchDogTimer = Timer-factor gebruiken voor TMR bit 2- : instellen van de Timer-factor. Voor de TMR geldt: = 1:2, 1 = 1:4, 1 = 1:8, 11 = 1:16, 1 = 1:32 11 = 1:64, 11 = 1:128, 111 = 1:256 (Als de Timer het aantal uitgevoerde instrukties telt, en de factor is voor de Timer ingesteld op 2, dan gaat de Timer elke 2 instrukties een stap verder) TRISA (#CPA = &h5 met bit 5 van het statusregister op 1) Instellen Input/Output poort A. Een 1 is Input en een Output. Als je van poort A pennen A en A1 als Input wilt instellen en de overige als Output, dan gaat dat met de volgende instrukties: Handleiding PIC16F84-11

13 bsf #STR,&h5 ;bit 5 van het statusregister op 1 zetten (#STR = &h3) movlw &h3 ;11 = &h3 (A1 en A Input, overige Output) movwf #CPA ;Instellen poort A (#CPA = &h5) bcf #STR,&h5 ;bit 5 van het statusregister op terugzetten TRISB (#CPB = &h6 met bit 5 van het statusregister op 1) Zie TRIS A EECON1 (#EC1 = &h8 met bit 5 van het statusregister op 1) bit 7 : Altijd bit 6 : Altijd bit 5 : Altijd bit 4 : 1= Schrijven in EE-Memory voltooid (Interruptbit: Wis in programma) = Schrijven in EE-Memory niet voltooid of niet begonnen bit 3 : 1= Schrijven onderbroken door interrupt MCLR of WDT = Schrijven niet onderbroken bit 2 : 1= Schrijven in EE-Memory toegestaan = Schrijven in EE-Memory niet toegestaan bit 1 : 1= Schrijven gestart (zet bit op 1 om schrijven te starten) = Schrijven voltooid (bit wordt door PIC gewist) bit : 1= Lezen in EE-Memory gestart (zet bit op 1 om lezen te starten) = Lezen in EE-Memory voltooid (bit wordt door PIC gewist) Voor lezen en schrijven in EE-Memory moeten een aantal instrukties in vaste volgorde uitgevoerd worden. ;Lezen EE-Memory movlw &h5 ;Te lezen adres in EE-Memory movwf #EEA ;naar EEA (bit 5 van STR = ). bsf #STR,&h5 ;Bank 1 instellen (bit 5 van STR = 1). bsf #EED,&h ;Lezen starten. bcf #STR,&h5 ;Bank instellen (bit 5 van STR = ). movf #EED,#w ;Gelezen byte uit EED naar W. ;Schrijven EE-datamemory movlw &h5 ;Te beschrijven adres in movwf #EEA ;EE-Memory naar EEA (STR,&h5 = ). movlw &h12,#w ;(of bijvoorbeeld movf #REG,#w) Te schrijven movwf #EED ;getal naar EED. bcf #ICR,&h7 ;Interrupts uitschakelen. bsf #STR,&h5 ;Bank 1 instellen (bit 5 van STR = 1). bsf #EED,&h2 ;Schrijven toestaan. movlw &h55 ;Deze vier instrukties zijn noodzakelijk movwf #EEA ;en kunnen niet achterwege gelaten worden. movlw &haa ; - movwf #EEA ; - bsf #EED,&h1 ;Start schrijven. bcf #STR,#R ;Bank instellen (bit 5 van STR = ). bsf #ICR,&h7 ;Interrupts inschakelen (toestaan). De waarde uit EEDATA is pas in het EE-Memory geschreven als bit 4 van EECON1 1 geworden is. Wees erop bedacht dat dit een groot aantal instrukties kan duren. Als je een volgend getal gaat schrijven voor de voorgaande schrijfopdracht is voltooid, dan komen in het EE-Memory niet de waarden die je verwacht. Wacht met een volgende schrijfopdracht tot bit 4 in EECON1 1 geworden is, en maak het bit voor je de volgende schrijfopdracht geeft. Handleiding PIC16F84-12

14 EECON2 (&h9 met bit 5 van het statusregister op 1) Dit adres wordt gebruikt voor het schrijven in het EE-Memory. Lezen van dit byte geeft altijd &h. Configuratie bits Deze speciale bits zijn alleen in te stellen tijdens het programmeren van de PIC. De instelling kan in het Mnemonic-programma opgegeven worden met de instruktie CFG. Als de instelling niet opgegeven is, dan wordt de standaard instelling gebruikt. bit 13-4 : 1 = Geheugen niet onleesbaar maken (standaard) = Geheugen onleesbaar maken (beschermen programmacode) bit 3 : 1 = 'Power-Up' timer uigeschakeld bit 2 = 'Power-Up' timer ingeschakeld (standaard) : 1 = WatchDogTimer ingeschakeld = WatchDogTimer uitgeschakeld (standaard) bit 1- : 11 = RC oscillator 1 = HS oscillator (High Speed: standaard) 1 = XT oscillator = LP oscillator Handleiding PIC16F84-13

15 Programmastructuren Het programmeren op assemblerniveau wordt al gauw zeer onoverzichtelijk, ondanks de hulp van symbolische instructies en adressen. Een flinke stap vooruit is het opzetten van afgezonderde stukken programma, die een afgeronde en duidelijk herkenbare taak hebben. Een belangrijke vorm daarvan is de subroutine. Een dergelijk subprogramma kan op simpele wijze worden uitgevoerd vanaf willekeurige plaatsen in het "hoofdprogramma". De voordelen van een modulaire opbouw van een programma worden verderop wat diepergaand besproken. Subroutines We bekijken het volgende stukje programma: movf temp1,w movwf temp3 movf temp2,w movwf temp1 movf temp3,w movwf temp2 Het gaat hier om het verwisselen van twee bytes in het geheugen, temp1 en temp2, temp3 is en hulp register. Het zou een onderdeel kunnen zijn van een sorteerprogramma. Het geheugen zelf heeft daarvoor geen vaardigheden. De processor moet er intensief aan te pas komen. Er worden hier twee move instructies gebruikt. Daarna worden de inhouden van A en B kruiselings teruggezet in het geheugen. De situatie, die zich hier voordoet is rijp voor het afzonderen van deze handelingen in een subprogramma. Wellicht kan dit ook in breder verband worden gebruikt. Een sprekend begin is het vervangen van de vier instructies door slechts één operatie en wel de "subroutinesprong":... call Verwissel... <--- Hier staat: Call on label Verwissel. De assembler geeft hier uiteraard ondersteuning door een voor zich zelf sprekende label toe te laten. De vervangen regels zijn elders in de sourcecode terug te vinden: Verwissel: movf temp1,w ; movwf temp3 movf temp2,w movwf temp1 movf temp3,w movwf temp2 return Duidelijk is hier een toevoeging te zien in de vorm van een Return from Subroutine. Dit is nodig om de processor een aanwijzing te geven voor het "terugkeren" naar het "hoofdprogramma". De executie moet worden vervolgd achter de call-instructie; zie pijl. Alleen dan krijgen we een bruikbare opzet van het afzonderen van een stuk programma. Let wel: call en return zijn instructies, waarvoor de processor standaard handelingen in huis heeft. Het is belangrijk om te kunnen doorzien wat er precies gebeurt tijdens een subroutine call. Als we het blokschema van de microcontroller bekijken dan zien we dat de programcounter met een 8 level stackregister verbonden is. Het stackregister bestaat hier uit acht 13 bits registers, waarin de inhoud van de programcounter gezet kan worden. Dit kan overigens niet door de gebruiker zelf direct met een movf gedaan worden. Tijdens de call instructie wordt de huidige waarde +1(de plaats waar het programma verder moet gaan na de subroutine) van de programcounter in een register van de stack gezet. De inhoud van de programcounter hangt af van de plaats waar de subroutine zich in de programmemory bevindt. (Hier de plaats waar de subroutine Verwissel staat) Programmastructuren blz. 1

16 Als de return-instructie op het einde van de subroutine aangeroepen wordt, wordt automatisch de inhoud van de stack weer in de programcounter gezet. Als er een subroutine aanroep binnen een subroutine plaatsvindt, zal op dat moment weer de inhoud van de Programcounter op de stack gezet worden. Nu zal echter de volgende plaats van de stack gebruikt worden. Bij een return zal eerst deze weer in de programcounter teruggezet worden volgens het Last In, First Out principe. (LIFO) Subroutines kunnen op deze manier een zogenaamde geneste structuur krijgen, en wel met een diepte van 8. De structuur kan hier netjes bewaard blijven. Het is dan ook zeer aan te raden geen goto instructies te gebruiken, en zeker niet binnen subroutines! Ook bij interrupt routines, wordt deze constructie toegepast. De instructies die de stack beïnvloeden zijn call, return, retlw en retfie. Modulaire opbouw van een programma De subroutine is een concept, dat past in een modulaire opbouw van programmatuur. Modulair werken heeft grote voordelen. Te noemen zijn: 1. Modulaire programma's zijn overzichtelijker en beter te begrijpen Grote en/of ingewikkelde programma's zijn niet bepaald overzichtelijk. Hierin kan verbetering worden gebracht door zulke programma's te verdelen in stukken. De stukken worden uiteraard bij voorkeur zo gekozen, dat ze elk een bepaald afgerond deel van het probleem oplossen. Een dergelijk deelprogramma wordt wel een module genoemd. De techniek heet modulair programmeren. Een module kan op zichzelf weer onderverdeeld zijn in andere modulen, etc. Zo kan er een hiërarchie van hoofd- en submodulen ontstaan: Probleem Deelprobleem A Actie A1 Actie A2 Deelprobleem B Actie B1 Invoer Actie In1 onder voorwaarde Anders actie In2 Verwerking Actie Verw1 Actie Verw2 Uitvoer Deelprobleem C Interactie Responsie Uitvoer De indeling heeft alles te maken met top-down ontwerpen. Eerst is er een globaal beeld van de doelstelling van een opdracht. Dan worden onderdelen bestudeerd en stapsgewijs geraffineerd. 2. Een modulair programma kan eenvoudiger worden ontworpen en getest. Een module is eenvoudiger te beschrijven en foutvrij te maken ("debuggen") dan een volledig programma. Een deelprobleem is beter te doorzien en kan op zichzelf worden vertaald naar een flowdiagram of een structogram. Van daaruit kan dan het module worden ontworpen en beheerst. Het is op die wijze gemakkelijker om ook de juiste tests op het gerede product toe te passen. Eerst op module-niveau en vervolgens hoger in de hiërarchie. Programmastructuren blz. 2

17 3. Modulaire programma's zijn gemakkelijker te wijzigen. Een module kan gemakkelijk worden losgemaakt uit het geheel om elders (al of niet hetzelfde programma) te worden hergebruikt. Iets dergelijks geldt ook voor het vervangen door een ander veranderd, verbeterde module. Als een module is opgezet als een zelfstandig en afgesloten programma onderdeel, dan hoeft niet het hele programma te worden onderzocht om na te gaan of de wijziging gevolgen heeft op onverwachte plaatsen in het programma. Zolang de specificatie van de inkomende gegevens en van de uitgaande resultaten van de module maar niet verandert! De verbindingen tussen de diverse modulen noemt men ook wel de interface. De interface moet goed worden vastgelegd. Er moet nauwkeurig worden omschreven, waar elk module zijn gegevens vandaan haalt en waar de uitvoergegevens moeten worden opgeborgen. Een stap verder gaat Object Oriented Programming. Hierbij worden gegevens uitgewisseld via boodschappen onder een overkoepelend programma (het Operating System) en blijven de gegevens overigens in "eigen beheer", zodat ze minder kwetsbaar worden voor foutief gebruik elders. OOP houdt uiteraard nog wel wat meer in. Zo is de opzet zodanig, dat gemakkelijk varianten zijn te maken van een module met zijn eigenschappen als erfgoed. Deze manier van programmeren valt verder buiten het bestek van deze cursus. 4. Aan een modulair programma kan gemakkelijk door meer personen worden gewerkt. Elke ontwerper kan één of meer modulen voor zijn rekening nemen. Daarbij is het natuurlijk wel zaak, dat de modulen goed worden gedocumenteerd. Van modulen, die in meerdere programma's kunnen worden gebruikt kunnen "bibliotheek"-exemplaren worden aangelegd. Denk bijvoorbeeld aan standaard input- en outputroutines. Toevoeging aan een hoofdprogramma kan op assemblerniveau gebeuren, door de sourcetekst toe te voegen alvorens te assembleren. Een andere mogelijkheid is het al vast vertalen van de module voordat het in de bibliotheek wordt opgenomen. Er komt dan een stuk softwaregereedschap aan te pas om deze reeds vertaalde modulen te koppelen met andere. We spreken in dit verband van een Linker. Het spreekt vanzelf, dat een dergelijke Linker de nodige kruislingse gegevensverbindingen moet "oplossen". 5. De voortgang van de ontwikkeling is beter te controleren. Men kan eenvoudig zien welke modulen al gereed zijn en welke nog speciale aandacht nodig hebben. Bij voorkeur worden ze afzonderlijk testbaar gemaakt. Niet helemaal gratis Modulaire programma's kosten extra executietijd en (soms) extra geheugenruimte. Doorgaans is er enige extra code nodig voor het zelfstandig opereren van een module. Zo moet er op worden gelet, dat er geen registerinhouden zoekraken, doordat registers worden gebruikt, die ook al buiten de module bezet waren. Een simpele oplossing is het op de stack stapelen van de informatie (en het naderhand herstellen!). Zie ook onder "Overdracht van gegevens". Een en ander kost wel tijd en maakt het programma als geheel langer. Uiteraard werkt meermalig gebruik van een module weer gunstig op de lengte van een programma. Overdracht van gegevens We zullen in het hier volgende het begrip module even vereenzelvigen met het begrip subroutine, hoewel het zeer wel denkbaar is, dat de modulaire structuur van een programma niet alleen op subroutines is gebaseerd. In het algemeen moeten bij het aanspreken van subroutines bepaalde gegevens worden overgeheveld van en naar de subroutine. Om dit uit te werken veranderen we het eerder gebruikte verwisselprogramma een beetje. De opzet was als volgt: Programmastructuren blz. 3

18 Hoofdprogramma:... call Verwissel... <--- Subroutine: Verwissel: movf temp1, ; movwf temp3 movf temp2, movwf temp1 movf temp3, movwf temp2 return Dit functioneert niet erg flexibel. De starre adressering laat nauwelijks hergebruik toe. Dit kan aanzienlijk worden verbeterd door de adressen van de te verwisselen getallen door te geven via een geschikt register. In de PIC 16F84 worden hiervoor de registers FSR (pointer) en het INDF register gebruikt. Deze laten indirecte adressering toe. We bekijken nu hoe het programma eruit komt te zien: Hoofdprogramma: org h ; startup address = movlw x7 movwf x23 movlw x9 movwf x24 start movlw x23 ; benoem het eerste register welke movwf FSR ; in het FSR pointerregister komt te staan call verwissel2 ; verwissel inhoud van x23 en x24 goto start subroutine: verwissel2 movf INDF, movwf temp3 incf FSR movf INDF, decf FSR movwf INDF movf temp3, incf FSR movwf INDF return ; move de inhoud van het register waar naar gewezen wordt naar het w-register ; Bewaar de inhoud van het eerste register in temp3 ; Hoog de pointer 1 op ; verlaag de pointer om nar het vorige adres te wijzen ; de inhoud van het w-register naar de plaats waar de pointer aanwijst ; laad de inhoud het temp3 register in het w-register ; de pointer weer naar het tweede register ; de inhoud van W naar het tweede register Advies : tik het programma in en bekijk de simulatie.( open het Stack Window, en het File Register Window) Samenvatting In dit hoofdstuk is het nut van modulair programmeren aan de orde geweest. In dit kader is de nadruk vooral gevallen op het gebruik van subroutines. Macro's en Objecten zijn om verschillende redenen alleen met name genoemd. Een belangrijke plaats heeft de overdracht van gegevens van en naar sub- programma s ingenomen. Programmastructuren blz. 4

19 Het programmeermodel van de PIC16F84 Om een microcomputer te doorgronden moet men kennis hebben van de soorten, maten en mogelijkheden van de beschikbare registers in de processor. We noemen dat het programmeermodel. Verder is het nodig om te weten wat de spelregels zijn bij het adresseren van het geheugen, de adresseringstechnieken. In deze cursus is gekozen voor de Microtech PIC16F84 microcontroller. Het is niet alleen een microcontroller maar ook enkele standaard componenten van een microprocessorsysteem zijn reeds aan boord van de chip. De chip is verder zeer toegankelijk, eenvoudig, goedkoop en heeft een goede gratis ontwikkelomgeving. Van de processor zijn de diverse registers gegeven en een Arithmetic & Logic Unit. De ALU is getekend in de vorm van een tweetal operandregisters en een resultaatregister W. Er kunnen met de ALU operaties worden uitgevoerd op 8-bits operanden. Het gaat dus om een 8-bit microcontroller. Via enkele interne bussen worden allerlei transporten geregeld, waarbij bedacht moet worden dat vrijwel alle registers verbindingen hebben met deze bussen. De programcounter is een 13-bits register, dat wordt gebruikt om in het geheugen een plaats aan te wijzen, waar code te vinden is, die de processor nodig heeft om de eerstvolgende processtappen te kunnen ondernemen. De processor stelt de adresbus overeenkomstig de inhoud van de programcounter in en verwacht binnen een vastgestelde tijd een reactie van het geheugen in de vorm van een codebyte op de databus. De programcounter bevat steeds het adres van de volgende uit te voeren instructie. Het programmeermodel van de PIC16F84 blz 1

20 De memorymap van de PIC16F84 Er zijn twee blokken memory in de PIC16F84, het datamemory en het programmemory. Elk geheugen heeft zijn eigen bus, zodat er tegelijkertijd met de verschillende gedeelten gewerkt kunnen worden. In het data memory kan je weer twee delen onderscheiden: SFR Special Function Registers GPR General Purpose RAM Enkele Special Function Registers, zoals het statusregister, PortA, PortB etc, zullen nog uitgebreid behandeld worden. Het GPR kan vrij gebruikt worden. Daarnaast is er nog een stuk EEPROM. Hierin kunnen bijvoorbeeld meetwaarden of tabellen in opgenomen worden die niet verloren mogen gaan als de spanning niet aanstaat. Het EEPROM gedeelte is indirect gemaped in de memory MAP. Hiertoe is er een indirecte EEPROM pointer aanwezig (EEADR, x9). Deze werkt op een soortgelijke wijze als het FSR (Zie hoofdstuk 7. van de datasheet) Program memory De PIC16F84 heeft een 13-bit, door de programcounter aangewezen 124 x 14 bits breed geïmplementeerd memory geheugen. (h-3ffh) Van de 8K die adresseerbar is, is er 1K effectief adresseerbaar. Er zijn twee bijzondere plaatsen in dat geheugen. Ten eerste de resetvector: Bij een reset wordt de programcounter op h gezet zodat daar het programma start. Daarnaast is nog de zogenaamde interruptvector. Als er een interrupt onstaat dat zal de programcounter met 4h gevuld worden en zal het programma daar verder gaan. De interruptverwerking wordt verder in deze cursusbesproken. Het programmeermodel van de PIC16F84 blz 2

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

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

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

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

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

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

Inhoud vandaag. Interrupts. Algemeen ARM7 AIC

Inhoud vandaag. Interrupts. Algemeen ARM7 AIC Inhoud vandaag Interrupts Algemeen ARM7 AIC Interrupts Wat is een interrupt? Een interrupt is een onderbreking van de huidige bezigheden ten gevolge van een externe gebeurtenis, zodanig dat de bezigheden

Nadere informatie

RAM geheugens. Jan Genoe KHLim. Situering RAM-geheugens. Geheugens. Halfgeleider Geheugens. Willekeurig toegankelijk geheugen

RAM geheugens. Jan Genoe KHLim. Situering RAM-geheugens. Geheugens. Halfgeleider Geheugens. Willekeurig toegankelijk geheugen Jan Genoe KHLim Situering RAM-geheugens Geheugens Halfgeleider Geheugens Serieel toegankelijk geheugen Willekeurig toegankelijk geheugen Read Only Memory ROM Random Access Memory RAM Statische RAM SRAM

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

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

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

De CPU in detail Hoe worden instruc4es uitgevoerd? Processoren 28 februari 2012

De CPU in detail Hoe worden instruc4es uitgevoerd? Processoren 28 februari 2012 De CPU in detail Hoe worden instruc4es uitgevoerd? Processoren 28 februari 2012 Tanenbaum hoofdstuk 2 von Neumann - architectuur. Tanenbaum, Structured Computer Organiza4on, FiMh Edi4on, 2006 Pearson Educa4on,

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

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

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

Technische Notities van PE1RRT

Technische Notities van PE1RRT Technische Notities van PE1RRT Experimenteren met de PIC Dit artikel is een vervolg op de vorige Technische Notities van Marc. Destijds is de architectuur van de PIC16F84 doorgelicht. Nu is het moment

Nadere informatie

PIC PROGRAMMEREN. Door H. Dorst, m.m.v. Joop van Schaik. Versie 13 mei 2009

PIC PROGRAMMEREN. Door H. Dorst, m.m.v. Joop van Schaik. Versie 13 mei 2009 PIC PROGRAMMEREN Door H. Dorst, m.m.v. Joop van Schaik. Versie 3 mei 29 Inleiding Het programmeren van een PIC processor gebeurt door het invoeren van instructies (opdrachten). De lijst instructies, de

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

LocoIO Handleiding HDM08

LocoIO Handleiding HDM08 LocoIO Handleiding HDM08 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

Digitale technieken Deeltoets II

Digitale technieken Deeltoets II Digitale technieken Deeltoets II André Deutz 11 januari, 2008 De opgaven kunnen uiteraard in een willekeurige volgorde gemaakt worden geef heel duidelijk aan op welke opgave een antwoord gegegeven wordt.

Nadere informatie

Getalformaten, timers en tellers

Getalformaten, timers en tellers Getalformaten, timers en tellers S_CU CU S PV R CV DEZ CV_BCD S_ODT S TV BI R BCD 1 pagina 1 Getalformaten (16 bits) PG CPU BCD W#16#296 Voorteken (+) 2 9 6 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 Positieve getallen

Nadere informatie

De PIC Microcontroller

De PIC Microcontroller 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 Inhoud presentatie 2 Waarom starten met een PIC Microcontroller? hoe

Nadere informatie

12.1 Input/output-kaart IOK. Informatieblad 12 input/output-kaart versie 1.0. Beperking aansprakelijkheid

12.1 Input/output-kaart IOK. Informatieblad 12 input/output-kaart versie 1.0. Beperking aansprakelijkheid Beperking aansprakelijkheid De aansprakelijkheid van het bestuur van de HCCM is beperkt als omschreven in informatieblad 1 12 Input/output-kaarten De uitgangen van de input/output-kaart (IOK) hebben dezelfde

Nadere informatie

VRIJ TECHNISCH INSTITUUT Burg.Geyskensstraat 11 3580 BERINGEN. De PLC geïntegreerd in de PC. Vak: Toegepaste informatica Auteur: Ludwig Theunis

VRIJ TECHNISCH INSTITUUT Burg.Geyskensstraat 11 3580 BERINGEN. De PLC geïntegreerd in de PC. Vak: Toegepaste informatica Auteur: Ludwig Theunis Burg.Geyskensstraat 11 3580 BERINGEN De PLC geïntegreerd in de PC. Vak: Toegepaste informatica Auteur: Ludwig Theunis Versie: vrijdag 2 november 2007 2 Toegepaste informatica 1 De Microprocessor Zowel

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

Hoofdstuk 19. Embedded systemen

Hoofdstuk 19. Embedded systemen Hoofdstuk 19 Embedded systemen 1 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15(pc) NZCV CPSR Figuur 19.1: ARM-programmeermodel. Byte 0 Byte 1 Byte 2 Byte 3 Byte 3 Byte 2 Byte 1 Byte 0 Figuur 19.2:

Nadere informatie

HANDLEIDING. Dit document beschrijft de installatie, configuratie en gebruik van de Netduino Plus 2 monitoring oplossing

HANDLEIDING. Dit document beschrijft de installatie, configuratie en gebruik van de Netduino Plus 2 monitoring oplossing 1 HANDLEIDING V2.0.2.0-2013 Dit document beschrijft de installatie, configuratie en gebruik van de Netduino Plus 2 monitoring oplossing Inhoudsopgave 2 Inhoudsopgave... 2 Inleiding... 3 Software installatie...

Nadere informatie

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

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 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

INHOUD. KHLim dep IWT MeRa 1/22

INHOUD. KHLim dep IWT MeRa 1/22 INHOUD 1.Aanmaken van een nieuw S7 project... 2 1.1 Openen van een nieuw project.... 2 1.2 invoegen van een S7 station... 2 1.3 openen van de hardware... 3 1.4 Invoegen van een Rack... 3 1.5 Downloaden

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

Mini Handleiding over Elektronica-onderdelen

Mini Handleiding over Elektronica-onderdelen Mini Handleiding over Elektronica-onderdelen Deze handleiding is speciaal geschreven voor kinderen vanaf 10 jaar. Op een eenvoudige manier en in begrijpelijke tekst leer je stapsgewijs wat elk elektronica-onderdeel

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

Inleiding Digitale Techniek

Inleiding Digitale Techniek Inleiding Digitale Techniek Week 4 Binaire optellers, tellen, vermenigvuldigen, delen Jesse op den Brouw INLDIG/25-26 Optellen Optellen is één van meest gebruikte rekenkundige operatie in digitale systemen.

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

(display1.jpg) Display met 8 leds, geheel links zit de MHz / khz schakelaar, rechts de 8 ledjes met erboven de MHz schaal en eronder de khz schaal.

(display1.jpg) Display met 8 leds, geheel links zit de MHz / khz schakelaar, rechts de 8 ledjes met erboven de MHz schaal en eronder de khz schaal. De SUSI frequentie teller. SUSI is de afkorting van SUper Simpel en dat klinkt vele QRPers als muziek in de oren. Deze teller is dan ook bedoeld voor eenvoudige QRP transceivers. Het aantal componenten

Nadere informatie

Onderwijseenheid INLMIC Inleiding microcontrollers

Onderwijseenheid INLMIC Inleiding microcontrollers Studiebelasting: 3 CP Kwartaal: EQ1.1, EQ3D.1 Verantwoordelijke docenten: J.E.J. op den Brouw, B. Kuiper Opbouw onderwijseenheid. OEdeel kwt sbu theo pract proj toetswijze bs INLMIC-co1 1 42 14 Meerkeuze

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

Programmering Tiny45 voor de DCC locdecoder

Programmering Tiny45 voor de DCC locdecoder Programmering Tiny45 voor de DCC locdecoder Dit is een beschrijving voor het programmeren van de Tiny45 van de locdecoder. Voor de eerste programmering is een programmer voor Atmel AVR mikrocontrollers

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

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

Vraag 1 (2 punten) (iii) Een lees-opdracht van virtueel adres 2148 seg 0, offset 2148 - idem

Vraag 1 (2 punten) (iii) Een lees-opdracht van virtueel adres 2148 seg 0, offset 2148 - idem Tentamen A2 (deel b) 24-06-2004 Geef (liefst beknopte en heldere) motivatie bij je antwoorden; dus niet enkel ja of nee antwoorden, maar ook waarom. Geef van berekeningen niet alleen het eindresultaat,

Nadere informatie

GEINTEGREERDE PROEF DE COMPUTER ALS TV AFSTANDSBEDIENING

GEINTEGREERDE PROEF DE COMPUTER ALS TV AFSTANDSBEDIENING 7 IC De Computer als TV afstandsbediening - 1 - KTA-Gent GEINTEGREERDE PROEF DE COMPUTER ALS TV AFSTANDSBEDIENING Arnoud De Kemel Industriële Computertechnieken Schooljaar 2004-2005 7 IC De Computer als

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

TOMA. De TOMA regelaar is gebouwd volgens de strenge Europese veiligheidseisen en voorzien van een CE keurmerk.

TOMA. De TOMA regelaar is gebouwd volgens de strenge Europese veiligheidseisen en voorzien van een CE keurmerk. Inleiding. Deze regelaar is in samenwerking met een Nederlands elektronica bedrijf door TOMA ontwikkeld. Daarbij is gebruik gemaakt van de nieuwste technieken, en gedacht aan bedieningsgemak en mogelijkheden.

Nadere informatie

Hoe werkt een rekenmachine?

Hoe werkt een rekenmachine? Hoe werkt een rekenmachine? Uit welke hardware-componenten bestaat een rekenmachine? Welke instructies kan de machine uitvoeren? Practicum met de rekenmachine I Constante getallen Instructies van het type

Nadere informatie

Geheugenbeheer. ICT Infrastructuren 2 december 2013

Geheugenbeheer. ICT Infrastructuren 2 december 2013 Geheugenbeheer ICT Infrastructuren 2 december 2013 Doelen van geheugenbeheer Reloca>e (flexibel gebruik van geheugen) Bescherming Gedeeld/gemeenschappelijk geheugen Logische indeling van procesonderdelen

Nadere informatie

Hoofdstuk 18. Embedded systemen

Hoofdstuk 18. Embedded systemen Hoofdstuk 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

Nadere informatie

Het koppelen van de u-remote aan de AC500-eco via Modbus TCP. A quick start guide. Jaap Ruiten

Het koppelen van de u-remote aan de AC500-eco via Modbus TCP. A quick start guide. Jaap Ruiten Het koppelen van de u-remote aan de AC500-eco via Modbus TCP. A quick start guide Jaap Ruiten Het koppelen van Weidmüller u-remote aan een AC500-eco plc. Thema: u-remote Modbus TCP Bladzijde 1 Inhoudsopgave

Nadere informatie

Hand-out Introductieworkshop LED programmeren

Hand-out Introductieworkshop LED programmeren Hand-out Introductieworkshop LED programmeren Inleiding Deze hand-out is bedoeld als naslag voor de introductie workshop LED programmeren. In deze handout vind je de uitleg over LEDs, Arduino s en LED

Nadere informatie

MODBUS remote I/O-unit type MODBUS4S110

MODBUS remote I/O-unit type MODBUS4S110 MODBUS remote I/O-unit type MODBUS4S110 Opvragen en aansturen van I/O via MODBUS RTU over RS232 of MODBUS IP of directe TCP/IP-socket. De MODBUS4S110 is een unit die als slave via MODBUS RTU (RS232) of

Nadere informatie

K-Steel deuropenermodule 1156/10 met numeriek toetsenbord

K-Steel deuropenermodule 1156/10 met numeriek toetsenbord K-Steel deuropenermodule 1156/10 met numeriek toetsenbord Versie 2.0 - februari 2007 Aan deze uitgave kunnen geen rechten worden ontleend. Wijzigingen voorbehouden. Mogelijkheden De deuropenermodule kan

Nadere informatie

Indirecte adressering

Indirecte adressering Indirecte adressering 1 pagina 1 Absolute adressering - Directe adressering Operand Operand- Supplementaire Beschrijving adres toegangsbreedte (voorbeeld) I 37.4 byte, woord, Ingangen dubbelwoord Q 27.7

Nadere informatie

KEYSTONE. OM8 - EPI 2 AS-Interface module Handleiding voor installatie en onderhoud. www.pentair.com/valves

KEYSTONE. OM8 - EPI 2 AS-Interface module Handleiding voor installatie en onderhoud. www.pentair.com/valves KEYSTONE Inhoud 1 Optionele module 8: AS-Interface module 1 2 Installatie 1 3 Communicatiekenmerken 1 4 Beschrijving van de OM8 AS-Interface module 2 5 AS-Interface protocol 3 6 Communicatie-interface

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

Fig. 5.1: Blokschema van de 555

Fig. 5.1: Blokschema van de 555 5 Timer IC 555 In de vorige drie hoofdstukken hebben we respectievelijk de Schmitt-trigger, de monostabiele en de astabiele multivibrator bestudeerd. Voor ieder van deze schakelingen bestaan in de verschillende

Nadere informatie

Bedieningspaneel. Drukknoppen en Ds

Bedieningspaneel. Drukknoppen en Ds Bedieningspaneel Dit hoofdstuk bechrijft de het bedieningspaneel en de funktie van de LEDS. Note: de labels van de knoppen en de leds kunnen iets afwijken van de tekst echter de funkties blijven hetzelfde

Nadere informatie

Dobbelsteen 6 Tabellendemo: alle opgedane ervaringen gebundeld

Dobbelsteen 6 Tabellendemo: alle opgedane ervaringen gebundeld Dobbelsteen 6 Tabellendemo: alle opgedane ervaringen gebundeld Johan Smilde Zo nu en dan moet je even een pas op de plaats maken: hoever zijn we inmiddels gekomen en wat hebben we ervan geleerd? Bij dit

Nadere informatie

Terugmeld module in combinatie met andere merken 13. Aansluiten van de meldingangen 14. In gebruik nemen en testen van de terugmeld module 16

Terugmeld module in combinatie met andere merken 13. Aansluiten van de meldingangen 14. In gebruik nemen en testen van de terugmeld module 16 06/2009 Etecmo Alle rechten voorbehouden. Niets uit deze documentatie mag worden vermenigvuldigd opgeslagen en/of openbaar gemaakt, zonder voorafgaande schriftelijke toestemming van Etecmo. Technische

Nadere informatie

Microcontrollers Week 2 Opbouw ATmega32 controller, instructies Jesse op den Brouw INLMIC/2014-2015

Microcontrollers Week 2 Opbouw ATmega32 controller, instructies Jesse op den Brouw INLMIC/2014-2015 Microcontrollers Week 2 Opbouw ATmega32 controller, instructies Jesse op den Brouw INLMIC/2014-2015 Blokdiagram ATmega32 2 ATmega32 Features 131 instructies 32 KB Flash ROM programmageheugen 2 KB Intern

Nadere informatie

REGISTERS. parallel in - parallel uit bufferregister. De klok bepaalt het moment waarop de data geladen worden. Mogelijke bijkomende ingangen:

REGISTERS. parallel in - parallel uit bufferregister. De klok bepaalt het moment waarop de data geladen worden. Mogelijke bijkomende ingangen: EGITE Een groep van flipflops om data te stockeren bufferregisters: om gegevens tijdelijk op te slaan schuifregisters: de inhoud verschuift doorheen de flipflops ynchrone schakeling Kan opgebouwd worden

Nadere informatie

Testprogramma voor EPROMprogrammer

Testprogramma voor EPROMprogrammer Testprogramma voor EPROMprogrammer MSX CLUB MAGAZINE 30 Theo van Dooren Scanned, ocr ed and converted to PDF by HansO, 2001 Het programma EPROMTST.BAS is een testprogramma voor de MSX epromprogrammer,

Nadere informatie

De Deskline configurator Advanced handleiding

De Deskline configurator Advanced handleiding De Deskline configurator Advanced handleiding Deze handleiding is voor versie 1.2.3 en hoger Zorg dat er een USB2LIN is aangesloten op de computer ( Gebruik versie 1.66 en hoger ) Zorg dat er geen andere

Nadere informatie

IDGetter BDX118 T1121 Manual V00.00.024

IDGetter BDX118 T1121 Manual V00.00.024 XLN-t bvba Hoogstraat 52 B 2580 Putte-Beerzel Belgie - Belgium tel +32 (0) 15 24 92 43 fax +32 (0) 15 25 10 58 RPR Mechelen BTW BE 423 212 087 Bank 733-2011497-38 IDGetter BDX118 T1121 Manual V00.00.024

Nadere informatie

Universele Digi Interface

Universele Digi Interface Universele Digi Interface Deze universele interface bestaat uit verschillende modules en kan daardoor ook voor verschillende toepassingen en verschillende type transceivers gebruikt worden. Het uitgangspunt

Nadere informatie

Showmaster 24 ORDERCODE 50335

Showmaster 24 ORDERCODE 50335 Showmaster 24 ORDERCODE 50335 1. Inleiding De DC-1224 is een digitale lichtcontroller, 24 DMX kanalen en 48 geheugenplaatsen voor scenes of chases met ieder 999 stappen en een MIDI in- en uitgang. Lees

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

Positie-aflezing. - LED of LCD-aflezing - met geïntegreerde microprocessor. Walda Impuls b.v. Delta 60 6825 MS Arnhem Tel 026-3638302 Fax 026-3638304

Positie-aflezing. - LED of LCD-aflezing - met geïntegreerde microprocessor. Walda Impuls b.v. Delta 60 6825 MS Arnhem Tel 026-3638302 Fax 026-3638304 SERIE Z-54 Positie-aflezing - LED of LCD-aflezing - met geïntegreerde microprocessor Walda Impuls b.v. Delta 60 6825 MS Arnhem Tel 026-3638302 Fax 026-3638304 ELGO - ELECTRIC GmbH D - 78239 Rielasingen,

Nadere informatie

520JHKHXJHQV -DQ*HQRH.+/LP

520JHKHXJHQV -DQ*HQRH.+/LP 520JHKHXJHQV -DQ*HQRH.+/LP 1 6LWXHULQJ520JHKHXJHQV Geheugens Halfgeleider Geheugens Serieel toegankelijk geheugen Willekeurig toegankelijk geheugen Read Only Memory ROM Random Access Memory RAM Masker

Nadere informatie

K2-Electronics. Project IB2 Mk-II Status Final Revisie 0.6 Datum okt. 2000. P. C. Krom, F. W. Krom. Auteur(s)

K2-Electronics. Project IB2 Mk-II Status Final Revisie 0.6 Datum okt. 2000. P. C. Krom, F. W. Krom. Auteur(s) IB2 Mk-II User documentatie. K2-Electronics Project IB2 Mk-II Status inal Revisie 0.6 Datum okt. 2000 Dit document is eigendom van K2-Electronics. Niets uit deze uitgave mag worden verveelvoudigd en /

Nadere informatie

TECHNISCHE UNIVERSITEIT EINDHOVEN FACULTEIT DER TECHNISCHE NATUURKUNDE

TECHNISCHE UNIVERSITEIT EINDHOVEN FACULTEIT DER TECHNISCHE NATUURKUNDE TECHNISCHE UNIVERSITEIT EINDHOVEN FACULTEIT DER TECHNISCHE NATUURKUNDE Tentamen Computers bij fysische experimenten (3BB20) op dinsdag 25 oktober 2005 Het tentamen duurt 90 minuten en wordt gemaakt zonder

Nadere informatie

Installatiehandleiding

Installatiehandleiding GE Security NetworX TM Series NX-216 Zone uitbreidingsmodule Installatiehandleiding g imagination at work NX-216 Installatiehandleiding Pag 2 17/06/05 INHOUDSOPGAVE INHOUDSOPGAVE... 3 ALGEMENE BESCHRIJVING...

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

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

17 Operaties op bits. 17.1 Bitoperatoren en bitexpressies

17 Operaties op bits. 17.1 Bitoperatoren en bitexpressies 17 Operaties op bits In hoofdstuk 1 is gezegd dat C oorspronkelijk bedoeld was als systeemprogrammeertaal om het besturingssysteem UNIX te implementeren. Bij dit soort toepassingen komt het voor dat afzonderlijke

Nadere informatie

HANDLEIDING - LEVEL INDICATOR M A N U A L

HANDLEIDING - LEVEL INDICATOR M A N U A L HANDLEIDING - LEVEL INDICATOR M A N U A L Ondanks de grootst mogelijke zorgvuldigheid die Tasseron Electronics B.V. aan haar producten en de bijbehorende handleidingen besteedt, kunnen er onvolkomenheden

Nadere informatie

Domotica in drie stappen: Systeem omschrijving: DDNET:

Domotica in drie stappen: Systeem omschrijving: DDNET: dmxdomotica DDC1-IP Controller. Ipad en Android Simplistic Light Domotica in drie stappen: 1: Monteren componenten en aansluiten. 2: Adressen instellen op de DMX dimmers Zones in stellen op de drukknop

Nadere informatie

TECHNISCHE UNIVERSITEIT EINDHOVEN ComputerSystemen Deeltentamen B (weken 6..9) vakcode 2M208 woensdag 19 Maart 2003, 9:00-10:30

TECHNISCHE UNIVERSITEIT EINDHOVEN ComputerSystemen Deeltentamen B (weken 6..9) vakcode 2M208 woensdag 19 Maart 2003, 9:00-10:30 TECHNISCHE UNIVERSITEIT EINDHOVEN ComputerSystemen Deeltentamen B (weken 6..9) vakcode 2M208 woensdag 19 Maart 2003, 9:00-10:30 Algemene opmerkingen (lees dit!): - Dit tentamen duurt ANDERHALF UUR! - Dit

Nadere informatie

Sciento Robot Training Arm CS-113

Sciento Robot Training Arm CS-113 Sciento Robot Training Arm CS-113 Versie: 1.0 Samengesteld door Rudi Niemeijer 1 Inleiding 1.1 Over de CS-113 De Sciento Robot Training Arm CS-113 ( de robotarm ) is een systeem dat is ontworpen om de

Nadere informatie

1 graduaat Elektriciteit/elektronica KHLim - dep. IWT HALFGELEIDER-GEHEUGENS HALFGELEIDER GEHEUGENS STATISCH DYNAMISCH ROM PROM EPROM EEROM

1 graduaat Elektriciteit/elektronica KHLim - dep. IWT HALFGELEIDER-GEHEUGENS HALFGELEIDER GEHEUGENS STATISCH DYNAMISCH ROM PROM EPROM EEROM HALFGELEIDER-GEHEUGENS HALFGELEIDER GEHEUGENS WILLEKEURIG TOEGANKELIJK SERIEEL TOEGANKELIJK RAM ROM SRG CCD MBM STATISCH DYNAMISCH ROM PROM EPROM EEROM (ALLEEN-)LEES GEHEUGEN = ROM ROM = Read Only Memory:

Nadere informatie

MULTIMEDIABOX.nl Custom made solutions hardware & software. Advanced Menu

MULTIMEDIABOX.nl Custom made solutions hardware & software. Advanced Menu MULTIMEDIABOX.nl Custom made solutions hardware & software Advanced Menu Datum: 07-06-2011 Versie: V0.01 Auteur: Multimediabox.nl RVB Plaats: Eindhoven 1 Waarschuwing: In dit document kunnen instellingen

Nadere informatie

Geïntegreerde proef. Computer gestuurd domotica systeem

Geïntegreerde proef. Computer gestuurd domotica systeem Bartels Jochem Geïntegreerde proef Computer gestuurd domotica systeem 7TSO Industriële Computer technieken Schooljaar 2004 2005 KTA1 Gent Lindenlei 38 9000 GENT Jochem Bartels Computer gestuurd domotica

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

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

Remote Powercontrol for TCP/IP networks

Remote Powercontrol for TCP/IP networks Remote Powercontrol for TCP/IP networks Gebruikershandleiding 1. Opening instructies..... 1.1 Verbinding De IP Power Switch (IPPS) moet verbonden zijn met het lichtnet (230V) en het gewenste ethernet.

Nadere informatie

FSM 2000 SCHAKELMODULE

FSM 2000 SCHAKELMODULE Gebruiksaanwijzing voor de Flex Schakel Module FSM 2000 SCHAKELMODULE Hans Rigter Hulpverleningsdienst Brabant Noord Orthenseweg 2b 5212 XA s-hertogenbosch tel: 073 6889 515 fax: 073 6889 599 gsm: 06 53

Nadere informatie

Logische bit-instructies

Logische bit-instructies Logische bit-instructies I. I. (MCRA) I. (MCR

Nadere informatie

2014-03-21 GSM500 PROGRAMMATIE HANDLEIDING

2014-03-21 GSM500 PROGRAMMATIE HANDLEIDING 2014-03-21 GSM500 PROGRAMMATIE HANDLEIDING 1. Aansluitschema 2. Specificaties Voedingsspanning 7-32 Vdc GSM frequentie GSM 850/900/1800/1900 MHz Werkingstemperatuur -20 C tot + 55 C Gewicht 220 gr Afmetingen

Nadere informatie

IDGetter BDX118 T110x Manual V00.00.015

IDGetter BDX118 T110x Manual V00.00.015 XLN-t bvba Hoogstraat 52 B 2580 Putte-Beerzel Belgie - Belgium tel +32 (0) 15 24 92 43 fax +32 (0) 15 25 10 58 RPR Mechelen BTW BE 423 212 087 Bank 733-2011497-38 IDGetter BDX118 T110x Manual V00.00.015

Nadere informatie

Toegangscontrole. Blue Line CRC50 Handleiding

Toegangscontrole. Blue Line CRC50 Handleiding Toegangscontrole Blue Line CRC50 Handleiding Voorwoord De Blue Line CRC50 is een stand-alone toegangscontrolesysteem welke tot 99 programmeerbare kaarten kan inlezen tot op een afstand van 12 cm en tot

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

MiniPlex-41 NMEA-0184 multiplexer Handleiding

MiniPlex-41 NMEA-0184 multiplexer Handleiding MiniPlex-41 NMEA-0184 multiplexer Handleiding MiniPlex-41, V1.0 Firmware V1.10 CustomWare, 2002 Inleiding De MiniPlex-41 is een vierkanaals datamultiplexer, waarmee u meerdere NMEA-0183 instrumenten op

Nadere informatie

Microcontrollers Theorie

Microcontrollers Theorie Microcontrollers Theorie 8051 based microcontroller ADuC832 from Analog Devices 07/2016 Roggemans M. (MGM) LES 1 Doelstellingen: situering vak, afspraken labo en evaluatie toelichten concept embedded oplossing

Nadere informatie

HANDLEIDING INFOBOARD SOFTWARE

HANDLEIDING INFOBOARD SOFTWARE HANDLEIDING INFOBOARD SOFTWARE Versie 2.14 / oktober 2006 INHOUDSOPGAVE 1. INLEIDING... pag. 3 2. SYSTEEM VEREISTEN... pag. 3 3. INSTALLEREN VAN DE SOFTWARE... pag. 4 4. OPSTARTEN VAN DE SOFTWARE... pag.

Nadere informatie

SmartSDR CAT + DDUtil handboek

SmartSDR CAT + DDUtil handboek SmartSDR CAT + DDUtil handboek Versie 1.0 16 november 2013 SmartSDR CAT versie: 1.1.7 Parma Communicatie Ger J. Metselaar FlexRadio Systems importeur voor de Benelux Ommelanderdrift 41 9781 LB Bedum 06

Nadere informatie

BASIS MICROCONTROLLERS. INLEIDING EN ADDENDUM BIJ HET AduC800 DATABOEK.

BASIS MICROCONTROLLERS. INLEIDING EN ADDENDUM BIJ HET AduC800 DATABOEK. BASIS MICROCONTROLLERS INLEIDING EN ADDENDUM BIJ HET AduC800 DATABOEK. ROGGEMANS M. 07/2014 2 Inhoud INLEIDING:... 4 HOOFDSTUK 1: DE UNIVERSELE VERWERKINGSEENHEID... 8 1.1 INLEIDING:... 8 1.2 HET GEHEUGEN:...

Nadere informatie

Parametrering van Iskra ECS- en ECS-Basic serie meters

Parametrering van Iskra ECS- en ECS-Basic serie meters Parametrering van Iskra ECS- en ECS-Basic serie meters 1 CT ratio instellen 2 Pulswaarde instellen 3 Modbus parametrering 4 M-bus parametrering De ECS serie met losse interface modules kende een basic

Nadere informatie