Eindelijk weer een post van onze kant! We hebben zeker niet stilgezeten. Het raamwerk is zo goed als af, alleen de lasers en sensoren moeten nog geplaatst worden en de electronica moet nog in een kastje gebouwd worden. Onze chip hebben we op de TU geprogrammeerd en die hebben we gister opgehaal. Maar eenmaal thuis gingen we het uitproberen maar er blijft telkens 055 op het display staan. Degene die ons heeft geholpen is op vakantie en aangezien wij geen ervaring hebben met de programmeertaal en dus niet weten wat er fout is dachten we dat jullie ons verder konden helpen. Dit staat nu op de chip geprogrammeerd:
;*******************************************************************************************************
;General information
;*******************************************************************************************************
;Project name: Profielwerkstuk
;Function: Measuring the speed of an object passing two laserbeams
;Designer Marissa en Mariëtte van de Water
;PIC-type: PIC16F628A
;Created: 30-09-2008
;Last editted: 07-11-2008
;Fuses: BODEN=Off WDT=Off PWRT=On Mclr=Off LVP=Off CPD=Off Oscillator= 4MHz Crystal
;*******************************************************************************************************
; Variabal Declaration
;*******************************************************************************************************
PortA equ 05h
PortB equ 06h
TrisA equ 85h
TrisB equ 86h
Status equ 03h
Opt equ 81h
Comp equ 1Fh
T1Con equ 10h
TMR1H equ 0Fh
TMR1L equ 0Eh
DelayCount1 equ 20h
DelayCount2 equ 21h
DelayCount3 equ 22h
Speed equ 23h
G100 equ 24h
G10 equ 25h
G1 equ 26h
ValH equ 27h
ValM equ 28h
ValL equ 29h
#define Carry Status, 0
#define Zero Status, 2
#define S1 PortA, 4
#define S2 PortA, 5
;*******************************************************************************************************
;Initialisation
;*******************************************************************************************************
org 00h
movlw b'00000111'
movwf Comp ;set comparators Off
movlw b'00000000'
movwf T1Con ;set timers (off)
bsf Status, 5
movlw b'00110000'
movwf TrisA ;set the ports of Port A
movlw b'00000000'
movwf TrisB ;set the ports of Port B
bcf Status, 5 ;move back to bank 0
clrf PortA
clrf PortB ;clear outputs
;*******************************************************************************************************
;Main Program
;*******************************************************************************************************
MAIN ;start main program
clrf TMR1L
clrf TMR1H
btfss S1
goto $ - 1
movlw b'00000001'
movwf T1Con ;set timers (on)
btfss S2
goto $ - 1
movlw b'00000000'
movwf T1Con ;set timers (off)
movlw d'1'
movwf ValH
movlw d'74'
movwf ValM
movlw d'165'
movwf ValL
clrf Speed
Loop incf Speed, F
movfw TMR1L
subwf ValL, F
btfsc Carry
goto MByte
movlw 01h
subwf ValM, F
btfsc Carry
goto MByte
movlw 01h
subwf ValH, F
btfss Carry
goto display
MByte movfw TMR1H
subwf ValM, F
btfsc Carry
goto Loop
movlw 01h
subwf ValH, F
btfss Carry
goto display
goto Loop
display
decf Speed, F
clrf G100
clrf G10
clrf G1
movlw d'100'
subwf Speed, F
incf G100, F
btfsc Carry
goto $ - 4
movlw d'100'
addwf Speed, F
decf G100, F
movlw d'10'
subwf Speed, F
incf G10, F
btfsc Carry
goto $ - 4
movlw d'10'
addwf Speed, F
decf G10, F
movlw d'1'
subwf Speed, F
incf G1, F
btfsc Carry
goto $ - 4
movlw d'1'
addwf Speed, F
decf G1, F
movfw G100
movwf PortA
movfw G10
movwf PortB
swapf PortB, F
movfw G1
addwf PortB, F
goto MAIN
end
***********************************************************
Zien jullie ergens een fout?
We hebben ook wat foto's:
en alles aan elkaar:
en het frame gemaakt van aluminium hoek profielen aan elkaar gemaakt met kunstof en bevestigt met popnagels aan elkaar (we hadden deze profielen thuis nog liggen van de koelcel)
hopelijk kunnen jullie ons helpen!
Bedankt!