16F88 7-segment text demo

Status
Not open for further replies.

Hank Fletcher

New Member
Hi all! I thought I'd send a belated Happy Birthday message to my Dad, and try to get some practice programming PICs at the same time. The result? I programmed my 16F88 to display scrolling text on a 3 digit, 7-segment display. Here's what the finally product looks like (warning: I hope my humming doesn't creep you out!):
https://www.youtube.com/watch?v=rt6pkALgwQA
Comments or questions either here or on Youtube are most welcome! Also, I'm up for a challenge if anyone has any ideas on what other text/graphics I might display. I'll try my hand at the best ideas, and post a video of those results, too.

Just one request: No text including the letters K, M, W, or X. Seriously! How am I suppose to do those on just a 7-segment?!
 
I've made a font with a seven segment alphabet, it's in the download section of my site. K M W X are tough but I've used the same letters an old Elektor article used.
 
I've made a font with a seven segment alphabet, it's in the download section of my site. K M W X are tough but I've used the same letters an old Elektor article used.
Doh! I'd thought you might, and I spent yesterday evening making up my own ASCII-esque values for the various combinations of segments for text, etc. I'll check your font out. In case anyone's interested, here's what I came up with below. Segments A to G are bits 0 through 6, respectively, and the decimal point is bit 7 (decimal 128).

8-bit values (in decimal) and the 7-Segment character they represent:

 
Hank Fletcher said:
Also, I'm up for a challenge if anyone has any ideas on what other text/graphics I might display.

To keep in the spirit of Segments, try an alpha-led set instead of 7-segment set. More lines but more freedom.

As for ideas on other graphics not mentioning actual LCD display, here is a quick demo using a 5x7 display I am sure we all seen many times before. First experimented with way way way... back in 16F84 days. Now dusted off and relived with the life blood of the 24F' series.

Supports full character set, variable speed, scroll effects and orientations.
https://www.anothercoilgunsite.com/hankfletcher.wmv

Code Snippet
Code:
STRING1:	.ASCIZ "4HV SUCKS"
STRING2:	.ASCIZ "72.3 M/S"
STRING3:	.ASCIZ "0123456789"
STRING4:	.ASCIZ "THIS IS A TEST..."
STRING5:        .ASCIZ "HANK FLETCHER"
 
Just reading through my table, I noticed something:

I commented in a thread on this forum once upon a time I think about the latent homo-eroticism of multiplayer first-person-shooters. At the end of a round, players often text "Gg" to each other, which is an abbreviation for "Good game."

"Gg" in 7-segment text is visually identical to "69." Think about it. What are you really telling your clan-mates? Playing multiplayer FPS doesn't necessarily make you gay, but it's an unlikely forum to attract a mate of the female type.

I'm just saying. What ever floats your boat - it's all good!
 
Last edited:
donniedj said:
To keep in the spirit of Segments, try an alpha-led set instead of 7-segment set. More lines but more freedom.
I'd really like to get something more sophisticated now that I've mastered the 7-segment. But I had to work through it, you know?
As for ideas on other graphics not mentioning actual LCD display, here is a quick demo using a 5x7 display I am sure we all seen many times before.
Classy! Nice work.
Supports full character set, variable speed, scroll effects and orientations.
https://www.anothercoilgunsite.com/hankfletcher.wmv
I'm curious how you go about defining characters and effects. I'm just putting my 8-bit code for each character into a look-up table. My code is very minimal at the moment, and for the most part designed around the one effect (right to left scrolling), with one constant being adjustable for speed. I guess I would define the variables for various effects at the start of my code? I'm just not there yet, I suppose.

FYI: I'm using GC BASIC... it's about the most my brain can handle. It has pre-designed commands for driving 7-segments, but from what I could tell they're specific to common-cathode output, so I didn't use them for this project. I coded each output bit from scratch, but it was still relatively easy to do that using GC BASIC. That's my comfort zone for now, I guess!
 
Last edited:
You are lucky that you can show all the Vowels on the SSD.

Use full use of the segments so the display will be clear.
Ex: to display the letter "U" & "O" use upper 3 segments with the lower 3 segments.You have used only the lower 3 segments.

Reducing the speed of your scroll will be ok too.
 
Last edited:
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…