Современная электроника №9/2022

ИНЖЕНЕРНЫЕ РЕШЕНИЯ 34 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 9 2022 один раз так, как это делается, напри- мер, при очистке экрана? Тогда появил- ся ещё один вариант. 2-й вариант вывода. Пусть последние (пятые) символы в каждом из 3 рядов отражают размерности измеренных величин, например, «м/g» для давления, «C» для температурыи «капля» для влаж- ности. Тогда, чтобы заполнить самый правый (199-й) столбец, можно выве- сти один верхний пробел шириной в одну строку (один пустой байт, равный ffh), далее вывестипоследние 8 байт (из 296) символа «м/g», затемвывестипослед- ние 8 байт символа «C» и далее выве- сти последние 8 байт символа «капля». В результате выведется ровно 25 строк (25байт) в 199-й столбец, после чего счёт- чик столбцов автоматически декремен- тируется и установится на 198-й, а счёт- чик строк, инкрементируясь идостигнув 24, установитсянанулевуюстроку. После этого опять пропускаем верхнюю стро- ку и выводим, как и ранее, по 8, но уже предпоследних байт каждого симво- ла. Таким же образом выводим и все остальные из 296 байт вышеуказанных символов. Далее аналогичным образом выводим и все остальные символы (уже числа) показаний давления, температу- рыивлажности. Далее даёмодну команду «рефреш», ина этомвесь выводинформа- циив дисплей заканчивается. Кроме того, при таком «безоконном» выводе очищать дисплей (с командой «рефреш») уже не потребуется. Запрограммировав подоб- ныйвывод вМКи запустив его, автор стал наблюдать за дисплеем. Экран замигал, и через 3 секундыина дисплее полностью отразились все показанияиихразмерно- сти. Такойвыводинформациив дисплей автор и взял на вооружение. На первый взгляд кажется, что подобный вывод более сложенипотребует больших уси- лий с точки зрения программирования. Однако практика показала, что ничего сверхсложного в этом нет. В дополни- тельных материалах к статье приведён текст фрагмента программы с подоб- ным выводом. Просмотрев этот фраг- мент, можно убедиться, что всё доволь- но просто. Теперь по поводу получения кодов символов. Для этого автор использовал программу GLCD Font Creator v. 1.2.0.0 (от компании MikroElektronika – www.mikroe.com) . В ней можно выбрать практически любой шрифт, его пара- метры (например, размер, свойства – жирный, обычный, наклонный и т.п.). Программа сформирует все симво- лы данного шрифта и выведет их на экран монитора компьютера. Далее необходимо убрать все пустые стро- ки и столбцы сверху, снизу и справа, чтобы каждый символ вписался в окно определённого размера (в нашем слу- чае это 64 × 37 пикселов). Это делается специальными опциями с пиктограм- мами, на которые необходимо навести курсор мыши и кликнуть. Для того что- бы цифры и символы выводились на дисплей справа налево и сверху вниз, каждый символ необходимо перевер- нуть вверх ногами (отразить по верти- кали) и отразить по горизонтали. Это можно сделать всего двумя кликами мыши по соответствующим пиктограм- мам в меню программы (синий и крас- ный овалы на рис. 4а). В этом случае, например, двойка будет выглядеть как на рис. 4а, а символ м/g – как на рис. 4б. После этого, нажав пиктограмму “Export for GLCD” и в открывшемся окне – опцию “microC”, получим файл на C (его также следует назвать), в кото- ром будут содержаться все 296 байт для каждого символа. Их остаётся только привести в приемлемый для програм- мы вид и сформировать из них двумер- ный массив, например, MD[19][296], где первое измерение [19] отражает коли- чество символов, а второе [296] – коли- чество байт для каждого символа. Для цифр был выбран шрифт Clar- endon Condenced размера 65, жирный. Для него был сформирован файл на C с названием: //GLCD FontName : Clar- e n d o n _ C o n d e n s e d 3 7 x 6 4 //GLCD FontSize : 37 x 64 который автор и использовал для ото- бражения цифр. Шрифт Clarendon был выбранпо сле- дующим соображениям. Он не такой строгий, как, например, Arial или Couri- er New, но и не слишком вычурный. По сравнениюс Times NewRomanжирным Clarendon значительно «жирней», т.е. чёрные пиксели каждого символа зани- мают бо ′ льшуюплощадь окна 64 × 37 пик- селов, и, естественно, символ легче чита- ется. Кроме того, на взгляд автора, шрифт Clarendon достаточно симпатичный. Символы, которых нет в этомшриф- те, были буквально нарисованы в про- грамме GLCD Font Creator. Это следу- ющие символы: «м/H» (оба символа нарисованы), «м/g» («м» нарисована, «g» взята готовая из шрифта меньшего размера) – таким образом, 2 символа «м/H» и «м/g» превращаются в надпись «мм/Hg»; «°» нарисован, «C» был немного сужен, «%» (нарисован – оригинальный «%» сужен), символ капли с делениями (нарисован), символы «+» и «–» нарисо- ваны. Символ пробела взят готовый (там все нули). Таким образом, общее коли- чество символов вместе с цифрами (их 10 – от «0» до «9») составляет 19, поэто- му, как указано выше, двумерный массив получился размерностью MD[19][296]. Рисование в программе очень простое: наведя курсор мыши на белый пиксель и нажав левуюкнопку, можно получить чёрный пиксель, а наведя на чёрный и нажав правую кнопку – белый. И последнее, что следует добавить по поводу программных средств, – это изменения в инициализации устройств, поскольку МК EFM8SB20 отличается от МК EFM8SB10 [1]. Рис. 4. Примеры отображения символов в программе GLCD Font Creator а б

RkJQdWJsaXNoZXIy MTQ4NjUy