'************************************************* ***************
'* Name : Dr.RAGHUS COMPOSITE TIMER.BAS
'* Author : [DR.RAGHU]
'* Notice : Copyright (APRIL) 2007
'* : All Rights Reserved
'* Date : 4/24/2007
'* Version : 1.0
'* :
'************************************************* ***************
'FOR SW1
'LED (5W LED WILL TURN ON WITH SW1 AND BEEPER WILL BEEP ON FOR 1/3RD SEC
'LED WILL TURN OFF AFTER 20 SECS THEN BUZZER WILL BEEP for 1 SEC
'FOR SW2
'SAME AS ABOVE BUT CYCLE IS FOR 40 SECS AND BUZZER BEEPS 1 SEC AT THE END OF THE CYCLE
'INT XTL, NO OTHER CONFIGERATIONS
Set_Defaults PROTON_4 ' PROTON dev board using a 4MHz crystal
Device 16F628a
Dim BUF1 as Byte ' Working buffer 1 for button command
Dim BUF2 as Byte ' Working buffer 2 for button command
Symbol SW1 = PORTB.4
Symbol SW2 = PORTB.5
Symbol BUZ = PORTa.2 'BUZ = BUZZZER
Symbol LED = PORTA.1 'LED = 5W LUXEON LED
Delayms 500 ' Wait for PICmicro to stabilise
ALL_DIGITAL = True ' Set ports to digital mode
Clear ' Clear buffers
Low PORTa ' ALL LEDs off
TRISB = $F0 ' Set PORTB 0-3 outputs, 4-7 inputs
PORTB_PULLUPS = ON ' Enable PORTB pull-ups
Chk1: Delayms 25
Button SW1,0,40,5,BUF1,0,Chk2' Check Button 1 (Skip to 2 if Not Pressed)
TOGGLE BUZ 'TOGGLE BUZ
TOGGLE LED 'TOGGLE LED
DELAYMS 500 'DELAY 1/2 SEC
LOW BUZ 'TURNOFF BUZ & LED WILL STILL BE ON
DELAYMS 20000 'DELAY 20 SECS FOR LED
TOGGLE BUZ 'TURN ON BUZ AGAIN LED WILL STILL BE ON
DELAYMS 1000 'DELAY FOR 1SEC
LOW LED 'TURNOFF LED
LOW BUZ 'TURNOFF BUZ
Delayms 25
Chk2:
Button SW2,0,40,5,BUF2,0,CHK1 ' Check Button 2 (Skip to 1 if Not Pressed)
TOGGLE BUZ 'TOGGLE BUZ
TOGGLE LED 'TOGGLW LED
DELAYMS 500 'DELAY 1/2 SEC
LOW BUZ 'TURNOFF BUZ & LED WILL STILL BE ON
DELAYMS 40000 'DELAY 20 SECS FOR LED
TOGGLE BUZ 'TURN ON BUZ AGAIN & LED WILL STILL BE ON
DELAYMS 1000 'DELAY FOR 1 SEC
LOW BUZ 'TURNOFF BUZ
LOW LED 'TURNOFF LED2
Delayms 25
Goto Chk1 ' Do it forever
Bookmarks