in deze code zit volgens mij een fout want als ik de pic aanzet gaat de led die op poort b7 zit heel zachtjes branden.

Device 16F628A                ;Gebruik een 16F628A type
Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
ALL_DIGITAL TRUE              ;Alle ingangen digitaal
PORTB_PULLUPS On
TRISA = %11111011
TRISB = %10000000
PORTA = %00000000
PORTB = %00000000
Dim Weerstand As Byte         ;Deze variabele bevat straks de stand van de potmeter  
While 1 = 1  
  While PORTB.0 = 1
  PORTB = %01111111
  PORTA = %00000100
  Wend
  DelayMS 200
  While PORTB.0 = 1 
  PORTB = %00000010
  PORTA = %00000000
  Wend
  DelayMS 200
  While PORTB.0 = 1
  Weerstand = Pot PORTA.1, 150
  PORTA = %00000000
  PORTB = %01010101
  DelayMS Weerstand
  PORTA = %00000100
  PORTB = %00101010
  DelayMS Weerstand
  Wend
  DelayMS 200
  While PORTB.0 = 1
  Weerstand = Pot PORTA.1, 150
  PORTA = %00000100
  PORTB = %01111111
  DelayMS Weerstand
  PORTA = %00000000
  PORTB = %00000000
  DelayMS Weerstand
  Wend
Wend
End  

ps gebruik proton ide lite

portb heeft pullups en nummer 7 staat als ingang gevolg is dat de stroom van de interne pullup door de led weg stroomt ;)

nee want het is toch zo dat trisb = %10000000
er voor zorgt dat poort b0 als ingang is

edit hij werkt was toch fout

[Bericht gewijzigd door robojan op (18%)]

EDIT: Dubbelpost

[Bericht gewijzigd door Frits Kieftenbelt op (99%)]

@robojan:
Blokken instructies die bij elkaar horen, moet je met 1 of 2 spaties laten inspringen (TAB toets).
Hierdoor is veel duidelijker te zien waar een WHILE...WEND blok begint en eindigt.
En regelmatig regels overslaan, het is veel overzichtelijker als instructieblokken die bij elkaar horen bij elkaar staan.
Je code is slecht leesbaar nu.

Ook moet je PORTB_PULLUPS pas inschakelen nadat je TRIS hebt ingesteld, dus PORTB_PULLUPS ON later in je programma vermelden dan TRISB.
Dit om een superkort (zwak) positief pulsje op de PORTB uitgangen te voorkomen.

EDIT:
En dat geldt ook voor de volgorde van het volgende blokje:


PORTA = %00000000
PORTB = %00000000
TRISA = %11111011
TRISB = %10000000

Als je het andersom doet, zoals jij hebt, dus eerst TRISA en dan pas PORTA = 0, dan kan er (random) een superkort, keihard pulsje van ongewenst niveau op de uitgangen komen.
In sommige toepassingen kan dit zeer nare gevolgen hebben.

Houdt zoveel mogelijk de volgorde aan zoals gedaan in de cursus (voor wat betreft het declareer gedeelte, dat vóór het hoofdprogramma staat).

Device 16F628A                ;Gebruik een 16F628A type
Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
ALL_DIGITAL TRUE              ;Alle ingangen digitaal

Dim Weerstand As Byte         ;Deze variabele bevat straks de stand van de potmeter  

PORTA = %00000000
PORTB = %00000000
TRISA = %11111011
TRISB = %10000000

PORTB_PULLUPS On
CLEAR

While 1 = 1  
  While PORTB.0 = 1
    PORTB = %01111111
    PORTA = %00000100
  Wend
  DelayMS 200

  While PORTB.0 = 1 
    PORTB = %00000010
    PORTA = %00000000
  Wend
  DelayMS 200

  While PORTB.0 = 1
    Weerstand = Pot PORTA.1, 150
    PORTA = %00000000
    PORTB = %01010101
    DelayMS Weerstand
    
    PORTA = %00000100
    PORTB = %00101010
    DelayMS Weerstand
  Wend
  DelayMS 200

  While PORTB.0 = 1
    Weerstand = Pot PORTA.1, 150
    PORTA = %00000100
    PORTB = %01111111
    DelayMS Weerstand

    PORTA = %00000000
    PORTB = %00000000
    DelayMS Weerstand
  Wend
Wend

End  

Deze code is al beter leesbaar, ook makkelijker om eventuele fouten te zoeken.
Zie cursus deel 1: www.picbasic.nl/beginners1.htm