кодирование знаков на семисегментнике

Флейм в чистом виде - все что угодно...
Но - в рамках закона :)
Ответить
Родился
Аватара пользователя
Сообщения: 16
Зарегистрирован: Чт ноя 05, 2009 05:31:38

Сообщение radioman »

Доброго дня, делаю превые шаги в CAVR. Делаю устройство с выводом информации на 7 сегм. двух разрядный индикатор, помогите разобоатся в вашем коде,
#define A1
Первое: В коде ниже RB5 это порт? Т.е. можно делать так #define A1 PORTB.5

Код: Выделить всё

// === сопоставление сигнальных линий индикатора
// первый сегмент (десятки)
#define A1 RB5
#define B1 RB4
#define C1 RA0
#define D1 RA7
#define E1 RA6
#define F1 RB7
#define G1 RB6
#define H1 RA1
[b]#define Y1 RA2 // общ катод[/b]
// второй сегмент (единицы)
#define A2 RB5
#define B2 RB6
#define C2 RA6
#define D2 RA0
#define E2 RA1
#define F2 RB4
#define G2 RA7
#define H2 RB7
[b]#define Y2 RA3 // общ катод[/b]
В отрисовке мне непонятно, что такое b0...b7.
И как мне вообще вывести m=33 к примеру?

Код: Выделить всё

// === рисуем сегменты
void ris (unsigned char zn, unsigned char s)
// zn - знакоместо, s - собственно символ
{	if (zn == 1) {
	tmp = sim[s];
	A1 = tmp.b0;
	B1 = tmp.b1;
	C1 = tmp.b2;
	D1 = tmp.b3;
	E1 = tmp.b4;
	F1 = tmp.b5;
	G1 = tmp.b6;
	H1 = tmp.b7;
	}
	if (zn == 2) {
	tmp = sim[s];
	A2 = tmp.b0;
	B2 = tmp.b1;
	C2 = tmp.b2;
	D2 = tmp.b3;
	E2 = tmp.b4;
	F2 = tmp.b5;
	G2 = tmp.b6;
	H2 = tmp.b7;
	}
}
Заранее благодарен за ответы.
Реклама
Ответить

Вернуться в «МЯЯЯУ!»