Ik ben van plan om voor mn profielwerkstuk iets te maken waarin ik een zelf geprogrammeerde microcontroller in zet. Nu ben ik eens rond gaan kijken hoe dat allemaal zit, valt een beetje tegen maar toch. Ik ben aan het expirimenteren gegaan, en mbv de tut op http://www.circuitsonline.net/artikelen/view/8/print heb ik wat aangeklooid. Het gaan om de volgende microcontroller:

Dit is zn registerfile map:

Nu heb ik met MPLAB v6.4 de volgende code geassembleerd
Dit gaat allemaal goed. Nu heb ik ook een prog genaamd PIC Simulator, en die simuleert wat er in het echt gebeurt. Dus ik laad de .hex daarin en dan kan ik gaan simuleren. Nu "sluit" ik het aan op een oscilliscope, en het volgende gebeurt:
Eerst lijkt alles naar behoren te werken, de oscilliscope geeft een high-input aan, en na zoveel cycles, gaat ie omlaag. En het probleem is dat ie dan ook uit blijft. Terwijl het de bedoeling is dat ie weer aangaat na een tijdje. Wat doe ik fout


Dit is zn registerfile map:

Nu heb ik met MPLAB v6.4 de volgende code geassembleerd
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
| instelporta EQU 85h
porta EQU 05h
teller EQU 40h
teller2 EQU 41h
ORG 00h
BSF 03h, 5h
CLRF instelporta
knipper BCF 03h, 5h
MOVLW 01h
MOVWF porta
MOVLW 007h
MOVWF teller2
verder MOVLW 007h
MOVWF teller
opnieuw DECFSZ teller, 1
GOTO opnieuw
DECFSZ teller2, 1
GOTO verder
MOVLW 00h
MOVWF porta
MOVLW 007h ;1 cycle
MOVWF teller2 ;1 cycle
verder1 MOVLW 007h ;1 cycle
MOVWF teller ;1 cycle
opnieuw2 DECFSZ teller, 1 ;1 cycle
GOTO opnieuw2 ;2 cycles
DECFSZ teller2, 1
GOTO verder
GOTO knipper
END |
Dit gaat allemaal goed. Nu heb ik ook een prog genaamd PIC Simulator, en die simuleert wat er in het echt gebeurt. Dus ik laad de .hex daarin en dan kan ik gaan simuleren. Nu "sluit" ik het aan op een oscilliscope, en het volgende gebeurt:
Eerst lijkt alles naar behoren te werken, de oscilliscope geeft een high-input aan, en na zoveel cycles, gaat ie omlaag. En het probleem is dat ie dan ook uit blijft. Terwijl het de bedoeling is dat ie weer aangaat na een tijdje. Wat doe ik fout
[ Voor 17% gewijzigd door Verwijderd op 26-02-2004 19:28 ]