Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdThijmen Eilander Laatst gewijzigd meer dan 10 jaar geleden
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
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.