Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
26.02.2013, 23:19
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Бегущая строка
Сообщение от Boba_spb
|
А вот, на днях попались китайские с надписью ds18s20, но работающие как DS1820B. Штук 30 прикупили вроде таких.
|
Они и должны работать как ds1820. В них только 9-ти битный режим.
http://tec.org.ru/publ/stati_po_ehle...18b20/8-1-0-14
|
|
|
|
27.02.2013, 01:02
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: Бегущая строка
Да все просто было как мычение- сказали "Датчик температуры DS18s20".
Дали этого трехного, ткнул его в Дискавери, скачал datasheet, быренько сваял и измерил и отобразил температурку.
Затем купили исчо какие то DS18s20, а они показывали чукотскую температуру ( оказались 12 битные, а по маркировке и внешнему виду близнецы - братья ) - на меню стали наезжать. Вечные отношениния мягких с железными.
|
|
|
|
27.02.2013, 21:00
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: Бегущая строка
Сообщение от Boba_spb
|
Попробуем это вывести.
Матрица динамическая.
Строк 8.
Три регистра сдвига. Один выбор строки и два - выбор диодов строки (столбцов).
Пущай подпрограмму вывода строки вызывают из таймера раз в милисекунду. (Если будет мерцать, то частоту повысить);
И так начали;
PHP код:
|
unsigned char line = 1 ; // первая строка
void OutLine()
{
// начнем задвигать диоды текущей строки;
for( int i = 0; i ‹ 16; i++ )
{
if( (bmp[ i ] & line ) ! = 0 )
{
DATA = 1;
}
else
{
DATA = 0;
}
CLOCK = 1; // задвигаем бит
CLOCK = 0;
}
// столбцы задвинули
// тепреь задвинем line - она ж строка, которая будет светиться;
unsigned char tmp = 1;
for(int i=0;i‹8;i++)
{
if( (line[ i ] & tmp ) ! = 0 )
{
DATA = 1;
}
else
{
DATA = 0;
}
CLOCK = 1; // задвигаем бит
CLOCK = 0;
tmp ‹‹= 1;
}
// все задвинули теперь надо это отобразить
OE=1; // выключение матрицы, что б не было паразитного свечения диодов при переключении строк
LATCH = 1; // Защелка в регистрах
LATCH = 0;
OE = 0; // включаем матрицу.
// == приготовимся к следующей строке
line ‹‹= 1;
if( line == 0 ) line = 1;
// вот пожалуй и все
}
|
Прошу скорострельность и оптимизацию, пока не обсуждать ибо преследую цель дать алгоритм.
Схему не смотрел, но надеюсь, что DATA с МК идет на регистр выбора строки, затем на регистр старших диодов и на регистр младших диодов.
|
Вот сделал так - вся матрица светиться. Забивал битмап для галстука - тоже самое.... Что не так? Подключил как по рисунку. Строками управляю через bc547
|
|
|
|
27.02.2013, 21:06
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: Бегущая строка
Вот это
unsigned char tmp = 1;
for(int i=0;i‹8;i++)
{
if( (line[ i ] & tmp ) ! = 0 )
{
DATA = 1;
}
На это меняли
unsigned char tmp = 1;
for(int i=0;i‹8;i++)
{
if( (line & tmp ) ! = 0 )
{
DATA = 1;
}
|
|
|
|
27.02.2013, 21:07
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: Бегущая строка
Схемку бы еще глянуть
|
|
|
|
27.02.2013, 21:09
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: Бегущая строка
Менял так как компилятор не пропускал. Мы объявили line =1, а в тексе как массив используем. Решил так поменять. В чем вам схемку нарисовать? у меня ничего пока не стоит.....
|
|
|
|
27.02.2013, 21:20
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: Бегущая строка
подключение по вашей схеме. Только первый регистр управляет строками через NPN транзистор.....
|
|
|
|
27.02.2013, 21:41
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: Бегущая строка
Пины МК не пперепутаны - проверили?
|
|
|
|
27.02.2013, 21:43
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: Бегущая строка
сейчас перерисую схему на бумагу и выложу. Она вроде чуть другая..... сорри...
|
|
|
|
27.02.2013, 21:58
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: Бегущая строка
Вот так подключена матрица, только строки где первый регистр через NPN ключи подключены.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:51.
|
|