Автор: admin
В микроконтроллерах PIC16 отсутствует аппаратный блок умножения и деления чисел, но эти арифметические операции можно реализовать программным путем. Операцию умножения можно представить в виде многократного сложения, деление — многократным вычитанием. Например, выражение 8х3=24 равнозначно 8+8+8=24, для деления в качестве примера возьмем следующее выражение 36:10=3,6.
В очередной раз, копаясь в сети, набрел на интересную штуковину, так называемое бесконечное зеркало. Эта конструкция из зеркал и светодиодов создающая эффект бесконечного светового туннеля в пространстве. Смотрелось это красиво, и я решил повторить данную конструкцию. Сам эффект возникает в результате многократного отражения света между двумя зеркалами
Иногда при написании программ требуется выполнить простые арифметические операции с многобайтными числами. С однобайтными числами все просто, сложение и вычитание выполняются стандартными командами addwf, addlw, subwf, sublw, для многобайтных чисел придется писать небольшие подпрограммы. Я буду рассказывать только про целочисленные операции, без дробных частей.
Программирование PIC-контроллеров
Таблица данных применяется для задания большого количества констант (чисел) в памяти программ. Например, требуется получить сигнал заданной формы с помощью ШИМ или резистивного ЦАП (R-2R), для этого необходимо загнать в таблицу заранее рассчитанные коэффициенты, и считывать их через определенные промежутки времени, как это сделано в статье про регулировку яркости светодиода.
Кнопку к микроконтроллеру можно подключить двумя основными способами, с подтяжкой линии порта к высокому логическому уровню или низкому через резистор, как показано на картинке ниже. Я обычно использую первый вариант подключения, можно конечно использовать внутренние подтягивающие резисторы на входах PORTB, но мне еще не доводилось применять такой способ.
Программирование PIC-контроллеров
«Шапка» программы начинается с подключения специального файла с расширением INC, в виде строчки #include , где include – директива подключения дополнительного файла. Эти файлы для каждого типа микроконтроллера хранятся в папке программы MPLAB. В этих файлах адресам регистров специального назначения присвоены их названия, а также названия
Здесь и в следующих статьях я расскажу про семейство микроконтроллеров PIC16, а также примеры программирования на языке ассемблер. Про элементарные понятия писать не буду, так как ориентируюсь на читателя, предварительно ознакомленного с минимумом информации по микроконтроллерам. В общем, микроконтроллер представляет собой небольшой универсальный
Наверное, многие кто делал регулировку яркости свечения светодиодов посредством ШИМ, замечали, что при линейном увеличении коэффициента заполнения, яркость светодиода вначале растет быстро, а затем почти не изменяется, вплоть до максимального значения. А связано это явление с тем что, интенсивность зрительного ощущения имеет нелинейную зависимость
В жестких дисках, как правило, применяются трехфазные бесколлекторные двигатели. Обмотки двигателя соединены звездой, то есть получаем 3 вывода (3 фазы). Некоторые двигатели имеют 4 вывода, в них дополнительно выведена средняя точка соединения всех обмоток. Чтобы раскрутить бесколлекторный двигатель, нужно в правильном порядке и в определенные моменты
Думаю все знают эту игру и каждый из нас играл в нее, вот и я как-то вспомнил о ней, и задумался над электронным вариантом игры. Первоначально я рассчитывал сделать вариант только для двух игроков, но потом добавил вариант игры против “электронного интеллекта” микроконтроллера. Игровое поле размером 3х3 состоит из двухцветных светодиодов, красный цвет свечения для […







