Hi, the Holy Squad ... 
I found this was overall a bit strange ...
so, rewrote the program and tested it with ISIS ... ( note it works fine NOW ... with ISIS !!! )
just change the DEC3 and DEC4 ( lcdout section ) into DEC ...
and, please, tell me your results ... 
There's something I really do not understand here ...Alain
Code:
'****************************************************************
'* Name : UNTITLED.BAS *
'* Author : [select VIEW...EDITOR OPTIONS] *
'* Notice : Copyright (c) 2013 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 10/05/2013 *
'* Version : 1.0 *
'* Notes : *
'* : *
'****************************************************************
INCLUDE "modedefs.bas" 'Includes supoprt for PicBasic language
OSCCON = %01101000 ' 16F 88 4 Mhz ... for those who didn't find it ... ( LOL )
DEFINE OSC 4
DEFINE LCD_DREG PORTB ' Set LCD Data port
DEFINE LCD_DBIT 4 ' Set starting Data bit (0 or 4) if 4-bit bus
DEFINE LCD_RSREG PORTA ' Set LCD Register Select port
DEFINE LCD_RSBIT 2 ' Set LCD Register Select bit
DEFINE LCD_EREG PORTA ' Set LCD Enable port
DEFINE LCD_EBIT 3 ' Set LCD Enable bit
DEFINE LCD_BITS 4 ' Set LCD bus size (4 or 8 bits)
DEFINE LCD_LINES 2 ' Set number of lines on LCD
DEFINE LCD_COMMANDUS 2500
DEFINE LCD_DATAUS 250
DEFINE CHAR_PACING 2000
pause 1500
LCDOUT $FE,1
' Define ADCIN parameters
Define ADC_BITS 10 ' Set number of bits in result
Define ADC_CLOCK 3 ' Set clock source (3=rc)
Define ADC_SAMPLEUS 50 ' Set sampling time in uS
DEFINE CCP1_REG PORTB
DEFINE CCP1_BIT 0
CMCON = 7
CVRCON = 0
ANSEL = %00000011 ' set AN0, AN1 as analog, others to digital
ADCON0 = %11000001 ' Configure and turn on A/D Module
ADCON1 = %10000000' Set PORTA analog for ten bit ADC
PORTA = 0
PORTB = 0
TRISB = %01000010
TRISA = %00000111
DutyCycle var word
OldDutyCycle Var Word
Frequency var word
OldFrequency VAR word
WHILE 1
'ADCON0.2 = 1 'Start Conversion
pause 20
ADCIN 0, DutyCycle 'Read channel PORTA.0 Duty Cycle
ADCIN 1, Frequency 'Read channel PORTA.1 Frequency
'Frequency = Frequency + 245
'DutyCycle = DutyCycle/4
IF Frequency <> OldFrequency OR DutyCycle <> OldDutyCycle THEN
lcdout $FE,2, "DutyCyc: ", dec3 DutyCycle/4
lcdout $FE,$C0, "Frequen: ", dec4 Frequency+245
pause 100
HPWM 1,DutyCycle/4,Frequency+245 'channel, dutycycle, frequency
OldFrequency = Frequency
OldDutyCycle = DutyCycle
pause 20
ENDIF
WEND
END
Bookmarks