Heb hier en daar wat achter je programma gezet.
Eerst declareer je ADCON1, dan ergens in je programma weer ADCON0.
Dit gaat niet werken zo.
Op 19 januari 2010 15:48:03 schreef TechnOoB12:
'**************************************************************** '* Name : PIC 2 van XPSll.BAS * '* Author : Roel Zwetsloot * '* * '* Date : 17-1-2010 * '* Version : 1.0 * '* Notes : * '* : * '**************************************************************** DEVICE 16F818 config CP_OFF, CPD_OFF, LVP_OFF,MCLRE_OFF,PWRTE_ON,INTRC_OSC_NOCLKOUT,WRT1_OFF,WRT0_OFF, DEBUG_OFF ;Logische constanten SYMBOL ON = 1 [WAAR IS SYMBOL OFF] ;declares LCD DECLARE LCD_ENPIN PORTA.6 DECLARE LCD_RSPIN PORTA.7 Declare ADIN_RES = 10 ; resolutie 10 bits Declare ADIN_TAD = frc ; set RC osc intern Declare ADIN_STIME = 50 ; sample tijd 5 ;variabelen DIM letter AS BYTE DIM Volts AS float DIM Raw AS word ; poortnamen symbol A = PORTA.5 symbol B = PORTB.0 symbol C = PORTB.1 symbol D = PORTB.2 symbol E = PORTB.3 ;andere symbolen SYMBOL stap = 5.0 / 1024 [LOOPT MAAR TOT 1023] ; 76543210 PORTA = %00000000 PORTB = %00000000 TRISA = %11111100 TRISB = %00001111 ADCON1 = %00001011 [HIER ZET JE ADCON1 NEER] ; opstartprocedure ADCON0 = %11100001 [WAT IS DIT, HIER STAAT WEER ADCON0] CLEAR DELAYMS 250 cls print at 1, 1, "Welcome" delayms 200 print at 2, 1, " XPS-ll Supply " delayms 500 cls ;Hoofdprogramma While 1 = 1 If A = ON then letter = 65 elseif B = ON then letter = 66 elseif C = ON then letter = 67 elseif D = ON then letter = 68 elseif E = ON then letter = 69 endif ; data conversie ;76543210 ADCON0 = %11100101 [HIER STAAT OOK WEER ADCON0] Raw = ADRESH Volts = Raw * stap ; uiteindelijke weergaves PRINT AT 1, 1,"supply ",letter," :" PRINT AT 2,1, DEC3 Volts,"Volt" wend end
Het meeste kan je allemaal weer wegstrepen Lambiek, de TS zit te rommelen naar aanleiding van de post van Jochem, en is daarbij een hele belangrijke opmerking vergeten:
Op 19 januari 2010 14:51:17 schreef Jochem:
Maar ik kan me ook voorstellen dat PICBASIC dat allemaal lekker voor je interfacet, staat daar niks over in de handleiding?
Het heet niet voor niets Basic.
De TS had met de voorbeelden al kunnen zien dat hij niks met ADCON0 te maken heeft, hij maakt het zichzelf veel te moeilijk. Te veel in een keer willen doen.
Dus @TechnOoB12:
Begin eens weer bij het begin, zorg eerst dat je ADC werkt, met een eenvoudig programma! Dat kan je zelf compileren en kost je de prijs van 1 16F877(A). Eerst leren lopen, nu ben je aan het hollen en ga je constant op je bek, dat doet zeer en frustreert.
Jochem
If you want to succeed, double your failure rate.
Op 20 januari 2010 01:48:25 schreef Henry S.:
nu ben je aan het hollen en ga je constant op je bek, dat doet zeer en frustreert.
En niet te vergeten moeten wij je constant oprapen, gaat ook vervelen 
The Engineer
Waar rook is, is Roel. 5e jaars EE student @TU delft met een uit de hand gelopen buizenhobby!
ehja:D
maar het leert van zijn fouten hoor, en de inzet heb ik, nu de brains nog.
ben misschien iets te anthuosiast bezig?|:(
ik denk, ik ga de ADCON0 verwijderen, en gewoon erin stampen zodra hij er is. verder nog lambieks tips opvolgen.
misschien werkt het, misschien niet.
dan heb ik het in ieder geval geprobeerd.
het enige nieuwe in dit programma zijn de fusebits, maar die zouden goed moeten gaan want die heb ik opgezocht in de datasheet, en de A/D conversie weergave.
dus eigenlijk is het enige nieuwe de AD conversie weergave....
de rare variabele namen, een signaal komt van knop A( en zo heet ie ook in het echt!) naar een kleine converter, logic device, en deze stuurt nog wat andere dingetjes aan,etc.. en dan gaat deze geconverteerde puls A naar de PIC, en dus noemik hem daar ook A...
idem voor B, C , D, E.
Maak er dan bvb dit van.
Knop_A, Knop_B, Knop_C,..........
En ADCON0 of ADCON1 nooit in je hoofd programma zetten, allemaal boven in zetten en dan met variabele werken.
Als je het aanroept in je programma dan zet je dit neer:
bvb waarde = ADIN0, en waarde zet je als (DIM waarde AS BYTE, AS WORD, AS DWORD, AS FLOAT, boven in het programma).
Begin nu eens rustig opnieuw zoals Henry ook al zij, en bouw het uit. 