Теперь, наконец-то займемся делом после устанровок программ. Пора написать первую простенькую программу для микроконтроллера. Пережде чем мы начнем ее писать, надо поговорить о том, а какой МК мы будем использовать. Мощная среда разработки с открытым исходным кодом, созданная с целью написания программ для микроконтроллеров серии AVR от компании Atmel. Платная от 39 евро есть.
Поиск данных по Вашему запросу:
Схемы, справочники, даташиты:
Прайс-листы, цены:
Обсуждения, статьи, мануалы:
Содержание:
- Developing.ru
- Программы для микроконтроллеров
- Нужен пример программы для PIC микроконтроллера
оХЦОП ОБРЙУБФШ РТПЗТБННХ ДМС PIC - Урок 5. Первая программа на PIC12F675
- Примеры построения кода программ для PIC-контроллеров
- Форум по микроконтроллерам: Программирование c нуля в AVRStudio 5 — Форум по микроконтроллерам
- Программа Flowcode и программатор Microchip PICkit 2
- Как создать программу для микроконтроллеров PIC?
ПОСМОТРИТЕ ВИДЕО ПО ТЕМЕ: Программирование микроконтроллеров avr для начинающих
Moderator: Yurich. Post Wed Jan 20, pm. Quick links. Search Advanced search. Post Wed Jan 20, pm Необходимо написать программу на Assembler для управления блоком воздействия лазерного аппарата. Перечень разрабатываемых материалов: 1. Проектирование схем запуска процедуры воздействия и звуковой сигнализации; 3. В памяти микроконтроллера PIC16C8X или PIC16C7X хранятся исходные данные о задаваемых параметрах воздействия: частоте следования импульсов излучения и времени воздействия, значения которых могут лежать соответственно в пределах от 0,1 до 3 кГц с дискретностью 0,1 кГц и от 0,1 до 9,9 мин с дискретностью 0,1 мин.
Управляющие импульсы длительностью 1 мкс с указанной частотой следования должны поступать на выходной усилитель мощности, нагруженный на лазерный диод ИЛПН—А. Перечень необходимых экспериментальных работ и расчетов: Моделирование работы микроконтроллера в соответствии с разработанной программой управления на персональном компьютере в программной среде PROTEUS 6.
Цена договорная. Срок — до конца недели. Просьба писать в аську Who is online Users browsing this forum: No registered users and 4 guests. Hi, Google [Bot]! User Control Panel Profile Logout. Your posts Notifications View bookmarks.
Теперь, наконец-то займемся делом после устанровок программ. Пора написать первую простенькую программу для микроконтроллера. Пережде чем мы начнем ее писать, надо поговорить о том, а какой МК мы будем использовать Он включает в себя практически все мыслимые и немыслимые интерфейсы и технологии за исключением, пожалуй, только USB и очень неплох по рабочим характеристикам:.
LabKit — Программирование на Си для PIC. 4) Начнете изучать структуру текста программы. 5) Начнете понимать механизм работы программы.
Я ни раз задавал сам себе вопрос, с какого бы языка начинать изучение. Твёрдо отвечаю — Си, так как в ассме много рутины и условностей, что лишает творчества. Постоянно надо проверять и перепроверять себя, а не забыл ли ты то или иное действие. В ассме есть свои неоспоримые преимущества, но о них потом, так как это почувствовать можно только на практике. C языком определились. Реально Си учить не надо. Я вам так скажу — мой Си это условно десять пазлов и море логики, которые я комбинирую.
Заготовки программ на Си. Начать проект, это подготовить начало самой программы. Нужна так называемая заготовка от которой можно отталкиваться. В который были бы все начальные функции по конфигурации контроллера. Управление светодиодом.
При изучении работы микроконтроллеров большую помощь оказывают готовые рабочие программы, на примере которых можно познать тонкости программирования.
Ознакомление с составом и использованием средств программирования и отладки микроконтроллеров семейства MicroCHIP. Ознакомиться с порядком открытия нового проекта, ввода и редактирования программ в интегрированной среде разработки MPLab. Научиться компилировать и выполнять тестирование и отладку программ. Ход работы :. Включить описание пакета в отчет.
Чтобы правильно писать программы нужно понять, как работает микроконтроллер, чем мы и будем заниматься, а пока составим первую программу на ассемблере. Вообще написать программу можно в любом текстовом редакторе, так же, как вы бы написали письмо другу, например. После этого, текст надо скомпилировать иногда говорят — ассемблировать то есть перевести в форму, понятную процессору. Раньше, расширение текстового файла. Суть работы компилятора — в переводе письменных символов, понятных для человека, в машинный код в код нулей и единиц и создании нового файла с расширением. Что делать с этим. А он нужен для программатора, чтобы записать код программы в ПЗУ постоянное запоминающее устройство микроконтроллера. Мы вместо программатора будем использовать программу Proteus, которая моделирует реальную, работающую схему.
Консольная программа для считывания, изменения и записи Единая бесплатная интегрированная среда разработки для контроллеров производства бесплатный программный пакет для прошивки PIC- микроконтроллеров.
На Си или на Ассемблере. Выбор не прост, не зря программисты однокристальщики раскололись на два непримиримых лагеря. Одни с пеной у рта доказывают, что те кто пишут на Си лохи изнеженные, а настоящий брутальный кодер должен воспринимать только ассемблер.
ВИДЕО ПО ТЕМЕ: Как прошить PIC микроконтроллер
Обнаружен блокировщик рекламы. Сайт Паяльник существует только за счет рекламы, поэтому мы были бы Вам благодарны если Вы внесете сайт в список исключений. Как это сделать? Главная Программы.
А почему именно Mplab, а не более современная Mplab X от того же микрочипа?
Радиоинженер по первичной специализации, инженер электронной техники по опыту. Написание вспомогательных интерфейсов для загрузки параметров в электронные устройства. ИП, полный комплект бухгалтерских документов по работе. Возможен НДС, обсуждаемо. Сычёв Виталий Витальевич e-mail: javavirys mail. Образование: , Красноградский техникум имени Ф.
Дубликаты не найдены. Все комментарии Автора. На рисунках этого нет, не обозначил или это какие-то виртуальные переменные? Если виртуальные, то где они на картинке с логикой?
ЧАСТНОЕ УЧРЕЖДЕНИЕ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ОРГАНИЗАЦИЯ
Татьянинская школа
г. Москва
Проектная работа:
«Изготовление электронного кодового замка»
Работу выполнила: Ученица 8 класса Шаповалова Юлия Руководитель: Учитель физики Черепанова Светлана Викторовна |
2021 г.
Оглавление
Введение……………………………………………. …………………………………………3 стр.
Глава 1. Основная часть………………………………………………………………….5 стр.
1.1. История появления замков……………………………………………………….5 стр.
1.2 Виды замков……………………………………………………………………………..7 стр.
1.3 Виды кодовых замков………………………………………………………………..8 стр.
Глава 2. Практическая часть…………………………………………………………..10 стр.
2.1 Изучение работы кодового замка………………………………………………10 стр.
2.2. Изготовление кодового замка…………………………………………………..13 стр.
2.3. Анкетирование учащихся………………………………………………………..16 стр.
Заключение…………………………….. …………………………………………………….18 стр.
Список литературы………………………………………………………………………..19 стр.
Приложение 1……………………………………………………………………………….20 стр.
Приложение 2……………………………………………………………………………….21 стр.
Приложение 3………………………………………………………………………………..22 стр.
Приложение 4………………………………………………………………………………..23 стр.
Введение
Замки имеют длинную историю. Со временем они изменялись и совершенствовались. Современные замки стали не механическими, а электронными или электронно-механическими. Я решила разобраться в их устройстве и технологии изготовления.
Цель проекта: познакомиться с устройством вычислительной техники и научиться управлять ею.
Объектом моего исследования является микроконтроллер электронного замка.
Предметом исследования станет электронный замок.
Гипотеза исследования: Я предполагаю, что, изучив конструкцию электронного замка и механизм его работы, смогу создать свой электронный замок в домашних условиях.
Задачи исследования:
а) приобретение знаний по физике, расширение кругозора;
б) приобретение универсальных умений:
— осуществлять самостоятельный поиск, отбор и структурирование информации;
— проводить исследования и делать выводы по его результатам;
-создавать презентацию и писать доклад к защите проекта.
в) изучение информатики и компьютерной техники на реальных примерах;
г) повышение интереса к занятиям программированию, совершенствование знаний английского языка, организации самостоятельной работы.
Методы исследования:
Теоретические:
Изучение литературы по заявленной теме исследования,
классификация собранных материалов, обобщение материалов.
Эмпирические:
Подбор комплектующих и разработка конструкции и схемы замка; изготовление замка; разработка программы замка; тестирование работы замка; анкетирование среди учащихся.
Материально-техническое и учебно-методическое оснащение, информационное обеспечение:
а) Учебники физики (школьные), научно-популярная литература по теме, интернет;
б) Паяльное оборудование, осциллограф, электронные компоненты. Дополнительно привлекаемые:
— специалист по техническому оборудованию, программному обеспечению
— учитель физики.
В результате проведённой работы мною будет изучена работа микроконтроллера и электронного замка.
В этой работе я научусь новым практическим приемам:
а) проводить поиск и проверку информации из различных источников
б) проводить опыты с лабораторным оборудованием
в) составлять вопросы анкеты и проводить исследование с ее помощью
г) изготавливать кодовый замок в домашних условиях.
Глава 1. Основная часть.
1.1. История появления замков.
Изучение информатики и программирования интереснее всего проводить на реальных задачах и простых бытовых устройствах, с которыми мы сталкиваемся ежедневно. Это также позволит лучше понять, как устроен окружающий нас мир, состоящий из множества электронных приборов различного назначения. Мне интересны головоломки, тайны и их разгадки. Замки хранят секреты, но и сами замки являются секретами и содержат тайну. Сотни лет в мире идет сражение между создателями замков и взломщиками. Это сражение ещё не закончено и возможно не закончится никогда. Что может быть интереснее разгадывания секрета, спрятанного в тайне.
Замо́к — механическое, электронное или комбинированное устройство фиксации. Применяется для запирания дверей, крышек, ёмкостей и пр., а также для обеспечения блокировки предметов с целью предотвращения их похищения и/или ограничения доступа. В зависимости от принципа действия привода различают замки механические и электронные. В зависимости от крепления различают замки навесные, накладные, врезные (встроенные) и другие (например, для ювелирных изделий).
Слово, обозначающее фиксирующее устройство у большинства славянских народов, имеет близкое звучание и восходит к праславному *zamъkъ с тем же значением, образованному от глагола *zamъknǫti «замкнуть»[1]. Оно родственно слову «умыкнуть» — украсть, близкому к современному жаргонному «увести». Также отметим существующее у многих центральноевропейских народов совпадение слов, обозначающих устройство и укреплённый узел вооружённой защиты, — «замо́к» и «за́мок».
Удивительно, но идея создания замка появилась одновременно в двух бесконечно удалённых по тем временам точках планеты – в Китае и в Египте.
Наряду с возникновением колеса изготовление замка стало знаковым историческим фактом, оказавшим значительное влияние на ход истории в целом и жизнь человека в частности.
Замок и колесо вместе взятые фактически стали символами свободы человечества, передвижения, поиска и исследований.
В самом деле, кому будет необходимо колесо, если на нём нельзя уехать, надолго покинув жильё без присмотра?
Возникновение замка зародило истоки новой отрасли – точной механики, хотя сначала замок был не металлическим, а деревянным.
В древние времена, когда уже появились первые замки из железа, они подразделялись в основном на два типа:
навесные (так называемые дорожные, которые брали с собой в дорогу, чтобы запереть кладь в сундуке или ящике) и накладные (которые накладывались на полотно двери и являлись стационарными)
Стремление иметь собственный замок, и не один, имеет глубокие корни. Сохранение ценного, припрятывание интимного, пресечение незаконного – именно эти главные функции выполнял замок.
1.2 Виды замков
Первые цельнометаллические замки создали между 870 и 900 гг. английские ремесленники. Это были обыкновенные железные засовы с выступами вокруг замочных скважин для предотвращения взлома.
Медные и железные висячие замки, которые обнаруживают в Европе и на Дальнем Востоке, широко применялись римлянами и китайцами. Им оказывали особое предпочтение потому, что они были портативными. Они открывались ключами, которые можно было поворачивать, ввинчивать и нажимать.
На Руси висячие пружинные замки использовали с X века. В XVIII веке эти замки вывозили за границу. В Западной Европе их называли русскими. Пружинные висячие замки применяют и по сей день.
Появление в России навесных замков тоже было связано с необходимостью защитить имущество. Такие замки брали с собой в дорогу торговые караваны, чтобы шальной приблудный цыган не вытащил чего-нибудь ненароком из обоза.
Тяжелые и грубоватые навесные замки, с простыми механизмами, были легкой добычей злоумышленников.
Исключением из общего правила и одним из лучших образцов замочного ремесла был «Русский висячий замок».
Он был тщательно выкован вручную умельцами в конце XIX века (в ранее царствование последнего царя, Николая II (1895-1918г)), и отличающийся уникальным механизмом секретности. Ключ не вставлялся, а ввинчивался в замок благодаря особой резьбе.
В запертый замок вставлялась затычка, прикрывающая замочную скважину, а ключ ввинчивался в специальный футляр.
1.3 Виды кодовых замков
В целях большей эффективности появились замки на буквах, или кодовые замки, для открытия которых не требовалось ключей, а нужно было набрать определенные буквы или цифры на вращающихся дисках.
Классификация кодовых замков:
— по типу установки;
— по способу набора кода;
— по возможности замены кода.
Виды замков в зависимости от способа установки
Кодовый замок на дверь может быть:
— врезным;
— накладным;
— навесным.
По способу набора секретного кода, являющегося ключом различают:
— замки с кнопочными панелями;
— замки с кругами набора.
Виды замков по заменяемости кодов
— без возможности перекодировки. При изготовлении в механизм замка устанавливается определенный код;
— перекодируемым.
Перекодировка может осуществляться при:
— разборе замка и замене рабочего механизма;
— воздействии дополнительного ключа.
Врезной замок может быть установлен на деревянных и пластиковых дверях, а так же на металлических дверях, имеющих дополнительную обшивку.
Накладные замки преимущественно используются для фиксации стеклянных дверей или калиток.
Навесные кодовые замки не обладают повышенной надежностью, поэтому используются для хранения велосипеда на стоянке, фиксации чемодана или в виде дополнительного защитного устройства на калитку, ворота или дверь дома.
Глава 2. Практическая часть
2.1 Изучение работы кодового замка
Для своего проекта я выбрала накладной замок с кнопочной панелью без возможности перекодировки.
Этапы осуществления практической части:
— Изучение литературы по проекту и аналогичных устройств.
— Подбор деталей
— Сборка печатной платы (практическая часть)
— Изучение основ программирования и устройства микроконтроллеров
— Программирование микроконтроллера
— Изготовление корпуса для демонстрации работы кодового замка
— Подготовка отчета и презентации
Практическая значимость состоит в том, чтобы показать возможность самостоятельного изучения новых областей науки и техники, которые не
изучают в школе.
Кодовый электромеханический замок — устройство, позволяющее ограничить доступ к материальным ценностям посторонних людей. Достоинством кодового замка является ключ, который хранится в памяти человека и его не нужно изготавливать. Можно легко передать другому, даже не находясь около замка (по телефону или другим средствам связи) или изменить ключ без помощи мастера в будущем на другой, если кто-то посторонний его узнал.
Для того, чтобы разработать своё устройство необходимо сначала провести изучение уже существующих устройств. Я изучила устройство и принципиальную схему самодельного кодового замка (рис. 3). Вместо электрозащелки там используется электромотор, который трудно использовать для отпирания двери. Так как выбран контроллер с маленьким количеством портов, автор был вынужден использовать измененную клавиатуру (рис. 4). Для своего замка я буду использовать контроллер с большим количеством портов для работы со стандартной клавиатурой и электрозащелку (электромагнит). Моя задача сделать действующий замок, запирающий реальную дверь.
Как я увидела ранее, кодовый замок состоит из следующих составных частей и механизмов:
— Клавиатура, как устройство ввода информации (кода)
— Светодиоды, как устройства вывода информации (открытие замка,
неправильный код и индикация нажатия клавиши)
— Электро-механический замок-защелка, как исполнительное устройство
— Плата управления замком с микроконтроллером.
Плата управления замком с микроконтроллером состоит из:
-Преобразователя напряжения 12 вольт в 5В так как защелка управляется 12В, а контроллер от 5В
— Силового транзистора для управления электрозамком
— 2 штук светодиодов-индикаторов
— Контроллера
— Разъема для программирования контроллера
— Разъема для подключения клавиатуры
При изучении свойств контроллера я узнала, что он имеет 3 типа памяти:
— оперативная память, где мы храним переменные и результаты вычислений
— память программы, куда мы записываем программу для постоянного хранения
— энергонезависимая память для переменных (кода открытия замка)
2 порта ввода-вывода, PORTA и PORTB
PORTA — 2 выхода порта используются для управления светодиодами
PORTB — 1 выход используется для управления замком и 7 входов-выходов используются для клавиатуры.
Всего я буду использовать 10 выходов.
Подбор комплектующих- см. приложение 1.
Электрическая схема замка в приложении 2.
2.2. Изготовление кодового замка
Изготовление платы кодового замка. Пайка . Обучение работе с паяльником и другими монтажными инструментами. Изучение смачивания припоем выводов электронных компонентов. Использование флюса.
После пайки проводим проверку включения платы и собираем плату вместе с клавиатурой. Для изучения контроллера, разработки и отладки программы этого вполне достаточно. Можно начинать знакомиться с отдельными устройствами в контроллере и с языком программирования.
Собранная плата контроллера замка и клавиатура . Изучение начинается с включения и выключения светодиодов, подключенных к контроллеру. Далее, переходим к изучению работы клавиатуры и написанию программы получения кодов при нажатии кнопок. После изучения устройств ввода и вывода, приступаю к написанию самой программы замка.
Замок для демонстрации должен быть установлен на настоящей дверце коробки . Каждый может попробовать угадать его код. Кто угадает, получит содержимое коробки.
2.3. Анкетирование учащихся
Проведя исследования в 7 и 8 классах, я получила результат, который выложила в виде двух диаграмм (диаграммы в приложении 3.). Самые популярные замки — механические и электронно-механические (кодовые), менее известные- пружинные.
Ребятам были заданы вопросы:
1) Какие из ниже представленных видов замков вы знаете?
2) Какие замки вам больше нравятся?
3) С какими замками вы чаще всего встречаетесь в жизни?
4) Какой замок вы бы установили в своей квартире или доме для надежности?
Наиболее предпочтителен кодовый замок, наименее — пружинный. На вопрос «С какими замками вы чаще всего встречаетесь в жизни?» большинство ответило «с механическими и кодовыми». В своей квартире или доме лидером в выборе замка стал кодовый. Исходя из проведённого исследования, могу сделать вывод, самым популярным и применяемым в современном мире замком является бесспорно кодовый замок.
Заключение
В результате выполнения данного проекта, я убедилась, что создание простых электронных устройств для школьника не является невыполнимой задачей. Для изучения различных устройств можно использовать интернет, где легко найти любую нужную информацию об этих устройствах и доступные объяснения как они работают.
Для создания любого нового устройства необходимо изучить уже существующие и найти те свойства, которыми они не обладают, чтобы собственное устройство было лучше. Изучение уже существующих устройств позволяет быстрее получить необходимый опыт, чтобы не начинать всё с самого начала. Но к любому полученному опыту нужно относиться критически. Изучаемые устройства могут содержать ошибки и цель исследования состоит в том, чтобы увидеть это.
Я увидела, что изучение информатики на реальном устройстве очень интересно. С помощью всего нескольких команд я могу управлять светодиодами и другими устройствами. Программа заставляет работать устройство так, как я запланировала.
Изучение английского языка помогает получать те знания, которые существуют в документации только на английском языке. Много технической литературы издано только на английском.
Список литературы
1. http://signalsam.blogspot.com/2016/02/blog-post.html?m=1 Самодельный кодовый замок
2. https://labkit.ru/html/Assembler_for_PIC — Программирование на Ассемблере для PIC
3. http://rl.odessa.ua/media/_For_Liceistu/Physics/Pyoryshkin_Fizika-8.pdf — А. В. Перышкин. Учебник для 8 класса
4. https://narfu.ru/university/library/books/2991.pdf — В.И. Кочергин. Большой англо-русский толковый научно-технический словарь.
5. https://www.krugosvet.ru/enc/tehnologiya-i-promyshlennost/zamok — Замок, его история.
6. Е. Г. Серкова. Основы алгоритмизации и программирования.
7. https://habr.com/ru/post/319370/ — Организация создания электронных устройств.
8. https://www.onlinecharts.ru/ — Создание диаграммы.
Приложение 1.
Подбор комплектующих.
Клавиатура — https://arduino-kit.ru/product/matrichnaya-plenochnaya-membrannaya-klaviatura-3h5
Контроллер — https://www.chipdip.ru/product/pic16f819-i-p
Транзистор — https://www.chipdip.ru/product/irlr2905ztrpbf-infineon
Светодиод — https://www.chipdip.ru/product/gnl-3012gd
Стабилизатор напряжения 5 Вольт — https://www.chipdip.ru/product/ta78l05f
Резистор — https://www.chipdip.ru/catalog/smd-resistors?x.429=ZGQ&x.430=MXs
Конденсатор — https://www.chipdip.ru/product/grm188r61e106m
Замок — https://russian.alibaba.com/product-detail/dc-12v-mini-electric-solenoid-lock-assembly-for-door-cabinet-drawer-60724735503.html
Первоначальное название микроконтроллера PIC — PICmicro ( Peripheral Interface Controller ), но он более известен как PIC. Его предок, получивший название PIC1650, был разработан в 1975 году компанией General Instruments . Он предназначался совсем для других целей. Примерно через десять лет эта схема превратилась в настоящий микроконтроллер PIC за счет добавления памяти EEPROM.
Если вы хотите узнать об этом больше, просто продолжайте читать. Основная цель этой книги — предоставить пользователю необходимую информацию, которую он должен знать, чтобы иметь возможность использовать микроконтроллеры на практике. Во избежание утомительных объяснений и бесконечных рассказов о полезных возможностях разных микроконтроллеров в этой книге рассматривается работа одной конкретной модели, относящейся к «высокому среднему классу». Это микроконтроллер PIC16F887 — достаточно мощный, чтобы заслуживать внимания, и достаточно простой, чтобы его мог легко освоить каждый. Таким образом, несмотря на то, что в следующих главах подробно описывается этот микроконтроллер, на самом деле они относятся ко всему семейству PIC.
Семья | ПЗУ [Кбайт] | ОЗУ [байт] | Штифты | Тактовая частота. [МГц] | Аналогово-цифровые входы | Разрешение аналого-цифрового преобразователя | Компараторы | 8/16-битные таймеры | Последовательн. | Выходы ШИМ | Другие |
Базовая 8-битная архитектура, 12-битная длина слова инструкции | |||||||||||
PIC10FXXX | 0,375 — 0,75 | 16 — 24 | 6 — 8 | 4 — 8 | 0 — 2 | 8 | 0 — 1 | 1 х 8 | — | — | — |
PIC12FXXX | 0,75 — 1,5 | 25 — 38 | 8 | 4 — 8 | 0 — 3 | 8 | 0 — 1 | 1 х 8 | — | — | ЭСППЗУ |
PIC16FXXX | 0,75 — 3 | 14 — 44 | 20 | 0 — 3 | 8 | 0 — 2 | 1 х 8 | — | — | ЭСППЗУ | |
PIC16HVXXX | 1,5 | 25 | 18 — 20 | 20 | — | — | — | 1 х 8 | — | — | Вдд = 15 В |
Средняя 8-битная архитектура, 14-битная Длина мира инструкций | |||||||||||
PIC12FXXX | 1,75 — 3,5 | 64 — 128 | 8 | 20 | 0 — 4 | 10 | 1 | 1 — 2 х 8 1 х 16 | — | 0 — 1 | ЭСППЗУ |
PIC12HVXXX | 1,75 | 64 | 8 | 20 | 0 — 4 | 10 | 1 | 1 — 2 х 8 1 х 16 | — | 0 — 1 | — |
PIC16FXXX | 1,75 — 14 | 64 — 368 | 14 — 64 | 20 | 0 — 13 | 8 или 10 | 0 — 2 | 1 — 2 х 8 1 х 16 | USART I2C SPI | 0 — 3 | — |
PIC16HVXXX | 1,75 — 3,5 | 64 — 128 | 14 — 20 | 20 | 0 — 12 | 10 | 2 | 2 х 8 1 х 16 | USART I2C SPI | — | — |
Высокопроизводительная 8-битная архитектура, 16-битная длина слова инструкции | |||||||||||
PIC18FXXX | 4 — 128 | 256 — 3936 | 18 — 80 | 32 — 48 | 4 — 16 | 10 или 12 | 0 — 3 | 0 — 2 х 8 2 — 3 х 16 | USB2. 0 CAN2.0 USART I2C SPI | 0 — 5 | — |
PIC18FXXJXX | 8 — 128 | 1024 — 3936 | 28 — 100 | 40 — 48 | 10 — 16 | 10 | 2 | 0 — 2 х 8 2 — 3 х 16 | USB2.0 USART Ethernet I2C SPI | 2 — 5 | — |
PIC18FXXKXX | 8 — 64 | 768 — 3936 | 28 — 44 | 64 | 10 — 13 | 10 | 2 | 1 х 8 3 х 16 | USART I2C SPI | 2 | — |
Все микроконтроллеры PIC используют гарвардскую архитектуру, что означает, что их программная память связана с ЦП более чем 8 линиями. В зависимости от разрядности шины различают 12-, 14- и 16-разрядные микроконтроллеры. В приведенной выше таблице показаны основные характеристики этих трех категорий. Как видно из таблицы на предыдущей странице, если на мгновение отвлечься от «16-битных монстров» — PIC 24FXXX и PIC 24HXXX — все микроконтроллеры PIC имеют 8-битную гарвардскую архитектуру и принадлежат к одной из трех больших групп.
Соответственно, в зависимости от размера программного слова различают первую, вторую и третью категорию микроконтроллеров, т.е. 12-, 14- или 16-разрядные микроконтроллеры. Имея одинаковое 8-битное ядро, все они используют один и тот же набор инструкций и базовый аппаратный «скелет», подключенный к более или менее периферийным устройствам. Микроконтроллеры PIC с 14-битными программными словами, скорее всего, являются лучшим выбором для начинающих. Вот почему…Набор инструкций для 16F8XX включает всего 35 инструкций. Причина такого малого количества инструкций кроется в архитектуре RISC. Инструкции хорошо оптимизированы с точки зрения скорости работы, простоты архитектуры и компактности кода. Недостатком архитектуры RISC является то, что пользователь должен справиться с этими инструкциями. Конечно, это актуально только в том случае, если вы используете язык ассемблера для программирования. Эта книга посвящена программированию на языке высокого уровня под названием Basic, что означает, что большая часть работы уже сделана кем-то другим.
Все инструкции для микроконтроллеров PIC являются инструкциями за один цикл. Единственным исключением являются инструкции условного перехода (если условие выполнено) и инструкции, выполняемые на программном счетчике. В обоих случаях для выполнения инструкции требуется два цикла, а второй цикл выполняется как NOP ( No Operation ). Однотактные инструкции состоят из четырех тактов. Это означает, что если используется генератор с частотой 4 МГц, для выполнения инструкции потребуется 1 мкс. Время выполнения инструкции для инструкций перехода составляет 2 мкс. Набор команд 14-битных программных слов микроконтроллеров PIC:
ИНСТРУКЦИЯ | ОПИСАНИЕ | ЭКСПЛУАТАЦИЯ | ФЛАГ | ЦЛК | * |
---|---|---|---|---|---|
Инструкции по передаче данных | |||||
МОВЛВ к | Переместить константу в W | к -> ш | 1 | ||
МОВВФ ф | Переместить W на f | Вт -> f | 1 | ||
МОВФ f,d | Переместить f в d | ф -> д | З | 1 | 1, 2 |
CLRW | Прозрачный W | 0 -> Вт | З | 1 | |
CLRF ф | Прозрачный f | 0 -> ф | З | 1 | 2 |
SWAPF f,d | Поменять местами полубайты в f | f(7:4),(3:0) -> f(3:0),(7:4) | 1 | 1, 2 | |
Арифметико-логические инструкции | |||||
АДДЛВ к | Добавить W и константу | Вт+к -> Вт | К, ДК, З | 1 | |
АДДВФ ф, д | Добавить W и F | Ш+ж -> д | К, ДК, З | 1 | 1, 2 |
СУБЛВ к | Вычесть W из константы | кВт -> Вт | К, ДК, З | 1 | |
SUBWF f,d | Вычесть W из f | ф-ж -> д | К, ДК, З | 1 | 1, 2 |
ANDLW к | Логическое И с W с константой | Вт И к -> Вт | З | 1 | |
АНДВФ ф, д | Логическое И с W с f | Ш И ж -> д | З | 1 | 1, 2 |
IORLW k | Логическое ИЛИ с W с константой | Т О Р К -> Вт | З | 1 | |
ИОРВФ ф, д | Логическое ИЛИ с W с f | З ИЛИ f -> d | З | 1 | 1, 2 |
XORWF f,d | Логическое исключающее ИЛИ с W с константой | Вт Исключающее ИЛИ k -> Вт | З | 1 | 1, 2 |
XORLWk | Логическое исключающее ИЛИ с W с f | Вт Исключающее ИЛИ f -> d | З | 1 | |
ИНКФ ф, д | Увеличение f на 1 | ф+1 -> ф | З | 1 | 1, 2 |
DECF f,d | Уменьшить f на 1 | ф-1 -> ф | З | 1 | 1, 2 |
RLF f,d | Повернуть влево через бит CARRY | С | 1 | 1, 2 | |
РРФ ф,д | Повернуть вправо через бит CARRY | С | 1 | 1, 2 | |
КОМФ f,d | Дополнение к | ф -> д | З | 1 | 1, 2 |
Бит-ориентированные инструкции | |||||
КБФ ф, б | Очистить бит b в f | 0 -> f(б) | 1 | 1, 2 | |
ЧФ ф, б | Очистить бит b в f | 1 -> ф(б) | 1 | 1, 2 | |
Инструкции по управлению программой | |||||
БТФСК ф, б | Тестовый бит b f. Пропустите следующую инструкцию, если она понятна. | Пропустить, если f(b) = 0 | 1 (2) | 3 | |
БТФСС ф, б | Тестовый бит b f. Пропустите следующую инструкцию, если она установлена. | Пропустить, если f(b) = 1 | 1 (2) | 3 | |
DECFSZ ф, д | Уменьшение f. Пропустите следующую инструкцию, если она понятна. | f-1 -> d пропустить, если Z = 1 | 1 (2) | 1, 2, 3 | |
INCFSZ f,d | Приращение f. Пропустите следующую инструкцию, если она установлена. | f+1 -> d пропустить, если Z = 0 | 1 (2) | 1, 2, 3 | |
ПЕРЕЙТИ к | Перейти по адресу | к -> ПК | 2 | ||
ЗВОНИТЕ k | Вызов подпрограммы | ПК -> TOS, к -> ПК | 2 | ||
ВОЗВРАТ | Возврат из подпрограммы | ТОС -> ПК | 2 | ||
RETLW к | Возврат с константой в W | к -> W, TOS -> ПК | 2 | ||
RETFIE | Возврат из прерывания | TOS -> ПК, 1 -> GIE | 2 | ||
Другие инструкции | |||||
НОП | Нет операции | TOS -> ПК, 1 -> GIE | 1 | ||
CLRWDT | Сброс сторожевого таймера | 0 -> WDT, 1 -> TO, 1 -> PD | ТО, ПД | 1 | |
СОН | Перейти в спящий режим | 0 -> WDT, 1 -> TO, 0 -> PD | ТО, ПД | 1 |
*1 При изменении регистра ввода-вывода используемым значением будет значение, присутствующее на самих выводах. *2 Если инструкция выполняется в регистре TMR и если d=1, прескалер будет очищен. *3 Если ПК модифицируется или результат теста равен логической единице (1), инструкция требует двух циклов. Второй цикл выполняется как NOP.
Архитектура 8-битных микроконтроллеров PIC. Какие из этих модулей должны быть встроены в микроконтроллер, зависит от его типа.
Главная » Категория: ‘ассемблер’
Опубликовано 23 июля 2022
Опубликовано 23 июля 2022 г.
Пакет SIMAVR предназначен для имитации процессоров AVR, таких как ATMEGA328, на Arduino UNO. Я хочу попробовать использовать его с VPL на таких курсах, как наш класс компьютерной архитектуры, EECS 2021, как способ моделирования процессора UNO в упражнениях, связанных с программированием на ассемблере и C. На Mac мы используем HomeBrew. […]
Опубликовано 8 октября 2021
Опубликовано 8 октября 2021 г.
Лабораторный комплект EECS 2021 Лаборатория EECS 2021 требует наличия как (1) платы Grove с микросхемой ATMEGA328P (вы получили ее как часть лабораторного комплекта EECS 1011/21 в прошлом году), так и а также (2) программатор Snap. Комплект Grove (официально называемый «Набор для начинающих Grove для Arduino») […]
Опубликовано 15 апреля 2021
Опубликовано 15 апреля 2021 г.
Введение MPLAB X от Microchip позволяет выполнять моделирование из командной строки. Это интересно с точки зрения обучения, если у нас есть автоматически оцениваемые задания по программированию, которые берут программу учащегося и запускают ее на смоделированном чипе в LMS, такой как Moodle. История вопроса Меня интересует, как мы можем использовать MDB в MPLAB X для […]
Опубликовано 1 июля 2020
Опубликовано 1 июля 2020 г.
Виртуальная лаборатория программирования — это подключаемый модуль для Moodle (eClass в YorkU), который позволяет учащимся выполнять интерактивные задания по программированию. В колледже Смита есть несколько действительно хороших примеров того, как настроить его с помощью Python, и несколько с Java и C. Я разместил на YouTube пример того, как […]
Опубликовано 1 июля 2020
Опубликовано 1 июля 2020
[будет обновлено] Когда вы пишете программы на таких языках, как C или C++, программы преобразуются инструментами компилятора в команды, которые компьютер может прочитать и понять. Непосредственно перед тем, как инструменты компилятора сделают это, они преобразуют вашу работу в последовательность команд на языке под названием Ассемблер. Когда-то […]
Опубликовано 7 октября 2019
Опубликовано 7 октября 2019 г.
В рамках моего творческого отпуска я участвовал в лабораторных занятиях по микроконтроллерам Temps Pratiques для студентов, изучающих электротехнику и мехатронику, в INSA Strasbourg. В беседах перед академическим отпуском с преподавателями и сотрудниками INSA в Страсбурге я узнал, что студенты учатся с использованием технологий, которые я считал устаревшими. Микросхема микроконтроллера PIC16F84A использовала […]
Опубликовано 6 октября 2019
Опубликовано 6 октября 2019
Во время творческого отпуска я серьезно задумался о написании книги. Несмотря на то, что я много лет хотел написать книгу, написать ее во время творческого отпуска не было моей главной целью. Но по мере того, как визовые вопросы во Франции становились все более сложными и затрудняли более традиционную исследовательскую работу, написание книг стало уделять больше внимания […]
Опубликовано 14 сентября 2018
Опубликовано 14 сентября 2018 г.
После нескольких месяцев работы с битами PIC16 в моделировании мне нужно записать три трехчасовых лабораторных занятия для PIC16F84. Школа предоставила мне две версии своих плат PIC16F84A: одна предназначена для студентов, изучающих мехатронику, а другая — для студентов, изучающих электронику. Дизайн платы восходит к заре эры Arduino […]
Опубликовано 4 сентября 2018
Опубликовано 4 сентября 2018 г.