hola every one
i'm gonna using a common anode dot matrix LED but i have a few problems
i wrote a code for this and i turn the each led in a row individually with 1 ms delay but by using this style when i want to turn all LEDs on in a row just LED1,2,7,8 will turn on
P.S:wanna Writing "H"
using ULN2803 for cathode pins
using micro pins directly for anode pins
this is my code :
int main(void) { DDRB=0b11111111;//control the Row DDRC=0b11111111;//Control the Red Column DDRD=0b11111111;//Control the green column while(1) { // char H //Row 1 for H PORTB=0b00000001;//Row 1 PORTC=0b00000001;//Column Red1 _delay_ms(1); PORTB=0b00000001;//Row 1 PORTC=0b00000010;//Column Red2 _delay_ms(1); PORTB=0b00000001;//Row 1 PORTC=0b01000000;//Column Red7 _delay_ms(1); PORTB=0b00000001;//Row 1 PORTC=0b10000000;//Column Red _delay_ms(1); // char H //Row 2 for H PORTB=0b00000010;//Row 2 PORTC=0b00000001;//Column Red1 _delay_ms(1); PORTB=0b00000010;//Row 2 PORTC=0b00000010;//Column Red2 _delay_ms(1); PORTB=0b00000010;//Row 2 PORTC=0b01000000;//Column Red7 _delay_ms(1); PORTB=0b00000010;//Row 2 PORTC=0b10000000;//Column Red8 _delay_ms(1); //Row 3 for H PORTB=0b00000100;//Row 3 PORTC=0b00000001;//Column Red1 _delay_ms(1); PORTB=0b00000100;//Row 3 PORTC=0b00000010;//Column Red2 _delay_ms(1); PORTB=0b00000100;//Row 3 PORTC=0b01000000;//Column Red7 _delay_ms(1); PORTB=0b00000100;//Row 3 PORTC=0b10000000;//Column Red8 _delay_ms(1); //Row 4 for H PORTB=0b00001000;//Row 4 PORTC=0b00000001;//Column Red1 _delay_ms(20); PORTB=0b00001000;//Row 4 PORTC=0b00000010;//Column Red2 _delay_ms(1); PORTB=0b00001000;//Row 4 PORTC=0b00000100;//Column Red3 _delay_ms(1); PORTB=0b00001000;//Row 4 PORTC=0b00001000;//Column Red4 _delay_ms(1); PORTB=0b00001000;//Row 4 PORTC=0b00010000;//Column Red5 _delay_ms(1); PORTB=0b00001000;//Row 4 PORTC=0b00100000;//Column Red6 _delay_ms(1); PORTB=0b00001000;//Row 4 PORTC=0b01000000;//Column Red7 _delay_ms(1); PORTB=0b00001000;//Row 4 PORTC=0b10000000;//Column Red8 _delay_ms(1); //Row 5 for H PORTB=(1<<4);//Row 5 PORTC=0b00000001;//Column Red1 _delay_ms(1); PORTB=(1<<4);//Row 5 PORTC=0b00000010;//Column Red2 _delay_ms(1); PORTB=(1<<4);//Row 5 PORTC=0b00000100;//Column Red3 _delay_ms(1); PORTB=(1<<4);//Row 5 PORTC=0b00001000;//Column Red4 _delay_ms(1); PORTB=(1<<4);;//Row 5 PORTC=0b00010000;//Column Red5 _delay_ms(1); PORTB=(1<<4);//Row 5 PORTC=0b00100000;//Column Red6 _delay_ms(1); PORTB=(1<<4);//Row 5 PORTC=0b01000000;//Column Red7 _delay_ms(1); PORTB=(1<<4);//Row 5 PORTC=0b10000000;//Column Red8 _delay_ms(1); //Row 6 for H PORTB=(1<<5);//Row 6 PORTC=0b00000001;//Column Red1 _delay_ms(1); PORTB=(1<<5);//Row 6 PORTC=0b00000010;//Column Red2 _delay_ms(1); PORTB=(1<<5);//Row 6 PORTC=0b01000000;//Column Red7 _delay_ms(1); PORTB=(1<<5);//Row 6 PORTC=0b10000000;//Column Red8 _delay_ms(1); //Row7 PORTB=(1<<6);//Row 7 PORTC=0b00000001;//Column Red1 _delay_ms(1); PORTB=(1<<6);//Row 7 PORTC=0b00000010;//Column Red2 _delay_ms(1); PORTB=(1<<6);//Row 7 PORTC=0b01000000;//Column Red7 _delay_ms(1); PORTB=(1<<6);//Row 7 PORTC=0b10000000;//Column Red8 _delay_ms(1); //Row8 PORTB=(1<<7);//Row 8 PORTC=0b00000001;//Column Red1 _delay_ms(1); PORTB=(1<<7);//Row 8 PORTC=0b00000010;//Column Red2 _delay_ms(1); PORTB=(1<<7);//Row 8 PORTC=0b01000000;//Column Red7 _delay_ms(1); PORTB=(1<<7);//Row 8 PORTC=0b10000000;//Column Red8 _delay_ms(1); } }
tnks