Version:0.9 StartHTML:0000000105 EndHTML:0000013372 StartFragment:0000001072 EndFragment:0000013356
program VM142DEMO
const INPUT4 = $0 'PORT A I/O's
INPUT3 = $1
INPUT2 = $2
INPUT1 = $3
DiagLed = $5
Buzzer = $0 'PORT C I/O's
Relay = $1
OUTPUT4 = $2
OUTPUT3 = $3
OUTPUT2 = $4
OUTPUT1 = $5
dim x,y as byte
dim PWM_ON_time,PWM_OFF_time,brightness as word
'Procedure used by PWM demo.
sub procedure fire_lamp
PWM_ON_Time = brightness
PWM_OFF_TIME = (100 - brightness)
for x = 1 to 100
setbit(PORTC,OUTPUT4)
delay_cyc(PWM_ON_time)
clearbit(PORTC,OUTPUT4)
delay_cyc(PWM_OFF_time)
next x
end sub
main:
TRISA = %001111 'RA4,5 are output, RA0-3 are inputs.
TRISC = 0 ' Configure all pins of PORTC as output
PORTA = 0
PORTC = 0 ' Turn OFF all output's on PORTA and C.
goto PWM_dimmer_demo
'Demo 1: Flashing LED (Diag LED on VM142 module).
flashing_diag_led:
while true 'repeat loop forever
setbit (PORTA,diagled) 'Set Diag LED ON
delay_ms(50) 'Wait 50mS
clearbit (PORTA,diagled) 'Set Diag LED OFF
delay_ms(500) 'Wait 500mS (0,5sec).
wend
'Demo 2:Running Light.
running_light:
for x = 2 to 5
setbit (PORTC,x)
delay_ms(200)
clearbit (PORTC,x)
next x
goto running_light
'Demo 3:PWM dimmer Demo for VM142 (fade Lamp on Output 4)
PWM_dimmer_demo:
for brightness = 2 to 96 step 2
fire_lamp()
next brightness
'fading down now...
while brightness > 2
fire_lamp()
brightness = brightness - 2
wend
goto PWM_dimmer_demo
end.