Форум РадиоКот • Просмотр темы - Копировщик RFID-ключей T5557
Сообщения без ответов | Активные темы
Страница 11 из 20
[ Сообщений: 387 ]
... , , , , , , ...
Автор
Сообщение
alexkra
Заголовок сообщения: Re: Копировщик RFID-ключей T5557
Добавлено: Чт июл 06, 2017 10:47:02
Карма: 2
Рейтинг сообщений: 3
Зарегистрирован: Чт янв 03, 2013 10:49:31Сообщений: 12Откуда: Ижевск
Рейтинг сообщения: 3
Доработал схему с первой страницы. А именно, убрал МС MAX232 и сом-разъем. Вместо этого применил китайский переходник за 40 рублей на чипе CH340. Теперь копир стыкуется с компом сразу по USB-разъему. Развел плату на smd элементах, кроме процессора, кварца и дросселя. На плате есть место под три конденсатора для настройки контура: у меня получилось два 1,8нФ и 270 пФ. Дроссель применил в виде резистора с индуктивностью 820 мкГн, на самом деле по прибору - 780 мкГн. Исходя из этой индуктивности и частоты 125 кГц рассчитал емкость. В итоге напряжение 42 вольта. Транзисторы применил ВС847 и ВС857 В архивных файлах имеется вся необходимая информация для повторения. Схема работает через комп, т.е. без выносного дисплея.
Вложения:
Комментарий к файлу: Фото плат и переходника
ФотоДляФорума.rar [54.3 KiB]
Скачиваний: 530
Комментарий к файлу: Схема, плата, файлы прошивок
АрхивДляФорума.rar [26.55 KiB]
Скачиваний: 569
Вернуться наверх
Реклама
ku78
Заголовок сообщения: Re: Копировщик RFID-ключей T5557
Добавлено: Ср июл 26, 2017 12:09:54
Первый раз сказал Мяу!
Зарегистрирован: Вс янв 15, 2017 14:51:53Сообщений: 38Откуда: Северодвинск
Рейтинг сообщения: 0
Помогите разобраться пожалуйста. Пытаюсь подключить дисплей к копиру но он почему-то могает при подключении одного из контактов платы к компаратору. Вчем может быть проблема?
https://youtu.be/AaxSsCNGLMg
Вернуться наверх
Реклама
da-nie
Заголовок сообщения: Re: Копировщик RFID-ключей T5557
Добавлено: Чт июл 27, 2017 18:34:56
Говорящий с текстолитом
Карма: 33
Рейтинг сообщений: 148
Зарегистрирован: Вс июн 24, 2012 16:07:00Сообщений: 1572Откуда: Лен.Обл.
Рейтинг сообщения: 0
Вернуться наверх
Реклама
AvengerALS
Заголовок сообщения: Re: Копировщик RFID-ключей T5557
Добавлено: Пт июл 28, 2017 15:50:59
Зарегистрирован: Пт июн 16, 2017 16:03:02Сообщений: 13Откуда: Москва
Рейтинг сообщения: 0
А что это за дисплей? И зачем вы подключаете к компаратору контакты (дисплея?) ? А питаете вы подсветку дисплея от 12 вольт? Не может просто подсветка мерцать (проседает напряжение?) ?
Похоже на питание нестабилизированным напряжением.
Вернуться наверх
Реклама
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Подробнее>>
ku78
Заголовок сообщения: Re: Копировщик RFID-ключей T5557
Добавлено: Вс июл 30, 2017 22:03:24
Первый раз сказал Мяу!
Зарегистрирован: Вс янв 15, 2017 14:51:53Сообщений: 38Откуда: Северодвинск
Рейтинг сообщения: 0
А что это за дисплей?
ST7735 128x160
Цитата:
И зачем вы подключаете к компаратору контакты (дисплея?) ?
Я не подключаю дисплей к компоратору он используется у вас в коде:
Код:
ACSR=(0<<ACD)|(0<<ACBG)|(0<<ACO)|(0<<ACI)|(1<<ACIE)|(0<<ACIC)|(0<<ACIS1)|(0<<ACIS0);
Или я ошибаюсь?
Цитата:
А питаете вы подсветку дисплея от 12 вольт?
подсветка не мерцает дисплей загружается и потом срабатывает прерывание я так понимаю и он тупо перезагружается и так без конца. Если в приведенной выше строчке отключить прерывание то магать перестает. Да кстати питание подсветки у этого дисплея от 3в начинается я питаю подсветку 5 в.
Цитата:
Похоже на питание нестабилизированным напряжением.
На дисплее стаит стабилизатор напряжении на 3 в
Дисплей подключен через SPI
PB5 ----------
PB3 ----------
gnd ----------
PD5 ----------
PB0 ----------
Вернуться наверх
Реклама
Реклама
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Подробнее>>
da-nie
Заголовок сообщения: Re: Копировщик RFID-ключей T5557
Добавлено: Пн июл 31, 2017 07:03:47
Говорящий с текстолитом
Карма: 33
Рейтинг сообщений: 148
Зарегистрирован: Вс июн 24, 2012 16:07:00Сообщений: 1572Откуда: Лен.Обл.
Рейтинг сообщения: 0
Вернуться наверх
Реклама
ku78
Заголовок сообщения: Re: Копировщик RFID-ключей T5557
Добавлено: Пн июл 31, 2017 17:09:48
Первый раз сказал Мяу!
Зарегистрирован: Вс янв 15, 2017 14:51:53Сообщений: 38Откуда: Северодвинск
Рейтинг сообщения: 0
Но до этого я пробывал запускать этот проект на этой же атмеге только с 1604 все работало замечательно страно. Ладно буду пробывать на другой атмеге.
Добавлено after 7 hours 14 minutes 44 seconds: Перекинул reset на pd0 мирцание прекратилось появился новый глук.
https://youtu.be/qWlefTcxpbw походу у меня где-то состояние портов неправильно выставляется.
Вернуться наверх
Реклама
da-nie
Заголовок сообщения: Re: Копировщик RFID-ключей T5557
Добавлено: Пн июл 31, 2017 21:00:46
Говорящий с текстолитом
Карма: 33
Рейтинг сообщений: 148
Зарегистрирован: Вс июн 24, 2012 16:07:00Сообщений: 1572Откуда: Лен.Обл.
Рейтинг сообщения: 0
Вернуться наверх
Реклама
Vova64
Заголовок сообщения: Re: Копировщик RFID-ключей T5557
Добавлено: Пт сен 01, 2017 18:14:59
Зарегистрирован: Пт сен 01, 2017 17:46:03Сообщений: 3
Рейтинг сообщения: 0
Добрый вечер! Вопрос к автору. Собрал базовую версию, напряжение в контрольной точке 83 вольта, когда подношу карту, она считывается, а напряжение падает до 0. Запись не идет, выдает ошибку. В монтаже все нормально. Должна ли срываться генерация или просто должно быть "проседание" амплитуды?
Вернуться наверх
Реклама
da-nie
Заголовок сообщения: Re: Копировщик RFID-ключей T5557
Добавлено: Сб сен 02, 2017 18:08:10
Говорящий с текстолитом
Карма: 33
Рейтинг сообщений: 148
Зарегистрирован: Вс июн 24, 2012 16:07:00Сообщений: 1572Откуда: Лен.Обл.
Рейтинг сообщения: 0
Генерация точно не должна срываться. А питания по мощности хватает? 83 вольта - это как-то очень много.
Снизьте до 40, уменьшив добротность. А то, может, atmege фигово.
Добавлено after 3 minutes 22 seconds: Кстати, про дисплей ST7735S.
Спойлер Код:
#ifndef ST7735S_H #define ST7735S_H #include "stm32f4xx_hal.h" //цвета #define ST7735S_RED 0xf800 #define ST7735S_GREEN 0x07e0 #define ST7735S_BLUE 0x001f #define ST7735S_WHITE 0xffff #define ST7735S_BLACK 0x0000 #define ST7735S_YELLOW 0xFFE0 #define ST7735S_GRAY0 0xEF7D #define ST7735S_GRAY1 0x8410 #define ST7735S_GRAY2 0x4208 #define FONT_HEIGHT 14 #define FONT_WIDTH 8 #define SCREEN_WIDTH 160 #define SCREEN_HEIGHT 128 #ifndef bool #define bool unsigned char #endif #ifndef true #define true 1 #endif #ifndef false #define false 0 #endif void ST7735S_Init(void);//инициализация дисплея void ST7735S_SetArea(unsigned char x1, unsigned char y1, unsigned char x2, unsigned char y2);//задать область вывода графики void ST7735S_OutColor(unsigned short color);//передать цвет точки void ST7735S_PutPixel(unsigned char x, unsigned char y, unsigned short color);//вывести один пиксель void ST7735S_PutSymbol(long x,long y,char symbol,unsigned short color);//вывод символа в позицию void ST7735S_PutString(long x,long y,const char *string,unsigned short color);//вывод строчки в позицию void ST7735S_Print(const char *string,unsigned short color);//вывести текст в текущую позицию void ST7735S_Clear(void);//сбросить текущую позицию #endif
Код:
#include "ST7735S.h" //контакты дисплея #define ST7735_GPIO_PIN_SCK GPIO_PIN_1 #define ST7735_GPIO_PIN_SDA GPIO_PIN_2 #define ST7735_GPIO_PIN_AD GPIO_PIN_3 #define ST7735_GPIO_PIN_RESET GPIO_PIN_8 #define ST7735_GPIO_PIN_CS GPIO_PIN_15 static long PrintYPosition=0;//позиция вывода строки const unsigned char Font8x14[224][14]= { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},//' '=0x20 { 0x00, 0x10, 0x38, 0x38, 0x38, 0x10, 0x10, 0x10, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00},//'!'=0x21 { 0x00, 0x66, 0x66, 0x22, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},//'"'=0x22 { 0x00, 0x44, 0x44, 0xFE, 0xFE, 0x44, 0x44, 0xFE, 0xFE, 0x44, 0x44, 0x00, 0x00, 0x00},//'#'=0x23 { 0x18, 0x18, 0x7C, 0xC6, 0xC2, 0xC0, 0x7C, 0x06, 0x06, 0x86, 0xC6, 0x7C, 0x18, 0x18}, { 0x00, 0x00, 0x00, 0xC2, 0xC6, 0x0C, 0x18, 0x30, 0x60, 0xC6, 0x86, 0x00, 0x00, 0x00}, { 0x00, 0x38, 0x6C, 0x6C, 0x38, 0x76, 0xDC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00}, { 0x00, 0x30, 0x30, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0x00, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x18, 0x0C, 0x00, 0x00, 0x00}, { 0x00, 0x30, 0x18, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x18, 0x30, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x66, 0x3C, 0xFF, 0x3C, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x7C, 0x7C, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x30, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00}, { 0x02, 0x06, 0x04, 0x0C, 0x08, 0x18, 0x10, 0x30, 0x20, 0x60, 0x40, 0x00, 0x00, 0x00}, { 0x00, 0x7C, 0xC6, 0xC6, 0xCE, 0xDE, 0xF6, 0xE6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00}, { 0x00, 0x18, 0x38, 0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x00, 0x00, 0x00}, { 0x00, 0x7C, 0xC6, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC0, 0xC6, 0xFE, 0x00, 0x00, 0x00}, { 0x00, 0x7C, 0xC6, 0x06, 0x06, 0x3C, 0x06, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00}, { 0x00, 0x0C, 0x1C, 0x3C, 0x6C, 0xCC, 0xFE, 0x0C, 0x0C, 0x0C, 0x1E, 0x00, 0x00, 0x00}, { 0x00, 0xFE, 0xC0, 0xC0, 0xC0, 0xFC, 0x06, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00}, { 0x00, 0x38, 0x60, 0xC0, 0xC0, 0xFC, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00}, { 0x00, 0xFE, 0xC6, 0x06, 0x06, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00}, { 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00}, { 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x06, 0x06, 0x0C, 0x78, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x7E, 0x7E, 0x00, 0x00, 0x7E, 0x7E, 0x00, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x00, 0x00, 0x00}, { 0x00, 0x7C, 0xC6, 0xC6, 0x0C, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xDE, 0xDE, 0xDE, 0xDC, 0xC0, 0x7C, 0x00, 0x00, 0x00}, { 0x00, 0x10, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00}, { 0x00, 0xFC, 0x66, 0x66, 0x66, 0x7C, 0x66, 0x66, 0x66, 0x66, 0xFC, 0x00, 0x00, 0x00}, { 0x00, 0x3C, 0x66, 0xC2, 0xC0, 0xC0, 0xC0, 0xC0, 0xC2, 0x66, 0x3C, 0x00, 0x00, 0x00}, { 0x00, 0xF8, 0x6C, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x6C, 0xF8, 0x00, 0x00, 0x00}, { 0x00, 0xFE, 0x66, 0x62, 0x68, 0x78, 0x68, 0x60, 0x62, 0x66, 0xFE, 0x00, 0x00, 0x00}, { 0x00, 0xFE, 0x66, 0x62, 0x68, 0x78, 0x68, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00}, { 0x00, 0x3C, 0x66, 0xC2, 0xC0, 0xC0, 0xDE, 0xC6, 0xC6, 0x66, 0x3A, 0x00, 0x00, 0x00}, { 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00}, { 0x00, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00}, { 0x00, 0x1E, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0xCC, 0xCC, 0xCC, 0x78, 0x00, 0x00, 0x00}, { 0x00, 0xE6, 0x66, 0x66, 0x6C, 0x78, 0x78, 0x6C, 0x66, 0x66, 0xE6, 0x00, 0x00, 0x00}, { 0x00, 0xF0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x62, 0x66, 0xFE, 0x00, 0x00, 0x00}, { 0x00, 0xC6, 0xEE, 0xFE, 0xFE, 0xD6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00}, { 0x00, 0xC6, 0xE6, 0xF6, 0xFE, 0xDE, 0xCE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00}, { 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00}, { 0x00, 0xFC, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00}, { 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xD6, 0xDE, 0x7C, 0x0C, 0x0E, 0x00}, { 0x00, 0xFC, 0x66, 0x66, 0x66, 0x7C, 0x6C, 0x66, 0x66, 0x66, 0xE6, 0x00, 0x00, 0x00}, { 0x00, 0x7C, 0xC6, 0xC6, 0x60, 0x38, 0x0C, 0x06, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00}, { 0x00, 0x7E, 0x7E, 0x5A, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00}, { 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00}, { 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x6C, 0x38, 0x10, 0x00, 0x00, 0x00}, { 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xD6, 0xD6, 0xD6, 0xFE, 0xEE, 0x6C, 0x00, 0x00, 0x00}, { 0x00, 0xC6, 0xC6, 0x6C, 0x7C, 0x38, 0x38, 0x7C, 0x6C, 0xC6, 0xC6, 0x00, 0x00, 0x00}, { 0x00, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00}, { 0x00, 0xFE, 0xC6, 0x86, 0x0C, 0x18, 0x30, 0x60, 0xC2, 0xC6, 0xFE, 0x00, 0x00, 0x00}, { 0x00, 0x3C, 0x3C, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3C, 0x3C, 0x00, 0x00, 0x00}, { 0x40, 0x60, 0x20, 0x30, 0x10, 0x18, 0x08, 0x0C, 0x04, 0x06, 0x02, 0x00, 0x00, 0x00}, { 0x00, 0x3C, 0x3C, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x3C, 0x3C, 0x00, 0x00, 0x00}, { 0x10, 0x38, 0x6C, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00}, { 0x00, 0x20, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00}, { 0x00, 0xE0, 0x60, 0x60, 0x78, 0x6C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC0, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00}, { 0x00, 0x1C, 0x0C, 0x0C, 0x3C, 0x6C, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xFE, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00}, { 0x00, 0x38, 0x6C, 0x64, 0x60, 0xF0, 0x60, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x76, 0xCC, 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0xCC, 0x78, 0x00}, { 0x00, 0xE0, 0x60, 0x60, 0x6C, 0x76, 0x66, 0x66, 0x66, 0x66, 0xE6, 0x00, 0x00, 0x00}, { 0x00, 0x18, 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00}, { 0x00, 0x06, 0x06, 0x00, 0x0E, 0x06, 0x06, 0x06, 0x06, 0x06, 0x66, 0x66, 0x3C, 0x00}, { 0x00, 0xE0, 0x60, 0x60, 0x66, 0x6C, 0x78, 0x78, 0x6C, 0x66, 0xE6, 0x00, 0x00, 0x00}, { 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0xEC, 0xFE, 0xD6, 0xD6, 0xD6, 0xD6, 0xC6, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0xDC, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0xDC, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0xF0, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x76, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0x1E, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0xDC, 0x76, 0x66, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0x60, 0x38, 0x0C, 0xC6, 0x7C, 0x00, 0x00, 0x00}, { 0x00, 0x10, 0x30, 0x30, 0xFC, 0x30, 0x30, 0x30, 0x30, 0x36, 0x1C, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xD6, 0xD6, 0xD6, 0xFE, 0x6C, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0xC6, 0x6C, 0x38, 0x38, 0x38, 0x6C, 0xC6, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0xC6, 0x7C, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0xFE, 0xCC, 0x18, 0x30, 0x60, 0xC6, 0xFE, 0x00, 0x00, 0x00}, { 0x00, 0x0E, 0x18, 0x18, 0x18, 0x70, 0x18, 0x18, 0x18, 0x18, 0x0E, 0x00, 0x00, 0x00}, { 0x00, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00}, { 0x00, 0x70, 0x18, 0x18, 0x18, 0x0E, 0x18, 0x18, 0x18, 0x18, 0x70, 0x00, 0x00, 0x00}, { 0x00, 0x76, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x10, 0x38, 0x6C, 0xC6, 0xC6, 0xC6, 0xFE, 0x00, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03}, { 0x00, 0x00, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, { 0x00, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, { 0x00, 0x00, 0xC0, 0xE1, 0xF1, 0xF9, 0xF9, 0xF9, 0xFD, 0xFC, 0xFC, 0xFE, 0xFE, 0xFE}, { 0x00, 0x00, 0x00, 0xC0, 0x20, 0xA0, 0xE0, 0xA0, 0xE0, 0x20, 0xC0, 0x00, 0x00, 0x00}, { 0x07, 0x0F, 0x0F, 0x0F, 0x1F, 0x1F, 0x1F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x7F, 0x7F}, { 0xFB, 0xF9, 0xF1, 0xF0, 0xE0, 0xE0, 0xE0, 0xC0, 0xC0, 0xC0, 0x80, 0x80, 0x80, 0xC0}, { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x7F, 0x7E, 0x3E, 0x3E, 0x3C, 0x1C, 0x1E}, { 0xFF, 0xDF, 0xCF, 0x8F, 0x87, 0x87, 0x07, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x00}, { 0x00, 0x80, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xE0, 0xE0, 0xE0, 0xF0, 0xF0, 0xF0, 0xF8}, { 0x7F, 0x7F, 0x7C, 0x7C, 0x7C, 0x78, 0x78, 0x78, 0x70, 0x70, 0x70, 0x60, 0x60, 0x60}, { 0xE0, 0xE0, 0xE0, 0xF0, 0xF0, 0xF0, 0x78, 0x78, 0x78, 0x3C, 0x3C, 0x3C, 0x1E, 0x1E}, { 0x1F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x00}, { 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xE0, 0xE0, 0xE0, 0xF0, 0xF0}, { 0x78, 0x78, 0x3C, 0x3C, 0x3C, 0x1E, 0x1E, 0x1E, 0x1F, 0x0F, 0x0F, 0x0F, 0x07, 0x07}, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0x1F, 0x1F, 0x3F, 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, { 0x00, 0x00, 0x80, 0x80, 0x80, 0xC0, 0xC1, 0xC1, 0xE1, 0xE3, 0xE3, 0xF3, 0xF7, 0xFF}, { 0x78, 0x78, 0x78, 0x7C, 0xFC, 0xFC, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, { 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80}, { 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x00, 0x00, 0x00}, { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x18, 0x00, 0x00}, { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFC, 0xF8, 0xF0, 0xC0, 0x00, 0x00, 0x00}, { 0x80, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0x18, 0x3C, 0x24, 0x24, 0x24, 0x24, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0x00, 0x10, 0x10, 0x7C, 0x7C, 0x10, 0x10, 0x00, 0x7C, 0x7C, 0x00, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0x28, 0x00, 0xFE, 0x66, 0x62, 0x68, 0x78, 0x68, 0x62, 0x66, 0xFE, 0x00, 0x00, 0x00}, { 0x3C, 0x66, 0x42, 0x81, 0x99, 0xBD, 0xA1, 0xA1, 0xBD, 0x99, 0x81, 0x42, 0x66, 0x3C}, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x66, 0xCC, 0x66, 0x33, 0x00, 0x00, 0x00, 0x00}, { 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA}, { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, { 0x3C, 0x66, 0x42, 0x81, 0xB9, 0xBD, 0xA5, 0xB9, 0xBD, 0xA5, 0x81, 0x42, 0x66, 0x3C}, { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10}, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xF0, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10}, { 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0xF0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10}, { 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x1F, 0x1F, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10}, { 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0xF0, 0xF0, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10}, { 0x00, 0x28, 0x28, 0x00, 0x7C, 0xC6, 0xFE, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10}, { 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x66, 0x33, 0x66, 0xCC, 0x00, 0x00, 0x00, 0x00}, { 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0xFF, 0xFF, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10}, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, { 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0}, { 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F}, { 0x00, 0x1E, 0x36, 0x66, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00}, { 0x00, 0xFE, 0x62, 0x62, 0x60, 0x7C, 0x66, 0x66, 0x66, 0x66, 0xFC, 0x00, 0x00, 0x00}, { 0x00, 0xFC, 0x66, 0x66, 0x66, 0x7C, 0x66, 0x66, 0x66, 0x66, 0xFC, 0x00, 0x00, 0x00}, { 0x00, 0xFE, 0x62, 0x62, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00}, { 0x00, 0x1E, 0x36, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0xFF, 0xC3, 0x81, 0x00}, { 0x00, 0xFE, 0x66, 0x62, 0x68, 0x78, 0x68, 0x60, 0x62, 0x66, 0xFE, 0x00, 0x00, 0x00}, { 0x00, 0xD6, 0xD6, 0x54, 0x54, 0x7C, 0x7C, 0x54, 0xD6, 0xD6, 0xD6, 0x00, 0x00, 0x00}, { 0x00, 0x7C, 0xC6, 0x06, 0x06, 0x3C, 0x06, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00}, { 0x00, 0xC6, 0xC6, 0xCE, 0xCE, 0xD6, 0xE6, 0xE6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00}, { 0x28, 0x10, 0xC6, 0xC6, 0xCE, 0xCE, 0xD6, 0xE6, 0xE6, 0xC6, 0xC6, 0x00, 0x00, 0x00}, { 0x00, 0xE6, 0x66, 0x6C, 0x6C, 0x78, 0x78, 0x6C, 0x6C, 0x66, 0xE6, 0x00, 0x00, 0x00}, { 0x00, 0x1E, 0x36, 0x66, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00}, { 0x00, 0xC6, 0xEE, 0xFE, 0xFE, 0xD6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00}, { 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00}, { 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00}, { 0x00, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00}, { 0x00, 0xFC, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00}, { 0x00, 0x3C, 0x66, 0xC2, 0xC0, 0xC0, 0xC0, 0xC0, 0xC2, 0x66, 0x3C, 0x00, 0x00, 0x00}, { 0x00, 0x7E, 0x5A, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00}, { 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00}, { 0x3C, 0x18, 0x7E, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0x7E, 0x18, 0x3C, 0x00, 0x00, 0x00}, { 0x00, 0xC6, 0xC6, 0x6C, 0x7C, 0x38, 0x38, 0x7C, 0x6C, 0xC6, 0xC6, 0x00, 0x00, 0x00}, { 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xFE, 0x06, 0x06, 0x00}, { 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00}, { 0x00, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xFF, 0x00, 0x00, 0x00}, { 0x00, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xFF, 0x03, 0x03, 0x00}, { 0x00, 0xF8, 0xB0, 0x30, 0x30, 0x3C, 0x36, 0x36, 0x36, 0x36, 0x7C, 0x00, 0x00, 0x00}, { 0x00, 0xC3, 0xC3, 0xC3, 0xC3, 0xF3, 0xDB, 0xDB, 0xDB, 0xDB, 0xF3, 0x00, 0x00, 0x00}, { 0x00, 0xF0, 0x60, 0x60, 0x60, 0x7C, 0x66, 0x66, 0x66, 0x66, 0xFC, 0x00, 0x00, 0x00}, { 0x00, 0x7C, 0xC6, 0x06, 0x26, 0x3E, 0x26, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00}, { 0x00, 0xCE, 0xDB, 0xDB, 0xDB, 0xFB, 0xDB, 0xDB, 0xDB, 0xDB, 0xCE, 0x00, 0x00, 0x00}, { 0x00, 0x3F, 0x66, 0x66, 0x66, 0x3E, 0x3E, 0x66, 0x66, 0x66, 0xE7, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00}, { 0x02, 0x06, 0x3C, 0x60, 0x60, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0xFC, 0x66, 0x66, 0x7C, 0x66, 0x66, 0xFC, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x7E, 0x32, 0x32, 0x30, 0x30, 0x30, 0x78, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x1E, 0x36, 0x36, 0x66, 0x66, 0x66, 0xFF, 0xC3, 0xC3, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xFE, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0xD6, 0xD6, 0x54, 0x7C, 0x54, 0xD6, 0xD6, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x3C, 0x66, 0x06, 0x0C, 0x06, 0x66, 0x3C, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xCE, 0xD6, 0xE6, 0xC6, 0xC6, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x28, 0x10, 0xC6, 0xC6, 0xCE, 0xD6, 0xE6, 0xC6, 0xC6, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0xE6, 0x6C, 0x78, 0x78, 0x6C, 0x66, 0xE6, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x1E, 0x36, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0xC6, 0xEE, 0xFE, 0xFE, 0xD6, 0xD6, 0xC6, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0xDC, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0xF0, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC0, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5A, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0xC6, 0x7C, 0x00}, { 0x00, 0x00, 0x00, 0x3C, 0x18, 0x7E, 0xDB, 0xDB, 0xDB, 0xDB, 0x7E, 0x18, 0x3C, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0xC6, 0x6C, 0x38, 0x38, 0x38, 0x6C, 0xC6, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xFE, 0x06, 0x06, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x06, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xFE, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xFE, 0x03, 0x03, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0xF8, 0xB0, 0x30, 0x3E, 0x33, 0x33, 0x7E, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xF6, 0xDE, 0xDE, 0xF6, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0xF0, 0x60, 0x60, 0x7C, 0x66, 0x66, 0xFC, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x3C, 0x66, 0x06, 0x1E, 0x06, 0x66, 0x3C, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0xCE, 0xDB, 0xDB, 0xFB, 0xDB, 0xDB, 0xCE, 0x00, 0x00, 0x00}, { 0x00, 0x00, 0x00, 0x00, 0x7E, 0xCC, 0xCC, 0xFC, 0x6C, 0xCC, 0xCE, 0x00, 0x00, 0x00} }; //---------- //инициализация GPIO //---------- void ST7735S_GPIOInit(void) { //дисплей подключен к порту A //A1-SCK //A2-SDA //A3-AD //A8-RESET //A15-CS __HAL_RCC_GPIOA_CLK_ENABLE(); //GPIO_Pin – номера выводов, которые конфигурируются. Пример для нескольких выводов: //GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2; //GPIO_Speed – задает скорость для выбранных выводов. //GPIO_Mode – задает режим работы выводов. //настраиваем параметры порта GPIO_InitTypeDef ST7735S_GPIO_Init; ST7735S_GPIO_Init.Mode=GPIO_MODE_OUTPUT_PP; ST7735S_GPIO_Init.Pull=GPIO_NOPULL; ST7735S_GPIO_Init.Pin=ST7735_GPIO_PIN_SCK|ST7735_GPIO_PIN_SDA|ST7735_GPIO_PIN_AD|ST7735_GPIO_PIN_RESET|ST7735_GPIO_PIN_CS; ST7735S_GPIO_Init.Speed=GPIO_SPEED_HIGH; HAL_GPIO_Init(GPIOA,&ST7735S_GPIO_Init); } //---------- //включить SDA //---------- void ST7735S_SetSDA(void) { HAL_GPIO_WritePin(GPIOA,ST7735_GPIO_PIN_SDA,GPIO_PIN_SET); } //---------- //отключить SDA //---------- void ST7735S_ResetSDA(void) { HAL_GPIO_WritePin(GPIOA,ST7735_GPIO_PIN_SDA,GPIO_PIN_RESET); } //---------- //включить SCK //---------- void ST7735S_SetSCK(void) { HAL_GPIO_WritePin(GPIOA,ST7735_GPIO_PIN_SCK,GPIO_PIN_SET); } //---------- //отключить SCK //---------- void ST7735S_ResetSCK(void) { HAL_GPIO_WritePin(GPIOA,ST7735_GPIO_PIN_SCK,GPIO_PIN_RESET); } //---------- //включить AD //---------- void ST7735S_SetAD(void) { HAL_GPIO_WritePin(GPIOA,ST7735_GPIO_PIN_AD,GPIO_PIN_SET); } //---------- //отключить AD //---------- void ST7735S_ResetAD(void) { HAL_GPIO_WritePin(GPIOA,ST7735_GPIO_PIN_AD,GPIO_PIN_RESET); } //---------- //включить RESET //---------- void ST7735S_SetRESET(void) { HAL_GPIO_WritePin(GPIOA,ST7735_GPIO_PIN_RESET,GPIO_PIN_SET); } //---------- //отключить RESET //---------- void ST7735S_ResetRESET(void) { HAL_GPIO_WritePin(GPIOA,ST7735_GPIO_PIN_RESET,GPIO_PIN_RESET); } //---------- //включить CS //---------- void ST7735S_SetCS(void) { HAL_GPIO_WritePin(GPIOA,ST7735_GPIO_PIN_CS,GPIO_PIN_SET); } //---------- //отключить CS //---------- void ST7735S_ResetCS(void) { HAL_GPIO_WritePin(GPIOA,ST7735_GPIO_PIN_CS,GPIO_PIN_RESET); } //---------- //передать байт по программному SPI (SPI срабатывает по низкому уровню сигнала SCK!) //---------- unsigned char ST7735S_SPITransmitt(unsigned char byte) { unsigned char response=0; for (unsigned char i=0;i<8;i++,byte=byte<<1) { response=response<<1; if (byte&128) ST7735S_SetSDA(); else ST7735S_ResetSDA(); ST7735S_ResetSCK(); //if (LPT_GetACKState()==true) response|=1; ST7735S_SetSCK(); } return(response); } //---------- //отправить байт дисплею //---------- void ST7735S_SendByte(unsigned char byte,bool command) { ST7735S_ResetCS(); if (command==true) ST7735S_ResetAD(); else ST7735S_SetAD(); ST7735S_SetSCK(); ST7735S_SPITransmitt(byte); ST7735S_SetCS(); } //---------- //отправить слово 16 бит дисплею //---------- void ST7735S_SendShort(unsigned short value) { ST7735S_SendByte((value>>8)&0xff,false); ST7735S_SendByte(value&0xff,false); } //---------- //инициализация дисплея //---------- void ST7735S_Init(void) { ST7735S_GPIOInit(); HAL_Delay(100); ST7735S_ResetRESET(); HAL_Delay(10); ST7735S_SetRESET(); HAL_Delay(10); unsigned int i=0; ST7735S_SendByte(0xB9,true);//SETEXTC ST7735S_SendByte(0xFF,false); ST7735S_SendByte(0x83,false); ST7735S_SendByte(0x53,false); ST7735S_SendByte(0xB0,true);//RADJ ST7735S_SendByte(0x3C,false); ST7735S_SendByte(0x01,false); ST7735S_SendByte(0xB6,true);//VCOM ST7735S_SendByte(0x94,false); ST7735S_SendByte(0x6C,false); ST7735S_SendByte(0x50,false); ST7735S_SendByte(0xB1,true);//PWR ST7735S_SendByte(0x00,false); ST7735S_SendByte(0x01,false); ST7735S_SendByte(0x1B,false); ST7735S_SendByte(0x03,false); ST7735S_SendByte(0x01,false); ST7735S_SendByte(0x08,false); ST7735S_SendByte(0x77,false); ST7735S_SendByte(0x89,false); ST7735S_SendByte(0xE0,true); //Gamma setting for tpo Panel ST7735S_SendByte(0x50,false); ST7735S_SendByte(0x77,false); ST7735S_SendByte(0x40,false); ST7735S_SendByte(0x08,false); ST7735S_SendByte(0xBF,false); ST7735S_SendByte(0x00,false); ST7735S_SendByte(0x03,false); ST7735S_SendByte(0x0F,false); ST7735S_SendByte(0x00,false); ST7735S_SendByte(0x01,false); ST7735S_SendByte(0x73,false); ST7735S_SendByte(0x00,false); ST7735S_SendByte(0x72,false); ST7735S_SendByte(0x03,false); ST7735S_SendByte(0xB0,false); ST7735S_SendByte(0x0F,false); ST7735S_SendByte(0x08,false); ST7735S_SendByte(0x00,false); ST7735S_SendByte(0x0F,false); ST7735S_SendByte(0x3A,true); ST7735S_SendByte(0x05,false);//05 ST7735S_SendByte(0x36,true); ST7735S_SendByte(0xC0,false);//83 //0B ST7735S_SendByte(0x11,true);//SLPOUT HAL_Delay(10); ST7735S_SendByte(0x29,true);//display on HAL_Delay(10); ST7735S_SendByte(0x2D,true);//Look up table for(i=0;i<32;i++) ST7735S_SendByte(2*i,false); //Red for(i=0;i<64;i++) ST7735S_SendByte(1*i,false); //Green for(i=0;i<32;i++) ST7735S_SendByte(2*i,false); //Blue ST7735S_SendByte(0x2c,true); HAL_Delay(100); } //---------- //задать область вывода графики //---------- void ST7735S_SetArea(unsigned char x1, unsigned char y1, unsigned char x2, unsigned char y2) { ST7735S_SendByte(0x2a,true); ST7735S_SendByte(0,false); ST7735S_SendByte(y1,false); ST7735S_SendByte(0,false); ST7735S_SendByte(y2,false); ST7735S_SendByte(0x2b,true); ST7735S_SendByte(0,false); ST7735S_SendByte(x1,false); ST7735S_SendByte(0,false); ST7735S_SendByte(x2,false); ST7735S_SendByte(0x2c,true); } //---------- //передать цвет точки //---------- void ST7735S_OutColor(unsigned short color) { ST7735S_SendShort(color); } //---------- //вывести один пиксель //---------- void ST7735S_PutPixel(unsigned char x, unsigned char y, unsigned short color) { ST7735S_SetArea((160-x),y,(160-x),y); ST7735S_OutColor(color); } //---------- //вывод символа в позицию //---------- void ST7735S_PutSymbol(long x,long y,char symbol,unsigned short color) { unsigned char s=(unsigned char)(symbol); if (s<=32) return; s-=32; if (s>223) return; //рисуем символ for(long ys=0;ys<FONT_HEIGHT;ys++) { unsigned char byte=Font8x14[s][ys]; unsigned char mask=128; for(long xs=0;xs<FONT_WIDTH;xs++,mask>>=1) { if (x+xs<0 || x+xs>=SCREEN_WIDTH) continue; if (y+ys<0 || y+ys>=SCREEN_HEIGHT) continue; if (byte&mask) ST7735S_PutPixel(x+xs,y+ys,color); } } } //---------- //вывод строчки в позицию //---------- void ST7735S_PutString(long x,long y,const char *string,unsigned short color) { while((*string)!=0) { ST7735S_PutSymbol(x,y,*string,color); x+=FONT_WIDTH; string++; } } //---------- //вывести текст в текущую позицию //---------- void ST7735S_Print(const char *string,unsigned short color) { if (PrintYPosition+FONT_HEIGHT>=SCREEN_HEIGHT) ST7735S_Clear(); ST7735S_PutString(0,PrintYPosition,string,color); PrintYPosition+=FONT_HEIGHT; } //---------- //сбросить текущую позицию //---------- void ST7735S_Clear(void) { PrintYPosition=0; ST7735S_SetArea(0,0,160,128); for(long x=0;x<160;x++) { for(long y=0;y<128;y++) { ST7735S_OutColor(ST7735S_BLACK); } } }
Я его временно подключил к STM32F4Discovery (с программным SPI), пока штатный не пришёл. Для атмеги в коде надо очевидные функции заменить на дёрганье ножками в стиле атмеги.
_________________ И день и ночь в пути... Мои программки: https://github.com/da-nie Мои публикации: https://habr.com/ru/users/da-nie/posts/ Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Вернуться наверх
Vova64
Заголовок сообщения: Re: Копировщик RFID-ключей T5557
Добавлено: Пн сен 04, 2017 08:36:21
Зарегистрирован: Пт сен 01, 2017 17:46:03Сообщений: 3
Рейтинг сообщения: 0
Добрый день! Благодарю за совет. Мощности по питанию хватает, пробовал разные источники. Сейчас попробую перемотать катушку.
Вернуться наверх
da-nie
Заголовок сообщения: Re: Копировщик RFID-ключей T5557
Добавлено: Пн сен 04, 2017 09:29:06
Говорящий с текстолитом
Карма: 33
Рейтинг сообщений: 148
Зарегистрирован: Вс июн 24, 2012 16:07:00Сообщений: 1572Откуда: Лен.Обл.
Рейтинг сообщения: 0
Вернуться наверх
Vova64
Заголовок сообщения: Re: Копировщик RFID-ключей T5557
Добавлено: Вт сен 05, 2017 09:10:50
Зарегистрирован: Пт сен 01, 2017 17:46:03Сообщений: 3
Рейтинг сообщения: 0
Добрый день! По вашей рекомендации понизил напряжение до 50в. Самое интересное, брелки 5577 записываются не смотря на то, что выдает ошибку: "Не получен ответ от устройства". Записанные брелки работают, проверил.
Вернуться наверх
da-nie
Заголовок сообщения: Re: Копировщик RFID-ключей T5557
Добавлено: Вс сен 17, 2017 19:05:32
Говорящий с текстолитом
Карма: 33
Рейтинг сообщений: 148
Зарегистрирован: Вс июн 24, 2012 16:07:00Сообщений: 1572Откуда: Лен.Обл.
Рейтинг сообщения: 0
Вот ещё код запуска для дисплея на HX8347-D.
Вот для такого вот:
Дисплей я купил
тут .
И обломался с запуском. Оказалось, в нём HX8347-D.
Исходники я нашёл
тут .
Спойлер Код:
//LCD-экран HX8347-D //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //настройки контактов LCD-экрана //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //линия ChipSelect #define LCD_PORT_CS PORTC #define LCD_DDR_CS DDRC #define LCD_CS 6 //линия Rst #define LCD_PORT_RST PORTC #define LCD_DDR_RST DDRC #define LCD_RST 7 //линия Rs #define LCD_PORT_RS PORTB #define LCD_DDR_RS DDRB #define LCD_RS 0 //линия Wr #define LCD_PORT_WR PORTB #define LCD_DDR_WR DDRB #define LCD_WR 1 //линия Rd #define LCD_PORT_RD PORTB #define LCD_DDR_RD DDRB #define LCD_RD 2 //шина данных #define LCD_PORT_DATA PORTA #define LCD_DDR_DATA DDRA #define LCD_BLACK 0x0000 #define LCD_RED 0xF800 #define LCD_ORANGE 0xFBE0 #define LCD_YELLOW 0xFFE0 #define LCD_GREEN 0x07E0 #define LCD_CYAN 0x07FF #define LCD_BLUE 0x001F #define LCD_MAGENTA 0xF81F #define LCD_VIOLET 0x881F #define LCD_WHITE 0xFFFF #define LCD_WIDTH 320UL #define LCD_HEIGHT 240UL //код команды паузы в миллисекундах #define DELAY_CODE 0xFFFF //инициализация дисплея unsigned short HX8347D_Init[] PROGMEM= { 0x00EA,0x0000, //PTBA[15:8] 0x00EB,0x0020, //PTBA[7:0] 0x00EC,0x000C, //STBA[15:8] 0x00ED,0x00C4, //STBA[7:0] 0x00E8,0x0040, //OPON[7:0] 0x00E9,0x0038, //OPON1[7:0] 0x00F1,0x0001, //OTPS1B 0x00F2,0x0010, //GEN 0x0027,0x00A3, // //Gamma 2.2 Setting 0x0040,0x0000, // 0x0041,0x0000, // 0x0042,0x0001, // 0x0043,0x0012, // 0x0044,0x0010, // 0x0045,0x0026, // 0x0046,0x0008, // 0x0047,0x0053, // 0x0048,0x0002, // 0x0049,0x0015, // 0x004A,0x0019, // 0x004B,0x0019, // 0x004C,0x0016, // 0x0050,0x0019, // 0x0051,0x002F, // 0x0052,0x002D, // 0x0053,0x003E, // 0x0054,0x003F, // 0x0055,0x003F, // 0x0056,0x002C, // 0x0057,0x0077, // 0x0058,0x0009, // 0x0059,0x0006, // 0x005A,0x0006, // 0x005B,0x000A, // 0x005C,0x001D, // 0x005D,0x00CC, // //Power Voltage Setting 0x001B,0x001B, //VRH=4.65V 0x001A,0x0001, //BT (VGH~15V,VGL~-10V,DDVDH~5V) 0x0024,0x002F, //VMH(VCOM High voltage ~3.2V) 0x0025,0x0057, //VML(VCOM Low voltage -1.2V) //****VCOM offset**/// 0x0023,0x0097, //for Flicker adjust //can reload from OTP //Power on Setting 0x0018,0x0036, //I/P_RADJ,N/P_RADJ, Normal mode 75Hz 0x0019,0x0001, //OSC_EN='1', start Osc 0x0001,0x0000, //DP_STB='0', out deep sleep 0x001F,0x0088,// GAS=1, VOMG=00, PON=0, DK=1, XDK=0, DVDH_TRI=0, STB=0 DELAY_CODE,5, //delay(5) 0x001F,0x0080,// GAS=1, VOMG=00, PON=0, DK=0, XDK=0, DVDH_TRI=0, STB=0 DELAY_CODE,5, //delay(5) 0x001F,0x0090,// GAS=1, VOMG=00, PON=1, DK=0, XDK=0, DVDH_TRI=0, STB=0 DELAY_CODE,5, //delay(5) 0x001F,0x00D0,// GAS=1, VOMG=10, PON=1, DK=0, XDK=0, DDVDH_TRI=0, STB=0 DELAY_CODE,5, //delay(5) //262k/65k color selection 0x0017,0x0005, //default 0x0006 262k color // 0x0005 65k color //SET PANEL 0x0036,0x0000, //SS_P, GS_P,REV_P,BGR_P //Display ON Setting 0x0028,0x0038, //GON=1, DTE=1, D=1000 DELAY_CODE,40, //delay(40) 0x0028,0x003C, //GON=1, DTE=1, D=1100 //Set GRAM Area 0x0002,0x0000, 0x0003,0x0000, //Column Start 0x0004,0x0000, 0x0005,0x00EF, //Column End 0x0006,0x0000, 0x0007,0x0000, //Row Start 0x0008,0x0001, 0x0009,0x003F, //Row End //WR_8B_FORMAT(0x0022, //Start GRAM write // Power Off Setting 0x0028,0x0038, //GON=ЎЇ1ЎЇ DTE=ЎЇ1ЎЇ D[1:0]=ЎЇ10ЎЇ DELAY_CODE,40, //delay(40) 0x001F,0x0089, // GAS=1, VOMG=00, PON=0, DK=1, XDK=0, DVDH_TRI=0, STB=1 DELAY_CODE,40, //delay(40) 0x0028,0x0004, //GON=ЎЇ0ЎЇ DTE=ЎЇ0ЎЇ D[1:0]=ЎЇ01ЎЇ DELAY_CODE,40, //delay(40) 0x0019,0x0000, //OSC_EN=ЎЇ0ЎЇ DELAY_CODE,5, //delay(5) //M51_WR_REG(U05_LCD_POWER_ON, 0x0000, //VCI & IOVCC OFF //################################################################## // ENTER IDLE mode Setting 0x0018,0x0034, //I/P_RADJ,N/P_RADJ, IDLE mode 55Hz 0x002F,0x0011, //IDLE mode line inversion 0x0001,0x0004, //IDLE='1' , enter IDLE mode // EXIT IDLE mode Setting 0x0018,0x0036, //I/P_RADJ,N/P_RADJ, Normal mode 75Hz 0x002F,0x0011, //Normal mode line inversion 0x0001,0x0000, //IDLE='0', EXIT IDLE mode //################################################################## // ENTER Partial mode Setting 32line 0x0018,0x0036, //I/P_RADJ,N/P_RADJ Partial mode 75Hz 0x002F,0x0011, //Partial mode line inversion 0x0001,0x0001, //PTL='1', Enter Partial mode 0x000A,0x0000, //PSL[15:8]=0x0000 0x000B,0x0020, //PSL[7:0]=0x0020 0x000C,0x0000, //PEL[15:8]=0x0000 0x000D,0x0047, //PEL[7:0]=0x0047 0x0026,0x0001, //refresh cycle=5frame // EXIT Partial mode Setting 0x0018,0x0036, //I/P_RADJ,N/P_RADJ, Normal mode 75Hz 0x002F,0x0011, //Normal mode, line inversion 0x0001,0x0000, //PTL='0', EXIT Partial mode // ENTER Partial + IDLE mode Setting 32line 0x0018,0x0036, //I/P_RADJ,N/P_RADJ, Partial mode 55Hz 0x002F,0x0011, // Partial + IDLE mode line inversion 0x0001,0x0009, // PTL='1' IDLE=ЎЇ1ЎЇ, Enter Partial + IDLE mode 0x000A,0x0000, //PSL[15:8]=0x0000 0x000B,0x0020, //PSL[7:0]=0x0020 0x000C,0x0000, //PEL[15:8]=0x0000 0x000D,0x0047, //PEL[7:0]=0x0047 0x0026,0x0001, //refresh cycle=5frame // EXIT Partial + IDLE mode Setting 0x0018,0x0036, //I/P_RADJ,N/P_RADJ ,Normal mode 75Hz 0x002F,0x0011, //Normal mode, line inversion 0x0001,0x0000, // PTL='0' IDLE=ЎЇ0ЎЇ, EXIT Partial + IDLE mode //################################################################## // Enter Sleep mode Setting 0x0028,0x00B8, //GON=ЎЇ1ЎЇ DTE=ЎЇ1ЎЇ D[1:0]=ЎЇ10ЎЇ DELAY_CODE,40, //delay(40) 0x001F,0x0089, // GAS=1, VOMG=00, PON=0, DK=1, XDK=0, DVDH_TRI=0, STB=1 DELAY_CODE,40, //delay(40) 0x0028,0x0004, //GON=ЎЇ0ЎЇ DTE=ЎЇ0ЎЇ D[1:0]=ЎЇ01ЎЇ DELAY_CODE,40, //delay(40) 0x0019,0x0000, //OSC_EN=ЎЇ0ЎЇ DELAY_CODE,5, //delay(5) // Exit Sleep mode Setting 0x0018,0x0036, //I/P_RADJ,N/P_RADJ, Normal mode 75Hz 0x0019,0x0001, //OSC_EN='1', start Osc 0x001F,0x0088,// GAS=1, VOMG=00, PON=0, DK=1, XDK=0, DVDH_TRI=0, STB=0 DELAY_CODE,5, //delay(5) 0x001F,0x0080,// GAS=1, VOMG=00, PON=0, DK=0, XDK=0, DVDH_TRI=0, STB=0 DELAY_CODE,5, //delay(5) 0x001F,0x0090,// GAS=1, VOMG=00, PON=1, DK=0, XDK=0, DVDH_TRI=0, STB=0 DELAY_CODE,5, //delay(5) 0x001F,0x00D0,// GAS=1, VOMG=10, PON=1, DK=0, XDK=0, DDVDH_TRI=0, STB=0 DELAY_CODE,5, //delay(5) 0x0028,0x0038, //GON=1, DTE=1, D=1000 DELAY_CODE,40, //delay(40) 0x0028,0x003F, //GON=1, DTE=1, D=1100 // Enter Deep Sleep mode Setting 0x0028,0x00B8, //GON=ЎЇ1ЎЇ DTE=ЎЇ1ЎЇ D[1:0]=ЎЇ10ЎЇ DELAY_CODE,40, //delay(40) 0x001F,0x0089, // GAS=1, VOMG=00, PON=0, DK=1, XDK=0, DVDH_TRI=0, STB=1 DELAY_CODE,40, //delay(40) 0x0028,0x0004, //GON=ЎЇ0ЎЇ DTE=ЎЇ0ЎЇ D[1:0]=ЎЇ01ЎЇ DELAY_CODE,40, //delay(40) 0x0019,0x0000, //OSC_EN=ЎЇ0ЎЇ DELAY_CODE,5, //delay(5) 0x0001,0x00C0, //DP_STB[1:0]=ЎЇ11ЎЇ // Exit Deep Sleep mode Setting 0x0001,0x0000, //DP_STB='0', out deep sleep DELAY_CODE,10, //delay(10) 0x0019,0x0001, //OSC_EN='1', start Osc 0x001F,0x0088,// GAS=1, VOMG=00, PON=0, DK=1, XDK=0, DVDH_TRI=0, STB=0 DELAY_CODE,5, //delay(5) 0x001F,0x0080,// GAS=1, VOMG=00, PON=0, DK=0, XDK=0, DVDH_TRI=0, STB=0 DELAY_CODE,5, //delay(5) 0x001F,0x0090,// GAS=1, VOMG=00, PON=1, DK=0, XDK=0, DVDH_TRI=0, STB=0 DELAY_CODE,5, //delay(5) 0x001F,0x00D0,// GAS=1, VOMG=10, PON=1, DK=0, XDK=0, DDVDH_TRI=0, STB=0 DELAY_CODE,5, //delay(5) 0x0028,0x0038, //GON=1, DTE=1, D=1000 DELAY_CODE,40, //delay(40) 0x0028,0x003F //GON=1, DTE=1, D=1100 }; //---------- //глобальные переменные //---------- //ориентация экрана //---------- //прототипы функций //---------- void LCD_Init(void);//инициализация LCD-экрана void LCD_CS_One(void);//выставить на CS 1 void LCD_CS_Zero(void);//выставить на CS 0 void LCD_RS_One(void);//выставить на RS 1 void LCD_RS_Zero(void);//выставить на RS 0 void LCD_WR_One(void);//выставить на WR 1 void LCD_WR_Zero(void);//выставить на WR 0 void LCD_RST_One(void);//выставить на RST 1 void LCD_RST_Zero(void);//выставить на RST 0 void LCD_RD_One(void);//выставить на RD 1 void LCD_RD_Zero(void);//выставить на RD 0 void LCD_SetData(unsigned char byte);//задать значение на шине данных void LCD_Write8(unsigned char byte);//передать байт void LCD_Write16(unsigned short value) ;//передать 16 бит void LCD_WriteRegister16(unsigned short reg,unsigned short value) ;//записать в регистр 16 бит void LCD_Reset(void);//выполнить сброс //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //общие функции //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //---------- //инициализация LCD-экрана //---------- void LCD_Init(void) { //настраиваем порты LCD_DDR_CS|=(1<<LCD_CS); LCD_DDR_RS|=(1<<LCD_RS); LCD_DDR_RST|=(1<<LCD_RST); LCD_DDR_RD|=(1<<LCD_RD); LCD_DDR_WR|=(1<<LCD_WR); LCD_DDR_DATA=0x00; //инициализируем дисплей LCD_Reset(); LCD_CS_Zero(); LCD_DDR_DATA=0xFF; long command_amount=sizeof(HX8347D_Init)/sizeof(unsigned short); for(long n=0;n<command_amount;) { unsigned short reg=pgm_read_word(&HX8347D_Init[n]); n++; unsigned short value=pgm_read_word(&HX8347D_Init[n]); n++; if (reg==DELAY_CODE)//пауза { _delay_ms(value); continue; } //значение для регистра LCD_WriteRegister16(reg,value); } long i=0; unsigned short color[]={LCD_BLACK,LCD_RED,LCD_ORANGE,LCD_YELLOW,LCD_GREEN,LCD_CYAN,LCD_BLUE,LCD_MAGENTA,LCD_VIOLET,LCD_WHITE}; while(1) { //выбираем регистр вывода изображения LCD_RS_Zero(); LCD_Write16(0x22); //передаём данные картинки LCD_RS_One(); for(long x=0;x<LCD_WIDTH;x++) { for(long y=0;y<LCD_HEIGHT;y++) { LCD_Write16(color[i]); } } i++; i%=10; } } //---------- //выставить на CS 1 //---------- inline void LCD_CS_One(void) { LCD_PORT_CS|=(1<<LCD_CS); } //---------- //выставить на CS 0 //---------- inline void LCD_CS_Zero(void) { LCD_PORT_CS&=0xFF^(1<<LCD_CS); } //---------- //выставить на RS 1 //---------- inline void LCD_RS_One(void) { LCD_PORT_RS|=(1<<LCD_RS); } //---------- //выставить на RS 0 //---------- inline void LCD_RS_Zero(void) { LCD_PORT_RS&=0xFF^(1<<LCD_RS); } //---------- //выставить на WR 1 //---------- inline void LCD_WR_One(void) { LCD_PORT_WR|=(1<<LCD_WR); } //---------- //выставить на WR 0 //---------- inline void LCD_WR_Zero(void) { LCD_PORT_WR&=0xFF^(1<<LCD_WR); } //---------- //выставить на RST 1 //---------- inline void LCD_RST_One(void) { LCD_PORT_RST|=(1<<LCD_RST); } //---------- //выставить на RST 0 //---------- inline void LCD_RST_Zero(void) { LCD_PORT_RST&=0xFF^(1<<LCD_RST); } //---------- //выставить на RD 1 //---------- inline void LCD_RD_One(void) { LCD_PORT_RD|=(1<<LCD_RD); } //---------- //выставить на RD 0 //---------- inline void LCD_RD_Zero(void) { LCD_PORT_RD&=0xFF^(1<<LCD_RD); } //---------- //задать значение на шине данных //---------- inline void LCD_SetData(unsigned char byte) { LCD_PORT_DATA=byte; } //---------- //выполнить сброс //---------- void LCD_Reset(void) { LCD_CS_One(); LCD_RS_One(); LCD_RD_One(); LCD_WR_One(); LCD_RST_One(); _delay_ms(10); LCD_RST_Zero(); _delay_ms(10); LCD_RST_One(); _delay_ms(250); } //---------- //передать байт //---------- inline void LCD_Write8(unsigned char byte) { LCD_SetData(byte); LCD_WR_Zero(); LCD_WR_One(); } //---------- //передать 16 бит //---------- inline void LCD_Write16(unsigned short value) { LCD_Write8((value>>8)&0xFF); LCD_Write8(value&0xFF); } //---------- //записать в регистр 16 бит //---------- inline void LCD_WriteRegister16(unsigned short reg,unsigned short value) { LCD_RS_Zero(); LCD_Write16(reg); LCD_RS_One(); LCD_Write16(value); }
_________________ И день и ночь в пути... Мои программки: https://github.com/da-nie Мои публикации: https://habr.com/ru/users/da-nie/posts/ Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Вернуться наверх
reiser44
Заголовок сообщения: Re: Копировщик RFID-ключей T5557
Добавлено: Пн дек 11, 2017 18:13:15
Родился
Зарегистрирован: Вс ноя 19, 2017 17:31:22Сообщений: 4
Рейтинг сообщения: 0
Доброго времени! Подскажите, пожалуйста, какие фьюзы для базовой версии (ATmega8A)? Благодарю заранее.
_________________Постулат Хорнера. Опыт растет прямо пропорционально выведенному из строя оборудованию.
Вернуться наверх
da-nie
Заголовок сообщения: Re: Копировщик RFID-ключей T5557
Добавлено: Вт дек 12, 2017 10:49:52
Говорящий с текстолитом
Карма: 33
Рейтинг сообщений: 148
Зарегистрирован: Вс июн 24, 2012 16:07:00Сообщений: 1572Откуда: Лен.Обл.
Рейтинг сообщения: 0
Все программаторы для AVR имеют различные установки фьюзов. У некоторых фьюзы в инверсном виде. Если у вас RSTDISBL установлен, то вы должны сделать так (1 - установлен): WTDON - 1 SPIEN - 0 CKOPT - 1 BOOTSZ1 - 1 BOOTSZ0 - 1 BOOTRST - 1 BODLEVEL - 1 BODEN - 1 SUT1 - 1 SUT0 - 1 CKSEL3 - 1 CKSEL2 - 1 CKSEL1 - 1 CKSEL0 - 1 Остальные не важны. Если же у вас RSTDISBL сброшен, то вы должны сбросить все вышеперечисленные.
_________________ И день и ночь в пути... Мои программки: https://github.com/da-nie Мои публикации: https://habr.com/ru/users/da-nie/posts/ Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Вернуться наверх
Grishanenko
Заголовок сообщения: Re: Копировщик RFID-ключей T5557
Добавлено: Сб дек 16, 2017 08:19:15
Зарегистрирован: Чт окт 27, 2011 15:02:34Сообщений: 355
Рейтинг сообщения: 0
Пролистал всю тему. Вижу что T5557, T5577 и EM4305 отличаются с точки зрения записи. А что по поводу чтения? Поймет ли домофон, у которого родной ключ один из этих трех, другие два ключа?
Просто на Ali, у некоторых продавцов, все смешано в кучу:
https://www.aliexpress.com/item/10pcs-b ... 13715.html А по-местному есть только многоразовые EM4305, а T5557 и T5577 не упоминаются совсем:
http://www.kosmodrom.com.ua/prodlist.ph ... B%E0%E4%F3 ЗЫ Вспомнилась странность. Возможно, она на эту же тему. Родственники живут в соседнем доме. Разные домофоны установлены в разное время. Моим брелком открывается ихний подъезд, а на их брелок мой домофон не реагирует.
Вернуться наверх
da-nie
Заголовок сообщения: Re: Копировщик RFID-ключей T5557
Добавлено: Сб дек 16, 2017 12:12:11
Говорящий с текстолитом
Карма: 33
Рейтинг сообщений: 148
Зарегистрирован: Вс июн 24, 2012 16:07:00Сообщений: 1572Откуда: Лен.Обл.
Рейтинг сообщения: 0
Вернуться наверх
VGA77
Заголовок сообщения: Re: Копировщик RFID-ключей T5557
Добавлено: Сб дек 16, 2017 13:34:53
Карма: 2
Рейтинг сообщений: 2
Зарегистрирован: Вт июл 05, 2016 14:58:52Сообщений: 20
Рейтинг сообщения: 0
Grishanenko писал(а):
ЗЫ Вспомнилась странность. Возможно, она на эту же тему. Родственники живут в соседнем доме. Разные домофоны установлены в разное время. Моим брелком открывается ихний подъезд, а на их брелок мой домофон не реагирует.
Почему не предположить, что код Вашего ключа прописан в их домофоне, а их в Вашем нет?
Вернуться наверх
da-nie
Заголовок сообщения: Re: Копировщик RFID-ключей T5557
Добавлено: Сб дек 16, 2017 15:16:01
Говорящий с текстолитом
Карма: 33
Рейтинг сообщений: 148
Зарегистрирован: Вс июн 24, 2012 16:07:00Сообщений: 1572Откуда: Лен.Обл.
Рейтинг сообщения: 0
Вернуться наверх
Страница 11 из 20
[ Сообщений: 387 ]
... , , , , , , ...
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения