Shop OBEX P1 Docs P2 Docs Learn Events
7 segment display question — Parallax Forums

7 segment display question

kyle kkyle k Posts: 1
edited 2008-12-14 15:56 in BASIC Stamp
I am using the 7 segment display· ( two digits) to display the output distance of the ping sensor.
I am having problems with the 7 segment display.

I would like to display the output of the ping sensor in two seven segment displays.

here is my code for 7 segment display

'
[noparse][[/noparse] I/O Definitions ]
Segs VAR OUTL ' Segments on P0 - P7
Digs VAR OUTD ' Digit control pins

'
[noparse][[/noparse] Variables ]
theDig VAR Word ' current display digit
inDistance VAR Word ' distance of ping sensor in inches

'
[noparse][[/noparse] EEPROM Data ]
Digit0 DATA %00111111 ' digit patterns
Digit1 DATA %00000110
Digit2 DATA %01011011
Digit3 DATA %01001111
Digit4 DATA %01100110
Digit5 DATA %01101101
Digit6 DATA %01111101
Digit7 DATA %00000111
Digit8 DATA %01111111
Digit9 DATA %01100111

DigSel DATA %1110 ' digit 0 active
········ DATA %1101 ' digit 1 active

radar_display:

Segs = Blank ' clear display
IF INDistance < 10 THEN
· READ (DigSel +· inDistance), Digs ' select digit
· READ (Digit0 + (indistance DIG thedig)), Segs ' move digit pattern to segs
· thedig = thedig + 1 // 4 ' update digit pointer
ELSE
· READ (DigSel +· inDistance), Digs ' select digit
· READ (Digit1 + (indistance DIG thedig)), Segs ' move digit pattern to segs
· thedig = thedig + 1 // 4 ' update digit pointer
ENDIF
RETURN

Comments

  • FranklinFranklin Posts: 4,747
    edited 2008-12-12 03:54
    Well that's a start. What is your question and what is the output of your program.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    - Stephen
  • flying_flipflying_flip Posts: 36
    edited 2008-12-14 15:56
    Try

    pos = 0
    workval = distance/10
    gosub printdigit
    pos = 1
    workval = distance//10
    gosub printdigit

    printdigit:
    ' uses pos to determine which 7seg to light
    ' use workval as the digit to display
    return
Sign In or Register to comment.