Geranium
"Ik ben wel dom, maar niet slim!"
Ik heb een pic16f876a op een testprintje geboetseerd, en wil hiermee een beetje expirimenteren. Uiteindelijk wil ik hier een 1 kanaals DMX dimmer van maken. Is er iemand die mij hiermee wil helpen?
Ik loop al vast bij het instellen van de io's
LIST P=16F876A
#include <P16F876A.INC>
ORG 00h
GOTO INIT
INIT
BSF STATUS, RP0
MOVLW B'11111000'
MOVWF TRISB
Ik krijg de volgende foutmelding:
Message[302] C:\DMX\TESTBORD\TESTBORD.ASM 23 : Register in operand not in bank 0. Ensure that bank bits are correct.
Hoe kom ik in hemelsnaam hier van af?
Je moet in de goede bank zitten voordat je register kan instellen.
Weet het niet uit mijn hoofd, zie datasheet.
je kan een regeltje toevoegen zodat MPLAB de mededeling achterwege laat.
De melding is afkomstig van de bankswitch,Dit doet het programma altijd als je van bank wisselt.
Het is ook geen fout maar een Message[302]
als het goed is staat er ook Build succesful.
Gewoon negeren dus.
Geranium
"Ik ben wel dom, maar niet slim!"
Okee nu heb ik de volgende code:
LIST P=16F876A
#include <P16F876A.INC>
ORG 00h
GOTO INIT
INIT
BSF STATUS, RP1
MOVLW B'11111000'
MOVWF TRISB
GOTO MAIN
MAIN
MOVLW B'00000111'
MOVWF PORTB
GOTO MAIN
END
rb0,1 en 2 worden echter nog niet hoog. Wat doe ik hier fout?
Geranium
"Ik ben wel dom, maar niet slim!"
hmm doet nog niets. Heb al geswitcht tussen XT en HS bij de oscillator maar dat haalt ook niets uit.
Ik moet toch een bitje 0 maken om te laten sinken naar 0v?
Op 23 maart 2006 22:39:33 schreef Geranium:
hmm doet nog niets. Heb al geswitcht tussen XT en HS bij de oscillator maar dat haalt ook niets uit.
Omdat de BSF ook nog fout was: Hou je BANK in de gaten!!!!
chipje
Why do people spend money they don't have, to buy things they don't need, to impress people they don't like...? .-.-.-.-. Wie zich gelukkig voelt met het geluk van anderen, bezit een rijkdom zonder grenzen.
Op 23 maart 2006 22:13:08 schreef JuuL:
Je moet in de goede bank zitten voordat je register kan instellen.
Weet het niet uit mijn hoofd, zie datasheet.
Het antwoord was je al gegeven.
Maar goed, je pic start normaal op in bank 0.
Om naar de tris register te schrijven moet je naar bank 1.
Dat doe je met :
BSF STATUS RP0 (RP0 om te switchen tussen bank 0 en 1 - RP1 is voor bank 2 en 3, zie de datasheet)
Daarna stel je de tris register in :
MOVLW B'11111000
MOVWF TRISB
Daarna moet je weer terug naar bank 0 !!! dus :
BCF STATUS RP0 (deze regel ontbrak nog)
Daarna kun je verder in je programma, en schrijven naar portb. 
Geranium
"Ik ben wel dom, maar niet slim!"
okee, ik heb em dus ingesteld op HS. komt ook daadwerkelijk klokpuls vanaf. Op CLKI aangesloten. Poorten laten sinken werkt niet. mclr komt netjes terug naar 5v na het proggen. maar de ledjes branden nog steeds niet.
\edit
ik heb de banks ingesteld zoals zojuist opgegeven maar het geheel werkt nog steeds niet
\edit
[Bericht gewijzigd door Geranium op ]
chipje
Why do people spend money they don't have, to buy things they don't need, to impress people they don't like...? .-.-.-.-. Wie zich gelukkig voelt met het geluk van anderen, bezit een rijkdom zonder grenzen.
Op 23 maart 2006 22:47:00 schreef Geranium:
okee, ik heb em dus ingesteld op HS. komt ook daadwerkelijk klokpuls vanaf. Op CLKI aangesloten. Poorten laten sinken werkt niet. mclr komt netjes terug naar 5v na het proggen. maar de ledjes branden nog steeds niet.
........
Even voor de duidelijkheid:
Je steld met trisb b0, b1 en b2 in als uitgang, de rest als ingang.
Daarna maak je b0, b1 en b2 hoog(1), en blijf dat herhalen in een lus.
Wat bedoel je met "Poorten laten sinken werkt niet"? (je maakt ze hoog, dus zullen ze ook niets sinken...)
Waar heb je die leds nu op aangesloten? en hoe?
T.Assies
Ik zie dingen die je nooit voor mogelijk hield. Ik maak ze mogelijk. Ik kan je pijn en lijden laten zien. In tegenslag vind ik hoop, in de verhalen die ik hoor inspiratie. Ik kan je veel vertellen. Wat ik doe? Ik ontdek. Mijn wereld is jouw wereld.
met dmx in een pic kan ik je helpen, ik ben er ook regelmatig mee bezig. Morgen zal ik uitgebreid reageren 
Geranium
"Ik ben wel dom, maar niet slim!"
Ik heb die ledjes via een weerstand aan de gnd hangen. Ik krijg nog steeds geen enkel signaal op mn portb
Wouter van Ooijen
Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
Op 23 maart 2006 23:40:42 schreef Geranium:
Ik heb die ledjes via een weerstand aan de gnd hangen. Ik krijg nog steeds geen enkel signaal op mn portb
checks
- probeer een blink-a-led programma van mijn site, als dat werkt dan weet je iig dat je schakeling goed is
- staat je LED goed om? led losmaken van PIC, even verbinden met de andere spanningsrail (gnd of 5v)
- weet je zeker dat je hiervoor assembler wil gebruiken? Jal, C, basic, noem maar op, lijken me een stuk makkelijker!