Автор работы: Пользователь скрыл имя, 09 Апреля 2014 в 14:52, курсовая работа
В номенклатуре Microchip Technology Inc. представлен широкий спектр 8-и, 16-и и 32-битных микроконтроллеров и цифровых сигнальных контроллеров под маркой PIC. Отличительной особенностью PIC-контроллеров является хорошая преемственность различных семейств. Это и программная совместимость (единая бесплатная среда разработки MPLAB IDE), и совместимость по выводам, по периферии, по напряжениям питания, по средствам разработки, по библиотекам и стекам наиболее популярных коммуникационных протоколов.
1. Общие сведенья о семействе PIC микроконтроллеров фирмы Microchip…………………….………………………………………………….5
1.1.Краткая характеристика микроконтроллеров семейства PIC16CXXX...9
1.1.1 Микроконтроллеры семейства PIC16CXXX……………………….......9
1.1.2 Микроконтроллеры подгруппы PIC16F8X……...……………………11
1.2. Программное обеспечение MPLAB ……………………………………15
2. Разработка принципиальной электрической схемы……………………..17
3. Разработка и отладка программного обеспечения………………………17
3.1. Листинг программы …………………………………………………………..
Список использованной литературы....……………………………………..…….
16-битные микроконтроллеры представлены в двух модификациях — PIC24F и PIC24H, которые отличаются технологией изготовления FLASH программной памяти. Это определяет диапазон питающих напряжений — для PIC24F — 2,0…3,6 В, для PIC24H — 3,0…3,6 В. Первое семейство (PIC24F) производится по более дешевой технологии (0,25 мкм) и работает с максимальной производительностью ядра 16MIPS@32МГц. Второе семейство (PIC24H) производится с использованием более сложного техпроцесса изготовления, что позволяет добиться большей скорости работы (40MIPS@80МГц). Оба семейства поддерживают внутрисхемное программирование (ICSP), а также самопрограммирование (RTSP).
1.1 Краткая характеристика микроконтроллеров семейства PIC16CXXX
PIC16CXX - это 8-pазpядные микроконтроллеры с RISC архитектурой, производимые фирмой Microchip Technology. Это семейство микpоконтpоллеpов отличается низкой ценой, низким энеpгопотpеблением и высокой скоpостью. Микpоконтpоллеpы имеют встpоенное ЭППЗУ пpогpаммы, ОЗУ данных и выпускаются в 18 и 28 выводных коpпусах.
Среднее семейство PICmicro является развитием базового и характеризуется модифицированным ядром процессора. Это семейство является самым многочисленным представителем PICmicro, ему свойственна самая разнообразная номенклатура корпусов и периферии. Среднее семейство имеет 14-битную ширину инструкции, контроллер прерываний и глубокий 8 уровневый стек. Максимальная скорость выполнения команд - 5 MIPS на частоте 20 MHz. Система команд включает в себя 35 однословных инструкции. В качестве периферии микроконтроллеры этого семейства имеют: ОЗУ (до 384 байт), двунаправленные порты ввода/вывода с током нагрузки до 25 мА, таймеры-счетчики, компараторы, 8-битные АЦП, последовательные каналы (I2C, SPI, USART), устройства выборки и сравнения, ШИМ, контроллер ЖКИ, параллельный порт, программируемые источники опорного напряжения, сторожевой таймер и т.д. Микроконтроллеры семейства выполнены в 18, 20, 28, 40, 44 выводных корпусах, типы корпусов - DIP, SOIC, SSOP, LCC, QFP. Допускается широкий диапазон питающих напряжений с нижней границей напряжения - 2.0 В.
Перечень микроконтроллеров среднего семейства представлен в таблице:
Обозначение |
Кодовая память OTP (слов) |
ОЗУ (байт) |
Макс. частота (MГц) |
Корпус |
PIC14C000 |
4096 |
192 |
20 |
SP28, SO28, SS28, JW28 |
PIC16C554 |
512 |
80 |
20 |
D18, SO18, SS20, JW18 |
PIC16C556A |
1024 |
80 |
20 |
D18, SO18, SS20, JW18 |
PIC16C558 |
2048 |
128 |
20 |
D18, SO18, SS20, JW18 |
PIC16C62A |
2048 |
128 |
20 |
SP28, SO28, SS28, JW28 |
PIC16C63 |
4096 |
192 |
20 |
SP28, SO28, JW28 |
PIC16C64A |
2048 |
128 |
20 |
D40, L44, PQ44, PT44, JW40 |
PIC16C65A |
4096 |
192 |
20 |
D40, L44, PQ44, PT44, JW40 |
PIC16C66 |
8192 |
368 |
20 |
SP28, SO28, JW28 |
PIC16C67 |
8192 |
368 |
20 |
D40, L44, PQ44, PT44, JW40 |
PIC16C620 |
512 |
80 |
20 |
D18, SO18, SS20, JW18 |
PIC16C621 |
1024 |
80 |
20 |
D18, SO18, SS20, JW18 |
PIC16C622 |
2048 |
128 |
20 |
D18, SO18, SS20, JW18 |
PIC16C641 |
2048 |
128 |
20 |
SP28, SO28, JW28 |
PIC16C642 |
4096 |
176 |
20 |
SP28, SO28, JW28 |
PIC16C662 |
4096 |
176 |
20 |
D40, L44, PQ44, PT44, JW40 |
PIC16C710 |
512 |
36 |
20 |
D18, SO18, SS20, JW18 |
PIC16C711 |
1024 |
68 |
20 |
D18, SO18, SS20, JW18 |
PIC16C715 |
2048 |
128 |
20 |
D18, SO18, SS20, JW18 |
PIC16C72 |
2048 |
128 |
20 |
SP28, SO28, SS28, JW28 |
PIC16C73A |
4096 |
192 |
20 |
SP28, SO28, JW28 |
PIC16C74A |
4096 |
192 |
20 |
D40, L44, PQ44, PT44, JW40 |
PIC16C76 |
8192 |
368 |
20 |
SP28, SO28, JW28 |
PIC16C77 |
8192 |
368 |
20 |
D40, L44, PQ44, PT44, JW40 |
PIC16F83 |
512 (Flash) |
68 (64EE) |
10 |
D18, SO18 |
PIC16F84 |
1024 (Flash) |
68 (64EE) |
10 |
D18, SO18 |
PIC16C923 |
4096 |
176 |
8 |
SP64, L68, PT64 |
PIC16C924 |
4096 |
176 |
8 |
SP64, CL68, L68, PT64 |
1.1.2 Микроконтроллеры подгруппы PIC16F8X
Микроконтроллеры подгруппы PIC 16F8X относятся к семейству 8-разрядных КМОП микроконтроллеров группы PIC16CXXX, для которых характерны низкая стоимость, полностью статическая КМОП-технология и высокая производительность.
В состав подгруппы входят МК PIC16F83, PIC16CR83, PIC16F84 и PIC16CR84.
Все микроконтроллеры подгруппы PIC16F8X используют гарвардскую архитектуру с RISC-процессором, обладающую следующими основными особенностями:
Параметр |
PIC16F83 |
PIC16CR83 |
PIC16F84 |
PIC16CR84 |
Максимальная частота, МГц |
10 |
10 |
10 |
10 |
Flash-память программ, слов |
512 |
- |
IK |
- |
ПЗУ программ, слов |
- |
512 |
- |
IK |
Память данных, байт |
36 |
36 |
68 |
68 |
Память данных в РПЗУ (EEPROM), байт |
64 |
64 |
64 |
64 |
Таймеры |
TMRO |
TMRO |
TMRO |
TMRO |
Число источников прерываний |
4 |
4 |
4 |
4 |
Диапазон напряжений питания, В |
2.0-6.0 |
2.0-6.0 |
2.0-6.0 |
2.0-6.0 |
Число выводов и тип корпуса |
18 DIP, SOIC |
18 DIP, SOIC |
18 DIP, SOIC |
18 DIP, SOIC |
Микроконтроллеры подгруппы PIC16F8X обладают развитыми возможностями ввода/вывода:
Специализированные микроконтроллерные функции включают следующие возможности:
КМОП технология обеспечивает МК подгруппы PIC16F8X дополнительные преимущества:
Микроконтроллеры подгруппы PIC16F8X различаются между собой только объемом ОЗУ данных, а также объемом и типом памяти программ. Наличие в составе подгруппы МК с Flash-памятью программ облегчает создание и отладку прототипов промышленных образцов изделий.
Особенности архитектуры
Упрощенная архитектура PIC16F8X приведена на рисунке ниже
Архитектура основана на концепции раздельных шин и областей памяти для данных и для команд (гарвардская архитектура). Шина данных и память данных (ОЗУ) - имеют ширину 8 бит, а программная шина и программная память (ПЗУ) имеют ширину 14 бит. Такая концепция обеспечивает простую, но мощную систему команд, разработанную так, что битовые, байтовые и регистровые операции работают с высокой скоростью и с перекрытием по времени выборок команд и циклов выполнения. 14-битовая ширина программной памяти обеспечивает выборку 14-битовой команды в один цикл. Двухступенчатый конвейер обеспечивает одновременную выборку и исполнение команды. Все команды выполняются за один цикл, исключая команды переходов.
Микроконтроллеры PIC16F83 и PIC16CR83 адресуют 512x14 памяти программ, a PIC16F84 и PIC16CR84 - 1Кх14 памяти программ. Вся память программ является внутренней.
Микроконтроллер может прямо или косвенно обращаться к регистрам или памяти данных. Все регистры специальных функций, включая счетчик команд, отображаются на память данных. Ортогональная (симметричная) система команд позволяет выполнять любую команду над любым регистром с использованием произвольного метода адресации. Ортогональная архитектура и отсутствие специальных исключений делает программирование МК группы PIC16F8X простым и эффективным.
Назначение выводов МК подгруппы PIC16F8X
Обозначение |
Тип |
Буфер |
Описание |
OSC1/CLKIN |
I |
ТШ/КМОП 3) |
Вход кристалла генератора, RC-цепочки или вход внешнего тактового сигнала |
OSC2/CLKOUT |
O |
- |
Выход кристалла генератора. В RC-режиме - выход 1/4 частоты OSC1 |
/MCLR |
I/P |
ТШ |
Сигнал сброса/вход программирующего напряжения. Сброс низким уровнем |
RA0 |
I/O |
ТТЛ |
PORT A - двунаправленный порт ввода/вывода |
RA1 |
I/O |
ТТЛ |
|
RA2 |
I/O |
ТТЛ |
|
RA3 |
I/O |
ТТЛ |
|
RA4/TOCKI |
I/O |
ТТЛ |
RA4/TOCKI может быть выбран
как тактовый вход таймера/ |
RB0/INT |
I/O |
ТТЛ/ТШ " |
PORT B - двунаправленный порт ввода/вывода. Может быть запрограммирован в режиме внутренних активных нагрузок на линию питания по всем выводам. |
RB1 |
I/O |
ТТЛ |
Вывод RBO/INT может быть выбран как внешний вход прерывания. |
RB2 |
I/O |
ТТЛ |
Выводы RB4...RB7 могут быть программно настроены как входы прерывания по изменению состояния на любом из входов. |
RB3 |
I/O |
ТТЛ |
При программировании МК RB6 используется как тактовый, а RB7 как вход/выход данных |
RB4 |
I/O |
ТТЛ |
|
RB5 |
I/O |
ТТЛ |
|
RB6 |
I/O |
ТТЛ/ТШ 2) |
|
RB7 |
I/O |
ТТЛ/ТШ 2) |
|
Vdd |
P |
- |
Положительное напряжение питания |
Vss |
P |
- |
Общий провод (земля) |
Микроконтроллер содержит 8-разрядное АЛУ и рабочий регистр W. АЛУ является арифметическим модулем общего назначения и выполняет арифметические и логические функции над содержимым рабочего регистра и любого из регистров контроллера. АЛУ может выполнять операции сложения, вычитания, сдвига и логические операции. Если не указано иное, то арифметические операции выполняются в дополнительном двоичном коде.
В зависимости от результата операции, АЛУ может изменять значения бит регистра STATUS: С (Carry), DC (Digit carry) и Z (Zero).
1.2. Программное обеспечение MPLAB
MPLAB - представляет собой единую
бесплатную интегрированную
Программная
оболочка MPLAB обладает широкими возможностями
для написания исходного кода программы,
дальнейшей отладки текста с исправлением
ошибок и предупреждений и финальной оптимизации
проекта. Для того чтобы реализовать столь
обширные функций в MPLAB входят следующие
модули:
• менеджер проектов (Project Manager) для управления
различными файлами рабочих групп;
• редактор (Editor), в котором авторы создают
свои программы и поправляют их;
• встроенный отладчик микроконтроллеров
PIC16F87X MPLAB ICD;
• симулятор MPLAB-SIM, пошагово моделирующий
работу программы в микросхеме;
• эмуляторы MPLAB-ICE, PICMASTER-CE и PICMASTER для виртуального
представления поведения контроллера
на аппаратуре разработчика в режиме реального
времени;
• целый ряд компиляторов (MPLAB C-17, MPLAB С-18,
MPASM, MPLINK), преобразующих исходный код,
написанный на разных языках программирования
(ассемблер, Си);
• редактор библиотек MPLIB;
• программаторы PRO MATE и PICSTART plus, обеспечивающие
перенос программ во внутреннюю память
микроконтроллеров.
Также возможно подключение дополнительных
модулей, разработанных сторонними специалистами.
MPLAB - интегрированная среда разработки (IDE) | |
MPLAB представляет собой законченную среду разработки, интегрируя несколько инструментальных средств:
|