Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2011, 18:00   #1
Nokse
 
Регистрация: 13.02.2011
Сообщений: 5
По умолчанию Генератор шестнадцатиричного кода для LCD

Я изучаю плату MSP-EXP430F5438, в составе которой есть LCD дисплей HD66753e размером 109 пикселей по вертикали и 136 по горизонтали. Для вывода изображениq ему скармливаются масивы чисел вида 0хFFFF. Сами понимаете, что написать код для отображения даже простой буквы нелегко.
Поэтому и пришла в голову идея написать генератор кода с визуальным интерфейсом. Сразу оговорюсь что я совсем немного разбираюсь в делфи, поэтому надеюсь что вы мне поможете)

Итак, приступим.
Каждая строка пикселей формируется из групп по 8 пикселей
Для "поджига" группы из 8 пикселей необходимо передать число 0хFFFF
Если передать число 0хAAAA то эти 8 пикселей будут отображатся но яркость будет уменьшена вдвое. Тоесть за каждый пиксель отвечает 2 бита. Если установлен один бит, то пиксель отображается со слабой яркостью, если установлены оба бита, то с максимальной яркостью.

Задача:
Сделать программу в которой бы было:
1. Поле для ввода названия масива
2. Поле с "сеткой" квадратиков-пикселей. Стартовый фон квадратиков белый.
3. Кнопки увеличения и уменьшения масштаба сетки (бо при таком количестве пикселей при отображении сразу всего поля работать будет неудобно)
4. Кнопка " результат"

Как оно должно работать:
В поле имени массива вводим имя, допустим test
Кликаем по первым 8 пикселям первой строчки левой кнопкой мыши. Они закрашиваются в черный. По следующим 8 пикселям той же строки кликаем правой кнопкой. Они закрашиваются серым. Кликаем по кнопке "Результат" и, либо в новом открывшемся окне, либо в появившемся ниже поле, либо в созданном файле (не знаю что проще будет реализовать) получаем код вида
Код:
const unsigned int test[]={0xFFFF,0xAAAA};
ЗЫ. Я не прошу написать для меня программу, я прошу помочь мне самому ее написать) (имеется в наличии Delphi 7)

Последний раз редактировалось Nokse; 13.02.2011 в 18:58.
Nokse вне форума Ответить с цитированием
Старый 13.02.2011, 20:19   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

Цитата:
Как оно должно работать:
Цитата:
В поле имени массива вводим имя, допустим test
сразу забываем про это имя и заводим один массив
mas [138,109] of byre; //нам нужно всего два бита но так будет удобнее.

заводим три картинки для рисования ОДНОГО пикселя платы (00,01,11)
var LCD00, LCD01,LCD11: TBitmap;
на форме заводим одну большую панель ScrollBox) на ней выстраиваем (138x109) Timage нужного размера(изменение масштаба = изменение размера Timage + изменение координат.) чтобы исключить ручной пресчет координат можно добавить (109) TPanel как строка с выравниванием (align=altop) и в каждую панель включать 138 timage (align:=alleft). В каждый TImage помещаем одну из трех (LCD00,LCD01,LCD11) картинок в соответствии со значениями mas.
Цитата:
Кликаем по первым 8 пикселям первой строчки левой кнопкой мыши.
кликаем по какому-то из наших Timage. узнаем какой элемент mas соответствует данному Timage. Меняем значения нужных элементов mas.
(кликнули по одному, а меняем сразy 8).
меняем картинку соответствующих (измененных).
Цитата:
Они закрашиваются в черный.
повторяем клики до тех пор пока не получим нужный рисунок.
Цитата:
Кликаем по кнопке "Результат" и, либо в новом открывшемся окне, либо в появившемся ниже поле, либо в созданном файле (не знаю что проще будет реализовать) получаем код вида
сохраняем наш массив (mas) в файл выполняя необходимые преобразования.
P.S.при сохранении уже можно и вспомнить (или спросить) про имя
(const test =).
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 13.02.2011 в 20:56.
evg_m вне форума Ответить с цитированием
Старый 13.02.2011, 21:30   #3
Nokse
 
Регистрация: 13.02.2011
Сообщений: 5
По умолчанию

evg_m, спасибо, идею я понял. В принципе можно и так, хоть я представлял себе немного по другому. Но приходится признать что я абсолютный новичек, посему прошу разьяснять в деталях что и как сделать. до мельчайших подробростей. заранее благодарен.
Nokse вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Генератор раскладов для Маджонг 4х6х6 alex_neftekamsk Помощь студентам 0 08.02.2011 22:29
выбор LCD панели a-l-f Компьютерное железо 2 27.11.2010 16:23
генератор для паролей Nick_odessa Microsoft Office Excel 10 18.07.2010 22:49
Генератор частот для турбо паскаля lithium18 Паскаль, Turbo Pascal, PascalABC.NET 2 02.05.2010 16:50
Генератор случайных чисел для массива! Tetramorf Общие вопросы C/C++ 8 11.03.2010 13:51