De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Jelle Aarnoudse pe1eam@amsat.org Beginnen met PIC's Jelle Aarnoudse pe1eam@amsat.org.

Verwante presentaties


Presentatie over: "Jelle Aarnoudse pe1eam@amsat.org Beginnen met PIC's Jelle Aarnoudse pe1eam@amsat.org."— Transcript van de presentatie:

1 Jelle Aarnoudse pe1eam@amsat.org
Beginnen met PIC's Jelle Aarnoudse

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 PE1EAM 13 oktober 2006

3 Basale opbouw computersysteem
I / O PE1EAM 13 oktober 2006

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

5 Microcontroller PE1EAM 13 oktober 2006

6 PE1EAM 13 oktober 2006

7 PE1EAM 13 oktober 2006

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 PE1EAM 13 oktober 2006

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 PE1EAM 13 oktober 2006

10 Rotate Left C Register Dec Hex 0 0000 0010 2 2 RLF 0 0000 0100 4 4
RLF PE1EAM 13 oktober 2006

11 Rotate Left (vervolg) C Register Dec Hex 0 0010 0000 32 20 RLF
RLF PE1EAM 13 oktober 2006

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 PE1EAM 13 oktober 2006

13 BCF / BSF PORTB Hex Dec 0000 1111 0F 15 BCF PORTB,2 0000 1011 0B 11
PE1EAM 13 oktober 2006

14 BTFSC / BTFSS btfsc PORTA,0 ;Input ! bsf PORTB,0 ;Output!
PE1EAM 13 oktober 2006

15 INCFSZ / DECFSZ movlw 5 movwf TELLER Lab1 doe iets ………..
decfsz TELLER,F goto Lab1 ga verder PE1EAM 13 oktober 2006

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

17 Memory Map 12C509 PE1EAM 13 oktober 2006

18 16F877 PE1EAM 13 oktober 2006

19 PE1EAM 13 oktober 2006

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 PE1EAM 13 oktober 2006

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

22 PE1EAM 13 oktober 2006

23 PE1EAM 13 oktober 2006

24 PE1EAM 13 oktober 2006

25 PE1EAM 13 oktober 2006

26 PE1EAM 13 oktober 2006

27 PE1EAM 13 oktober 2006

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

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

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

31 PE1EAM 13 oktober 2006

32 Voorbeeldprogrammaatje
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; 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 _LED PORTB,0 #Define _Switch PORTA,0 #define __RP0 STATUS,RP0 ; Define RAM-variables CBLOCK 20Ch Delay ; Variable used for delay-routine ENDC PE1EAM 13 oktober 2006

33 org 0 goto Init ; 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 call Delay250ms ;delay bcf _LED ;LED off goto Mainloop ;goto mainloop ; Delay-routine of 250 ms ; Uses: RAM-variable Delay and W ; Total time (incl. call)= *3+1+2 = 248 ms Delay250ms movlw D'81' ; 1 movwf Delay ; 1 Delay1 decfsz Delay ; 1 goto Delay1 ; 2 return ; 2 END PE1EAM 13 oktober 2006

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 LED = low end loop PE1EAM 13 oktober 2006

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

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 PE1EAM 13 oktober 2006

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! PE1EAM 13 oktober 2006


Download ppt "Jelle Aarnoudse pe1eam@amsat.org Beginnen met PIC's Jelle Aarnoudse pe1eam@amsat.org."

Verwante presentaties


Ads door Google