want to view a code for a/d converter using a pic 16f877a with a pbpro compiler version 2.03 only....
Printable View
want to view a code for a/d converter using a pic 16f877a with a pbpro compiler version 2.03 only....
2.03 does not support the 16F877a (added to PBP in version 2.42) ... looks like it is really time to upgrade.
can have an alternative just to program it....what about pbasic only?
Download MPLAB from www.microchip.com, learn some assembly language and program it for free. All it costs is time.
Found in PbP 2.21 examples ... ADC7x file ...
may be you've had it in your PbP Folder for the past ten years !!! ( LOL !!!! )Code:
' Access PIC16C7x A/D
Include "modedefs.bas" ' Include serial modes
SO con 0 ' Define serial output pin
ADCON1 = 0 ' Set PortA 0-3 to analog inputs
ADCON0 = $41 ' Set A/D to Fosc/8, Channel 0, On
Pause 1 ' Wait for channel to setup
loop: ADCON0 = $45 ' Start conversion
Pause 1 ' Wait for conversion
Serout SO,N2400,[#ADRES,10] ' Send variable to serial out
Goto loop
no reason for such adc's use not to work ... once "trimmed" to your Pic's specifics !!! ( and of course supported by your version of the compiler !!! )
Alain
PS: IF you ONLY use the AN 5, AN 6, AN 7 adc inputs ( 0 > 4 shared by comparators ... are to let aside !!! ) ... I think a program compiled for 16F877 can work with a 16F877A ...
'Code example for 18F4458 very important setting -HS oscillator-
'Ad12.bas
DEFINE OSC 20
Define LCD_DREG PortB 'inizializza il display lcd sulla portaB'
Define LCD_DBIT 0 'inizializza il display lcd'
Define LCD_RSREG PORTB 'inizializza il display lcd'
Define LCD_RSBIT 4 'inizializza il display lcd'
Define LCD_EREG PORTB 'inizializza il display lcd'
Define LCD_EBIT 5 'inizializza il display lcd'
Define LCD_BITS 4 'modalità scrittura a 4 bit'
Define LCD_LINES 2 'display a 2 linee'
Define ADC_BITS 12
TrisA = %111111 'definisci i pin di entrata/uscita porta A'
TrisB = %00000000 'definisci i pin di entrata/uscita porta B'
TrisC = %00000000 'definisci i pin di entrata/uscita porta
TrisD = %00000000 'definisci i pin di entrata/uscita porta D'
TrisE = %001
B0 var word
B1 var word
B2 var word
Clear
ADCON0 = %00000011
ADCON1 = %00001101
ADCON2 = %10010100
Start: ADCON0 = %00000011
Pause 5
ADCON0 = %00000010
B0.HighByte = ADRESH
B0.LowByte = ADRESL
Lcdout $fe, 1
Lcdout "Test AD pic 18f"
Lcdout $fe,$c0
Lcdout "Value 12bit ",#B0
pause 25
Goto Start: