Sadaf
Newbie level 5
- Joined
- Feb 7, 2003
- Messages
- 9
- Helped
- 10
- Reputation
- 20
- Reaction score
- 10
- Trophy points
- 1,283
- Location
- Lahore, Pakistan
- Activity points
- 824
Thanks for reply.... suppose I have a text string like "Well Come We have all stuf you want". I want to get it scrool over and over... moving letters on a 7x9 led matrix. I saw a unit which was doing this. In that unit it was possible that you change the moving message with the help of a infra red remote control. It means that moving message has built in characterset.. from which letters can be selected to make a message. It contains 19 led matrix displays (7 x 9). May it help to advice me ATMEL based Hardware design and its software? Thanks again.Epegic said:Embedded control software always depends on hardware design. It is hopeless to any advice if you don't mention clearly what you wanted.
The one that I linked to have RS232 interface for connetion to PC:GrandAlf said:Normally these units have a serial i/p for computer programming with a fairly simple protocol. Are you sure that the one you are looking at does not have this facilty?, if not there are plenty that do.
dispBuffer[row][col/8];
#define Sclock P^0;
#define Sdata P^1;
void scan(void) {
for (row=0; row<7 row++) {
P1 = 0x00; // turn off display
for (i=0; i<4; i++) // send 4 bytes of display data
outOneByte(dispBuffer[row][i]); // send data to 164
P1 = 0x01<<row; // enable one single row
} }
void outOneByte(dispData) {
Sclock = 0; // serial clock low
for (i=0; i<8; i++) { //send 8 bits
if ((dispData & 0x01)==1) Sdata = 1;
else Sdata =0;
Sclock =1;
dispData >>=1;
} }
You can download the program with the ISP connector, then you can program the text inide the Flash memory as a part of the program, then you don't need any eeprom. If there is not enough space in the AVR, then you can just use a bigger AVR with more Flash memory.Al Farouk said:The circuit supplied by ME also need a storage media (EPROM, EEPROM, or else) to be read at poer up and also facilitate the field updating.
tobb said:HI .. The circuit supply by ME is good one . it use internal eeprom to store upto 128 char for moving message. I'm currently work on 16*32 led moving bar. it use sanyo LC7932 16 bit shift open drain ic.
i use timer interupt for shift every column and i use internal eeprom to store letter the logic will like this
read column(i)
send shift data to ic controll column
display column(i)
increase i
this will display static data so i need to chage column data to make it move in a time that i set .. I try this and it work.. but my source code is writen in bascom and it use with LC7932 Driver + AT90S2313 .. if anyone interest i could post it here..
Let me place a question about hardware.
Do you have already tried to switch ON all the leds (or 80% of them)?
Dim Outser1 As Integer
Dim Outser2 As Integer
Dim Outprt As Byte
Dim Outrow As Integer
Dim Outserlong As Long
Dim Tmplong As Long
Dim Sr_cnt As Byte
Dim Sr_cnt_zero As Byte
Dim Sr_cnt_first As Byte
Dim Sr_cnt_second As Byte
Dim Page As Byte
Dim En_flage As Byte
Dim I As Byte , J As Byte , K As Byte
Dim I_zero As Byte
Dim I_invert As Byte
Dim Shifttime As Integer
Dim Shiften As Byte
$eeprom
Data &B0000000000000000%
Data &B0000000000000000%
Data &B0101010011100000%
Data &B0101010100010000%
Data &B0101010111110000%
Data &B0101010100000000%
Data &B0010100011100000%
Data &B0000000000000000%
Data &B0000000000000000%
Data &B0111001000000100%
Data &B0100100001100001%
Data &B0100101010010100%
Data &B0100101010010100%
Data &B0111001001110100%
Data &B0000000000010000%
Data &B0000000001100000%
Data &B0000000000001010%
Data &B0110001100000101%
Data &B1001010010000010%
Data &B1000100010110001%
Data &B1000000011001000%
Data &B0100000100001000%
Data &B0010001100010000%
Data &B0001010010100000%
Data &B0000100001000000%
Data &B1000000010001010%
Data &B1100110010001010%
Data &B1001001010001010%
Data &B1001001010001010%
Data &B1000111010000000%
Data &B0000000000001010%
Data &B0000000000000000%
Config Portb = Output
Config Timer0 = Timer , Prescale = 8
Enable Timer0
Enable Interrupts
On Ovf0 Tim0_isr
Do
Loop
Tim0_isr:
Disable Interrupts
Incr Shifttime
If Shifttime = 150 Then
Incr Shiften
If Shiften = 32 Then Shiften = 0
Shifttime = 0
End If
Sr_cnt_zero = Sr_cnt - 1
Sr_cnt_first = Sr_cnt_zero * 2
Sr_cnt_second = Sr_cnt_zero + 16
Sr_cnt_second = Sr_cnt_second * 2
Readeeprom Outser1 , Sr_cnt_first
Readeeprom Outser2 , Sr_cnt_second
For I = 0 To 31
J = I - 16
If I < 16 Then Outserlong.i = Outser1.i
If I >= 16 Then Outserlong.i = Outser2.j
Next I
Tmplong = Outserlong
If Shiften > 0 Then
Shift Outserlong , Left , Shiften
For I = 0 To Shiften
K = Shiften - I
J = 32 - K
Outserlong.i = Tmplong.j
Next I
End If
For I = 0 To 31
J = I - 16
If I < 16 Then Outser1.i = Outserlong.i
If I >= 16 Then Outser2.j = Outserlong.i
Next I
Set Portb.5
Outrow = &B0000000000000000
Outrow.sr_cnt_zero = 1
For I = 1 To 16
I_zero = I - 1
I_invert = 15 - I_zero
Reset Portb.4
Portb.2 = Outser1.i_invert
Portb.1 = Outser2.i_invert
Portb.0 = Outrow.i_invert
Reset Portb.3
Set Portb.3
Next I
Set Portb.4
Reset Portb.5
If Sr_cnt => 16 Then Sr_cnt = 0
Incr Sr_cnt
Disable Interrupts
Return
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?