This displays the sonar distance in inches. Using the "ping" module from Parallex.
Code:
' 18F6680
DEFINE OSC 20
@ __CONFIG _CONFIG1H, _OSC_HS_1H
@ __CONFIG _CONFIG2H, _WDT_OFF_2H & _WDTPS_128_2H
@ __CONFIG _CONFIG4L, _LVP_OFF_4L
INCLUDE "modedefs.bas"
DEFINE LCD_DREG PORTG
define LCD_DBIT 0
DEFINE LCD_RSREG PORTE
DEFINE LCD_RSBIT 0
DEFINE LCD_EREG PORTE
DEFINE LCD_EBIT 1
DEFINE LCD_BITS 4
DEFINE LCD_LINES 4
DEFINE LCD_COMMANDUS 3000
DEFINE LCD_DATAUS 150
PAUSE 500
PAUSE 1000
INCONSTANT CON 890
INDISTANCE VAR WORD
TIME VAR WORD
START:
HIGH PORTB.3
PULSOUT PORTB.3,2
PULSIN PORTB.3,1,TIME
INDISTANCE = INCONSTANT ** TIME
LCDOUT $FE,1,DEC3 INDISTANCE," INCHES"
PAUSE 100
GOTO START
Bookmarks