Assignment 4 - Codes


Servomotor...

DEFINE OSC 4

DEFINE ADC_BITS 10
DEFINE ADC_CLOCK 3
DEFINE ADC_SAMPLEuS 50

restPeriod con 20
minValue con 60
maxValue con 240

TRISA = %11111111
ADCON1 = %10000010

ADCvar VAR WORD
pulsewidth VAR WORD
myCount VAR BYTE

grLed var portd.1
txPin var portc.6

FOR i=0 to 5
	high grled
	pause 500
	low grled
	pause 500
NEXT




main:

    adcin 0, ADCvar

    serout2 txPin, 16468, ["ADCvar is ", DEC ADCvar, 13, 10] 

    adcvar = 2*adcvar

    if ADCvar < minValue then
        pulsewidth = minvalue
    else
        pulsewidth = adcvar
    endif


    if adcvar > maxvalue then
        pulsewidth = maxvalue
    else
        pulsewidth = adcvar
    endif

        

    pulsout portd.0, pulsewidth

    pause restPeriod

goto main