' PIC Defines
' -----------
 
@ DEVICE  INTRC_OSC_NOCLKOUT
' System Clock Options
@ DEVICE  WDT_ON
' Watchdog Timer
@ DEVICE  PWRT_ON
' Power-On Timer
@ DEVICE MCLR_OFF
' Master Clear Options (Internal)
@ DEVICE BOD_ON
' Brown-Out Detect
@ DEVICE LVP_OFF
' Low-Voltage Programming
@ DEVICE CPD_OFF
' Data Memory Code Protect
@ DEVICE  PROTECT_OFF
' Program Code Protection



' Define Hardware
' ---------------

'TRISA = %00000000
TRISB = %00000011
'
' Initialise Hardware
' -------------------
DEFINE OSC 4
CMCON=7




'---------------VAR's--------------------------------
ENG  VAR WORD
MEM1 VAR WORD
MEM1 = 0



     
     
           
           
'------------------Main program----------------------

       Pause 1000       ' Wait for LCD to start up


Splash:
                           
       LCDOut $FE, 1   'Clear screen
       

       'LCDOut $FE, $80, "     Heli   "              
       'LCDOut $FE, $C0, "  Tachometer"  
       
       LCDOut $FE, 1
       LCDOut $FE, $80, " Mike Freeman  "              
       LCDOut $FE, $C0, "  08-03-07    "  
       Pause 1000       ' Wait

       LCDOut $FE, 1   ' Clear screen
       Pause 100      ' Wait .2 second
       
Main:
       
       Count PORTB.2,1500,ENG   'Count disk RPM for 1.5 Seconds and store in ENG
       ENG = ENG * 20      'Convert to RPM  
       

       
       
       IF PORTB.0 = 1 Then  'When Button is pressed, store RPM reading in MEM1
       MEM1 = ENG
       EndIF
                        
       LCDOut $FE, $80, "RPM = ", DEC ENG DIG 3, DEC ENG DIG 2, DEC ENG DIG 1, DEC ENG DIG 0     
       LCDOut $FE, $C0, "MEM = ", DEC MEM1 DIG 3, DEC MEM1 DIG 2, DEC MEM1 DIG 1, DEC MEM1 DIG 0
       LCDOut $FE, 2
 
       
      GoTo Main  






End
