PIC мк. Эксперимент №5. Использование прерываний.

Бывает так, что нужно прервать выполнение программы на некоторое время (например по переполнению таймера, по нажатию кнопки и т.д.). Ниже приведена картинка, позволяющая очень хорошо ориентироваться в прерываниях:

Продолжение дальше.

Читать далее

PIC мк. Эксперимент №4. Подключение семисегментного индикатора.

Задача: Отобразить цифры от 0 до 9 на семисегментном индикаторе

Исходный материал: PIC16f628a, семисегментный индикатор с общим катодом, breadboard

В этом эксперименте я пойду немного не стандартным путем и не буду использовать 8 ног мк чтобы подключить один лишь индикатор, жалко ног столько зря терять. Поэтому добавим к схеме еще сдвиговый регистр, например 74нс164, очень полезная штука. Теперь вместо восьми ног нам понадобится всего 4:

  1. На тактирование.
  2. На сброс.
  3. На данные.
  4. На питающий транзистор.

Экономия – налицо! Работу сдвигового регистра я описывать не буду, всегда можно заглянуть в даташит – там все предельно понятно расписано. Для начала соберем тестовую схему, а потом напишем код, который будет отображать наши цифры с периодом 1 с (этакий простой секундомерчик до 10 секунд).

Читать далее

PIC мк. Эксперимент №3. Использование таймера TMR0.

Задача: получить импульсы с частотой 5Гц.

Исходный материал: PIC16f628a и простенькая devboard.

Таймер TMR0 применяется во многих программах и имеет следующие полезные опции:

  • 8 битный таймер/счетчик
  • Программируемый выбор внешнее/внутреннее тактирование
  • По переполнению генерирует прерывание

Читать далее

PIC мк. Эксперимент №2. Подключение кнопки.

Задача:  По нажатию кнопки переключать светодиод.

Исходный материал: PIC16f628a и простенькая devboard.

button

Читать далее

PIC мк. Эксперимент №1. Мигаем светодиодом.

Примечание: программы откомпилированы с помощью Hi-tech C compiler.

Задача:  Заставить светодиод мигать с заданной частотой.

Исходный материал: PIC16f628a и простенькая devboard.

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