You could turn on a single LED at a time, or do it by a whole column or row.I am not sure what is row scanning and column scanning. My idea is something like this
Give me one more day to reconsider my hardware. I'll post it tomorrow night. Thanks.U5 driving U3 ?
I am now away from my PC . I am not used to typing on hand phone. So I'll reply you tomorrow night.You could turn on a single LED at a time, or do it by a whole column or row.
When I did my display, I chose to do it a column at a time because I can only get a couple hundred kHz from my I/O ports. I'm using a $9 C.H.I.P. computer (which is no longer available) and no one has documented how to use the registers for higher speeds than the sysfs interface can provide.
I was going to post a video showing scrolling on a 5x7 matrix, but the only video I've found has a ghosting problem that I later fixed.
I have turned the 2 matrices upside down and now using a "0" for the column and a "1" for the Row. I removed U3 and just drive the Row direct through HC595 shift register.U5 driving U3 ?
Yes, I've heard about the C.H.I.P. $9 computer and I hate to say they didn't succeed like the arduino or RPi.You could turn on a single LED at a time, or do it by a whole column or row.
When I did my display, I chose to do it a column at a time because I can only get a couple hundred kHz from my I/O ports. I'm using a $9 C.H.I.P. computer (which is no longer available) and no one has documented how to use the registers for higher speeds than the sysfs interface can provide.
I was going to post a video showing scrolling on a 5x7 matrix, but the only video I've found has a ghosting problem that I later fixed.
I think they tried to run before they could walk and got too ambitious for their own good. They started working on Chip V2, a stripped down version called Chip Pro, and some Dashbot thing before they got Chip V1 right. Spread themselves too thin and put themselves out of business. Too bad. For the price, it couldn't be beat.Yes, I've heard about the C.H.I.P. $9 computer and I hate to say they didn't succeed like the arduino or RPi.
What I did wasn't elegant, or the best way. It was a prototype that I threw together with parts I had on hand.It's nice to have your video for me to get some clues on how to do it rightly and elegantly.
That was what I regretted as soon as I finished wiring the 5x7 matrix. I ended up buying some 5x8 bicolor displays that will be easier to use.If you have more 5*7 matrices connected together, it wouldn't be so bad .
No video formats are supported, so I use YouTube; it also makes the files smaller. You could host the files on another site, but they'll still be large.Btw how to upload video onto this forum? Do I have to go through YouTube first

What chips are they? Was is a WiFi with GPS function?Now I'm thinking of getting some more Chips (there's someone in China selling them for $15 each) and start making clocks for friends and relatives.
void charput(char ch, signed char x,signed char y)
{
signed char x1, y1;
const char* addr2; // pointer to character
char disp;
ch -= 0x20; // characters starts a 0 not 0x20
addr2 = &fnt[0]; // start of font array
addr2 = addr2 + ((int)ch * 8); // start place in font array
for( y1=0;y1<8;y1++) // eight rows
{
disp = *addr2;
for (x1 = 0; x1<8; x1++) // eight pixels
{
if(disp & pow[x1])
pixel(x+x1,y+y1,0); // OR the pixel to the display buffer
}
addr2++;
}
}
I meant more C.H.I.P. computers.What chips are they? Was is a WiFi with GPS function?
for (i = 0; i < colbase; i++) {
for (j = 0; j < repCnt; j++) { // display multiple times for visibility
for (col = i; col < i+5; col++) {
for (row = 0, k = 0; k < 7; k++)
fprintf(rw[k], "%c", sbuf[row++][col]);
nanosleep(&ont, &remstr);
for (k = 0; k < 7; k++) // turn all off before incrementing column
fprintf(rw[k], "1");
nanosleep(&oft, &remstr);
fprintf(clk, "1"); nanosleep(&clkslp, &remstr); fprintf(clk, "0");
}
}
}
Thank you for the clear explanations. Now I begin to get the big picture.Okay fnt[] is the bitmaps.. Each bitmap is 8 bytes ADDR2 is pointed to the address of each character within fnt[]..
lets say &fnt[0] is at location 12345 in memory and we are displaying "A".. Each character is 8 bytes, so the character will be ASCII "A" is 65, but we start at the space " " which is 32 from this ADDR2 needs to be set at 33 * bitmap size, so the bitmap array will give us the bits we need
ADDR2 = ( start of array ) + ( (character - 32 ) * 8 bytes) … This will give us the first set of pixels ADDR+ 1 is the second set etc...
disp is the byte of pixels for that particular space in the display buffer!! Think of the display buffer as another screen
I use 16F886 for this project. The program memory is 8192W, RAM is 368 bytes and eeprom is 256 bytes. I would say the RAM is adequate for this project...What are your memory constraints on the microcontroller?
Yes, this is how I did it with the 8051.I assume you're going to display a scrolling message repeatedly. The way I implemented my single digit display (also applicable to wider displays) is I initialized an array with the message, then I treated my display as a window that I slid over the message buffer.
I used the sysfs interface for my GPIO's. The message buffer (sbuf) is a 7x1024 2D array (I just picked 1024 out of the air, it allows a message of 170 characters). The inner loop writes the 7 rows, the loop around that writes the column for the width of the window. The loop around that repeats the window for visibility (persistence). The outer loop slides the window along the message buffer.
Thanks for the code too and I'd study it while I am free in the next 2 weeks.colbase is a little confusing because it was used to construct the message buffer. In that context, colbase represented the next usable column in the buffer. I reused the variable in the output loop; after subtracting two, it represents the index of the end of the message buffer (I think there's a fence post error here and I'm clipping the last column; made a note to myself to run in debug mode to check. I had a fence post error the other way and over compensated).
| Thread starter | Similar threads | Forum | Replies | Date |
|---|---|---|---|---|
| D | PIC 16F88 ADC Inconcistency, Voltage Drops??? PLEASE HELP!!! | Microcontrollers | 13 | |
|
|
16F88 external Vref setup? | Microcontrollers | 5 | |
|
|
16F88 RA5, RA6, RA7 problems - PBP | Microcontrollers | 5 | |
| R | Keypad to PS2 16F88 | Microcontrollers | 15 | |
|
|
Need working asm file for 16f88 | Programming & Languages | 7 |