View Full Version : A/D converter sample
allan josephus
- 20th February 2008, 01:46
want to view a code for a/d converter using a pic 16f877a with a pbpro compiler version 2.03 only....
paul borgmeier
- 20th February 2008, 02:58
2.03 does not support the 16F877a (added to PBP in version 2.42) ... looks like it is really time to upgrade.
allan josephus
- 20th February 2008, 03:07
can have an alternative just to program it....what about pbasic only?
skimask
- 20th February 2008, 03:43
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.
Acetronics2
- 21st February 2008, 12:57
Found in PbP 2.21 examples ... ADC7x file ...
' 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
may be you've had it in your PbP Folder for the past ten years !!! ( LOL !!!! )
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 ...
Paolo.T
- 23rd February 2008, 19:44
'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:
Powered by vBulletin® Version 4.1.7 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.