Страница 1 из 2
ATtyni 2313 , MikroPascal. и семисегментный индикатор -??
Добавлено: Ср апр 27, 2011 19:20:01
MrNEO
Помогите с MikroPascal. ATtyni 2313 ...
Не подскажите есть ли какие библиотеки или функции готовые в паскале для семисегментного индикатора ?
и зачем в нем вообще нужна подпрога Seven Segment Editor..
Я никак не пойму как пользоваться ей (0x80, 0x00, 0x79 и т.д.)..
с семисегментным индикатором - с общим анодом...
возмож но ли это

может кто видел исходники где нить ...

Re: ATtyni 2313 , MikroPascal. и семисегментный индикатор
Добавлено: Чт апр 28, 2011 20:23:36
MrNEO
Видимо это невозможно что ли ....
Re: ATtyni 2313 , MikroPascal. и семисегментный индикатор
Добавлено: Чт апр 28, 2011 21:25:33
Alex Medvedev
Да ни каких там функций и готовых библиотек не надо! Просто тупо выводишь в порт то что должно гореть на индикаторе и все. Seven Segment Editor это прога которая подсказывает что нужно записать в порт чтоб получить созданый тобой символ в это проге. Давай начнем по порядку. Сколько разрядов у твоего индикатора и что ты хочешь получить в итоге ?
Re: ATtyni 2313 , MikroPascal. и семисегментный индикатор
Добавлено: Чт апр 28, 2011 23:07:12
MrNEO
а что тупо
PortB.1:=1 или 0 не катит разве.. ?
Re: ATtyni 2313 , MikroPascal. и семисегментный индикатор
Добавлено: Пт апр 29, 2011 16:24:46
Alex Medvedev
Короче вот тебе. Не поленился
Код: Выделить всё
program led;
const Digits:array[10] of byte =(0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90);
var i:byte;
begin
DDRB:=0xFF;
i:=0;
While(true) do
begin
PORTB:=Digits[i];
inc(i);
if i=10 then i:=0;
delay_ms(400);
end;
end.
Re: ATtyni 2313 , MikroPascal. и семисегментный индикатор
Добавлено: Пт апр 29, 2011 17:28:31
MrNEO
уаааааууууууу !!! спасибо огромное --- просто спас ... ))))
Re: ATtyni 2313 , MikroPascal. и семисегментный индикатор
Добавлено: Вт май 03, 2011 21:57:06
MrNEO
а не подскажите как использовать ByteToStr ?
(znak:=142;)
procedure ZN(znak,sec:byte;);
var symb,led:array[3] of char;
Begin
ByteToStr(znak, symb);
правильно ?
а возвращает
symb[1] = 0
symb[2] = 0
symb[3] = 0
Re: ATtyni 2313 , MikroPascal. и семисегментный индикатор
Добавлено: Вт май 03, 2011 22:03:59
Alex Medvedev
Всё правильно. у меня кстати нормально работает
Re: ATtyni 2313 , MikroPascal. и семисегментный индикатор
Добавлено: Ср май 04, 2011 16:21:37
MrNEO
че за глюк ...
не скинешь этот проект ?
Re: ATtyni 2313 , MikroPascal. и семисегментный индикатор
Добавлено: Ср май 04, 2011 16:50:42
Alex Medvedev
Да скину конечно
Re: ATtyni 2313 , MikroPascal. и семисегментный индикатор
Добавлено: Ср май 04, 2011 17:12:56
MrNEO
Спасибо
Re: ATtyni 2313 , MikroPascal. и семисегментный индикатор
Добавлено: Ср май 04, 2011 17:20:33
MrNEO
а у меня во что показало ... (
Re: ATtyni 2313 , MikroPascal. и семисегментный индикатор
Добавлено: Ср май 04, 2011 17:21:26
MrNEO
толи винда ... толи pascal тупит... скорее всего первое ...

Re: ATtyni 2313 , MikroPascal. и семисегментный индикатор
Добавлено: Ср май 04, 2011 17:23:14
Alex Medvedev
Так у тебя программа еще до строчки ByteToStr не дошла. F8 нажми пару раз в режиме отладки.
Re: ATtyni 2313 , MikroPascal. и семисегментный индикатор
Добавлено: Ср май 04, 2011 17:26:13
MrNEO

ой да ...
все в шоколаде ...
сработало ... сейчас дальше копать буду ...
Re: ATtyni 2313 , MikroPascal. и семисегментный индикатор
Добавлено: Ср май 04, 2011 17:41:56
MrNEO
Увеличил размер массива и в итоге получил что -
вот косяк
Re: ATtyni 2313 , MikroPascal. и семисегментный индикатор
Добавлено: Ср май 04, 2011 17:44:43
Alex Medvedev
Какой смысл увеличивать размер массива? Функция ByteToStr преобразует байт в строку. В одном байте можно хранить числа от 0 до 255. Это значит что максимальная длинна строки будет три символа.
Re: ATtyni 2313 , MikroPascal. и семисегментный индикатор
Добавлено: Ср май 04, 2011 17:52:52
MrNEO
я в том смысле, что в первые три - записались ' апостроф или кавычки - вообщем пустота...
Re: ATtyni 2313 , MikroPascal. и семисегментный индикатор
Добавлено: Ср май 04, 2011 17:55:21
Alex Medvedev
А что там должно быть? Я считаю что эта функция рассчитана на то что в нее будет передаваться строка из трёх символов. Отсюда такие непонятные вещи. Хотя наверное это просто паскаль так строки хранит.
Re: ATtyni 2313 , MikroPascal. и семисегментный индикатор
Добавлено: Ср май 04, 2011 17:57:33
MrNEO
так там было 3-х значное число...