Loading ...
Sorry, an error occurred while loading the content.

Seven Segment Displays

Expand Messages
  • Charles Richmond
    I m sure it s because *I* am a dufus... but why can t an LCD 8 digit calculator display be used with the Membership Card.... or a modified Membership Card. --
    Message 1 of 18 , Apr 2, 2012
    • 0 Attachment
      I'm sure it's because *I* am a dufus... but why can't an LCD 8 digit
      calculator display be used with the Membership Card.... or a modified
      Membership Card.

      --
      +----------------------------------------+
      | Charles and Francis Richmond |
      | |
      | plano dot net at aquaporin4 dot com |
      +----------------------------------------+
    • Lee Hart
      ... LCDs are harder to drive than LEDs. You can drive an LED with anything, but most LCDs need special display driver chips. Multiplexed LCDs (as found in
      Message 2 of 18 , Apr 3, 2012
      • 0 Attachment
        On 4/2/2012 10:23 PM, Charles Richmond wrote:
        > why can't an LCD 8 digit calculator display be used with the Membership Card.... or a modified
        > Membership Card.

        LCDs are harder to drive than LEDs. You can drive an LED with anything,
        but most LCDs need special display driver chips. Multiplexed LCDs (as
        found in calculators and almost everything else) require an unusual
        multi-level AC waveform.

        The LCD displays themselves also tend to be customized. If you have the
        money to pay for custom tooling, it can display almost anything you
        want. But there aren't many generic LCDs suitable for one-off homebuilt
        projects.

        When I was designing the Membership Card, I did a few "test case"
        designs using LCDs. There was very little interest in pursuing them, so
        I gave up and went with LEDs instead.

        It'd say your best bet for an LCD display is to buy a prebuilt module
        that includes the driver chip, and write software to talk to it.
        --
        If you would not be forgotten
        When your body's dead and rotten
        Then write of great deeds worth the reading
        Or do these great deeds, worth repeating.
        -- Ben Franklin, from Poor Richard's Almanac
        --
        Lee A. Hart, 814 8th Ave N, Sartell MN 56377, leeahart at earthlink.net
      • Rick Cortese
        A pretty diverse group to get a consensus, but you could do just about anything which makes it even harder. For instance you could just have a
        Message 3 of 18 , Apr 3, 2012
        • 0 Attachment
          A pretty diverse group to get a consensus, but you could do just about anything which makes it even harder. For instance you could just have a tiny micro-controller like a PIC or AVR sitting on the buss and snooping values. You could just solder outputs to the keypads and have the micro-controller key the data into the calculator for display.This would deviate from the original design to the point where the 'purity' of the design may be compromised to the point that people don't like it. You could have a modified monitor in ROM that would do the same w/o a micro-controller but then it wouldn't work in single step mode.

          I have used the 2X16 character displays like
          http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_2118580_-1

          for other projects and IIF I was to do something I would probably use them. Has a lot more to do with I still have 5 or 10 laying around from a portable MOD player I did years ago then something people would find useful or appropriate!<grin>

          Rick

          ________________________________
          From: Charles Richmond <yahoogroups@...>
          To: cosmacelf@yahoogroups.com
          Sent: Monday, April 2, 2012 8:23 PM
          Subject: [cosmacelf] Seven Segment Displays


           
          I'm sure it's because *I* am a dufus... but why can't an LCD 8 digit
          calculator display be used with the Membership Card.... or a modified
          Membership Card.

          --
          +----------------------------------------+
          | Charles and Francis Richmond |
          | |
          | plano dot net at aquaporin4 dot com |
          +----------------------------------------+




          [Non-text portions of this message have been removed]
        • Lee Hart
          ... That s for sure. There are *dozens* of ways to do it! Everyone here will probably have a different favorite approach. :-) ... Yes. It would need to be one
          Message 4 of 18 , Apr 3, 2012
          • 0 Attachment
            On 4/3/2012 1:29 PM, Rick Cortese wrote:
            > A pretty diverse group to get a consensus, but you could do just
            > about anything which makes it even harder.

            That's for sure. There are *dozens* of ways to do it! Everyone here will
            probably have a different favorite approach. :-)

            > you could just have a tiny micro-controller like a PIC or AVR
            > sitting on the buss and snooping values.

            Yes. It would need to be one of the special parts that has on-chip LCD
            drivers, though. Or, use an LCD that has an on-chip driver.

            > You could solder outputs to the keypads and have the micro-controller
            > key the data into the calculator for display.

            That's a clever approach.

            > You could have a modified monitor in ROM that would do the same w/o
            > a micro-controller but then it wouldn't work in single step mode.

            Yeah; making Load mode work requires a display that can work with a
            purely hardware interface. There are generic 7-segment LCD drivers, but
            not many do hex. An ICM7211 (not ICM7211A) with a non-multiplexed
            display could do it.

            > I have used the 2X16 character displays like
            > http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_2118580_-1

            That's
            >
            a nice display. 8-bit bidirectional parallel input, plus 3
            control lines. But it also has a 4-bit mode, where a single 8-bit port
            can control it. It could be a simple output port if you never want to
            read anything back from the display. You would just need software to
            control it.

            PS: Does it really take 120ma for the backlight?

            --
            *BE* the change that you wish to see in the world.
            -- Mahatma Gandhi
            --
            Lee A. Hart, 814 8th Ave N, Sartell MN 56377, leeahart at earthlink.net
          • Bee Dee
            There is also the problem of how long is that part going to be around and generally available? And are there other parts like it that are pin-compatible
            Message 5 of 18 , Apr 3, 2012
            • 0 Attachment
              There is also the problem of "how long is that part going to be around
              and generally available?" And "are there other parts like it that are
              pin-compatible and/or function-compatible?" Unless it is some REALLY
              popular item that may be around for quite some time, I wouldn't use it
              for anything other than one-up personal projects that others probably
              wouldn't necessarily be interested in, now, and especially in the future.
              Although that hasn't stopped people before.


              - Bill D
              ... CRAV Computing Hobbyist : Classic/Retro/Antique/Vintage
              ..... http://groups.yahoo.com/group/cravcomp/
              ..... http://www.donnelly-house.net/
            • eight_bit_jdrose
              ... Mr. Hart, That is a nice, contrasty display at a decent price. Do you know if there is a version of this display that is serial instead?
              Message 6 of 18 , Apr 3, 2012
              • 0 Attachment
                --- In cosmacelf@yahoogroups.com, Lee Hart <leeahart@...> wrote:
                >

                > > I have used the 2X16 character displays like
                > > http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_2118580_-1
                >

                Mr. Hart,

                That is a nice, contrasty display at a decent price.

                Do you know if there is a version of this display that is serial instead?
              • Lee Hart
                On 4/3/2012 6:31 PM, eight_bit_jdrose wrote: ... I m not the original poster. I haven t used this particular one, but I have used a number of similar ones.
                Message 7 of 18 , Apr 3, 2012
                • 0 Attachment
                  On 4/3/2012 6:31 PM, eight_bit_jdrose wrote:
                  Lee Hart wrote:
                  >>> I have used the 2X16 character displays like
                  >>> http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_2118580_-1

                  > Mr. Hart, That is a nice, contrasty display at a decent price.
                  > Do you know if there is a version of this display that is serial instead?

                  I'm not the original poster. I haven't used this particular one, but I
                  have used a number of similar ones. There are *hundreds* of them on the
                  market! Almost all of them have 4-bit or 8-bit parallel interfaces. The
                  protocol varies from display to display, so you *need* to have
                  documentation on it, or you'll spend/waste a lot of time
                  reverse-engineering it.

                  To get a serial I2C interface, they add a microcomputer. To get an
                  asynchronous serial interface (RS-232 etc.), it also needs a stable
                  accurate clock forthe baud rate. These add cost. Typically, they make a
                  little board with the micro and associated parts for the serial
                  interface, and then plug in some generic LCD module with a parallel
                  interface onto it. These generally sell for $20 and up (i.e. about twice
                  the cost of the parallel LCD modules alone).

                  --
                  An engineer can do for a nickel what any damn fool can do for a dollar.
                  -- Henry Ford
                  --
                  Lee A. Hart, 814 8th Ave N, Sartell MN 56377, leeahart at earthlink.net
                • Raymond Siminas
                  The bulk of the serial LCD displays that I ve seen are used with the BASIC Stamp microcontroller.  You may want to look at one of those, keeping in mind that
                  Message 8 of 18 , Apr 3, 2012
                  • 0 Attachment
                    The bulk of the serial LCD displays that I've seen are used with the BASIC Stamp microcontroller.  You may want to look at one of those, keeping in mind that what Lee's saying is correct.

                     

                    --- On Tue, 4/3/12, Lee Hart <leeahart@...> wrote:

                    From: Lee Hart <leeahart@...>
                    Subject: Re: [cosmacelf] Re: Seven Segment Displays
                    To: cosmacelf@yahoogroups.com
                    Date: Tuesday, April 3, 2012, 5:46 PM
















                     









                    On 4/3/2012 6:31 PM, eight_bit_jdrose wrote:

                    Lee Hart wrote:

                    >>> I have used the 2X16 character displays like

                    >>> http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_2118580_-1



                    > Mr. Hart, That is a nice, contrasty display at a decent price.

                    > Do you know if there is a version of this display that is serial instead?



                    I'm not the original poster. I haven't used this particular one, but I

                    have used a number of similar ones. There are *hundreds* of them on the

                    market! Almost all of them have 4-bit or 8-bit parallel interfaces. The

                    protocol varies from display to display, so you *need* to have

                    documentation on it, or you'll spend/waste a lot of time

                    reverse-engineering it.



                    To get a serial I2C interface, they add a microcomputer. To get an

                    asynchronous serial interface (RS-232 etc.), it also needs a stable

                    accurate clock forthe baud rate. These add cost. Typically, they make a

                    little board with the micro and associated parts for the serial

                    interface, and then plug in some generic LCD module with a parallel

                    interface onto it. These generally sell for $20 and up (i.e. about twice

                    the cost of the parallel LCD modules alone).



                    --

                    An engineer can do for a nickel what any damn fool can do for a dollar.

                    -- Henry Ford

                    --

                    Lee A. Hart, 814 8th Ave N, Sartell MN 56377, leeahart at earthlink.net

























                    [Non-text portions of this message have been removed]
                  • Kent Andersen
                    how do you use displays like that? I have a pile of those types of displays that I use with arduino (Atmega) but I have never seen anyone interface one of
                    Message 9 of 18 , Apr 4, 2012
                    • 0 Attachment
                      how do you use displays like that? I have a pile of those types of
                      displays that I use with arduino (Atmega) but I have never seen anyone
                      interface one of these puppies to a 1802.

                      On 4/3/2012 5:31 PM, eight_bit_jdrose wrote:
                      >
                      >
                      >
                      > --- In cosmacelf@yahoogroups.com <mailto:cosmacelf%40yahoogroups.com>,
                      > Lee Hart <leeahart@...> wrote:
                      > >
                      >
                      > > > I have used the 2X16 character displays like
                      > > >
                      > http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_2118580_-1
                      > >
                      >
                      > Mr. Hart,
                      >
                      > That is a nice, contrasty display at a decent price.
                      >
                      > Do you know if there is a version of this display that is serial instead?
                      >
                      >



                      [Non-text portions of this message have been removed]
                    • Lee Hart
                      ... The parallel displays usually have 4 to 8 data lines; you put the data to be displayed on them. It might be raw pixels, or ASCII coded, or some oddball
                      Message 10 of 18 , Apr 4, 2012
                      • 0 Attachment
                        On 4/4/2012 11:20 PM, Kent Andersen wrote:
                        > how do you use displays like that? I have a pile of those types of
                        > displays that I use with arduino (Atmega) but I have never seen anyone
                        > interface one of these puppies to a 1802.

                        The parallel displays usually have 4 to 8 data lines; you put the data
                        to be displayed on them. It might be raw pixels, or ASCII coded, or some
                        oddball random code.

                        Then there are several control lines. Some displays are set up like a
                        memory chip, with control lines for chip select, read/write, and address
                        inputs. Others are set up like I/O chips with 1 or more register select
                        lines instead of many address lines.

                        It can be a real challenge to figure out the protocol without
                        documentation! Don't buy a display without docs unless you are a
                        masochist, and like that sort of reverse-engineering.

                        Then, there are 'smart' displays where someone has added a microcomputer
                        to it, and programmed it to provide a more "normal" interface. Serial
                        interfaces are common, since they take only a few lines. The two common
                        serial protocols are asynchronous (usually used for RS-232 interfaces),
                        and I2C (a synchronous protocol where you need to provide both the clock
                        and the data).

                        There is absolutely no difference in driving these displays with an
                        Arduino or an 1802, except that with the Arduino someone may have
                        written the software for you.
                        --
                        If you would not be forgotten
                        When your body's dead and rotten
                        Then write of great deeds worth the reading
                        Or do these great deeds, worth repeating.
                        -- Ben Franklin, from Poor Richard's Almanac
                        --
                        Lee A. Hart, 814 8th Ave N, Sartell MN 56377, leeahart at earthlink.net
                      • urrossum@att.net
                        ... I don t know about the multi-level AC voltages. For simple segment type displays (not graphic screens - I don t know much about those), each segment is
                        Message 11 of 18 , Apr 4, 2012
                        • 0 Attachment
                          > LCDs are harder to drive than LEDs. You can drive an LED with anything,
                          > but most LCDs need special display driver chips. Multiplexed LCDs (as
                          > found in calculators and almost everything else) require an unusual
                          > multi-level AC waveform.

                          I don't know about the multi-level AC voltages. For simple segment type displays (not graphic screens - I don't know much about those), each segment is generally brought out to the edge connector. The connector may just be fingers of deposited metal along the edge of the glass, which is contacted using a spongy rubber-like multi-conductor bridge clamped between the LCD and its associated circuit board.

                          The other plate of glass is also covered with a transparent conductive surface, which is also brought out to the edge connector. Normally the contained liquid crystal segments are transparent, but when a voltage is applied between a segment electrode and the common surface, the segment turns opaque.

                          The problem is that electrolysis sets in and soon destroys the liquid crystal medium. To prevent this, the polarities of the segments and the back- (usually actually front-) plane are alternated. For many of the smaller displays, the voltages are only a couple or few volts, so it's easily possible to achieve this drive directly off the pins of a microprocessor. (Contrast adjustment, if necessary at all, consists of adjusting the excitation voltage.)

                          Maxim, and several others, make LCD driver chips that do all the AC switching for you, so you need only I2C or SPI in the segments you want to turn on, and the chip does the rest. These usually provide a separate power input pin as well for contrast adjustment.

                          Many-segment LCD displays (such as 5x7 alpha-numeric displays) use several front planes as well as the segments, so that they can be multiplexed just like other display technologies. However, if the applied waveform gets too far away from a square wave, the contrast begins to decrease. This was the issue with old passive and "dual-scan" (just two passive areas on one piece of glass) laptop displays (versus TFT displays, which use thin-film transistors throughout the glass area).

                          > The LCD displays themselves also tend to be customized. If you have the
                          > money to pay for custom tooling, it can display almost anything you
                          > want. But there aren't many generic LCDs suitable for one-off homebuilt
                          > projects.

                          It turns out that it's remarkably inexpensive (it seemed to me, anyway) to have a custom LCD developed. I checked into this for a project a few years ago, and at that time it was about $2,500 to develop a custom 1.5" x 3" 48 segment display, which included 10 prototypes. In quantities of 1000, the displays (had the project ever come to fruition, which it didn't; see "augered in" below) would have cost about $4.00 each.

                          > When I was designing the Membership Card, I did a few "test case"
                          > designs using LCDs. There was very little interest in pursuing them, so
                          > I gave up and went with LEDs instead.

                          It's not going to be directly suitable for the Membership Card, but it occurs to me that a simple 2-digit LCD display, with logic, that could plug into a DIP socket and just continuously display the hex value of 8 data lines might be a fairly handy thing. To that end, I've purchased a few of these to play with:
                          http://tinyurl.com/88rpt4l

                          I'm thinking of a small board, with a small processor (should be a PIC for low power, but I'll probably use my favorite little 8051, since I've got so many available) with a 16-pin DIP footprint of pins sticking out the bottom. The 8 pins on one side would be the data lines, and pin 9 and 16 would be ground and power, respectively. Plug it in, and voila! - instant Hex display! And the whole thing should only draw a few milliamps.

                          I'm currently marooned out of town, but when I get back, I'll throw this on the heap of projects...

                          For a similar (but *much* more sophisticated) project idea, check out this little oscilloscope:
                          http://tinyurl.com/23tzel8

                          > It'd say your best bet for an LCD display is to buy a prebuilt module
                          > that includes the driver chip, and write software to talk to it.

                          This is certainly an easy way to go, and displays with parallel interfaces are frequently very cheap on the surplus market. You can also get more sophisticated displays that have a built in processor and talk serial; these are usually made as backpacks onto standard parallel displays, typically by smaller firms like Parallax, and targeted at the hobbyist and prototyping markets. I haven't used theirs, but have had good luck with CrystalFontz, and bad (as in "augered in a project" bad) with Matrix Orbital. Noritake also has an extra-cost serial option for some of their (already expensive, but very nice looking) VFD displays.

                          The advantage of the serial displays is that they're easier to control in software (once you have a way of sending out serial characters), and only require one output pin. Parallel is pretty easy also, though, requiring only 5 pins usually (most displays have a 4-bit mode, plus a write line). The problem with any of these, of course, is that *some* software is required - you can't just toss them on a data bus and watch the values go by like the LEDs (or TIL-311s).
                          --
                          Mark Moulding
                        • aa3nm
                          Mark, I ve had the same (or very similar enough) thinking as you seem to be having - use a dead stupid LCD and wiggle the wires in simple hardware to get the
                          Message 12 of 18 , Apr 5, 2012
                          • 0 Attachment
                            Mark,

                            I've had the same (or very similar enough) thinking as you seem to be having - use a dead stupid LCD and wiggle the wires in simple hardware to get the contrast for the bits. In my case I was not going to go for a hex display but rather use the segments to represent the binary data bits... (Refer to message 6542).

                            My idea was to use segments E & C for a pair of data bits on each of 4 digits (thus 8 bits are displayed) representing either a 1 or be blank. Then I realized that I'd left a-whole-nother 8 bits unused... Why not use the upper set of segments (F & B) in a similar way for address display (good enough for a quarter K). This differed only slightly from a concept Lee had considered…- that of using an 8 digit display and forming the bit number (1 - 7) to represent a 1.

                            Anyway, I think I about completed the schematic and did a partial layout (using ExpressPCB and ExpressSCH), but succumbed to distraction and the dreaded feature creep.

                            I could get motivated to pick it up again or to share it with someone who was interested in pushing it along a bit further. I think I even got as far as selecting the 4 digit display and have a box of 4 or 5 sitting on my to do shelf.

                            Let me know what you think,

                            Be well,

                            Steve
                            (aa3nm)
                            --- In cosmacelf@yahoogroups.com, "urrossum@..." <mark@...> wrote:
                            >
                            >
                            >
                            > > LCDs are harder to drive than LEDs. You can drive an LED with anything,
                            > > but most LCDs need special display driver chips. Multiplexed LCDs (as
                            > > found in calculators and almost everything else) require an unusual
                            > > multi-level AC waveform.
                            >
                            > I don't know about the multi-level AC voltages. For simple segment type displays (not graphic screens - I don't know much about those), each segment is generally brought out to the edge connector. The connector may just be fingers of deposited metal along the edge of the glass, which is contacted using a spongy rubber-like multi-conductor bridge clamped between the LCD and its associated circuit board.
                            >
                            > The other plate of glass is also covered with a transparent conductive surface, which is also brought out to the edge connector. Normally the contained liquid crystal segments are transparent, but when a voltage is applied between a segment electrode and the common surface, the segment turns opaque.
                            >
                            > The problem is that electrolysis sets in and soon destroys the liquid crystal medium. To prevent this, the polarities of the segments and the back- (usually actually front-) plane are alternated. For many of the smaller displays, the voltages are only a couple or few volts, so it's easily possible to achieve this drive directly off the pins of a microprocessor. (Contrast adjustment, if necessary at all, consists of adjusting the excitation voltage.)
                            >
                            > Maxim, and several others, make LCD driver chips that do all the AC switching for you, so you need only I2C or SPI in the segments you want to turn on, and the chip does the rest. These usually provide a separate power input pin as well for contrast adjustment.
                            >
                            > Many-segment LCD displays (such as 5x7 alpha-numeric displays) use several front planes as well as the segments, so that they can be multiplexed just like other display technologies. However, if the applied waveform gets too far away from a square wave, the contrast begins to decrease. This was the issue with old passive and "dual-scan" (just two passive areas on one piece of glass) laptop displays (versus TFT displays, which use thin-film transistors throughout the glass area).
                            >
                            > > The LCD displays themselves also tend to be customized. If you have the
                            > > money to pay for custom tooling, it can display almost anything you
                            > > want. But there aren't many generic LCDs suitable for one-off homebuilt
                            > > projects.
                            >
                            > It turns out that it's remarkably inexpensive (it seemed to me, anyway) to have a custom LCD developed. I checked into this for a project a few years ago, and at that time it was about $2,500 to develop a custom 1.5" x 3" 48 segment display, which included 10 prototypes. In quantities of 1000, the displays (had the project ever come to fruition, which it didn't; see "augered in" below) would have cost about $4.00 each.
                            >
                            > > When I was designing the Membership Card, I did a few "test case"
                            > > designs using LCDs. There was very little interest in pursuing them, so
                            > > I gave up and went with LEDs instead.
                            >
                            > It's not going to be directly suitable for the Membership Card, but it occurs to me that a simple 2-digit LCD display, with logic, that could plug into a DIP socket and just continuously display the hex value of 8 data lines might be a fairly handy thing. To that end, I've purchased a few of these to play with:
                            > http://tinyurl.com/88rpt4l
                            >
                            > I'm thinking of a small board, with a small processor (should be a PIC for low power, but I'll probably use my favorite little 8051, since I've got so many available) with a 16-pin DIP footprint of pins sticking out the bottom. The 8 pins on one side would be the data lines, and pin 9 and 16 would be ground and power, respectively. Plug it in, and voila! - instant Hex display! And the whole thing should only draw a few milliamps.
                            >
                            > I'm currently marooned out of town, but when I get back, I'll throw this on the heap of projects...
                            >
                            > For a similar (but *much* more sophisticated) project idea, check out this little oscilloscope:
                            > http://tinyurl.com/23tzel8
                            >
                            > > It'd say your best bet for an LCD display is to buy a prebuilt module
                            > > that includes the driver chip, and write software to talk to it.
                            >
                            > This is certainly an easy way to go, and displays with parallel interfaces are frequently very cheap on the surplus market. You can also get more sophisticated displays that have a built in processor and talk serial; these are usually made as backpacks onto standard parallel displays, typically by smaller firms like Parallax, and targeted at the hobbyist and prototyping markets. I haven't used theirs, but have had good luck with CrystalFontz, and bad (as in "augered in a project" bad) with Matrix Orbital. Noritake also has an extra-cost serial option for some of their (already expensive, but very nice looking) VFD displays.
                            >
                            > The advantage of the serial displays is that they're easier to control in software (once you have a way of sending out serial characters), and only require one output pin. Parallel is pretty easy also, though, requiring only 5 pins usually (most displays have a 4-bit mode, plus a write line). The problem with any of these, of course, is that *some* software is required - you can't just toss them on a data bus and watch the values go by like the LEDs (or TIL-311s).
                            > --
                            > Mark Moulding
                            >
                          • Rick Cortese
                            Forewarning: Been over 30 years since I last did something original with an 1802. As Lee points out, you really need a data sheet to make sure how your LCD
                            Message 13 of 18 , Apr 5, 2012
                            • 0 Attachment
                              Forewarning: Been over 30 years since I last did something original with an 1802. As Lee points out, you really need a data sheet to make sure how your LCD operate. The pinouts on the interfaces come in a couple of  flavors, 14 pin, or 2x7 pins are the most common and I think somewhat standard. The the Jameco have 16 pins with the additional pins for the backlight.

                              If I was to try hooking one up: 

                              I would tie the data lines 1:1 with the 1802. 

                              I would tie the R/W low to keep it in write mode. They do have a ~64 bytes of RAM on them for redefined characters but I don't really think it would be necessary to access it in read/write mode. Ditto for the display memory, you can retrieve what is written to it but 2X16 is not enough memory to bother with. 

                              The register select pin I would think about tying to the 1802 address line MA0 or just use Q to be safe. I forgot what happens to memory address lines during and OUTPUT instruction. <DOH!> If they stay the same for the output cycle you could just read from memory location XXXXXXX0 and XXXXXXX1 to set the LCD register select pins then follow with the OUTPUT 1<for instance> 1802 instruction. Q line is much easier, just set it for operation and be sure. As Lee said, since they have the 4 bit mode you probably could use one of the data lines for register select line but you may need a delay for the 4 bits for set up time.

                              The LCD enable pin I would tie to one of the N0-N2 outputs of the 1802. I think its operation is inverted from what we have with the 1802. That is it would have to be run through a 4049 or something to get the polarity right. Back in the day I routed mine though a 74LS138 so I could have 8 output devices. IIRC a 74ls138 has inverted outputs so it could replace the 4049 and give you up to 8 I/O chips/devices. Of course you would want to use something like a 74C138 or 74HTC138 to keep with the low power theme.

                              In use you would just 
                              set Q level for command byte, OUTPUT1 command byte 
                              set Q level data byte, OUTPUT1 data.

                              I've probably committed some grievous oversight in how I would do it. IMHO, it would be a cute hack.


                              ________________________________
                              From: Kent Andersen <sci@...>
                              To: cosmacelf@yahoogroups.com
                              Sent: Wednesday, April 4, 2012 9:20 PM
                              Subject: Re: [cosmacelf] Re: Seven Segment Displays


                               
                              how do you use displays like that? I have a pile of those types of
                              displays that I use with arduino (Atmega) but I have never seen anyone
                              interface one of these puppies to a 1802.

                              On 4/3/2012 5:31 PM, eight_bit_jdrose wrote:
                              >
                              >
                              >
                              > --- In cosmacelf@yahoogroups.com <mailto:cosmacelf%40yahoogroups.com>,
                              > Lee Hart <leeahart@...> wrote:
                              > >
                              >
                              > > > I have used the 2X16 character displays like
                              > > >
                              > http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_2118580_-1
                              > >
                              >
                              > Mr. Hart,
                              >
                              > That is a nice, contrasty display at a decent price.
                              >
                              > Do you know if there is a version of this display that is serial instead?
                              >
                              >

                              [Non-text portions of this message have been removed]




                              [Non-text portions of this message have been removed]
                            • Kent Andersen
                              I see, I will have to try that out. Wonderful info! I have a large quantity of these www.datasheetarchive.com/LCD%201602%20display-datasheet.html# Ie the 1602
                              Message 14 of 18 , Apr 5, 2012
                              • 0 Attachment
                                I see, I will have to try that out. Wonderful info!
                                I have a large quantity of these
                                www.datasheetarchive.com/LCD%201602%20display-datasheet.html# Ie the
                                1602 16x2 LCD displays that I use a lot with the ATmega embedded cpu's
                                Most of the difficult stuff is already done there with a library that is
                                used to communicate to it. I would love to think I could use them
                                instead of the TIL type displays to give some useful memory
                                location/data information on them.

                                If anyone is interested they are like .99 cents on ebay are nicely
                                backlit and as common you can get. I bought 20 of them a while back and
                                love them to death for my applications.

                                Kent

                                On 4/5/2012 2:14 PM, Rick Cortese wrote:
                                >
                                > Forewarning: Been over 30 years since I last did something original
                                > with an 1802. As Lee points out, you really need a data sheet to make
                                > sure how your LCD operate. The pinouts on the interfaces come in a
                                > couple of flavors, 14 pin, or 2x7 pins are the most common and I
                                > think somewhat standard. The the Jameco have 16 pins with the
                                > additional pins for the backlight.
                                >
                                > If I was to try hooking one up:
                                >
                                > I would tie the data lines 1:1 with the 1802.
                                >
                                > I would tie the R/W low to keep it in write mode. They do have a ~64
                                > bytes of RAM on them for redefined characters but I don't really think
                                > it would be necessary to access it in read/write mode. Ditto for the
                                > display memory, you can retrieve what is written to it but 2X16 is not
                                > enough memory to bother with.
                                >
                                > The register select pin I would think about tying to the 1802 address
                                > line MA0 or just use Q to be safe. I forgot what happens to memory
                                > address lines during and OUTPUT instruction. <DOH!> If they stay the
                                > same for the output cycle you could just read from memory location
                                > XXXXXXX0 and XXXXXXX1 to set the LCD register select pins then follow
                                > with the OUTPUT 1<for instance> 1802 instruction. Q line is much
                                > easier, just set it for operation and be sure. As Lee said, since they
                                > have the 4 bit mode you probably could use one of the data lines for
                                > register select line but you may need a delay for the 4 bits for set
                                > up time.
                                >
                                > The LCD enable pin I would tie to one of the N0-N2 outputs of the
                                > 1802. I think its operation is inverted from what we have with the
                                > 1802. That is it would have to be run through a 4049 or something to
                                > get the polarity right. Back in the day I routed mine though a 74LS138
                                > so I could have 8 output devices. IIRC a 74ls138 has inverted outputs
                                > so it could replace the 4049 and give you up to 8 I/O chips/devices.
                                > Of course you would want to use something like a 74C138 or 74HTC138 to
                                > keep with the low power theme.
                                >
                                > In use you would just
                                > set Q level for command byte, OUTPUT1 command byte
                                > set Q level data byte, OUTPUT1 data.
                                >
                                > I've probably committed some grievous oversight in how I would do it.
                                > IMHO, it would be a cute hack.
                                >
                                > ________________________________
                                > From: Kent Andersen <sci@... <mailto:sci%40altazip.com>>
                                > To: cosmacelf@yahoogroups.com <mailto:cosmacelf%40yahoogroups.com>
                                > Sent: Wednesday, April 4, 2012 9:20 PM
                                > Subject: Re: [cosmacelf] Re: Seven Segment Displays
                                >
                                >
                                >
                                > how do you use displays like that? I have a pile of those types of
                                > displays that I use with arduino (Atmega) but I have never seen anyone
                                > interface one of these puppies to a 1802.
                                >
                                > On 4/3/2012 5:31 PM, eight_bit_jdrose wrote:
                                > >
                                > >
                                > >
                                > > --- In cosmacelf@yahoogroups.com
                                > <mailto:cosmacelf%40yahoogroups.com>
                                > <mailto:cosmacelf%40yahoogroups.com>,
                                > > Lee Hart <leeahart@...> wrote:
                                > > >
                                > >
                                > > > > I have used the 2X16 character displays like
                                > > > >
                                > >
                                > http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_2118580_-1
                                > > >
                                > >
                                > > Mr. Hart,
                                > >
                                > > That is a nice, contrasty display at a decent price.
                                > >
                                > > Do you know if there is a version of this display that is serial
                                > instead?
                                > >
                                > >
                                >
                                > [Non-text portions of this message have been removed]
                                >
                                > [Non-text portions of this message have been removed]
                                >
                                >



                                [Non-text portions of this message have been removed]
                              • Lee Hart
                                ... This should be easy for a simple binary display. There are a few non-multiplexed LCDs on the market with all the segments brought out to an actual pin.
                                Message 15 of 18 , Apr 6, 2012
                                • 0 Attachment
                                  On 4/5/2012 9:07 AM, aa3nm wrote:
                                  > use a dead stupid LCD and wiggle the wires in simple
                                  > hardware to get the contrast for the bits. In my case I was not
                                  > going to go for a hex display but rather use the segments to
                                  > represent the binary data bits...

                                  This should be easy for a simple binary display. There are a few
                                  non-multiplexed LCDs on the market with all the segments brought out to
                                  an actual pin. They look like an IC chip, but are glass instead of
                                  plastic. They are typically found in bottom-of-the-line multimeters.

                                  These non-multiplexed LCDs have high contrast and wide viewing angle so
                                  they often don't need a backlight. Power consumption is often very low,
                                  down in the microamps region. They are pretty easy to drive. You need to
                                  apply an AC signal (5v square wave is OK) between the segment and the
                                  common backplane. It could be as simple as an exclusive-OR gate for
                                  every pin. There are 1-digit BCD-to-7seg LCD drivers like the 4543,
                                  though I don't know of any that display hex, however.

                                  There are a couple multi-digit hex-to-7seg LCD driver chips; the ICM7211
                                  (not the A version) will drive four 7-segment LCDs, and displays hex
                                  (0-9,A-F). The drawback is that the *input* is multiplexed. It's
                                  intended to be driven by from a micro's output port with software, so it
                                  will take a fair amount of hardware to make it work as a front panel
                                  display.

                                  > My idea was to use segments E& C for a pair of data bits on each of
                                  > 4 digits (thus 8 bits are displayed) representing either a 1 or be
                                  > blank. Then I realized that I'd left a-whole-nother 8 bits unused...
                                  > Why not use the upper set of segments (F& B) in a similar way for
                                  > address display (good enough for a quarter K). This differed only
                                  > slightly from a concept Lee had considered…- that of using an 8 digit
                                  > display and forming the bit number (1 - 7) to represent a 1.

                                  That would certainly work. I considered a binary display, but decided it
                                  would be confusing (which pixel is which bit?). LCDs are sold by the
                                  square inch, pretty much regardless of how many segments are in it. So I
                                  figured it would be better to tie all the segments together to form the
                                  actual numbers. It didn't change the hardware at all, but only required
                                  an 8-digit display for 8 bits. I think my schematic for such a display
                                  is still posted in the files section.

                                  --
                                  First they ignore you; then they mock you; then they fight you; then you
                                  win.
                                  -- Mahatma Gandhi
                                  --
                                  Lee A. Hart, 814 8th Ave N, Sartell MN 56377, leeahart at earthlink.net
                                • bill rowe
                                  driving a raw lcd is a bit of a bugger. I did it to prove to myself that i could but it didn t seem very practical. I was using a multiplex display which
                                  Message 16 of 18 , Apr 6, 2012
                                  • 0 Attachment
                                    driving a raw lcd is a bit of a bugger. I did it to prove to myself that i could but it didn't seem very practical. I was using a multiplex display which makes it a lot tougher though. The voltages and timing needed are all well within the 1802's capabilities so it's not a bad project idea. If you're interested, these posts and the links can give you voltages and timing ideas if you need them.http://hackaday.com/2011/02/10/driving-a-salvaged-lcd/http://arduino.cc/forum/index.php/topic,51464.0.html a good general LCD reference: http://ww1.microchip.com/downloads/en/AppNotes/00658a.pdf (it is somewhat PIC oriented but it's more general than that).
                                    > To: cosmacelf@yahoogroups.com
                                    > From: leeahart@...
                                    > Date: Fri, 6 Apr 2012 10:39:39 -0500
                                    > Subject: Re: [cosmacelf] Re: Seven Segment Displays
                                    >
                                    > On 4/5/2012 9:07 AM, aa3nm wrote:
                                    > > use a dead stupid LCD and wiggle the wires in simple
                                    > > hardware to get the contrast for the bits. In my case I was not
                                    > > going to go for a hex display but rather use the segments to
                                    > > represent the binary data bits...
                                    >
                                    > This should be easy for a simple binary display. There are a few
                                    > non-multiplexed LCDs on the market with all the segments brought out to
                                    > an actual pin. They look like an IC chip, but are glass instead of
                                    > plastic. They are typically found in bottom-of-the-line multimeters.
                                    >
                                    > These non-multiplexed LCDs have high contrast and wide viewing angle so
                                    > they often don't need a backlight. Power consumption is often very low,
                                    > down in the microamps region. They are pretty easy to drive. You need to
                                    > apply an AC signal (5v square wave is OK) between the segment and the
                                    > common backplane. It could be as simple as an exclusive-OR gate for
                                    > every pin. There are 1-digit BCD-to-7seg LCD drivers like the 4543,
                                    > though I don't know of any that display hex, however.
                                    >
                                    > There are a couple multi-digit hex-to-7seg LCD driver chips; the ICM7211
                                    > (not the A version) will drive four 7-segment LCDs, and displays hex
                                    > (0-9,A-F). The drawback is that the *input* is multiplexed. It's
                                    > intended to be driven by from a micro's output port with software, so it
                                    > will take a fair amount of hardware to make it work as a front panel
                                    > display.
                                    >
                                    > > My idea was to use segments E& C for a pair of data bits on each of
                                    > > 4 digits (thus 8 bits are displayed) representing either a 1 or be
                                    > > blank. Then I realized that I'd left a-whole-nother 8 bits unused...
                                    > > Why not use the upper set of segments (F& B) in a similar way for
                                    > > address display (good enough for a quarter K). This differed only
                                    > > slightly from a concept Lee had considered�- that of using an 8 digit
                                    > > display and forming the bit number (1 - 7) to represent a 1.
                                    >
                                    > That would certainly work. I considered a binary display, but decided it
                                    > would be confusing (which pixel is which bit?). LCDs are sold by the
                                    > square inch, pretty much regardless of how many segments are in it. So I
                                    > figured it would be better to tie all the segments together to form the
                                    > actual numbers. It didn't change the hardware at all, but only required
                                    > an 8-digit display for 8 bits. I think my schematic for such a display
                                    > is still posted in the files section.
                                    >
                                    > --
                                    > First they ignore you; then they mock you; then they fight you; then you
                                    > win.
                                    > -- Mahatma Gandhi
                                    > --
                                    > Lee A. Hart, 814 8th Ave N, Sartell MN 56377, leeahart at earthlink.net
                                    >
                                    >
                                    > ------------------------------------
                                    >
                                    > ========================================================
                                    > Visit the COSMAC ELF website at http://www.cosmacelf.comYahoo! Groups Links
                                    >
                                    >
                                    >


                                    [Non-text portions of this message have been removed]
                                  • ted_rossin
                                    A few years back I wrote a little Verilog code to control a 4 digit LCD using a Xilinx Coolrunner 2 CPLD evaluation board. I used the same technique that Lee
                                    Message 17 of 18 , Apr 9, 2012
                                    • 0 Attachment
                                      A few years back I wrote a little Verilog code to control a 4 digit LCD using a Xilinx Coolrunner 2 CPLD evaluation board. I used the same technique that Lee recommended and basicly drove a slow clock (about 100 Hz) into the back plane and then inverted the segments based on the slow clock. Segments that were on were driven out of phase while segments that wer off were driven in phase.

                                      For fun if you hook the common plane to ground and put 5V on a segment, it will darken and then begin to fade. Using the clock keeps them dark.

                                      You can find the project (a bit stale) here:

                                      http://www.tedrossin.net46.net/Electronics/Xilinx/Xilinx.html

                                      I only put the code for one digit but the picture shows that I implemented all the digits eventually.

                                      A little bit of code:

                                      assign COMMON_DRIVE = ~ClockDiv[`RATE_BIT];
                                      assign DIGIT1 = ClockDiv[`RATE_BIT] ? Raw7Seg1 : ~Raw7Seg1;


                                      The entire module:

                                      module Lcd(CLK,RESET,COMMON_DRIVE,LED,DIGIT4,DIGIT3,DIGIT2,DIGIT1);
                                      input CLK;
                                      input RESET;
                                      output COMMON_DRIVE;
                                      output LED;
                                      output[6:0] DIGIT4,DIGIT3,DIGIT2,DIGIT1;

                                      wire[3:0] Counter0,Counter1,Counter2,Counter3;
                                      reg[19:0] ClockDiv;
                                      wire[6:0] Raw7Seg4,Raw7Seg3,Raw7Seg2,Raw7Seg1;
                                      wire ClockDivZero = (ClockDiv==0) ? 1 : 0;

                                      always @(posedge CLK) begin
                                      ClockDiv <= (RESET) ? 0 : ClockDiv + 1;
                                      end

                                      assign LED = 0; // Save power

                                      assign COMMON_DRIVE = ~ClockDiv[`RATE_BIT];

                                      DigitCounter DigitCounter0(CLK,RESET,ClockDivZero,Counter0);
                                      DigitCounter DigitCounter1(CLK,RESET,ClockDivZero & (Counter0==9),Counter1);
                                      DigitCounter DigitCounter2(CLK,RESET,ClockDivZero & (Counter0==9 && Counter1==9),Counter2);
                                      DigitCounter DigitCounter3(CLK,RESET,ClockDivZero & (Counter0==9 && Counter1==9 & Counter2==9),Counter3);

                                      CharGen DigitDecoder3(Counter0[3:0],Raw7Seg1);
                                      CharGen DigitDecoder2(Counter1[3:0],Raw7Seg2);
                                      CharGen DigitDecoder1(Counter2[3:0],Raw7Seg3);
                                      CharGen DigitDecoder0(Counter3[3:0],Raw7Seg4);

                                      assign DIGIT4 = ClockDiv[`RATE_BIT] ? Raw7Seg4 : ~Raw7Seg4;
                                      assign DIGIT3 = ClockDiv[`RATE_BIT] ? Raw7Seg3 : ~Raw7Seg3;
                                      assign DIGIT2 = ClockDiv[`RATE_BIT] ? Raw7Seg2 : ~Raw7Seg2;
                                      assign DIGIT1 = ClockDiv[`RATE_BIT] ? Raw7Seg1 : ~Raw7Seg1;

                                      endmodule


                                      --- In cosmacelf@yahoogroups.com, bill rowe <bill_rowe_ottawa@...> wrote:
                                      >
                                      >
                                      > driving a raw lcd is a bit of a bugger. I did it to prove to myself that i could but it didn't seem very practical. I was using a multiplex display which makes it a lot tougher though. The voltages and timing needed are all well within the 1802's capabilities so it's not a bad project idea. If you're interested, these posts and the links can give you voltages and timing ideas if you need them.http://hackaday.com/2011/02/10/driving-a-salvaged-lcd/http://arduino.cc/forum/index.php/topic,51464.0.html a good general LCD reference: http://ww1.microchip.com/downloads/en/AppNotes/00658a.pdf (it is somewhat PIC oriented but it's more general than that).
                                      > > To: cosmacelf@yahoogroups.com
                                      > > From: leeahart@...
                                      > > Date: Fri, 6 Apr 2012 10:39:39 -0500
                                      > > Subject: Re: [cosmacelf] Re: Seven Segment Displays
                                      > >
                                      > > On 4/5/2012 9:07 AM, aa3nm wrote:
                                      > > > use a dead stupid LCD and wiggle the wires in simple
                                      > > > hardware to get the contrast for the bits. In my case I was not
                                      > > > going to go for a hex display but rather use the segments to
                                      > > > represent the binary data bits...
                                      > >
                                      > > This should be easy for a simple binary display. There are a few
                                      > > non-multiplexed LCDs on the market with all the segments brought out to
                                      > > an actual pin. They look like an IC chip, but are glass instead of
                                      > > plastic. They are typically found in bottom-of-the-line multimeters.
                                      > >
                                      > > These non-multiplexed LCDs have high contrast and wide viewing angle so
                                      > > they often don't need a backlight. Power consumption is often very low,
                                      > > down in the microamps region. They are pretty easy to drive. You need to
                                      > > apply an AC signal (5v square wave is OK) between the segment and the
                                      > > common backplane. It could be as simple as an exclusive-OR gate for
                                      > > every pin. There are 1-digit BCD-to-7seg LCD drivers like the 4543,
                                      > > though I don't know of any that display hex, however.
                                      > >
                                      > > There are a couple multi-digit hex-to-7seg LCD driver chips; the ICM7211
                                      > > (not the A version) will drive four 7-segment LCDs, and displays hex
                                      > > (0-9,A-F). The drawback is that the *input* is multiplexed. It's
                                      > > intended to be driven by from a micro's output port with software, so it
                                      > > will take a fair amount of hardware to make it work as a front panel
                                      > > display.
                                      > >
                                      > > > My idea was to use segments E& C for a pair of data bits on each of
                                      > > > 4 digits (thus 8 bits are displayed) representing either a 1 or be
                                      > > > blank. Then I realized that I'd left a-whole-nother 8 bits unused...
                                      > > > Why not use the upper set of segments (F& B) in a similar way for
                                      > > > address display (good enough for a quarter K). This differed only
                                      > > > slightly from a concept Lee had considered…- that of using an 8 digit
                                      > > > display and forming the bit number (1 - 7) to represent a 1.
                                      > >
                                      > > That would certainly work. I considered a binary display, but decided it
                                      > > would be confusing (which pixel is which bit?). LCDs are sold by the
                                      > > square inch, pretty much regardless of how many segments are in it. So I
                                      > > figured it would be better to tie all the segments together to form the
                                      > > actual numbers. It didn't change the hardware at all, but only required
                                      > > an 8-digit display for 8 bits. I think my schematic for such a display
                                      > > is still posted in the files section.
                                      > >
                                      > > --
                                      > > First they ignore you; then they mock you; then they fight you; then you
                                      > > win.
                                      > > -- Mahatma Gandhi
                                      > > --
                                      > > Lee A. Hart, 814 8th Ave N, Sartell MN 56377, leeahart at earthlink.net
                                      > >
                                      > >
                                      > > ------------------------------------
                                      > >
                                      > > ========================================================
                                      > > Visit the COSMAC ELF website at http://www.cosmacelf.comYahoo! Groups Links
                                      > >
                                      > >
                                      > >
                                      >
                                      >
                                      > [Non-text portions of this message have been removed]
                                      >
                                    • bill rowe
                                      so ted, this was one backplane for the whole LCD and 7 segment leads per digit - right. Looking back at my code i guess almost all the complexity came from
                                      Message 18 of 18 , Apr 9, 2012
                                      • 0 Attachment
                                        so ted, this was one backplane for the whole LCD and 7 segment leads per digit - right. Looking back at my code i guess almost all the complexity came from the multilexing and needing to run 4 backplanes at 3 or 4 voltages each.

                                        To: cosmacelf@yahoogroups.com
                                        From: ted_rossin@...
                                        Date: Mon, 9 Apr 2012 20:41:25 +0000
                                        Subject: [cosmacelf] Re: Seven Segment Displays




























                                        A few years back I wrote a little Verilog code to control a 4 digit LCD using a Xilinx Coolrunner 2 CPLD evaluation board. I used the same technique that Lee recommended and basicly drove a slow clock (about 100 Hz) into the back plane and then inverted the segments based on the slow clock. Segments that were on were driven out of phase while segments that wer off were driven in phase.



                                        For fun if you hook the common plane to ground and put 5V on a segment, it will darken and then begin to fade. Using the clock keeps them dark.



                                        You can find the project (a bit stale) here:



                                        http://www.tedrossin.net46.net/Electronics/Xilinx/Xilinx.html



                                        I only put the code for one digit but the picture shows that I implemented all the digits eventually.



                                        A little bit of code:



                                        assign COMMON_DRIVE = ~ClockDiv[`RATE_BIT];

                                        assign DIGIT1 = ClockDiv[`RATE_BIT] ? Raw7Seg1 : ~Raw7Seg1;



                                        The entire module:



                                        module Lcd(CLK,RESET,COMMON_DRIVE,LED,DIGIT4,DIGIT3,DIGIT2,DIGIT1);

                                        input CLK;

                                        input RESET;

                                        output COMMON_DRIVE;

                                        output LED;

                                        output[6:0] DIGIT4,DIGIT3,DIGIT2,DIGIT1;



                                        wire[3:0] Counter0,Counter1,Counter2,Counter3;

                                        reg[19:0] ClockDiv;

                                        wire[6:0] Raw7Seg4,Raw7Seg3,Raw7Seg2,Raw7Seg1;

                                        wire ClockDivZero = (ClockDiv==0) ? 1 : 0;



                                        always @(posedge CLK) begin

                                        ClockDiv <= (RESET) ? 0 : ClockDiv + 1;

                                        end



                                        assign LED = 0; // Save power



                                        assign COMMON_DRIVE = ~ClockDiv[`RATE_BIT];



                                        DigitCounter DigitCounter0(CLK,RESET,ClockDivZero,Counter0);

                                        DigitCounter DigitCounter1(CLK,RESET,ClockDivZero & (Counter0==9),Counter1);

                                        DigitCounter DigitCounter2(CLK,RESET,ClockDivZero & (Counter0==9 && Counter1==9),Counter2);

                                        DigitCounter DigitCounter3(CLK,RESET,ClockDivZero & (Counter0==9 && Counter1==9 & Counter2==9),Counter3);



                                        CharGen DigitDecoder3(Counter0[3:0],Raw7Seg1);

                                        CharGen DigitDecoder2(Counter1[3:0],Raw7Seg2);

                                        CharGen DigitDecoder1(Counter2[3:0],Raw7Seg3);

                                        CharGen DigitDecoder0(Counter3[3:0],Raw7Seg4);



                                        assign DIGIT4 = ClockDiv[`RATE_BIT] ? Raw7Seg4 : ~Raw7Seg4;

                                        assign DIGIT3 = ClockDiv[`RATE_BIT] ? Raw7Seg3 : ~Raw7Seg3;

                                        assign DIGIT2 = ClockDiv[`RATE_BIT] ? Raw7Seg2 : ~Raw7Seg2;

                                        assign DIGIT1 = ClockDiv[`RATE_BIT] ? Raw7Seg1 : ~Raw7Seg1;



                                        endmodule



                                        --- In cosmacelf@yahoogroups.com, bill rowe <bill_rowe_ottawa@...> wrote:

                                        >

                                        >

                                        > driving a raw lcd is a bit of a bugger. I did it to prove to myself that i could but it didn't seem very practical. I was using a multiplex display which makes it a lot tougher though. The voltages and timing needed are all well within the 1802's capabilities so it's not a bad project idea. If you're interested, these posts and the links can give you voltages and timing ideas if you need them.http://hackaday.com/2011/02/10/driving-a-salvaged-lcd/http://arduino.cc/forum/index.php/topic,51464.0.html a good general LCD reference: http://ww1.microchip.com/downloads/en/AppNotes/00658a.pdf (it is somewhat PIC oriented but it's more general than that).

                                        > > To: cosmacelf@yahoogroups.com

                                        > > From: leeahart@...

                                        > > Date: Fri, 6 Apr 2012 10:39:39 -0500

                                        > > Subject: Re: [cosmacelf] Re: Seven Segment Displays

                                        > >

                                        > > On 4/5/2012 9:07 AM, aa3nm wrote:

                                        > > > use a dead stupid LCD and wiggle the wires in simple

                                        > > > hardware to get the contrast for the bits. In my case I was not

                                        > > > going to go for a hex display but rather use the segments to

                                        > > > represent the binary data bits...

                                        > >

                                        > > This should be easy for a simple binary display. There are a few

                                        > > non-multiplexed LCDs on the market with all the segments brought out to

                                        > > an actual pin. They look like an IC chip, but are glass instead of

                                        > > plastic. They are typically found in bottom-of-the-line multimeters.

                                        > >

                                        > > These non-multiplexed LCDs have high contrast and wide viewing angle so

                                        > > they often don't need a backlight. Power consumption is often very low,

                                        > > down in the microamps region. They are pretty easy to drive. You need to

                                        > > apply an AC signal (5v square wave is OK) between the segment and the

                                        > > common backplane. It could be as simple as an exclusive-OR gate for

                                        > > every pin. There are 1-digit BCD-to-7seg LCD drivers like the 4543,

                                        > > though I don't know of any that display hex, however.

                                        > >

                                        > > There are a couple multi-digit hex-to-7seg LCD driver chips; the ICM7211

                                        > > (not the A version) will drive four 7-segment LCDs, and displays hex

                                        > > (0-9,A-F). The drawback is that the *input* is multiplexed. It's

                                        > > intended to be driven by from a micro's output port with software, so it

                                        > > will take a fair amount of hardware to make it work as a front panel

                                        > > display.

                                        > >

                                        > > > My idea was to use segments E& C for a pair of data bits on each of

                                        > > > 4 digits (thus 8 bits are displayed) representing either a 1 or be

                                        > > > blank. Then I realized that I'd left a-whole-nother 8 bits unused...

                                        > > > Why not use the upper set of segments (F& B) in a similar way for

                                        > > > address display (good enough for a quarter K). This differed only

                                        > > > slightly from a concept Lee had considered�- that of using an 8 digit

                                        > > > display and forming the bit number (1 - 7) to represent a 1.

                                        > >

                                        > > That would certainly work. I considered a binary display, but decided it

                                        > > would be confusing (which pixel is which bit?). LCDs are sold by the

                                        > > square inch, pretty much regardless of how many segments are in it. So I

                                        > > figured it would be better to tie all the segments together to form the

                                        > > actual numbers. It didn't change the hardware at all, but only required

                                        > > an 8-digit display for 8 bits. I think my schematic for such a display

                                        > > is still posted in the files section.

                                        > >

                                        > > --

                                        > > First they ignore you; then they mock you; then they fight you; then you

                                        > > win.

                                        > > -- Mahatma Gandhi

                                        > > --

                                        > > Lee A. Hart, 814 8th Ave N, Sartell MN 56377, leeahart at earthlink.net

                                        > >

                                        > >

                                        > > ------------------------------------

                                        > >

                                        > > ========================================================

                                        > > Visit the COSMAC ELF website at http://www.cosmacelf.comYahoo! Groups Links

                                        > >

                                        > >

                                        > >

                                        >

                                        >

                                        > [Non-text portions of this message have been removed]

                                        >


















                                        [Non-text portions of this message have been removed]
                                      Your message has been successfully submitted and would be delivered to recipients shortly.