De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Beginnen met PIC's Jelle Aarnoudse

Verwante presentaties


Presentatie over: "Beginnen met PIC's Jelle Aarnoudse"— Transcript van de presentatie:

1 Beginnen met PIC's Jelle Aarnoudse

2 13 oktober 2006 PE1EAM 2 Inleiding Wat is een microcontroller? Wat kun je ermee? Hoe doe je dat dan? Wat heb je daarvoor nodig? Hoe kom je daaraan? Programmeren Voorbeeldprojecten Tips en valkuilen

3 13 oktober 2006 PE1EAM 3 Basale opbouw computersysteem I / O

4 13 oktober 2006 PE1EAM 4 CPU / ALU + - AND OR XOR RLF RRF Swap

5 13 oktober 2006 PE1EAM 5 Microcontroller

6 13 oktober 2006 PE1EAM 6

7 13 oktober 2006 PE1EAM 7

8 13 oktober 2006 PE1EAM 8 Wat is een microcontroller? Wat kun je ermee? Hoe doe je dat dan? Wat heb je daarvoor nodig? Hoe kom je daaraan? Programmeren Voorbeeldprojecten Tips en valkuilen

9 13 oktober 2006 PE1EAM 9 Data manipulatie add, sub, AND, OR, XOR, rlf, rrf, swap W = File + W, W = Literal + W File = File + W let op SUBWF : W = File – W SUBLW : W = Literal - W inc, dec : File only

10 13 oktober 2006 PE1EAM 10 Rotate Left C RegisterDec Hex RLF RLF RLF RLF

11 13 oktober 2006 PE1EAM 11 Rotate Left (vervolg) C RegisterDec Hex RLF RLF RLF RLF

12 13 oktober 2006 PE1EAM 12 Bit manipulatie en Skip BCF (bit clear), BSF (bit set) BTFSC (bit test skip if clear), BTFSS (...) flags zitten in het geheugen increment / decrement met skip

13 13 oktober 2006 PE1EAM 13 BCF / BSF PORTBHexDec F 15 BCF PORTB, B 11

14 13 oktober 2006 PE1EAM 14 BTFSC / BTFSS btfscPORTA,0;Input ! bsfPORTB,0;Output! btfscPORTA,1;Input ! bsfPORTB,1;Output!

15 13 oktober 2006 PE1EAM 15 INCFSZ / DECFSZ movlw5 movwfTELLER Lab1doe iets ……….. decfszTELLER,F gotoLab1 ga verder

16 13 oktober 2006 PE1EAM 16 Flow control goto call, return, retlw retfie sleep clrwdt (clear watchdog counter)

17 13 oktober 2006 PE1EAM 17 Memory Map 12C509

18 13 oktober 2006 PE1EAM 18 16F877

19 13 oktober 2006 PE1EAM 19

20 13 oktober 2006 PE1EAM 20 Wat is een microcontroller? Wat kun je ermee? Hoe doe je dat dan? Wat heb je daarvoor nodig? Hoe kom je daaraan? Programmeren Voorbeeldprojecten Tips en valkuilen

21 13 oktober 2006 PE1EAM 21 een doel microcontroller target circuit + voeding assembler of compiler PC met internet en printer (datasheets!) Programmer-hardware en -software Wat heb je nodig

22 13 oktober 2006 PE1EAM 22

23 13 oktober 2006 PE1EAM 23

24 13 oktober 2006 PE1EAM 24

25 13 oktober 2006 PE1EAM 25

26 13 oktober 2006 PE1EAM 26

27 13 oktober 2006 PE1EAM 27

28 13 oktober 2006 PE1EAM 28 Programmers: 3 soorten low-cost –serial-port powered –parallel port, extern powered serious –serial or USB –power from USB, target or external

29 13 oktober 2006 PE1EAM 29 Kosten: ca. € 5,00

30 13 oktober 2006 PE1EAM 30 Kosten: ca. € 15,00

31 13 oktober 2006 PE1EAM 31

32 13 oktober 2006 PE1EAM 32 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Blink.asm ; Blink a LED on PORTA,0 if PORTB,0=0 ; ; Clock: X-tal of 4 MHz ; ; Jelle Aarnoudse, PE1EAM, May 2006 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; LIST P=PIC16F84A #include "P16F84A.INC" __CONFIG _HS_OSC & _WDT_OFF ; Define constants #Define_LEDPORTB,0 #Define_SwitchPORTA,0 #define__RP0STATUS,RP0 ; Define RAM-variables CBLOCK20Ch Delay; Variable used for delay-routine ENDC Voorbeeldprogrammaatje

33 13 oktober 2006 PE1EAM 33 org0 gotoInit ; Initialize registers Init bsf _RP0;select Bank1 movlw B' ';PORTA,0 is output (LED) movwf TRISA movlw B' ';RBpull-up enabled; T0CS intern; movwf OPTION_REG;prescaler to TMR0/128 bcf__RP0;select Bank0 Mainloop btfsc_Switch;if switch not pressed: goto Mainloop; loop to Mainloop bsf_LED;LED on callDelay250ms;delay bcf_LED;LED off callDelay250ms;delay gotoMainloop;goto mainloop ; Delay-routine of 250 ms ; Uses: RAM-variable Delay and W ; Total time (incl. call)= *3+1+2 = 248 ms Delay250ms movlwD'81'; 1 movwfDelay; 1 Delay1 decfszDelay; 1 gotoDelay1; 2 return; 2 END

34 13 oktober 2006 PE1EAM 34 En nu (bijna) hetzelfde in JAL….. include f84A include jlib pragma target fuses 0x3FFA var bit LED is pin_a0 pin_a0_direction = output forever loop delay_250ms( 5 ) LED = high delay_250ms( 5 ) LED = low end loop

35 13 oktober 2006 PE1EAM 35 Hoe kom je eraan PIC’s: Programmer: zelf bouwen Software: gratis te downloaden MPLAB, WinPicProg, JAL

36 13 oktober 2006 PE1EAM 36 Voorbeeldprojecten fietshellingmeter klapschakelaar nixieklok frequentiecounter voor de AntAn meetzender met DDS en cleanup-oscillator à la PAoKSB IR-afstandsbestuurd robotje met stappenmotoren gedichtengenerator capaciteits- en ESR-meter (Elektuur sept 2005) semiconductoranalyzer (Elektuur april 2005). standalone 433MHz Tx-module

37 13 oktober 2006 PE1EAM 37 Tips en valkuilen Beperk je tot één assembler of compiler Loop alle instellingen van je assembler/compiler na Doorgrond de CONFIG-instellingen Zet de WDT- brownout- en copy-protect-bits uit Bouw testindicatoren in Bouw je programma modulair op Test stukje voor beetje Simuleer! Documenteer!


Download ppt "Beginnen met PIC's Jelle Aarnoudse"

Verwante presentaties


Ads door Google