Форум РадиоКот • Просмотр темы - Автогенератор кода для семисегментных индикаторов
Сообщения без ответов | Активные темы
Страница 1 из 1
[ Сообщений: 10 ]
Автор
Сообщение
MechanicCDRR
Заголовок сообщения: Автогенератор кода для семисегментных индикаторов
Добавлено: Сб фев 09, 2013 23:51:10
Зарегистрирован: Пн сен 27, 2010 22:38:52Сообщений: 39
Рейтинг сообщения: 0
Вчера надоело в очередной раз пересчитывать коды для символов семисегментника (в связи с очередной другой схемой с нестандартным подключением) и написал программу, предназначенную для облегчения этого процесса.
...
Теперь вот.. то ли поделится, то ли похвастаться... (совсем чуть-чуть, ведь тут хоть есть те, кто поймут о чем речь. Не жене ведь хвастаться..
) но в основном спросить - встречал ли кто похожее. Или я опять, как всегда "изобрел" никому не нужный велосипед
А форум Радиокота мной часто читаем (в основном только читаем) и очень уважаем, поэтому мнение тутошних уважаемых котов мне будет знать весьма ценно.
http://luckytech.ru/Uploads/7sgLED.zip А это краткое
описание. Вчитывался в названия разделов форума - этот показался наиболее подходящим. Если же не туда - прошу больно когтями не царапать...
Вернуться наверх
Реклама
Реклама
Котяра
Заголовок сообщения: Re: Автогенератор кода для семисегментных индикаторов
Добавлено: Сб фев 23, 2013 15:50:02
Открыл глаза
Карма: 2
Рейтинг сообщений: 15
Зарегистрирован: Пт сен 08, 2006 01:06:13Сообщений: 53
Рейтинг сообщения: 0
Позволю и себе тихонько мяукнуть: очень, очень пребета для вычисления кодов семисегментных индикаторов. Пока реализована только основная функциональность. Генерируются коды HEX DEC BIN для индикаторов с ОК и ОА. Предусмотрена возможность подключения к одному порту нескольких сегментов для генерации ограниченного набора символов, напр. 0 и 1. В таком случае сегменты b и c подключаются, скажем, к порту 0, а сегменты a d e f к порту 1, остальные сегменты назначаются на неиспользуемый порт контроллера. Сильно не пинайте - сам ни разу не программер.
_________________ Все, что выходит из-под рук японца, будь то сковородная ручка или магнитофон, должно быть произведением искусства. ©Коносукэ Мацусита
Вернуться наверх
otest
Заголовок сообщения: Re: Автогенератор кода для семисегментных индикаторов
Добавлено: Сб фев 23, 2013 16:02:46
Карма: 27
Рейтинг сообщений: 1283
Зарегистрирован: Ср фев 11, 2009 20:35:58Сообщений: 7853
Рейтинг сообщения: 0
Нормальная программа. Всё в ней есть на любой вкус.
Вернуться наверх
Реклама
shads
Заголовок сообщения: Re: Автогенератор кода для семисегментных индикаторов
Добавлено: Сб фев 23, 2013 16:29:25
Опытный кот
Карма: 8
Рейтинг сообщений: 106
Зарегистрирован: Ср фев 22, 2012 01:25:21Сообщений: 882
Рейтинг сообщения: 0
И чего я раньше не видел ваших программок......
А я так приспособился:
Код:
char SimbMass [] PROGMEM = { ( SegA | SegB | SegC | SegD | SegE | SegF ), ( SegB | SegC ), ( SegA | SegB | SegD | SegE | SegG ), ( SegA | SegB | SegC | SegD | SegG ), ( SegB | SegC | SegF | SegG ), ( SegA | SegC | SegD | SegF | SegG ), ( SegA | SegC | SegD | SegE | SegF | SegG ), ( SegA | SegB | SegC ), ( SegA | SegB | SegC | SegD | SegE | SegF | SegG ), ( SegA | SegB | SegC | SegD | SegF | SegG ), ( 0 ), ( SegA | SegB | SegC | SegE | SegF | SegG ), ( SegC | SegD | SegE | SegF | SegG ), ( SegD | SegE | SegG ), ( SegB | SegC | SegD | SegE | SegG ), ( SegA | SegD | SegE | SegF | SegG ), ( SegA | SegE | SegF | SegG ), ( SegA | SegC | SegD | SegE | SegF ), ( SegC | SegE | SegF | SegG ), ( SegC ), ( SegB | SegC | SegD | SegE ), ( 0 ), ( SegD | SegE | SegF ), ( 0 ), ( SegC | SegE | SegG ), ( SegC | SegD | SegE | SegG ), ( SegA | SegB | SegE | SegF | SegG ), ( SegA | SegB | SegC | SegF | SegG ), ( SegE | SegG ), ( SegA | SegC | SegD | SegF | SegG ), ( SegD | SegE | SegF | SegG ), ( SegC | SegD | SegE ), ( SegC | SegD | SegE ), ( 0 ), ( 0 ), ( SegB | SegC | SegD | SegF | SegG ), ( 0 ), ( SegE | SegF ), ( SegB | SegE | SegG ), ( SegB | SegC ), ( SegG ), ( SegD )};
Просто меняю в дефайнах номера выводов и все.....
Вернуться наверх
Реклама
polyname
Заголовок сообщения: Re: Автогенератор кода для семисегментных индикаторов
Добавлено: Сб фев 23, 2013 17:14:22
Карма: 1
Рейтинг сообщений: 10
Зарегистрирован: Пт май 18, 2012 23:12:23Сообщений: 249
Рейтинг сообщения: 0
Вернуться наверх
Реклама
Котяра
Заголовок сообщения: Re: Автогенератор кода для семисегментных индикаторов
Добавлено: Сб фев 23, 2013 17:25:01
Открыл глаза
Карма: 2
Рейтинг сообщений: 15
Зарегистрирован: Пт сен 08, 2006 01:06:13Сообщений: 53
Рейтинг сообщения: 0
Подобные:
тыц и
тыц Раньше почему-то не нашел...
_________________ Все, что выходит из-под рук японца, будь то сковородная ручка или магнитофон, должно быть произведением искусства. ©Коносукэ Мацусита
Вернуться наверх
polyname
Заголовок сообщения: Re: Автогенератор кода для семисегментных индикаторов
Добавлено: Сб фев 23, 2013 20:53:59
Карма: 1
Рейтинг сообщений: 10
Зарегистрирован: Пт май 18, 2012 23:12:23Сообщений: 249
Рейтинг сообщения: 0
я бы не сказал что подобные - нельзя сравнивать онлайн-редактор, работающий на любой системе без установки, с Windows-only бинарниками
Вернуться наверх
phanis
Заголовок сообщения: Re: Автогенератор кода для семисегментных индикаторов
Добавлено: Вс фев 24, 2013 14:46:42
Зарегистрирован: Сб фев 19, 2011 18:04:08Сообщений: 513Откуда: Татарстан, пос. Актюбинский
Рейтинг сообщения: 0
shads писал(а):
И чего я раньше не видел ваших программок......
Поддерживаю
Спойлер Код:
#define seg_A PORTB_Bit3 #define seg_B PORTB_Bit6 #define seg_C PORTC_Bit1 #define seg_D PORTD_Bit7 #define seg_E PORTB_Bit1 #define seg_F PORTD_Bit1 #define seg_G PORTD_Bit5 #define seg_DP PORTB_Bit5 #define seg_1 PORTC_Bit0 #define seg_2 PORTB_Bit4 #define seg_3 PORTB_Bit2 #define seg_4 PORTB_Bit0 #define seg_5 PORTD_Bit6 #define seg_6 PORTB_Bit7 #define seg_7 PORTD_Bit2 #define seg_8 PORTD_Bit0 #define seg_out_A DDRB_Bit3 #define seg_out_B DDRB_Bit6 #define seg_out_C DDRC_Bit1 #define seg_out_D DDRD_Bit7 #define seg_out_E DDRB_Bit1 #define seg_out_F DDRD_Bit1 #define seg_out_G DDRD_Bit5 #define seg_out_DP DDRB_Bit5 #define seg_out_1 DDRC_Bit0 #define seg_out_2 DDRB_Bit4 #define seg_out_3 DDRB_Bit2 #define seg_out_4 DDRB_Bit0 #define seg_out_5 DDRD_Bit6 #define seg_out_6 DDRB_Bit7 #define seg_out_7 DDRD_Bit2 #define seg_out_8 DDRD_Bit0 #define segpins(a,b,c,d,e,f,g) ((a<<0)|(b<<1)|(c<<2)|(d<<3)|(e<<4)|(f<<5)|(g<<6)) const unsigned char __flash SEG_CODE [20] = { segpins(1,1,1,1,1,1,0),//0 segpins(0,1,1,0,0,0,0),//1 segpins(1,1,0,1,1,0,1),//2 segpins(1,1,1,1,0,0,1),//3 segpins(0,1,1,0,0,1,1),//4 segpins(1,0,1,1,0,1,1),//5 segpins(1,0,1,1,1,1,1),//6 segpins(1,1,1,0,0,0,0),//7 segpins(1,1,1,1,1,1,1),//8 segpins(1,1,1,1,0,1,1),//9 segpins(1,1,1,0,1,1,1),//A segpins(0,0,1,1,1,1,0),//b segpins(1,0,0,1,1,1,0),//C segpins(0,1,1,1,0,1,1),//d segpins(1,0,0,1,1,1,1),//E segpins(1,0,0,0,1,1,1),//F segpins(0,0,0,0,0,0,1), //- 16 segpins(0,0,1,0,1,0,1), //- n 17 segpins(0,0,0,0,0,0,0), //- 18 }; void LED_DRIVER(unsigned char num,unsigned char data) { seg_A = 0; seg_B = 0; seg_C = 0; seg_D = 0; seg_E = 0; seg_F = 0; seg_G = 0; seg_DP = 0; num ^= 0xFF; seg_1 = num; num>>=1; seg_2 = num; num>>=1; seg_3 = num; num>>=1; seg_4 = num; num>>=1; seg_5 = num; num>>=1; seg_6 = num; num>>=1; seg_7 = num; num>>=1; seg_8 = num; seg_A = data; data>>=1; seg_B = data; data>>=1; seg_C = data; data>>=1; seg_D = data; data>>=1; seg_E = data; data>>=1; seg_F= data; data>>=1; seg_G = data; data>>=1; seg_DP = data; } void INIT_LED_PORT(unsigned char num,unsigned char data) { seg_out_1 = num ; num>>=1; seg_out_2 = num ; num>>=1; seg_out_3 = num ; num>>=1; seg_out_4 = num ; num>>=1; seg_out_5 = num ; num>>=1; seg_out_6 = num ; num>>=1; seg_out_7 = num ; num>>=1; seg_out_8 = num ; seg_out_A = data; data>>=1; seg_out_B = data; data>>=1; seg_out_C = data; data>>=1; seg_out_D = data; data>>=1; seg_out_E = data; data>>=1; seg_out_F= data; data>>=1; seg_out_G = data; data>>=1; seg_out_DP = data; }
Вернуться наверх
Реклама
MechanicCDRR
Заголовок сообщения: Re: Автогенератор кода для семисегментных индикаторов
Добавлено: Вс фев 24, 2013 15:49:01
Зарегистрирован: Пн сен 27, 2010 22:38:52Сообщений: 39
Рейтинг сообщения: 0
Ух, какая туча идей и полезных ссылок
значит не зря "похвастался" прогой...
Вернуться наверх
Страница 1 из 1
[ Сообщений: 10 ]
Кто сейчас на форуме
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения