' 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