syph3r | MCU Space

Архив

Архив автора

Timer1

4 апреля 2014

Timer1В прошлой статье я  рассказал про Timer0, настало время Timer1 — которым мы будем считать импульсы пришедшие на вход. Данный урок поможет совместно с Timer0 легко написать программу для частотомера или цифровой шкалы для приемника.

timer1_prot

 Пример работы с данным таймером:

Читать далее…

Отсчет времени , , ,

Кнопка и светодиод

4 апреля 2014

buttonЗабыл написать о самых начальных знаниях — кнопка и светодиод. Все довольно просто для начинающих программистов. Преднамеренно усложнил немного код — что бы в данном примере почерпнули немного больше. А именно — анти дребезг.

button_prot

  Читать далее…

Управление , , ,

Внутренняя EEPROM

4 апреля 2014

eeprom24Во многих проектах требуется хранить либо настройки, либо данные, и иметь к ним доступ даже после сброса питания. Часто для этих целей достаточно внутренней памяти микроконтроллера. Работа с внутренней памятью достаточно простая. Для наглядности буду использовать библиотеку вывода на дисплей. Данный код проверен множеством раз во многих изделиях.

in_eeprom

 Приступим:

Читать далее…

Память , , ,

PICKit 3 Scripting Tool

31 марта 2014

MicrochipSTPICKit 3 Scripting Tool

Версия 3.10

scr_tool

Программы

Переделка отладки Microstick II в программатор PICKit 3

31 марта 2014

Microchip-PICkit3---PG164130Наводя порядок в рабочем столе наткнулся на подаренную когда-то компанией Гамма плюшку — отладочную плату Microstick II.
Покрутив в руках — стало ясно на борту данной платы присутствует урезанная часть программатора PICKit 3, которой достаточно для программирования 16 и 32 битных микроконтроллеров в среде разработки MPLAB. Но а как же 8 битные? 8 битным требуется либо подпайка вывода PGM для LVP(низковольтное программирование) — данный вариант не проверял, либо подача +12 вольт в цепь сброса программируемого микроконтроллера — поэтому будет рассмотрен вариант HVP(высоковольтное программирование), а так же потребовалась работа из PICKit 3 Scripting Tool .

DM33013-2

 Первым делом решил залить прошивку от программатора PICKit 3 в режиме Scripting Tool  — приступим:

Читать далее…

Отладочные платы , ,

PWM(ШИМ)

11 марта 2014

SHIMШИМ — одно из замечательных изобретений человека, наверняка каждый в быту видел плавное управление яркостью лампы накаливания, оборотами электродвигателя и т.п. В настоящее время ШИМ присутствует практически в каждой умной вещи, примером даже может стать зарядное устройство для телефона — в котором ШИМ чаще всего работает на частоте 30-150 кГц. На ранних порах изучения МК я всячески избегал аппаратного ШИМ в МК, и извращался при помощи прерываний и таймеров, но потом всё таки уловил его «сладкий вкус». Самой сложной задачей — является конфигурирование ШИМ, а именно расчет и установка периода.  В данном примере буду использовать контроллер PIC18F2520, у которого CCP1 и CCP2  работают в связке с Timer2.

pwm_prot

 

Пришло время расставить все точки над «И», начнем:  Читать далее…

Управление , , , , ,

KS0108

ks0108_iconОтличный дисплей в плане управления. Но из минусов — отсутствие 4 битной шины, только 8 бит, и в основном в продаже с синей подсветкой и белыми пикселями. Думаю сама стекляшка у ST7920 и KS0108 одинаковая, и поменять местами вероятно возможно.

ks0108

Нашел модель для Proteus‘a — но она кривая — в железе всё отрабатывается отлично.  Накидал библиотеку умеет следующее:

Читать далее…

Индикация , , ,

ST7920

20 февраля 2014

st79Покупал данный индикатор не зная что он окажется очень неудобным в управлении. Складывается ощущение что ST7920 разрабатывался для вывода текста или китайских иероглифов — к этому располагает его стандартный текстовый режим и организация графической памяти блоками 8х8 бит в расширенном режиме. А прямой вывод пикселя отсутствует — т.е. нужно сначала считать 2 байта на нужно позиции блока, изменить в нужном байте цвет пикселя и вернуть обратно 2 байта — это из теории, пока до этого руки не дошли.

У данного дисплея своеобразная адресация графической памяти
Верхняя половина экрана:
y=0 ..31
x=0.. 7
Нижняя половина экрана:
y=0 .. 31
x=8 ..15

st7920

st79_prot

Было принято решение запустить его на 4 битной параллельной шине, ибо забирать больше одного порта под управление дисплеем не хотелось. Он имеет и последовательный интерфейс, но при этом страдает и быстродействие, поэтому решил остановиться на первом варианте.
Читать далее…

Индикация , , ,

u-blox NEO-6M GPS

10 февраля 2014

gps_iconСегодня настало время достать из загашника плату GY-GPS6MV2 с модулем u-blox NEO-6M на борту. Покупал у китайского товарища на Ebay. Прелесть данной платы заключается в наличии  на ней памяти EEPROM — для сохранения настроек, батарейки — для быстрого старта за счет RTC и LDO — для подключения к 5 В.

Ublox_NEO_6M

 

Китайцы на плате вывели только 1 интерфейс — UART, но сам модуль имеет так же USB, SPI, DDC(совместимый с I2C).  «Плюется» по UART протоколом NMEA. Скорость подключения по умолчанию по UART составляет 9600 бод. Читать далее…

Навигация , , ,

Мой ламповый усилитель

9 февраля 2014

musicПохвастаюсь и я своим ламповым усилителем. Мой выбор пал на 6Н2П-ЕВ в первом каскаде, 6Н8С в инверторе и Push-Pull 6П6С в выходном каскаде. Для второго канала аналогично. И того 7 ламп. Так как выходные трансформаторы брал с запасом в железе от ИБПшников мощностью 300W с последующей перемоткой всех обмоток — вместо 6П6С легко устанавливаем 6П3С, если требуется еще более мощный выход. Для своего усилителя я выбрал класс А, что соответствует для ламп 6П6С порядка 80-82 мА в аноде. Решил отказаться от пентодного включения трансформатора в пользу триодного. Звук с тон коррекцией особо не понравился — решил и от нее отказаться.

lamp_amp

Читать далее…

Блог