Shop OBEX P1 Docs P2 Docs Learn Events
Siemens alphanumeric display — Parallax Forums

Siemens alphanumeric display

Vertex78Vertex78 Posts: 51
edited 2005-07-31 04:45 in General Discussion
Has any of you used one of these displays before? I am having a heck of a time figuring out how to get them to work. Here is a link to the datasheet for them.

http://www.ortodoxism.ro/datasheets/siemens/DLO3416.pdf

The picture in the datasheet is different than what I have, but in the first paragraph it says that it is a drop in replacement for my model. <p>The way I have it hooked up to the xgs me is like this:

<img src="http://home.comcast.net/~zshutters/schematic.JPG" border="0">

·If cu is low then it goes into the loading cursor function, so I set it high, and set cue low. Then I set wr high since it is active on low. Next I set the digit address in a0 and a1 to low to select the rightmost digit. Then I loaded an ascii value onto rd and set wr low to write to the display. But I get nothing. So then I set bl high, and rerun the program and then a digit lights up but its nothing readable, just jiberish. I have four of these things, and I know that they work.(or at least worked before I messed with them lol)

<img src="http://home.comcast.net/~zshutters/DSCF0046.JPG" border="0">

Comments

  • Vertex78Vertex78 Posts: 51
    edited 2005-07-27 03:22
    Here is the latest code that I have written trying to get it to work

    ; /////////////////////////////////////////////////////////////////////////////
    ; Set device attributes
    ; /////////////////////////////////////////////////////////////////////////////
    DEVICE SX52
    RESET Init
    FREQ 80_000_000
    DEVICE OSCHS3 ; High-speed external oscillator
    DEVICE IFBD ; Crystal feedback disabled
    DEVICE XTLBUFD ; Crystal drive disabled
    ;//////////////////////////////////////////////////////////////////////////////


    ; rb.0 = clr active low
    ; rb.1 = wr active low
    ; rb.2 = bl active low
    ; rb.3 = cue
    ; rb.4 = cu
    ; rb.5 = A0
    ; rb.6 = A1

    clrd equ rb.0
    wr equ rb.1
    bl equ rb.2
    cue equ rb.3
    cu equ rb.4
    a0 equ rb.5
    a1 equ rb.6


    init

    mov !rd, #%00000000
    mov !rb, #%00000000


    Start

    setb cu
    setb bl
    clrb cue
    setb clrd

    ;digit address
    clrb a0
    clrb a1

    ;load ascii value
    mov rd, #%01011010

    ;timing diagram shows address setup time as 10ns
    nop ; 12.5 ns delay

    clrb wr

    ;timing diagram shows write time as 90ns

    jmp $+1 ;100ns delay
    jmp $+1
    nop
    nop

    setb wr

    jmp $

    ok when i run this code, if i hold the reset button it shows a Z in the right most position (which is what should be there with the programm running normal) and when I let go of the reset it shows all segments lit up in left most position. Though If i turn the xgs of and then back on sometime the Z will be lit up in the correct place but then if I hit the reset it goes to a random spot with jiberish. I think maybe my timimg must be off. But from what I can tell from their timing diagram its ok it you go over the amount of time it takes, like how data write says 90ns and I did 100ns since that is the closest I can get without going under 90ns.
  • Paul BakerPaul Baker Posts: 6,351
    edited 2005-07-27 17:21
    Yeah, Ive interfaced with the Hitachi version of the display (HDLX-2416), The displays are a bit more finiciky than Id like, but if you pad the wait time results are more predictable. I think using external pullup resistors on the lines may also help with the operation. I will post my code when I get home, it drives 3 of the displays to display "Hello Word".

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·1+1=10
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2005-07-28 03:17
    Hello,

    ·· With only a few lines of code, you can actually check the BUSY Flag in a subroutine and not have to worry about pauses/delays, etc.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Tech Support
    csavage@parallax.com
  • Paul BakerPaul Baker Posts: 6,351
    edited 2005-07-28 03:59
    Ok, here's the file I promised. It displays "Press a key" on a series of 3 HDLGs·on a board I scavenged from a medical pump. The timing is the same to the best of my knowledge (I didnt specifically verify), but I found the specs to be off and I relaxed the timing till things seemed to work. You should use external·pull up resistors on all your lines·between the SX and the DLO.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·1+1=10
  • Vertex78Vertex78 Posts: 51
    edited 2005-07-28 23:56
    can you post a schematic of how you have the·display hooked up
  • Paul BakerPaul Baker Posts: 6,351
    edited 2005-07-29 12:27
    Ok will do a bit later. Ive gotta dig the board out and create a schematic for it. Its mainly a standard hookup with a 1 to 8 decoder with the 3rd address bit tied low whose outputs are tied to each HDLG's /WE pin, so 2 bits to pick which HDLG, 2 bits to choose the character place within the HDLG, and 7 data lines. All the info is in the comments of the source file, but it is a bit cryptic, so Ill provide a schem.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·1+1=10
  • Paul BakerPaul Baker Posts: 6,351
    edited 2005-07-31 04:45
    Ok heres the simplified connections on the board, all pins not shown are tied to thier default state.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·1+1=10
    1158 x 840 - 68K
Sign In or Register to comment.