Проектирование электронного кодового замка с фиксированным кодом «00002» на микроконтроллере серии PIC

Автор работы: Пользователь скрыл имя, 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. Листинг программы …………………………………………………………..
Список использованной литературы....……………………………………..…….

Файлы: 1 файл

kursovaya_rabota_po_mikroprotsessoram.docx

— 504.11 Кб (Скачать файл)

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пусах. 

      1. Микроконтроллеры семейства PIC16CXXX

Среднее семейство 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-процессором, обладающую следующими основными особенностями:

 

  • используются только 35 простых команд;
  • все команды выполняются за один цикл (400 не при частоте 10 МГц), кроме команд перехода, которые требуют 2 циклов;
  • рабочая частота 0 Гц - 10 МГц;
  • раздельные шины данных (8 бит) и команд (14 бит);
  • 512х14 или 1024х14 память программ, выполненная на ПЗУ или электрически перепрограммируемой Flash-памяти;
  • 15 восьмиразрядных регистров специальных функций (SFR);
  • восьмиуровневый аппаратный стек;
  • прямая, косвенная и относительная адресация данных и команд;
  • 36 или 68 восьмиразрядных регистров общего назначения (GPR) или ОЗУ;
  • четыре источника прерывания:
  • внешний вход RBO/INT;
  • переполнение таймера TMRO;
  • изменение сигналов на линиях порта В;
  • завершение записи данных в память EEPROM;
  • 64 х 8 электрически перепрограммируемая EEPROM память данных с возможностью выполнения 1 000 000 циклов стирания/записи;
  • сохранение данных в EEPROM в течение как минимум 40 лет.

 

 

 

 

 

 

 

Параметр

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 обладают развитыми возможностями ввода/вывода:

 

  • 13 линий ввода-вывода с индивидуальной установкой направления обмена;
  • высокий втекающий/вытекающий ток, достаточный для управления светодиодами:
  • максимальный втекающий ток - 25 мА;
  • максимальный вытекающий ток - 20 мА;
  • 8-битный таймер/счетчик TMRO с 8-битным программируемым предварительным делителем.

 

Специализированные микроконтроллерные функции включают следующие возможности:

 

  • автоматический сброс при включении (Power-on-Reset);
  • таймер включения при сбросе (Power-up Timer);
  • таймер запуска генератора (Oscillator Start-up Timer);
  • сторожевой (Watchdog) таймер WDT с собственным встроенным генератором, обеспечивающим повышенную надежность;
  • EEPROM бит секретности для защиты кода;
  • экономичный режим SLEEP;

  • выбираемые пользователем биты для установки режима возбуждения встроенного генератора;
  • последовательное встроенное устройство программирования Flash/EEPROM памяти программ и данных с использованием только двух выводов.

 

КМОП технология обеспечивает МК подгруппы PIC16F8X дополнительные преимущества:

 

  • статический принцип работы;
  • широкий диапазон напряжений питания: 2,0-6,0 В;
  • низкое энергопотребление:
  • менее 2 мА при 5В и 4МГц;
  • порядка 15 мкА при 2В и 32КГц;
  • менее 1 мкА для SLEEP-режима при 2В.

 

 

 

Микроконтроллеры подгруппы 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 может быть выбран  как тактовый вход таймера/счетчика TMRO. Выход с открытым стоком

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

-

Общий провод (земля)


 

 

 

 

  • I - вход;
  • О - выход;
  • I/O - вход/выход;
  • Р - питание;
  • - - не используется;
  • ТТЛ - ТТЛ вход;
  • ТШ - вход триггера Шмитта.

 

Микроконтроллер содержит 8-разрядное АЛУ и рабочий регистр W. АЛУ является арифметическим модулем общего назначения и выполняет арифметические и логические функции над содержимым рабочего регистра и любого из регистров контроллера. АЛУ может выполнять операции сложения, вычитания, сдвига и логические операции. Если не указано иное, то арифметические операции выполняются в дополнительном двоичном коде.

 

В зависимости от результата операции, АЛУ может изменять значения бит регистра STATUS: С (Carry), DC (Digit carry) и Z (Zero).

 

1.2. Программное обеспечение  MPLAB

 

MPLAB - представляет собой единую  бесплатную интегрированную среду  разработки для контроллеров  производства Microchip.

Программная оболочка 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 представляет собой законченную среду разработки, интегрируя несколько инструментальных средств:

  • MPLAB менеджер проектов (project Manager). Используется для создания проектов и работы со связанными файлами.
  • MPLAB редактор (Editor). Используется для создания и редактирования текстовых файлов, таких как исходные и файлы сценариев компоновки.
  • MPLAB-SIM симулятор (Simulator). Позволяет моделировать выполнение команд и входные/выходные сигналы микроконтроллеров.
  • MPLAB-ICE внутрисхемный эмулятор (Emulator). Позволяет, используя дополнительные аппаратные средства и компьютер, заменять микроконтроллер в разрабатываемом устройстве  в реальном времени. MPLAB-ICE  самый новый эмулятор от Microchip.
  • MPASM универсальный ассемблер.
  • MPLINK компоновщик (linker). создает законченное приложение, связывая перемещаемые модули  MPASM, MPLAB-C17, и MPLAB-C18
  • MPLIB управляет пользовательскими библиотеками.
  • MPLAB-CXX  компилятор C. Позволяет включать в проект исходные тексты написанные на языке высокого уровня С и на ассемблере.
  • PRO MATE II и PICSTART Plus программаторы. 
  • PICMASTER и PICMASTER-CE внутрисхемные эмуляторы.
  • Инструментальные средства  других производителей.

Информация о работе Проектирование электронного кодового замка с фиксированным кодом «00002» на микроконтроллере серии PIC