С таймерами и прерываниями мы понемногу разобрались, сопряжение с компьютером тоже освоили, теперь не мешало бы научить наш микроконтроллер как-то обозначать свои действия при отладке и нормальной работе. Можно конечно повесить на порт светодиоды и моргать ими в соответствии с алгоритмом, но это ни всегда удобно, особенно если действий много. Напишешь программу, а потом сидишь и втыкаешь как в песне "и кто его знает чего он моргает..." Так что дисплей, каким бы он ни был всегда дисплей, поэтому завязываем с предисловием и приступаем.
Разновидностей дисплеев очень много, они отличаются друг от друга: фирмой изготовителем, принципом работы, предназначением, количеством строк, символов в строке и т.д. и т.п.. В основном дисплеи делятся на графические и знакосинтезирующие. Есть еще сегментные ЖК индикаторы и цветные ЖК дисплеи, но принцип у них уже немного другой, поэтому о них позже. Нас в первую очередь интересует знакосинтезирующий дисплей. Как уже понятно из названия он знаковый - показывает символы и знаки и предназначен только для этого. Дисплей у нас будет простенький, две строки в каждой по 16 символов, если не делать читалку для книг или КПК то двух строчек всегда хватает за глаза. Есть несколько фирм, изготавливающих такие дисплеи, в принципе, команды у них похожи, если не сказать, одинаковые, поэтому все написанное ниже будет справедливо для многих других дисплеев. Мы с вами будем пробовать индикатор самой известной фирмы WINSTAR WH1602A. WH1602A это знакосинтезирующий 2-х строчный жк-дисплей, с 16-ю символами в каждой строке. |
В связи со сменой поднадоевшего места работы и серьезным загрузом в новой конторе пришлось немного подзабить на сайт. Хотя если честно я даже не подозревал что он кому то станет интересен. Но так или иначе, многие из бывавших здесь заметили что обновления статей не было о-о-о-о-о-о-очень давно. Виноват! Исправляюсь! Теперь у нас будет много плюшек, блекджеков и всяких ш-ш-ш-штучек!
Один из последних моих долгостроев в очередной раз уперся в сочетание цены и быстродействия любимых микрочипов и снова они меня сильно расстроили, поэтому я решил не зацикливаться только на одном виде микроконтроллеров и стал активно изучать продукцию других фирм. Самое первое что мне попалось на глаза это были камни фирмы STMicroelectronics. Ядро ARM Cortex, 32-х битная архитектура, выполнение команды за один такт и еще куча всяких разных плюшек о которых мы поговорим отдельно в каждой статье. STM-овские микроконтроллеры мне так понравились что я расщедрился и решил купить себе на пробу пару плат: STM32L-Discovery и STM32F3-Discovery. Но старые добрые микрочипы мы не забыли и забывать не собираемся, статьи по ним будут появляться и дальше. Кроме это планируется выход статей по AVR-кам, ПЛИСкам и по MSP430. |
До этого все наши программы мы отлаживали в системе моделирования PROTEUS, но моделирование моделированием, а реальное устройство врятли можно заменить виртуальным. И под час в реале собранная схема ведет себя не так как ее модельный аналог. Я часто наблюдал когда собранная схема отлично моргала светодиодами у меня на столе, но ни в какую не хотела заводится в PROTEUS-е. Кроме этого, скажу вам по секрету, PROTEUS-у пофиг какой у вас микроконтроллер и какой к нему подключен кварц, поставите 60МГц будет 60, хоть 80, это при том что серия PIC16 вообще не поддерживает такую частоту и в реале "камень" (микроконтроллер PIC16F877A) просто не заведется, а в PROTEUS-е это очередной глюк. Читать далее...
|
Мигание светодиодами это конечно здорово, но хочется двигаться дальше узнавая что-то новое. Сегодня мы будем подключать наш микроконтроллер к компьютеру и пробовать управлять нашим устройством. Делается это в основном с помощью интерфейса передачи данных RS232. Что это за зверь? RS232 был разработан сравнительно давно и предназначается для связи двух устройств между собой, одно из которых является терминалом, а другое коммуникационным устройством. В роли этих двух устройств могут выступать микроконтроллеры, компьютеры, модули, микросхемы памяти и т.д. и т.п. Но все же чаще всего в роли терминала выступает персональный компьютер. Сейчас на смену RS232 приходят новые стандарты и среди них наибольшей популярностью пользуется USB. Все реже появляются компьютеры имеющие разьемы DE9 (COM) для подключения по этому интерфейсу. Читать далее... |
С сегодняшнего дня на сайте добавлена возможность комментирования статей. Если вам поравилась моя работа можете оставить коментарий в поддержку. Если же нашли какую-нибудь ошибку тогда тем более оставьте комментарий, я вполне допускаю что все статьи, размещенные на этом сайте могут содержать не точности или описки, поэтому с удовольствием их исправлю. Более подробное обсуждение статей и стиля изложения все же лучше перенести на форум, он у нас тоже есть и нормально функционирует. P.S. На выходных попробовал найти свой сайт через поисковик, в Google мы на первой странице! Ура! Спасибо всем кто посетил этот ресурс, надеюсь вам было интересно! |
В прошлой статье мы написали нашу первую программу для микроконтроллера PIC16F877A. Программа была простая и увеличивала значение содержащееся в регистре PORTB, попутно выводя его наружу в двоичном коде, то есть "дергала ножками" микроконтроллера. Происходило это хаотически и было больше похоже именно на дерганье. В этой статье мы продолжим усовершеноствовать нашу программу попутно разбирая такие понятия как таймеры и прерывания. Если вдруг случилось так что у вас не оказалось под рукой такого же микроконтроллера как у меня, вы спокойно можете взять любой из семейства PIC16 однако брать нужно только те у которых в названии есть буква F, это значит что память под программу (прошивку) у него перезаписываемая и его можно перепрограммировать много раз. Буква C в названии говорит что этот контроллер программируется только один раз и больше мы с ним ничего сделать не сможем. Буквы LF означают что это контроллер в пониженным энергопотреблением, меньшей тактовой частотой (быстродействием) и температурным режимом. Поэтому можете брать любой, а я, в свою очередь, постараюсь писать программы, так чтобы они подходили к любому контроллеру без глобального изменения кода. Читать далее...
|
MPLAB мы установили, проект создали и настроили, приступаем к моей любимой части работы - коддингу. Для начала напишем простенькую программу для самого распространенного микроконтроллера фирмы Microchip PIC16F877A. Почему именно PIC16F877A, а не какой нибудь другой? Объясняю. По своему внутреннему устройству этот контроллер сочетает в себе все предыдущие модели, у него "на борту" есть все модули, которые встариваются в другие контроллеры 8-ми битного семейства начиная от PIC10 и заканчивая PIC16. Кроме этого, названия регистров у него такие же как и у других, а главное на него можно найти руссифицированное описание. Читать далее...
|
Все кто, когда-либо, начинал увлекаться микроконтроллерами и радиоэлектроникой сталкивался со страхом спалить только что купленную микросхему. Тем более что не все имеют кучу денег или богатых спонсоров, а сами микроконтроллеры стоят порой сравнимо больше чем пирожки в буфете. Кроме этого вместе с микроконтроллером нужно докупить еще кучу всяких деталек и нужно не забыть про программатор, который является чуть ли не главным камнем преткновения всех начинающих "железных" программистов. На просторах интернета куча сайтов с рекомендациями как самостоятельно сделать программатор (если есть навык в паянии), как его прошить или как программировать микроконтроллер вообще без программатора рискуя при этом спалить LPT или COM порт (если они вообще есть на вашем компьютере). Можно конечно поднапрячься и накупить себе всего-всего включая настоящий фирменный программатор, но что если после нескольких попыток ваше желание программировать пропадет навсегда?! Тут то и приходит на помощь разработка компании Labcenter Electronics - система схемотехнического моделирования PROTEUS VSM. Читать далее... |
В прошлой статье я рассказывал как устанавливать среду разработки MPLAB и компилятор языка Си Hi-tech. Вы все скачали, установили и даже нашли как 45 триальных дней превратить в бесконечность? Если да, то я вас поздравляю. Ну а если нет, то прошу на форум, описываете свою проблему и будем разбираться вместе. Сегодня мы продолжим работь с MPLAB, создадим первый простой проект и попробуем его отладить, попутно разберем все необходимые функции и опции. Читать далее... |
Изучение программирования я начал с контроллеров фирмы Microchip, мне они показались проще в освоении и интереснее. Я не собираюсь сейчас выяснять какие микроконтроллеры лучше, а какие хуже, потому что в этом нет никакого смысла и подобные разговоры заведомо обречены. Разжигание «религиозных войн» вообще дело не благодарное, поэтому каждый должен решать для себя самостоятельно, что ему лучше. От себя скажу, все контроллеры по-своему хороши и я не собираюсь останавливаться на одной единственной фирме, поэтому через некоторое время появятся заметки по программированию микроконтроллеров Atmel и Texas Instruments, а может и еще каких-нибудь. Читать далее... |