![]() | ![]() | ![]() |
| | #46 |
|
what did you use to draw the layout eagle or what | |
| |
| | #47 |
|
Yes, it will be eagle, but still don`t use it. For now only trying to figure out how work so many matrixes.
| |
| |
| | #48 | |
| Quote:
Did you ever order any of these 0.7-inch 5x7 displays for 69 cents each? They might be a nice candidate for a 7x40 or 7x80 display using my MacMux™ architecture and relatively inexpensive 74HC595 column driver ICs. | ||
| |
| | #49 |
|
hey nice job. Thats exactly how i would do it. Those LEDs are from BGMicro right? he 595s are perfect because of the latch feature. My choice of MCU would be: PIC18F2455 Mainly because its cheap and as fast as 48Mhz/12MIPs. which is about 12Mhz really in the pic world. since the max fcy the HC595 can do is 100mhz i say this 12Mhz is really fast and can switch these puppies nice! Or you can just a use a dsPIC33FJ64MC802 40MIPS! sure it would be more than enough to control quiet a few leds. Even multiple rows should be ok. One thing! how slow can one go before the leds look bad? Like how fast does one need to switch for the whole thing to appear lit? i guess a test of my own vision and a few others is in check. Ill make a LED block and see a what speed i can slow it down to before it starts looking funny. The whole issue is with more blocks you need more speed but the faster you go the dimmer it gets.
__________________ AtomSofts eBay Store AtomSoftTech: C18 TIPS & TRICKS v9 PDF Nokia 6100 Driver/Software My Name: Jason Lopez http://atomsofttech.info/ | My YouTube Videos! My Favorite Store: dipmicro Electronics | |
| |
| | #50 | |||
| Yeah. BG Micro. Quote:
You don't need a lot of horsepower with this design. A 4-MHz clock will work fine. Both 40 and 80 column displays run at a 1/7th or 14% duty cycle which provides decent brightness (4-ma "average" current per LED) with 74HC595 sourcing drivers and keeps "peak" power supply requirements managable. Quote:
Quote:
Regards, Mike | ||||
| |
| | #51 |
|
The funny thing here is I took apart a old sign board it had 1050 red leds and you could read it good in the day time. It came out the lunch room at work you could go as fast as you want to scroll or slow and it looked good. It's uC only had a 2mhz crystal it was a old 8051. They lost the code setting controller so I ended up with it.I played with for some time never could figure how they got to work so good. | |
| |
| | #52 |
|
Mike looks like it would be a fun project.
__________________ AtomSofts eBay Store AtomSoftTech: C18 TIPS & TRICKS v9 PDF Nokia 6100 Driver/Software My Name: Jason Lopez http://atomsofttech.info/ | My YouTube Videos! My Favorite Store: dipmicro Electronics | |
| |
| | #53 | |
| Quote:
EDIT I was bored and made this little chart: Code: (1THZ) 1,000,000,000,000 hz = 0.000,000,000,001 second per cycle (1 PicoSecond) (1GHZ) 1,000,000,000 hz = 0.000,000,001 second per cycle (1 NanoSecond) (1MHZ) 1,000,000 hz = 0.000,001 second per cycle (1 MicroSecond) (1KHZ) 1,000 hz = 0.001 second per cycle (1 MilliSecond) (1HZ) 1 hz = 1 seconds per cycle (1 Second)
__________________ AtomSofts eBay Store AtomSoftTech: C18 TIPS & TRICKS v9 PDF Nokia 6100 Driver/Software My Name: Jason Lopez http://atomsofttech.info/ | My YouTube Videos! My Favorite Store: dipmicro Electronics Last edited by AtomSoft; 4th October 2009 at 06:11 PM. | ||
| |
| | #54 |
|
The signals would need to move faster than the speed of light ^^
| |
| |
| | #55 |
|
heh yeah. Im sure we are pretty close to it we have to be...
__________________ AtomSofts eBay Store AtomSoftTech: C18 TIPS & TRICKS v9 PDF Nokia 6100 Driver/Software My Name: Jason Lopez http://atomsofttech.info/ | My YouTube Videos! My Favorite Store: dipmicro Electronics | |
| |
| | #56 |
|
Hi Mike I'm studying your last design 7X40 using 74HC595. Can you tell when an timer interrupt occurs I must feed the first row datas.The data is in the 40 column registers.So I must bit mask the column registers & feed the data to the first row one by one. After feeding finished the first row, I'must give latch to the latch pin & come out from interrupt Likewise in next interrupt I'must feed the 2nd row like above. Is this correct? Last edited by Suraj143; 15th October 2009 at 12:17 PM. | |
| |
| | #57 |
|
Hi Suraj, There are some special driver considerations with the MacMux designs. They use the PIC PWM output to modulate the OE (output enable) lines on the driver ICs which allows us to retask the row driver lines temporarily for use as <CLK> and <DAT> lines to load all of the shift registers in parallel during a short blanking interval at the beginning of each row scan interrupt. This method allows us to load 40 bits of column data into the five shift registers by simply writing 8 bytes and clock pulses onto the row driver buss at the beginning of each row scan interrupt; Code: void interrupt()
{ pir1.TMR2IF = 0; // clear timer 2 interrupt flag
/* *
* retask the row driver lines while PWM is hi (display off) as *
* one <clk> and five <ser> lines to update the 74HC595 shift *
* registers on all five driver ICs in parallel (5 chan SPI) then *
* write the new row select bit pattern to portc before PWM goes *
* lo (display on) to resume portc row driver duties. *
* */
portc = srbuf[7]; clk = 1; // clock out SR b7 bits
portc = srbuf[6]; clk = 1; // clock out SR b6 bits
portc = srbuf[5]; clk = 1; // clock out SR b5 bits
portc = srbuf[4]; clk = 1; // clock out SR b4 bits
portc = srbuf[3]; clk = 1; // clock out SR b3 bits
portc = srbuf[2]; clk = 1; // clock out SR b2 bits
portc = srbuf[1]; clk = 1; // clock out SR b1 bits
portc = srbuf[0]; clk = 1; // clock out SR b0 bits
portc = rowsel; // select new row
You need additional "data bender" code in the ISR to build those eight special shift register bytes from your display[] array before each new row scan interrupt. I'll throw an example program together and post it for you as soon as possible. Take care. Regards, Mike Last edited by Mike, K8LH; 15th October 2009 at 01:21 PM. | |
| |
| | #58 |
|
Hi mike thanks for the great help. Actually the “MAC Mux” is a bit hard. I’ll try to do it later. For the time being I’m doing a standard multiplex but I need to do a row scan. I have attached my drawing; the positive to the LEDs will supply via the shift registers. & the negative supply to the LEDs will supply via the microcontroller. You may notice I have cascaded the shift registers via the QH’ to SDATA. This is the method I’m going to use. In row scan I need 40 column registers if I have 40 columns. When a timer interrupt occurs I must first serve the first row. This is done by sending all lower bits of column registers to the shift registers. After feeding all 40 columns in the first row I must make a “latch” to show in the display. After latching I must return from interrupt. Likewise in next interrupt I’ must feed the 2nd row like above. Is this correct? Last edited by Suraj143; 15th October 2009 at 05:24 PM. | |
| |
| | #59 |
|
That's cool Gayan ayya. two thumbs up.. | |
| |
| | #60 |
| Hi Suraj, It seems you have the correct procedure. You need to keep track of the row number and select the correct five bytes (40 bits) of data from your display array during each interrupt. You'll clock out those 40 bits into the daisy-chained shift registers, blank the display, latch the shift register data onto the outputs, then select the new row to turn the display back on. You do this procedure each interrupt to display a new row. Regards, Mike Last edited by Mike, K8LH; 16th October 2009 at 10:30 PM. | |
| |
|
| Tags |
| 64x8, led, pic, signboard |
| Thread Tools | |
| Display Modes | |
| |
Similar | ||||
| Title | Starter | Forum | Replies | Latest |
| 10x7 LED SignBoard (MERRY X MAS) | Gayan Soyza | Micro Controllers | 44 | 10th May 2008 04:49 PM |
| 16f628A - How do I do this? | Hakachukai | Micro Controllers | 6 | 4th July 2007 05:09 PM |
| Signboard electronic | leticia | Micro Controllers | 1 | 18th March 2007 05:01 AM |
| 7X48; 250 character signboard | don.vito | Micro Controllers | 0 | 4th January 2007 12:11 AM |
| 16f628a | RMIM | Micro Controllers | 8 | 29th July 2006 08:45 AM |