Матричный Индикатор, Управление Кнопкой

15-12-2013, 00:16 От: admin Посмотрели: 541
Добрый вечер) спаял индикатор матричный. учусь работать с ним. написал прогу что бы просто выводила числа. а хочу сделать так что бы при нажатии на кнопку число изменялось. допустим увеличивалось на 1. не могу допетрить)))) перепробовал кучу вариантов. нефига...



сам код. схемы в протеусе нету, тестирую сразу в железе.



схема такая к порту D подключены столбцы, к порту B строки матрицы, к PB7 кнопка одним выводом на минус. контроллер тини2313.


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

unsigned short k[] = {0b1000000,0b0100000,0b0010000,0b0001000,0b0000100}; //столбцы
unsigned short i3[10][5] = { //строки
{0b1110000,0b1110110,0b1110110,0b1110110,0b1110000}, //0
{0b1111101,0b1111001,0b1110101,0b1111101,0b1111101}, //1
{0b1110000,0b1111110,0b1110000,0b1110111,0b1110000},//2
{0b1110000,0b1111110,0b1111000,0b1111110,0b1110000}, //3
{0b1110110,0b1110110,0b1110000,0b1111110,0b1111110}, //4
{0b1110000,0b1110111,0b1110000,0b1111110,0b1110000} //5
};

int but(void) //изменение переменной по нажатию кнопки которая выбирает цифру из массива
{
int v=0;
if ((PINB&(1<<PB7))==0)
{
v++;
}
_delay_ms(50);
return v;
}


int b(int c, int y) // функция вывода числа на матрицу
{
while(c<5)
{
PORTD=k[c];
PORTB=i3[y][c];
c++;
_delay_ms(1);
}
}


int main(void)
{
DDRB|=(1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(0<<7);
DDRD=0xff;
PORTD=0xff;
PORTB|=(1<<7);
while(1)
{
int c = but();
int z = 0;
b(c,z);
}
}

Раздел: AVR

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться, либо войти на сайт под своим именем.

Обсудить на форуме


На момент добавления Матричный Индикатор, Управление Кнопкой все ссылки были рабочие.
Все публикации статей, книг и журналов, представлены на этом сайте, исключительно для ознакомления,
авторские права на эти публикации принадлежат авторам статей, книг и издательствам журналов!
Подробно тут | Жалоба
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.


Опрос

Ваши предпочтения в TRX


Одинарное преобразование
Двойное преобразование
Прямое преобразование
SDR
Другое
Мне всё равно

Популярные новости
Календарь новостей
«    Май 2024    »
ПнВтСрЧтПтСбВс
 12345
6789101112
13141516171819
20212223242526
2728293031