Hi all, please help me, the example program page on the PIC16F88 ad converter did not work,
shows me error ANSEL =% 00010000
Greetings!
Hi all, please help me, the example program page on the PIC16F88 ad converter did not work,
shows me error ANSEL =% 00010000
Greetings!
Hi,
WHICH example program ?, what page ? which 16F88 ? ...
please show your program listing here ...
so we can answer you something useful else than " may be it will rain, may be sun will shine tomorrow " ...
Alain
************************************************** ***********************
Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
************************************************** ***********************
IF there is the word "Problem" in your question ...
certainly the answer is " RTFM " or " RTFDataSheet " !!!
*****************************************
It may be as easy as removing the [SPACE] between the percent symbol and the binary value as : %00000000. I don't know that, because (as Alain suggests) I have seen neither the code nor the error, but I am foolish enough to risk a guess!
Hi, this is the code sample page of melabs,
Error when compiling throws me online 23
what happens?
Greetings!
' Name : ADCX18.pbp
' Compiler : PICBASIC PRO Compiler 2.6
' Assembler : PM or MPASM
' Target PIC : PIC16F88 or similar
' Hardware : LAB-X18 Experimenter Board
' Oscillator : 4MHz external crystal
' Keywords : ADCIN, LCDOUT
' Description : PICBASIC PRO program to read potentiometer on LAB-X18
' and display on LCD.
'
' Define LCD pins
Define LCD_DREG PORTA
Define LCD_DBIT 0
Define LCD_RSREG PORTB
Define LCD_RSBIT 6
Define LCD_EREG PORTB
Define LCD_EBIT 3
' Allocate variables
x Var Byte
ANSEL = %00010000 ' Make the pot input analog and rest digital
CMCON = 7 ' Set PORTA to digital
Pause 100 ' Wait for LCD to start
mainloop:
Adcin 4, x ' Read the pot
Lcdout $fe, 1, "pot=", #x ' Send value to LCD
Pause 100 ' Do it about 10 times a second
Goto mainloop ' Do it forever
End
Just FYI "CMCON = 7 ' Set PORTA to digital" actually turns off the comparators and doesn't set the ports to digital.
It also looks as if you need to set the ADCON bits 3-5 also to use ports as analog inputs.
Shouldn't this "Lcdout $fe, 1, "pot=", #x ' Send value to LCD" read "Lcdout $fe, 1, "pot=", DECx ' Send value to LCD"? I [U]think[U] the # returns ASCII and NOT decimail numbers. Which may or may not be what you are seeking.
Best wishes
Here is MPLAB Answer for this ghost space ...
just a WARNING ... but compiling still occurs ...WARNING Line 38: Bad token "%".
C:\PROGRAM FILES\MICROCHIP\MPLAB IDE\PROJETS\TWINAIR_LIGHTS3.BAS WARNING Line 38: 01110000 Malformed binary numeric, value truncated.
Loaded C:\Program Files\Microchip\MPLAB IDE\Projets\Twinair_Lights3.COF.
BUILD SUCCEEDED: Sun Apr 13 16:06:36 2014
note the generated HEX shows $70 for right scripting and $F0 for the wrong script
Alain
Last edited by Acetronics2; - 13th April 2014 at 15:15.
************************************************** ***********************
Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
************************************************** ***********************
IF there is the word "Problem" in your question ...
certainly the answer is " RTFM " or " RTFDataSheet " !!!
*****************************************
thanks, proves what you suggest and I'll tell you then,
Greetings!
Hi all, this code works with adc pic, thanks for your help,
Greetings!
DATO VAR BYTE
CMCON=7
DEFINE ADC_BITS 8
DEFINE ADC_CLOCK 3
DEFINE ADC_SAMPLEUS 50
ANSEL=%0100000
LED VAR PORTB.0
HIGH LED
PAUSE 100
LOW LED
PAUSE 200
INICIO:
ADCIN 5,DATO
LCDOUT $FE,$C4,DEC dato
PAUSE 300
GOSUB INICIO
END
You probably want GOTO, not GOSUB.
Robert
Thanks, that's the right way.
I'm working with a lm35z converter pic with 8 bits, as I can convert the value to degrees Celsius gives me?
Bookmarks