Программное обеспечение для 8-разрядного микроконтроллера фирмы Microchip PIC16F877 - Курсовая работа

бесплатно 0
4.5 139
Алгоритм разработки программного обеспечения. Выбор оптимальной среды программирования. Использование регистров специального назначения. Листинг программы в кодах языка Assambler. Результаты ее компилирования. Блок схема основной программы и макроса RND.


Аннотация к работе
В последние десятилетия во многих производственных сферах стали применяться технологии на основе микроконтроллерной техники. Среди всего разнообразия цифровых микросхем микроконтроллеры, занимают такое же место, как, например, в аналоговой технике операционные усилители. Микроконтроллеры обладают одним очень важным качеством - универсальностью. Нынешние микроконтроллеры содержат в себе достаточно мощное вычислительное ядро, устройства для запоминания информации и программы, управляющей ими, порты для ввода/вывода информации, как в аналоговой, так и в цифровой величинах. С каждым годом спрос на микроконтроллеры растет в разы.В данном курсовом проекте необходимо написать программное обеспечение для 8-разрядного микроконтроллера фирмы Microchip PIC16F877. Написание программы осуществляется на низкоуровневом языке assembler MPASM, в среде MPLAB. Алгоритм разработки ПО представлен ниже: - производим настройку микроконтроллераНеобходимо выбрать оптимальную среду программирования для разработки требуемого ПО.Самым верным выбором для решения подобной задачи является использование среды программирования MPLAB (в данном случае версия 8.40) В качестве основного языка выбран ассемблер.В ходе выполнения программы нами были использованы регистры специального назначения, приведенные в таблице 1. STATUS В регистре STATUS содержатся флаги состояния АЛУ, флаги причины сброса микроконтроллера и биты управления банками памяти данных. INDF Обращение к регистру, адрес которого записан в FSR (не физический регистр)Алгоритмы выполнения основной программы и макросов представлены на рисунках 1, 2. Основная блок схема состоит из ряда подпрограмм, блок схемы которых так же представлены на рисунках ниже. Макрос RND, алгоритм которого представлен на рисунке 2, выполняет генерацию псевдослучайного числа и записывает его в переменную RANDOM. Следует учесть, что ячейки после заполнения не очищаются лишь в реально работающем микроконтроллере, а при симуляции программы в MPLAB-е, при каждом новом запуске ячейки могут содержать значение 0X00.Это говорит о том, что эффект псевдослучайного массива будет виден на собранном устройстве. В основной программе, алгоритм которой представлен на рисунке 1, выполняется автоматическое заполнение массива, псевдослучайными числами, путем преобразования каждого последующего элемента макросом RND.В этом разделе, имея необходимый алгоритм и среду программирования, напишем код программы.MOVF 0X21,W ; копируем значение 0Х21 ячейки в аккумулятор MOVWF RANDOM ; положим это значение в переменную RANDOM BTFSC RANDOM,4 ; проверим бит 4 регистра RANDOM на 0 значение BTFSC RANDOM,5 ; проверим бит 5 регистра RANDOM на 0 значение BTFSC RANDOM,3 ; проверим бит 3 регистра RANDOM на 0 значениеНа рисунке 3 показано окно процесса и результата компилирования полученной программы. Полученные предупреждения (Warning[203]) говорят о некорректном расставлении табуляций в программном коде.В процессе выполнения данного курсового проекта была решена распространенная задача нахождения максимального значения из массива псевдослучайных чисел с n-ным количеством элементов. Результатом процесса программирования является законченная программа, не нуждающаяся в какой-либо оптимизации, корректировке, отладке или исправлении. Применение в языке Assembler MPASM таких конструкций, как например макросы, позволило значительно сократить объем используемой памяти, причем настолько, что можно применить данную программу не только с микроконтроллером PIC16F877, но и с МК более низшего порядка. В ходе процесса программирования были получены навыки использования большинства команд, применяемых для микроконтроллеров PIC 16-ого семейства (всего 35 инструкций).

План
Содержание

Введение

1. Постановка задачи

1.1 Алгоритм разработки программного обеспечения (ПО)

2. Разработка программного обеспечения

2.1 Выбор среды программного обеспечения

2.2 Описание задействованных регистров

3. Разработка алгоритма

4. Разработка программного аналога

4.1 Листинг программы

4.2 Отладка программы

Заключение

Список использованных источников

Введение
В последние десятилетия во многих производственных сферах стали применяться технологии на основе микроконтроллерной техники.

Среди всего разнообразия цифровых микросхем микроконтроллеры, занимают такое же место, как, например, в аналоговой технике операционные усилители. Микроконтроллеры обладают одним очень важным качеством - универсальностью. Они могут применяться в электронных приборах самого различного назначения, и спектр применения постоянно расширяется. Нынешние микроконтроллеры содержат в себе достаточно мощное вычислительное ядро, устройства для запоминания информации и программы, управляющей ими, порты для ввода/вывода информации, как в аналоговой, так и в цифровой величинах.

С каждым годом спрос на микроконтроллеры растет в разы. Поэтому наблюдается их удешевление, а также рост технических возможностей. На данный момент времени целесообразно конструировать на микроконтроллере даже такие приборы, которые можно было бы реализовать на нескольких десятках микросхем на основе логических элементов.

Рынок технологических новшеств сегодня заостряет внимание на предоставление потребителю микроконтроллеров с внушительной вычислительной мощностью, с большей производительностью и большим набором различных периферийных устройств.

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

В данном курсовом проекте необходимо решить распространенную задачу, которая встречается очень часто в процессе автоматизации производственных процессов. Также необходимо выбрать микроконтроллер, по своим характеристикам подходящий для решения подобных задач. МК должен иметь достаточный вычислительный потенциал, объем памяти, должен содержать в себе 8-разрядную структуру. Такой выбор сделать не трудно, так как компания Микрочип производит широкий спектр микроконтроллеров со своими характеристиками и преимуществами. Для решения данной задачи подходит большинство микроконтроллеров из 12 и 16 семейства Микрочипов, так как процесс выполнения программы подразумевает лишь выполнение арифметических и логических задач, и не требует управления какими-либо внешними устройствами.

Вывод
В процессе выполнения данного курсового проекта была решена распространенная задача нахождения максимального значения из массива псевдослучайных чисел с n-ным количеством элементов. Данная задача часто встречается в процессе автоматизации и требует минимум затрат времени и ресурсов микроконтроллера.

Результатом процесса программирования является законченная программа, не нуждающаяся в какой-либо оптимизации, корректировке, отладке или исправлении. Применение в языке Assembler MPASM таких конструкций, как например макросы, позволило значительно сократить объем используемой памяти, причем настолько, что можно применить данную программу не только с микроконтроллером PIC16F877, но и с МК более низшего порядка.

В ходе процесса программирования были получены навыки использования большинства команд, применяемых для микроконтроллеров PIC 16-ого семейства (всего 35 инструкций). Был выведен новый, не схожий со стандартными, метод нахождения максимального значения из массива, использующий минимум операций и вычислительного ресурса МК. Также был изучен принцип работы макросов, условных и безусловных переходов, работа с байт-ориентированными и бит-ориентированными командами. Курсовой проект позволил в который раз убедиться в наилучшей совместимости микроконтроллера фирмы Микрочип, и программной среды для разработки ПО для МК, созданной этой же фирмой.

Ассемблер MPASM хорош тем, что готовую программу можно легко внедрить как составляющую другой программы, единственное что требуется, это соответствие имен переменных, и выделение неиспользуемой памяти для нее.

Применить полученную программу можно во множестве устройств автоматизации промышленных, развлекательных объектов, в сфере услуг и обслуживания населения. Особенно часто программы такой структуры применяются в игровых автоматах и игрушках.

Нам, студентам специальности Автоматизация и Управление, как будущим специалистам в сфере программирования микроконтроллеров, просто необходимо без каких-либо проблем и затруднений решать задачи подобного уровня сложности, особенно на языках низкого уровня, в которых преобладает непосредственная работа с памятью, а также легко внедрять подобные, уже готовые листинги в более объемные программы. программа регистр макрос assembler

Список литературы
1. Техническая документация по PIC16F877X, OOO «Микро-Чип», Москва 2002 год.

2. УМКДП по дисциплине «МПК в СУ» специальности 5B070200, 5B071800.

3. Справочник по PIC микроконтроллерам М. Предко 2004г.

4. Микропроцессорные системы. Учебное пособие для вузов В. Куприянов, О. Грушвицкий

Размещено на
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?