як надрукаваць радок у 16 ​​* 16 Матрычныя з AVR

Я хачу, каб вывесьці радок «LED GAME», як паказана на малюнку. Але ў матрыцы Dot, ёсць толькі 16 + 16 = 32 загваздак. ці ёсць спосаб, каб надрукаваць радок з Арн для dotmatrix?

enter image description here

0
Вы павінны былі б зрабіць растравую разгортку - цыкл праз усе радкі бесперапынна, паварочваючы на ​​адпаведныя біты слупкоў для кожнага радка. Да таго часу, як вы робіце гэта досыць хутка, вока бачыць яго як бесперапынны дысплей, гэтак жа, як і старамодны ЭПТ.
дададзена аўтар Paul R, крыніца
Вы павінны былі б зрабіць растравую разгортку - цыкл праз усе радкі бесперапынна, паварочваючы на ​​адпаведныя біты слупкоў для кожнага радка. Да таго часу, як вы робіце гэта досыць хутка, вока бачыць яго як бесперапынны дысплей, гэтак жа, як і старамодны ЭПТ.
дададзена аўтар Paul R, крыніца
Вы павінны былі б зрабіць растравую разгортку - цыкл праз усе радкі бесперапынна, паварочваючы на ​​адпаведныя біты слупкоў для кожнага радка. Да таго часу, як вы робіце гэта досыць хутка, вока бачыць яго як бесперапынны дысплей, гэтак жа, як і старамодны ЭПТ.
дададзена аўтар Paul R, крыніца
Разгледзіце магчымасць выкарыстання 4 8x8 святлодыёдным матрыца дысплеяў, і выганяе іх з чымсьці накшталт MAX7219 . Там ёсць шмат кода, там для ваджэння гэтых рэчаў з АРНАМИ і як падключыць іх. Просты «парадкова» мультыплексаванне, верагодна, не выглядае досыць яркім з цыклам 1/16 службы.
дададзена аўтар Brett Hale, крыніца
Разгледзіце магчымасць выкарыстання 4 8x8 святлодыёдным матрыца дысплеяў, і выганяе іх з чымсьці накшталт MAX7219 . Там ёсць шмат кода, там для ваджэння гэтых рэчаў з АРНАМИ і як падключыць іх. Просты «парадкова» мультыплексаванне, верагодна, не выглядае досыць яркім з цыклам 1/16 службы.
дададзена аўтар Brett Hale, крыніца
Разгледзіце магчымасць выкарыстання 4 8x8 святлодыёдным матрыца дысплеяў, і выганяе іх з чымсьці накшталт MAX7219 . Там ёсць шмат кода, там для ваджэння гэтых рэчаў з АРНАМИ і як падключыць іх. Просты «парадкова» мультыплексаванне, верагодна, не выглядае досыць яркім з цыклам 1/16 службы.
дададзена аўтар Brett Hale, крыніца
Вы таксама можаце купіць 16х16 святлодыёдных матрычныя дысплеі з апаратнымі сродкамі кіравання ўбудаванымі, але ў мяне няма досведу працы з імі.
дададзена аўтар Brett Hale, крыніца
Вы таксама можаце купіць 16х16 святлодыёдных матрычныя дысплеі з апаратнымі сродкамі кіравання ўбудаванымі, але ў мяне няма досведу працы з імі.
дададзена аўтар Brett Hale, крыніца
Вы таксама можаце купіць 16х16 святлодыёдных матрычныя дысплеі з апаратнымі сродкамі кіравання ўбудаванымі, але ў мяне няма досведу працы з імі.
дададзена аўтар Brett Hale, крыніца

6 адказы

Большасць святлодыёдных матрыц ўнутрана пабудаваныя як гэты прыклад тут:

LED matrix

Для 16x16 LED матрыцы вы, такім чынам, маюць 16 загваздак для радкоў і 16 кантактаў для калон. Для таго, каб убачыць, як канкрэтная матрыца пабудавана, вы павінны знайсці яго тэхнічны пашпарт.

Для таго, каб напісаць што-небудзь на экране, вы ўсталюеце першы радок у становішча ON, усе астатнія ў становішча OFF і актываваць COLS вам трэба. Пасля затрымкі, вы будзеце ўсталяваць першы радок у становішча OFF, другі шэраг для ўключэння і актывацыі COLS вы хочаце ўбачыць у другім шэрагу. Вы перабіраць ўсе радкі, як гэта. Паколькі затрымка будзе даволі кароткім, вашы вочы не дастаткова хутка, каб бачыць, што святлодыёды выключаныя вялікую частку часу.

Я хацеў бы прапанаваць выкарыстоўваць перапыненне таймера на вас мікракантролер і перабіраць радкі ў падпраграме апрацоўкі перапынення. Такім чынам, вы можаце лёгка выкарыстоўваць мікракантролер для іншых рэчаў, не асабліва клапоцячыся пра сінхранізацыі пытанняў.

3
дададзена

Большасць святлодыёдных матрыц ўнутрана пабудаваныя як гэты прыклад тут:

LED matrix

Для 16x16 LED матрыцы вы, такім чынам, маюць 16 загваздак для радкоў і 16 кантактаў для калон. Для таго, каб убачыць, як канкрэтная матрыца пабудавана, вы павінны знайсці яго тэхнічны пашпарт.

Для таго, каб напісаць што-небудзь на экране, вы ўсталюеце першы радок у становішча ON, усе астатнія ў становішча OFF і актываваць COLS вам трэба. Пасля затрымкі, вы будзеце ўсталяваць першы радок у становішча OFF, другі шэраг для ўключэння і актывацыі COLS вы хочаце ўбачыць у другім шэрагу. Вы перабіраць ўсе радкі, як гэта. Паколькі затрымка будзе даволі кароткім, вашы вочы не дастаткова хутка, каб бачыць, што святлодыёды выключаныя вялікую частку часу.

Я хацеў бы прапанаваць выкарыстоўваць перапыненне таймера на вас мікракантролер і перабіраць радкі ў падпраграме апрацоўкі перапынення. Такім чынам, вы можаце лёгка выкарыстоўваць мікракантролер для іншых рэчаў, не асабліва клапоцячыся пра сінхранізацыі пытанняў.

3
дададзена

Большасць святлодыёдных матрыц ўнутрана пабудаваныя як гэты прыклад тут:

LED matrix

Для 16x16 LED матрыцы вы, такім чынам, маюць 16 загваздак для радкоў і 16 кантактаў для калон. Для таго, каб убачыць, як канкрэтная матрыца пабудавана, вы павінны знайсці яго тэхнічны пашпарт.

Для таго, каб напісаць што-небудзь на экране, вы ўсталюеце першы радок у становішча ON, усе астатнія ў становішча OFF і актываваць COLS вам трэба. Пасля затрымкі, вы будзеце ўсталяваць першы радок у становішча OFF, другі шэраг для ўключэння і актывацыі COLS вы хочаце ўбачыць у другім шэрагу. Вы перабіраць ўсе радкі, як гэта. Паколькі затрымка будзе даволі кароткім, вашы вочы не дастаткова хутка, каб бачыць, што святлодыёды выключаныя вялікую частку часу.

Я хацеў бы прапанаваць выкарыстоўваць перапыненне таймера на вас мікракантролер і перабіраць радкі ў падпраграме апрацоўкі перапынення. Такім чынам, вы можаце лёгка выкарыстоўваць мікракантролер для іншых рэчаў, не асабліва клапоцячыся пра сінхранізацыі пытанняў.

3
дададзена

Як вы можаце вызначыць Pin 1 з матрыцы Dot?

Самы левы штыфт кропкавай матрыцы на процілеглым участку этыкеткі «2088BH-B» з'яўляецца кантактным 1.

Вы можаце атрымаць поўнае ўяўленне з двух наступных карціны.

enter image description here

Спадзяюся, што гэта дапаможа вам шмат. Вы таксама можаце паспрабаваць наступны код, які напісаны для паказу 9 ў кропкавай матрыцы (кампілятар: мікра-C)

void main() 
{
     DDRB = 0b11111111;
     DDRC = 0b11111111;
     while(1)
     {
           PORTB=0b00000000; //1
           PORTC=0b10000000;
            Delay_us(5);

           PORTB=0b00000000;       //2
           PORTC=0b01000000;
            Delay_us(5);

           PORTB=0b00000000;          //3
           PORTC=0b00100000;
            Delay_us(5);

           PORTB=0b00000000;             //4
           PORTC=0b00010000;
            Delay_us(5);

           PORTB=0b10011110; //5
           PORTC=0b00001000;
            Delay_us(5);

           PORTB=0b10010010;       //6
           PORTC=0b00000100;
            Delay_us(5);

           PORTB=0b10010010;          //7
           PORTC=0b00000010;
           Delay_us(5);

           PORTB=0b11111110;             //8
           PORTC=0b00000001;
           Delay_us(5);

     }
}
0
дададзена

Як вы можаце вызначыць Pin 1 з матрыцы Dot?

Самы левы штыфт кропкавай матрыцы на процілеглым участку этыкеткі «2088BH-B» з'яўляецца кантактным 1.

Вы можаце атрымаць поўнае ўяўленне з двух наступных карціны.

enter image description here

Спадзяюся, што гэта дапаможа вам шмат. Вы таксама можаце паспрабаваць наступны код, які напісаны для паказу 9 ў кропкавай матрыцы (кампілятар: мікра-C)

void main() 
{
     DDRB = 0b11111111;
     DDRC = 0b11111111;
     while(1)
     {
           PORTB=0b00000000; //1
           PORTC=0b10000000;
            Delay_us(5);

           PORTB=0b00000000;       //2
           PORTC=0b01000000;
            Delay_us(5);

           PORTB=0b00000000;          //3
           PORTC=0b00100000;
            Delay_us(5);

           PORTB=0b00000000;             //4
           PORTC=0b00010000;
            Delay_us(5);

           PORTB=0b10011110; //5
           PORTC=0b00001000;
            Delay_us(5);

           PORTB=0b10010010;       //6
           PORTC=0b00000100;
            Delay_us(5);

           PORTB=0b10010010;          //7
           PORTC=0b00000010;
           Delay_us(5);

           PORTB=0b11111110;             //8
           PORTC=0b00000001;
           Delay_us(5);

     }
}
0
дададзена

Як вы можаце вызначыць Pin 1 з матрыцы Dot?

Самы левы штыфт кропкавай матрыцы на процілеглым участку этыкеткі «2088BH-B» з'яўляецца кантактным 1.

Вы можаце атрымаць поўнае ўяўленне з двух наступных карціны.

enter image description here

Спадзяюся, што гэта дапаможа вам шмат. Вы таксама можаце паспрабаваць наступны код, які напісаны для паказу 9 ў кропкавай матрыцы (кампілятар: мікра-C)

void main() 
{
     DDRB = 0b11111111;
     DDRC = 0b11111111;
     while(1)
     {
           PORTB=0b00000000; //1
           PORTC=0b10000000;
            Delay_us(5);

           PORTB=0b00000000;       //2
           PORTC=0b01000000;
            Delay_us(5);

           PORTB=0b00000000;          //3
           PORTC=0b00100000;
            Delay_us(5);

           PORTB=0b00000000;             //4
           PORTC=0b00010000;
            Delay_us(5);

           PORTB=0b10011110; //5
           PORTC=0b00001000;
            Delay_us(5);

           PORTB=0b10010010;       //6
           PORTC=0b00000100;
            Delay_us(5);

           PORTB=0b10010010;          //7
           PORTC=0b00000010;
           Delay_us(5);

           PORTB=0b11111110;             //8
           PORTC=0b00000001;
           Delay_us(5);

     }
}
0
дададзена