PIC 16F84 programmeercursus

Bij: Veron afdeling Meppel (A32)

Cursusleider: Dennis Koller PA4DEN

Name                    Size      Date   Time
dec2hex.doc          121,856  03-11-01  11:32
dec2hex.xls           53,248  03-11-01  11:32
digitaal rekenen.doc  55,296  11-11-01  20:09
hoofdpunten.doc    32,256  07-11-01	11:18
index.htm              1,964  11-11-01  20:09
les3.asm               1,132  24-11-01  15:22
LES3.COD               5,632  24-11-01  15:22
LES3.HEX                 161  24-11-01  15:22
LES3.LST               6,262  24-11-01  15:22
port.doc               39396  24-11-01  18:08
quickreference.pdf   322,560  24-11-01  15:23
registermap.pdf        8,734  24-11-01  15:23
tabel7_2.pdf          11,883  24-11-01  15:23
 

Overzicht documenten PIC16F84

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1335&dDocName=en010230 

Technische Notities over de PIC in Electron van PE1RRT Marc Simons

  • Experimenteren met de PIC16F84, augustus 2000/314 , december 2000/492
  • Aansturen van IIC-IC's met PIC, november 1999/465
  • Experimenteren met LCD-Displays en PIC, juni 1998/236

Tabellen die tijdens de cursus zijn uitgereikt:

Overzicht registers en geheugen registermap.pdf
De instructietabel van de PIC16F84 tabel7_2.pdf
De omrekentabel tussen decimaal, hexadecimaal en binair dec2hex.xls
Dezelfde tabel in Word-formaat dec2hex.doc
 

Les 2:

Samenvatting van Dennis: hoofdpunten.doc

 

Les 3:

Tijdens de les is gebleken dat MPASM meer instructies kent 
dan in de tabel voor de PIC 16F84 staan.
Een volledig overzicht hiervan staat in: quickreference.pdf
In het kort de werking van de PORT en TRIS -registers: port.doc
Alternatief programma voor het looplicht van les 3. (Zeer kort)
(8 LEDS aangesloten op PORTB)
les3.asm
	LIST      P=16F84
	#include P16F84.inc
	__CONFIG _CP_OFF & _XT_OSC & _WDT_OFF
	BSF	STATUS	,RP0	;schakel naar andere geheugenbank
	CLRF    TRISB		;alle bits van PORTB uitgang
	BCF	STATUS	,RP0	;schakel geheugenbank weer terug
	CLRF	PORTB		;alle bits PORTB op 0
	SETC			;zet carry=1 (hier wordt een bit klaargezet dat straks in PORTB geschoven wordt)
LEFT	RLF	PORTB	,F	;schuif alle bits van PORTB naar links
	CALL    WAIT		;wacht
	BTFSS	PORTB	,7	;kijk of het laatste bit van PORTB 1 is.
	GOTO    LEFT		;zolang laatste bit van PORTB nog niet 1 is, blijf linksom schuiven
RIGHT	RRF	PORTB	,F	;schuif alle bits van PORTB naar rechts
	CALL	WAIT		;wacht
	BTFSS	PORTB	,0	;kijk of het eerste bit van PORTB 1 is.
	GOTO	RIGHT		;zolang het eerste bit van PORTB nog niet 1 is, blijf rechtsom schuiven
	GOTO	LEFT		;als het eerste bit van PORTB wel 1 is ga dan weer linksom schuiven
WAIT	MOVLW   0x00		;in deze routine wordt gewacht...
	MOVWF   0x0C
	MOVLW   0x00
	MOVWF   0x0D
WT	DECFSZ  0x0D	,F
	GOTO    WT
	DECFSZ  0x0C	,F
	GOTO    WT
	RETURN			;klaar met wachten?... keer terug naar het programma
	END
 

Les 4:

Dinsdag 27 november.