<TABLE> <S> <C>
<PAGE>
<ARTICLE> 5
<LEGEND>
THIS SCHEDULE CONTAINS SUMMARY FINANCIAL INFORMATION EXTRACTED FROM THE
REGISTRANT'S FINANCIAL STATEMENTS AS OF AND FOR THE QUARTER ENDED JUNE 30, 2000
AND IS QUALIFIED IN ITS ENTIRETY BY REFERENCE TO SUCH FINANCIAL STATEMENTS
INCLUDED IN THE COMPANY'S 1999 ANNUAL REPORT ON FROM 10-K.
</LEGEND>
<S> <C>
<PERIOD-TYPE> 3-MOS
<FISCAL-YEAR-END> DEC-31-2000
<PERIOD-START> APR-01-2000
<PERIOD-END> JUN-30-2000
<CASH> 8,066
<SECURITIES> 27,881
<RECEIVABLES> 7,575
<ALLOWANCES> 0
<INVENTORY> 7,481
<CURRENT-ASSETS> 53,685
<PP&E> 24,201
<DEPRECIATION> 13,815
<TOTAL-ASSETS> 75,081
<CURRENT-LIABILITIES> 7,885
<BONDS> 4,319
0
0
<COMMON> 139
<OTHER-SE> 58,722
<TOTAL-LIABILITY-AND-EQUITY> 75,081
<SALES> 13,134
<TOTAL-REVENUES> 13,964
<CGS> 3,553
<TOTAL-COSTS> 11,733
<OTHER-EXPENSES> 0
<LOSS-PROVISION> 0
<INTEREST-EXPENSE> 0
<INCOME-PRETAX> 2,231
<INCOME-TAX> 875
<INCOME-CONTINUING> 1,356
<DISCONTINUED> 0
<EXTRAORDINARY> 0
<CHANGES> 0
<NET-INCOME> 1,356
<EPS-BASIC> .10<F1>
<EPS-DILUTED> .09
<FN>
<F1>EARNINGS PER SHARE IS CALCULATED ON THE BASIS DESCRIBED IN NOTE 2 OF NOTES TO
FINANCIAL STATEMENTS.
</FN>
</TABLE>