реклама на сайте
подробности

 
 
> Dot Matrix 5x7 (светодиодный точечный индикатор), Нужна помощь,консультация
uzzzer
сообщение May 17 2015, 10:33
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 78
Регистрация: 7-10-10
Из: Москва
Пользователь №: 59 985



Доброго всем дня !
Вот написал таки я программу для вывода символа на индикатор... Но ! Когда я перебираю строки матрицы, выставляя данные на столбцы, то все нормально, а когда наоборот... То получается такая ерунда: Когда выставлена минимальная задержка, то на индикаторе скажим так ничего не отображается, а когда большая, то отображается таже буква, только медленно соответственно. Как решить данную проблему ? Вразумите, чем эти переборы строк отличаются от перебора столбцов ?
Ниже текст программы, во вложенияи исходник и модель в Протеусе, а также проект целиком на ATMEL STUDIO 6.2.

CODE
#include <avr/io.h>
#include <util/delay.h>

unsigned char k;
//unsigned char arr[7]={0x07, 0x09, 0x11, 0x1F, 0x11, 0x11, 0x11}; //A перебераем строки, выставля данные на столбцы.
//unsigned char arr[5]={0x60, 0x5F, 0x3F, 0x3F, 0x00};//A перебераем столбцы, выставля данные на строки.
unsigned char arr[5]={0x60, 0x57, 0x37, 0x37, 0x00};//A перебераем столбцы, выставля данные на строки.


int main(void)
{

PORTA=0xFF;
DDRA=0xFF;

PORTB=0xFF;
DDRB=0xFF;

while (1)
{


/*for(k=0;k<=6;k++) //Перебераем строки Данные выставляем на столбцы.
{ //PORTB=0x00;
PORTA=arr[k];
//PORTB=0xFF;
PORTB&=~(1<<k);
_delay_ms(1);
PORTB=0xFF;
}*/

for(k=0;k<=4;k++) //Перебераем столбцы Данные выставляем на строки.
{ //PORTB=0x00;
PORTB=0xFF;
PORTA=arr[k];
PORTB&=~(1<<k);
PORTB=~PORTB;
//_delay_ms(100);
//PORTB=0xFF;
_delay_ms(1000); //При такой задержке более или менее адекватно выводится символ.
}
}
}


Сообщение отредактировал IgorKossak - May 17 2015, 19:04
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!

Прикрепленные файлы
Прикрепленный файл  1.rar ( 17.1 килобайт ) Кол-во скачиваний: 9
Прикрепленный файл  matrix5x7.rar ( 83.85 килобайт ) Кол-во скачиваний: 11
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
controller_m30
сообщение May 18 2015, 11:53
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 356
Регистрация: 24-02-09
Пользователь №: 45 309



Сначала надо разобраться с выводом неподвижного символа. и только потом переходить к бегущей строке wink.gif
Go to the top of the page
 
+Quote Post
uzzzer
сообщение Jun 15 2015, 11:36
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 78
Регистрация: 7-10-10
Из: Москва
Пользователь №: 59 985



Цитата(controller_m30 @ May 18 2015, 14:53) *
Сначала надо разобраться с выводом неподвижного символа. и только потом переходить к бегущей строке wink.gif


Ну вот разобрался с выводом символов, подключил сдвиговые регистры еще. А вот с бегущей строкой никак пока.
Прикрепил проект, в который находится еще и модель в Протеусе (папка 1\1\model) 5.DSN. А также схема в ПДФ.
Прикрепленные файлы
Прикрепленный файл  5.PDF ( 248.09 килобайт ) Кол-во скачиваний: 98
Прикрепленный файл  1.7z ( 212.56 килобайт ) Кол-во скачиваний: 8
 
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 17:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01383 секунд с 7
ELECTRONIX ©2004-2016