Семисегментный индикатор Амперметр Вольтметр PIC16F676
Одновременное отображение и напряжения и тока, частота обновления показаний ~ 9Гц. Предусмотрено применение индикаторов как с ОА, так и ОК. Кроме того, возможно применение как одного индикатора, так и двух. Причем, если применяются четырех разрядные, то крайний правый разряд отображает стилизованные единицы измерения «V» или «A».
Если установлены кнопки, то нажатие кн «В» на левом индикаторе отобразит текущий режим этого индикатора, «-U-» или «-I-«. Дальнейшее удержание сменит режим. Для исполнения с одним 3х разрядным индикатором, эта функция поможет вспомнить в каком режиме находится устройство, а для 2х индикаторного исполнения,- поменяет местами отображаемые значения напряжения и тока. В любом случае, для напряжения применена функция гашения незначащих нулей, т.е., если напряжение не превышает значения 9,9В, то на индикаторе мы не увидим первого нуля («_Х.Х»).
Кн «Н» позволяет войти в меню коррекции смещения тока. Это бывает необходимо в случае, если для улучшения линейности показаний тока, было применено смещение ОУ в линейный участок.
Т.е. коррекцией можно удалить «лишние» показания. После кратковременного нажатие кнопки на левом индикаторе (если их два), появится сообщение «ShI» (смещение тока) и индикатор начнет мигать. Пока он мигает, кнопками можно откорректировать смещение. Через несколько секунд индикатор прекратит мигать и данные запишутся в энергонезависимую память. Заодно, в памяти сохранится режим отображения индикатора, который и будет появляться при следующем включении.Источник: ur5kby.at.ua
Архив для статьи «ВольтАмперметр на PIC16F676 и семисегментных индикаторах» | |
Описание: Различные версии прошивок микроконтроллера, различные варианты печатных плат SprintLayout5 | |
Размер файла: 167.45 KB Количество загрузок: 11 636 | Скачать |
Понравилась статья? Поделиться с друзьями:
Пример программы для PIC16F676 (для работы с одним устройством на линии).
Запись в память [4Eh]
Эта команда позволяет устройству управления записывать 3 байта данных в память DS18B20.
Первый байт данных записывается в регистр (TH), второй байт записывается в регистр (TL), и третий байт записывается в регистр конфигурации.
Данные должны быть переданы наименьшим значащим битом вперед.
Для датчиков температуры с паразитным питанием все три байта ДОЛЖНЫ быть записаны командой КОПИРОВАНИЕ ОЗУ В ПЗУ [48h] прежде, чем устройством управления будет сгенерирован импульс сброса, иначе данные будут потеряны.
Чтение памяти [BEh]
Эта команда позволяет Устройство управленияу читать содержание ПАМЯТИ. Передача данных начинается с наименьшего значащего бита байта 0 и продолжается до 9-ого байта (байт 8 — циклический контроль избыточности). Устройство управления может выполнить сброс, чтобы закончить чтение в любое время, если необходимо только часть данных.
Копирование ОЗУ В ПЗУ [48h]
Эта команда копирует содержание регистров (TH, TL) и регистра конфигурации (байты 2, 3 и 4) в ПЗУ. Если устройство используется в режиме паразитного питания, то в пределах не позднее 10 μs
(максимально) после подачи этой команды устройство управление должно установить высокий уровень на шине и поддерживать его в течении не менее 10ms.
Краткий обзор Команды
Устройства iButtons могут работать как автономно на шине, так и поддерживают следующие Сетевые Команды на основе ROM:
• Чтение ROM [33h] (Read)
• Пропуск ROM [CCh] (Skip)
• Соответствие ROM [55h] (Match)
• Поиск ROM [F0h] (Search)
После выполнения любой команды ROM, устройства достигает уровня Транспорта (способно передавать свои данные памяти).
Чтение ROM [33h] (Read) используется, чтобы прочитать ROM память устройства, если на шине оно только одно. После посылки этой команды Главное устройство должен генерировать 64 слота времени считывания. iButton пошлет содержимое его ROM памяти младшим битом вперед, начиная с кода семейства, сопровождаемого серийным номером и байтом циклического контроля избыточности.
Если на шине несколько iButtons устройств, то для чтения ROM памяти необходимо воспользоваться командой Поиск ROM [F0h] (Search), чтобы определить содержание ROM памяти устройств прежде, чем к ним можно будет обратиться.
Если содержание ROM памяти не представляет интерес, потому что на шине только одно iButton, поиск может быть пропущен, посылая команду Пропуск ROM [CCh] (Skip). Немедленно после этой команды, устройство достигает Транспортного уровня.
Команды Соответствие ROM [55h] (Match) может использоваться, чтобы обратиться к интересующему устройству, если на шине присутствует несколько iButtons устройств.
Код ROM выполняет функцию адреса устройства, чтобы активизировать его Транспортный уровень. Тот же самый Код ROM не может активировать более 1 устройства, так как соответствие кодов ROM только одному устройству определено при их производстве. Если два iButtons имеют то же самое серийный номер, их семейные коды будут отличны. Этим способом, исключается любой беспорядок или неопределенность.
После подачи команды Соответствие ROM [55h] (Match), Главное устройством будет послано в течение следующих 64 слотов времени содержание ROM памяти требуемого устройства. Последовательность битов
должна быть тем же самым, как они были получены при чтении ROM, то есть, младшим битом вперед, начинаясь с семейного кода, сопровождаемого серийным номером и циклическим контролем избыточности. Все iButtons, ROM которого не соответствует требуемому коду, останутся в неактивном состоянии пока они получат другой Импульс Сброса.
Команда Поиск ROM [F0h] (Search)
Если Главное устройство не знает серийный номер устройства подключенного к шине, то существует возможность идентифицировать коды ROM каждого устройства подключенного к шине. Для этого необходимо использовать команду Поиск ROM [F0h] (Search). Эта команда действует как команда Чтения ROM объединенная с командой Соответствия ROM.
Процесс выглядит следующим образом: После формирования главным устройством команды Поиск ROM [F0h] (Search) все устройства iButtons последовательно будут формировать на шине состояние «0» и «1» соответствующие их значению фактического бита ROM в течение двух Времен (тактов) считывания после формирования команды ROM Поиска.
Если все устройства содержат в этой позиции двоичного разряда:
• «0», чтение будет «01»;
• «1», результат будет «10»;
Если устройства содержат в этой позиции двоичного разряда и «1» и «0», чтение приведет «00» битов, указывая на конфликт.
Главное устройство в следующем (третьем такте) слоте Времени формирует разрядное значение 1 или 0, чтобы отобрать устройства, которые останутся в процессе выбора.
Все устройства у которых бит не соответствует биту сформированному главным устройством перейдут в состояние ожидания и будут находиться в нем пока они не получают Импульс Сброса. После первой стадия выбора, будут следовать 63 читающих/выбора цикла, пока, наконец, главное устройство не определит Код ROM одного подчиненного устройства и обратиться к нему.
Каждая стадия выбора состоит из двух слотов Времени считывания и один слот Времени записи. Полный процесс изучения и одновременная адресация — приблизительно три раза длина команды ROM Соответствия, но это позволяет выбрать из всех связанных устройств последовательно все коды ROM.
В приложении, где iButtons устройства подключены к одной шине, это является самым эффективным способом, чтобы определить коды все ROM подчиненных устройств. После чего главное устройство может использовать команду ROM Соответствия, чтобы обратиться к определенному устройству.
Если приложение требует постоянной идентификации и коммуникации с новыми устройствами, так как они могут подключаться и отключатся в ходе работы, то устройство управления должно будет использовать команду Поиск ROM, чтобы идентифицировать коды ROM для обращения к каждому новому устройству.
Так как логика команды ROM Поиска самый сложный процесс, следующий пример используется, чтобы иллюстрировать это шаг за шагом.
Четыре устройства установлены на шине. Их двоичное содержание ROM следующее:
устройство 1: xxxxxx10101100
устройство 2: xxxxxx01010101
устройство 3: xxxxxx10101111
устройство 4: xxxxxx10001000
для упрощения символом «x» заменены старшие биты и показаны только младшие восемь битов содержания ROM.
Поиск младшего бита происходить следующим образом:
1. Главное устройство начинает последовательность инициализации
• формирует Импульс Сброса.
• iButtons отвечают формированием импульсов Присутствия.
2. Тогда Главное устройство формирует команду Поиск ROM.
3. Главное устройство читает один бит с шины. Каждое устройство ответит, помещая значение первого бита соответствующего его данным ROM. Устройства 1 и 4 поместят «0» на шину, то есть, они установят на шине низкий уровень. Устройства 2 и 3 сформируют «1» позволяя на линии оставаться в высоком уровне. Результат – «логическое И» всех устройств на линии; поэтому Главное устройство читает 0.
Главное устройство будет читать следующий бит. (С тех пор когда команда Search ROM выполняется, все устройства отвечают одновременно). Все устройства помещают на шину дополнение первого бита их соответствующего. Устройства 1 и 4 сформируют «1»; устройства 2 и 3 сформируют «0». Таким образом, на шине будет состояние логического «0». Главное устройство снова читает «0» при формировании дополнительного кода первого информационного разряда ROM (чтение дает «00» — состояние разрядных
конфликтов). Это говорит Главному устройству, что есть устройства на шине содержащие в первом бите как «0», так и «1».
Если бы все устройства имели «0» в этой позиции двоичного разряда, чтение дало бы результат «01»; если бы позиция двоичного разряда содержала во всех устройства «1» результат был бы «10».
4. Главное устройство теперь решает писать «0» и формирует запись его на шину. Эта операция переводит Устройства 2 и 3 (содержащие в этом разряде «1») в пассивное состояние, оставляя только устройства 1 и 4 для участия в процессе поиска.
5. Главное устройство выполняет еще два чтения и получает «01». Это говорит, что все активные устройства имеют 0 в этой позиции двоичного разряда их ROM.
6. Главное устройство тогда пишет 0, чтобы сохранить устройства 1 и 4 активными.
7. Главное устройство выполняет два чтения и получает два «00» биты. Это снова указывает, что в этом разряде присутствуют устройства имеющие «1» и «0».
8. Главное устройство снова пишет 0. Это деактивирует устройство 1, оставляя устройство 4 как единственный активный элемент.
9. Следующие чтения до конца ROM не будет давать состояние разрядных конфликтов. Отсутствие разрядных конфликтов до конца цикла поиска говорит, что происходит чтение ROM только одного активного элемента. Прочитав следующий бит Главное устройство снова посылает этот бит, чтобы сохранить устройство активным. Как только все биты ROM устройства будут известны и последний бит снова послан Главным устройством, устройство готово к принятию команды Транспортного уровня (для обмена информацией).
10. Главное устройство должно изучить данные ROM других устройств.
Поэтому оно запускает следующую последовательность Поиска ROM, повторяя шаги 1 — 7.
11. В самой старшей позиции двоичного разряда, где Главное устройство писало «0» в первом проходе (шаг 8), оно теперь пишет «1». Это снимает выделение устройства 4, оставляя устройство 1 активным.
12. Как в шаге 9, следующие чтения до конца ROM не будет давать состояние разрядным конфликтам. Этим заканчивается второй Поиск ROM, где Главное устройство считывает содержание ROM другого устройства.
13. Главное устройство должен изучить данные ROM других устройств.
Поэтому, оно запускает следующую последовательность Поиска ROM, повторяя шаги 1 — 3.
14. Во втором проходе в наивысшей степени позиция двоичного разряда, где Главное устройство написал 0 в первом проходе (шаг 4), это теперь пишет 1. Это снимает выделение устройств 1 и 4, оставляя устройства 2 и 3 активными.
15. Главное устройство посылает два слота времени считывания и получает
два 0 битов, указывая маленький конфликт.
16. Главное устройство снова решает писать 0. Это снимает выделение устройство 3, оставляя устройство 2 как единственное активное устройство.
17. Как в шаге 9, следующие чтения до конца ROM не будет показывать разрядным конфликтам. Этим заканчивается третий Поиск ROM проходит, где Главное устройство имеет изученный содержание другого ROM.
18. Главное устройство должен изучить данные ROM других устройств.
Поэтому это запускает другую последовательность Поиска ROM, повторяя шаги 13 — 15.
19. В самой высокой позиции двоичного разряда, где Главное устройство написал 0 в предыдущем проходе (ступают 16), это теперь пишет 1. Это снимает выделение устройства 2, оставляя устройство 3 активным.
20. Как в шаге 17, следующие чтения до конца ROM не будет показывать разрядным конфликтам. Это заканчивает четвертый Поиск ROM проходит, где Главное устройство имеет изученный содержание другого ROM.
Общий принцип этого процесса поиска должен снять выделение одно устройство за другим в каждой противоречивой позиции двоичного разряда. В конце каждого процесса Поиска ROM, Главное устройство узнал содержание другого ROM. Следующий проход является тем же самым как предыдущий проход до пункта последнее решение. В этом пункте Главное устройство входит в противоположность руководство и продолжается. Если другой конфликт найден, снова 0 написан, и так далее. После обоих путей в самом высоком противоречивая позиция двоичного разряда сопровождается до конца, Главное устройство идет тот же самый путь как прежде, но решающий противоположно в более низкой противоречивой позиции двоичного разряда, и так далее, до всех Данные ROM идентифицированы.
Оптимизированная блок-схема алгоритма ROM Поиска показана на рисунке 3.5.1. Это число объясняет, как выполнить общий поиск ROM. Ради этого блок-схема, данные ROM накоплены в маленький массив, названный Бит ROM, с битами нумеровал 1 — 64. Установка должна назовите перед любой другой функцией, чтобы инициализировать Система с 1 проводом.
Звонок «в Первые» сбросы поиск к начало и идентифицирует первый код ROM, и призывает «Затем» идентифицируйте последовательные коды ROM. Ложное значение возвращенное указывает не больше кодов ROM, которые будут найдены. Время, требуемое изучать содержание одного ROM (нет считая процессорное время Главное устройство) — 960 ms + (8+3*64) *61 ms =13.16 ms. Таким образом возможно идентифицировать до 75 различный iButtons в секунду.
Рисунок 3.5.1. Алгоритм работы
PIC16F676 — малогабаритный микроконтроллер pic , который является одним из лучших вариантов для встраиваемых приложений. Большинству промышленных и бытовых приборов требуется небольшое количество контактов и небольшой объем памяти, что может быть выполнено с помощью PIC16F676. Он надежен для студенческих проектов из-за его высокой производительности, которая улучшена благодаря технологии на основе флэш-памяти. PIC16F676 может быть меньше по размеру, но имеет внутренние 10-битный аналого-цифровой преобразователь в 14-контактном корпусе. Микроконтроллер PIC также поставляется в нескольких корпусах, каждый из которых состоит из 14 контактов. Внутренняя флэш-память микроконтроллера составляет 2 КБ, что отлично подходит для небольших проектов и особенно для разработки небольшой программы.
Схема распиновки PIC16F676Схема распиновки приведена здесь. Этот микроконтроллер имеет два порта GPIO PORTA и PORTC. Оба этих контакта GPIO имеют несколько функций. Мы подробно рассмотрим каждый вывод GPIO позже в этом разделе.
Здесь перечислены функции и подробная информация обо всех контактах GPIO.
Контакты питанияPIC16F676 имеет только два входа питания . Один используется для подачи питания, а второй используется для создания общего заземления.
CRYSTAL/CLOCK Контакты
Для использования внешних часов или 9Генератор 0003 с PIC16F676 имеет два вывода, один для входа и второй для вывода.
В этой PIC есть два портов ввода/вывода общего назначения A и C, которые действуют как выходные. Оба порта выдают выходные данные в форме TTL. Выход на этих выводах не будет больше V DD. Эти простые цифровые выходы можно использовать только через программу, но нам нужно будет указать порт для доступа к выводу этого порта. Цифровые выходные контакты в PIC16F676:
В PIC16F676 каждый контакт обоих портов A и C может использоваться как входной контакт. Эти контакты основаны на TTL и нуждаются в программировании. Эти контакты имеют программируемые входные подтягивающие резисторы. Напряжение на этих выводах не должно быть выше В ДД . Все входные контакты:
Пины прерывания работают как входные контакты, их основная цель — привлечь внимание контроллера, игнорируя все другие функции. В программе должно быть описано, что должен делать контроллер в случае прерывания. В PIC16F676 есть только один контакт прерывания, подключенный к программному счетчику, и для его активации требуется схемный триггер (ST).
PIC16F676 также имеет компаратор , используемый для сравнения аналоговых входов. Одиночный компаратор использует три вывода, два для входа и один для вывода. Оба входа TTL и ST могут использоваться на этих контактах, но выход всегда будет зависеть от входа. Контакты компаратора в PIC16F676:
В PIC16F676 есть два внутренних таймера , и один из таймеров имеет вентиль таймера, который в основном используется для управления состоянием питания таймера 1. Выводы таймера PIC16F676:
В этом микроконтроллере также есть вывод последовательной связи, но последовательная связь этих выводов будет синхронной и в основном будет использоваться для программирования. Будут использоваться три вывода: один для передачи данных, второй для тактового импульса и третий для напряжения. Пины:
PIC 16F676 позволяет внутренним каналам АЦП преобразовывать аналоговый сигнал в цифровой. Для преобразования аналогового сигнала в PIC16F676 имеется всего 8 каналов, которые можно использовать для преобразования в цифровые значения, для хранения преобразованного значения используется 10-битный регистр. Контакт опорного напряжения используется для выбора максимального напряжения между V DD и V ref . Вот все аналоговые и эталонные пины:
PIC поставляется только с одним внешним контактом сброса, которым можно управлять в цифровом виде или с помощью внешней кнопки. Контакт сброса является активным низким контактом и работает по базовой логике ST.
Если вы хотите начать с программирования микроконтроллеров pic на языке c или ассемблере, вы можете ознакомиться с этим полным руководством:
Внутренняя блок-схема PIC16F676 показана ниже
ХАРАКТЕРИСТИКИЭти функции перечислены в соответствии со спецификацией .
Альтернативные варианты микроконтроллеров pic: PIC16F877A, PIC16F84A, PIC18F46K22
Как упоминалось ранее, как и другие микроконтроллеры pic, он предлагает встроенный АЦП, таймеры и функции последовательного программирования. Мы объясняем регистры этих периферийных устройств в этом разделе.
РЕГИСТР ТАЙМЕРАPIC16F676 имеет два внутренних регистра таймера , значениями которых можно управлять или проверять их в соответствии с требованиями. В этом контроллере timer0 является 8-битным и имеет другой регистр по сравнению с timer1:
time1 является 16-битным таймером и имеет различные функции, а также имеет управляющий контакт, известный как вентиль. :
АНАЛОГО-ЦИФРОВОЙ ПРЕОБРАЗОВАТЕЛЬПри аналого-цифровом преобразовании данные и преобразование будут контролироваться тремя регистрами.
Эти три регистра будут преобразовывать аналоговые данные в цифровые с другим статусом.
ACON0 будет использоваться для выбора данных, канала и задания аналогового регистра.
ANCON1 будет использоваться для выбора тактового бита преобразования аналогового сигнала в цифровой. Третий бит — это бит выбора, который используется, потому что аналоговые выводы — это не только аналоговые выводы, они также могут использоваться для других функций. Этот регистр поможет контроллеру использовать эти контакты в качестве аналоговых или цифровых контактов.
АРХИТЕКТУРА НАБОРА ИНСТРУКЦИЙ PIC16F676В PIC16F676 используется 14-битный набор инструкций. Набор инструкций разбит на три части.
В байт-ориентированной системе набор 14-битных инструкций разделен на три части.
В бит-ориентированной системе набор инструкций также будет разделен на три части, но имеет разное количество битов для разных операций:
В буквальном и контрольном режиме данные будут разделены на две части.
Существует некоторое представление для адресата, литерала и файлового бита. Вот таблица для представления каждого доступного значения:
Существует также некоторое представление для OPCODE:
PIC может быть легко запрограммирован с помощью данной инструкции и других инструкций из таблицы данных . Эта версия PIC также может быть запрограммирована различными способами. PIC16F676 надежен только тогда, когда он должен выполнять некоторые функции управления. Он не сможет выполнять интеллектуальные операции из-за своей ограниченной конструкции, но это лучший вариант для использования в качестве микроконтроллера.
Привет, друзья! Надеюсь у тебя все хорошо. Сегодня я подробно расскажу о Introduction to PIC16F676. Это 8-битный микроконтроллер CMOS PIC, основанный на Flash и разработанный Microchip. Он поставляется с 14-контактным интерфейсом и высокопроизводительным RISC-процессором, что делает его идеальным выбором для большинства электронных приложений, широко связанных со встроенными системами или промышленной автоматизацией. Этот крошечный чип включает в себя все необходимое для разработки индивидуальных студенческих проектов. Объем памяти и количество контактов немного меньше по сравнению с другими контроллерами в сообществе PIC, однако технология на основе флэш-памяти делает это устройство совместимым с внешними устройствами. В этом посте мы обсудим все, что связано с PIC16F676, его распиновку и описание, основные функции, блок-схему, расположение памяти и приложения. Давайте погрузимся прямо в и изучить все, что вам нужно знать.
У вас есть краткий обзор этого контроллера. В этом разделе мы рассмотрим как распиновку, так и описание каждого контакта. Давайте начнем.
На следующем рисунке показана распиновка PIC16F676.
Описание контактов поможет вам понять основную функцию, связанную с каждым контактом. В следующей таблице показано полное описание каждого контакта.
Контакт № | Имя контакта | Контакт Описание |
---|---|---|
13 | РА0 АН0 CIN+ ICSPDAT | Контакт цифрового ввода/вывода Аналоговый канал 0 Вход компаратора Данные для программирования |
12 | РА1 АН1 ЦИН- VREF ICSPCLK | Контакт цифрового ввода/вывода Аналоговый канал 1 Вход компаратора Опорное напряжение Программирование часов |
11 | РА2 АН2 COUT T0CKI ИНТ | Контакт цифрового ввода/вывода Аналоговый канал 2 Выход компаратора Тактовый вход для Timer0 Прерывание |
4 | РА3 MCLR ВПП | Контакт цифрового ввода/вывода Мастер Очистить Сброс Программирование входа напряжения |
3 | РА4 T1G АН3 OSC2 CLKOUT | Цифровой ввод/вывод Таймер ворот 1 Аналоговый канал 3 Выход кварцевого генератора. В режиме RC этот вывод имеет 1/4 частоты OSC1. |
2 | РА5 T1CKI OSC1 КЛКИН | Контакт цифрового ввода/вывода Часы Таймер1 Вход кварцевого генератора Вход внешнего тактового сигнала |
10 | RC0 АН4 | Контакт цифрового ввода/вывода Аналоговый канал 4 |
9 | RC1 АН5 | Контакт цифрового ввода/вывода Аналоговый канал 5 |
8 | РК2 АН6 | Контакт цифрового ввода/вывода Аналоговый канал 6 |
7 | РК3 АН7 | Контакт цифрового ввода/вывода Аналоговый канал 7 |
6 | RC4 | Контакт цифрового ввода/вывода |
5 | RC5 | Контакт цифрового ввода/вывода |
14 | ВСС | Контакт заземления |
1 | ВДД | Контакт подачи напряжения |
Вы уже получили распиновку и описание каждого контакта. В этом разделе мы выделяем и обсуждаем особенности этого контроллера, которые делают его уникальным среди аналогов. На следующем рисунке показаны полные характеристики PIC16F676.
Характеристики PIC16F676 | |
---|---|
Количество контактов | 14 |
ЦП | 8-битная ПОС |
Рабочее напряжение | от 2 до 5,5 В |
Программная память | 1,7 К |
Тип памяти программ | Вспышка |
ОЗУ | 64 байта |
ЭСППЗУ | 128 байт |
АЦП Количество каналов АЦП | 10-битный 8 |
Порты ввода-вывода (2) Контакты ввода/вывода | А, С 12 |
Режим энергосбережения | Да |
Внешний осциллятор | до 20 МГц |
Таймер (2) | 16-битный таймер (1) 8-битный таймер (1) |
Производитель | Микрочип |
Компараторы | 1 |
Индивидуальные программируемые слабые подтягивания | Да |
Сохранение данных EEPROM | 40 лет |
Сторожевой таймер | Да |
Сброс при включении | Да |
Основной сброс сброса | Да |
Внутрисхемное последовательное программирование | Да |
Минимальная рабочая температура | -40 С |
Максимальная рабочая температура | 125 С |
Эти функции помогут вам выбрать нужный контроллер и принять окончательное решение на основе требований вашего проекта.
С этим модулем PIC связано несколько функций. Ниже приведены основные функции PIC16F676.
MCLR — это внешний сброс микросхемы, который выполняется путем удержания на этом выводе НИЗКОГО уровня. Этот вывод не зависит от внутренних сбросов, которые также содержат фильтр помех для обнаружения и удаления малых импульсов на пути.
PIC16F676 поставляется с двумя таймерами, один из которых 8-битный, а другой 16-битный. Они могут использоваться в обоих направлениях, т. е. как таймер, а также как счетчик. Оба таймера имеют возможность выбора часов. Режим таймера используется для создания задержки в любой функции, в то время как счетчик используется для подсчета количества внутренних элементов любой функции.
Внутрисхемное последовательное программирование (ICSP), также называемое внутрисистемным Программирование (ISP), добавляется в устройство, что помогает в программировании устройства после установки в определенный проект.
Сторожевой таймер — очень полезная функция, которая сбрасывает контроллер, если работающая программа застревает в бесконечном цикле или программное обеспечение показывает недопустимый статус. Перезагрузить всю систему в случае сбоя очень сложно, эти таймеры экономят вам кучу времени и возвращают систему в исходное положение без вмешательства человека.
Память этого контроллера в основном делится на два типа, называемые Организация памяти программ (ПЗУ) Организация памяти данных (ОЗУ) Память программ хранит программу постоянно и также известна как ПЗУ или энергонезависимая память. Он поставляется с 13-битным счетчиком программ, который может адресовать пространство памяти программ 8k x 14. Первое пространство памяти 1k x 14, покрывающее (0000h — 03FFh), может быть реализовано физически. Адрес, сохраненный в векторе сброса, загружается контроллером и остается равным 000h, а вектор прерывания остается равным 0004h.
Оперативная память, также известная как память данных или энергозависимая память, временно хранит программу и зависит от источника питания. Он удаляет сохраненную программу при отключении питания. Память данных в основном разделена на два банка, которые дополнительно содержат два типа регистров, называемых Регистры специального назначения Регистры общего назначения Первые 32 ячейки каждого банка зарезервированы для регистров специальных функций, которые в основном используются для обработки и управления периферийными функциями и классифицируются как 9.0003 «Ядро и периферия». . В то время как регистры общего назначения остаются на уровне 20h–5Fh, сопоставлены между обоими банками и реализованы как статическая оперативная память.
СТАТУС Регистр. Этот регистр в основном используется для переключения между банками и содержит
W Регистрация. Регистр W не относится ни к какому банку регистров и адресуется только программой. Это GPR, а регистр STATUS относится к категории SFR. ТРИС. Этот регистр настраивает PORTA как вход или выход. Значение 0 указывает на вход, а значение 0 указывает на выход. ТРИС. Этот регистр похож на TRISA и настраивает контакты как вход или выход для PORTC.
Блок-схема очень полезна для раскрытия основных функций, связанных с каждым компонентом контроллера, и того, как эти функции связаны друг с другом. На следующем рисунке показана блок-схема PIC16F676.
Микроконтроллеры PIC широко используются во многих электронных системах автоматизации вождения. Ниже приведены основные области применения этой версии контроллера.