Red-E
Gr. Red-E || There are only 10 types of people in the world. Those who understand binary, and those who don't ||
Beste mensen,
als eerste: ik werk met een PIC16F628, meest standaard pic die er zoon beetje is dus 
ik ben al enkele dagen bezig met het prutsen aan mijn PIC microcontroller. nu heb ik alle code klaar en het doet (volgens mij) precies wat ik wil.
het enige punt is nu dat ik geheel PORTB niet geinit krijg op input en van PORTA RA4 krijg ik niet op output.RA5 is MCLR dus die hangt met een weerstand van 10K aan de +5V en word verder niet gebruikt.
de volgende kode gebruik ik voor de INTI van mijn porten
list p=16f628
#include "p16F628.inc"
__CONFIG _BODEN_ON & _CP_OFF & _DATA_CP_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _MCLRE_OFF & _INTRC_OSC_NOCLKOUT
errorlevel -302
; ***** DEFINES *****
hier staan wat defines die ik nu weggelaaten heb.
; ***** EQUATES *****
hier staan wat equates die ik nu weggelaaten heb.
ORG 0x00 ; START POSITIE VAN PIC16F628 PROGRAMMA.
; *********** INITIALISEER DE POORTEN *************
INIT CLRF PORTA ; Initialize PORTA by
; Setting output data latches
MOVLW 0x07 ; LAAD DE JUISTE WAARDE VOOR DE COMPARATOR
MOVWF CMCON ; ZET HET COMPARATOR REGISTER OP NORMALE
BSF STATUS,RP0 ; SELECTEER DE JUISTE GEHEUGENBANK
BCF STATUS,RP1 ; ZET BANK 1 ACTIEF
MOVLW 0x00 ; ZET DE IO VAN POORT A OP OUTPUT
MOVWF TRISA ; VOER HET UIT
MOVLW 0x00 ; POORT B INPUT
MOVWF TRISB ; VOER HET UIT
BCF STATUS,RP0 ; ZET BANK 0 ACTIEF
is er iemand die mij kan zeggen wat ik fout doe? zie ik misschien iets over het hoofd?? speciale functies di in het configword uitgezet moeten worden??
alsvast bedankt!
Om geheel poortB als input te configureren moet je FF naar TRISB schrijven.
RA4 is waarschijnlijk input-only of uitgang met open-collector, kan je in de datasheet terugvinden.
timmie
niet met me uitspraken(of opmerkingen) eens mail me.K8048 guide
Red-E
Gr. Red-E || There are only 10 types of people in the world. Those who understand binary, and those who don't ||
inmiddels schrijf ik 0xFF naar TRISB maar werkt nogsteeds niet. de bank blijft op OUTPUT staan (0x00).
@allen: RA4/TOCKI/CMP2 (staat in het datasheat)
dus RA4 is onderdeel van de comparator, maar die staat goed als het goed is...
[Bericht gewijzigd door Red-E op (39%)]
Controleer eens in MPSIM of de bits RP0 en RP1 van het STATUS-register ook daadwerkelijk goed staan, op het moment dat er naar TRISB geschreven wordt.
Red-E
Gr. Red-E || There are only 10 types of people in the world. Those who understand binary, and those who don't ||
oke... kun je me daar even mee helpen?? heb dat nog niet zo vaak gebruikt en weet niet precies hoe het werkt... neem aan dat je de register inhoud van TRISB wilt weten op het moment dat er naar geschreven word en de inhoud van het statusregister?
Omdat je schreef "de bank blijft op output staan" nam ik aan dat je dat in MPSIM bekeek 
Even in de datasheet kijken waar RP0 en RP1 precies zitten in het STATUS-register. In MPSIM kun je doen: View- specialfunctionregisters, en dan het STATUS-register in de gaten houden terwijl je de simulator stap voor stap door de init van je progje laat lopen.
picsels
Volgend project: 7-seg gaming displays; dan dec-1982 labvoeding afmaken, dan funcgen met ad9833 afmaken, dan...
Op 10 juli 2007 18:27:03 schreef Red-E:
inmiddels schrijf ik 0xFF naar TRISB maar werkt nogsteeds niet. de bank blijft op OUTPUT staan (0x00).
Hoe constateer je dat?
Red-E
Gr. Red-E || There are only 10 types of people in the world. Those who understand binary, and those who don't ||
ow dat bedoel je
dat gebruik ik wel vaker
daar had ik ook la naar gekeken en het lijk allemaal goed te gaan
krijg ook gewoon FF in mijn TRISB... kan alleen geen input simuleren
dat wil nu ook nog niet lukken...
@picsels: zie in mijn watch 0086 TRISB 0xFF staan.. dus is op input gezet
nu nog simuleren of het werkt
maar hoe meot dat?
Red-E
Gr. Red-E || There are only 10 types of people in the world. Those who understand binary, and those who don't ||
je kan in MPLAB een watch openen waar je al je belangrijke registers in zet en dat ding heet een watch... en daar staat dus dat trisb 0xFF is...
nu wil ik alleen nog weten hoe ik een ingang kan simuleren:S