Friday, March 20, 2020

Bye Bye LCD


So lately I have some extra time around the house.  Others are going stir crazy sequestering in their homes but I think they just need a hobby.  Amateur radio and fooling around with electronics are great ways to keep happily occupied for hours.

SLO-2016Years ago, I acquired some cool LED matrix displays at a hamfest.  I had no idea what to do with them but I thought they looked neat and I knew that at some point I'd incorporate them in a radio project.  Well, the time is now!

The SLO-2016 displays have 4 characters per display. It uses a parallel interface with 7-bit data, 2-bit address, and a display write pin.  This allows for multiple displays to have their data and address lines wired together and use the write enable line to chose the display.  I have 3 displays which means I would need 12 pins from the microcontroller unless we come up with a different solution.
Using two 8-bit serial shift registers (74hc595) tied together, we can use the SPI interface to send 16 bits that include 7 data bits, 2 address bits, and 3 display select bits.  One digital output pin of the µC is used as a SPI slave select and another is used to send a pulse to latch the register values.  The 3 display selection bits are wired to inputs of NAND gates (74hc00) with the other inputs wired to the latch pulse line.  The outputs of the NAND gates are used as the display write enable lines.
The µBITX with a LED matrix display
 
I updated the µBITX code to remove the LCD library and use some code I wrote to display information on the new display.  I updated how the frequency is displayed to squeeze into the 12 characters.

I reconnected the encoder and added push buttons for the menu access and PTT.  That allows me to run the calibration routines.

No comments:

Post a Comment