What is the value of input 1?

Originally Posted by
lerameur
I finally found where the problem lies but dont know how to fix it. The led blinks but after 4-5 blinks, with the subroutine , it stops. If I dont put a subroutine it keeps on blinking. here is my program.
thanks
INCLUDE "modedefs.bas"
@ DEVICE PIC16F88 , HS_OSC , WDT_OFF , PWRT_ON , BOD_ON , LVP_OFF , PROTECT_OFF
DEFINE OSC 20 'use external 20mhz crystal
CMCON = 7 : ANSEL = 0 : ADCON1 = 7
Define ADC_BITS 8 ' Set number of bits in result
Define ADC_CLOCK 3 ' Set clock source (3=rc)
Define ADC_SAMPLEUS 50 ' Set sampling time in uS
ADCON1 = %00100010 ' Set PORTA analog and RIGHT justify result, ADCON1 = %10000010 for 10 bit
ADCON0 = %10010010
TRISA = %11111111 ' Set PORTA to all input
TRISB = %10000000
input1 var byte
loop:
ADCIN 6, input1
pause 30
if input1 > 255 then
portb.3 =0
else
goto blinker
endif
goto loop
Blinker:
portb.3 =1 ' Turn on LED connected to PORTB.6
Pause 500 ' Delay for .5 seconds
portb.3 =0 ' Turn off LED connected to PORTB.4
Pause 500 ' Delay for .5 seconds
return
end
Hi leramuer,
do you know the numerical value of input1 ?
Maybe the code is doing exactly what you asked it to do.
if input1 is greater than 255 shut off LED, if code is less then goto blinker,
maybe add in a debug and check value of input 1 as far as pic understands value.
edit: your comments in the blinker sub tripped me up, thought it was switching two different ports.
edit2: input var byte
if input > 255 then . . . 255 that's all a byte will hold . . . correct?
should not you select a number that is smaller?
Last edited by Archangel; - 4th February 2007 at 04:39.
If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
.
Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
.
There simply is no "Happy Spam" If you do it you will disappear from this forum.
Bookmarks