Автор работы: Пользователь скрыл имя, 16 Ноября 2011 в 16:49, курсовая работа
Микропроцессор – функционально законченное устройство обработки информации, управляемое хранимой в памяти программой. Появление микропроцессоров (МП) стало возможным благодаря развитию интегральной электронике. Это позволило перейти от схем малой и средней степени интеграции к большим и сверхбольшим интегральным микросхемам (БИС и СБИС).
Введение…………………………………………………………………….1
Глава 1. Микроконтроллеры……………………………………………….6
1.1 Микроконтроллеры………………..…………………………………...6
1.2 Описание микроконтроллера PIC18FXX2………..…………………..9
Глава 2. Программирование микроконтроллеров………………….........17
2.1. Программирование микроконтроллеров PIC16/PIC18 на языке C...17
Глава 3. Сборка устройства……………………………………………….21
3.1 Система виртуального моделирования PROTEUS VSM………….21
3.2 Сборка схемы………………………………………………………….24
3.3 Программирование и настройка контроллера………………………26
Заключение……………………………………………………………….42
Список литературы……………………………………………………...43
2. Старшие биты адреса регистра ОЗУ берутся из регистра BSR (кроме команды MOVFF).
3. Большинство
каналов ввода/вывода
Примечания:
1. Подключение
вывода CCP2 к каналу порта ввода/вывода
RB3 определяется битом
микроконтроллера.
2. Старшие биты адреса регистра ОЗУ берутся из регистра BSR (кроме команды MOVFF).
3. Большинство
каналов ввода/вывода
Обозначения:
TTL = ТТЛ совместимый вход
CMOS = КМОП совместимый вход/выход
ST = вход с
триггером Шмитта и КМОП
I = вход
O = выход
P = питание
OD = выход с
открытым коллектором (нет
AN = аналоговый вход
Обзор характеристик
Высокоскоростной RISC процессор
• Быстродействие до 10MIPS:
- Тактовая частота от DC до 4МГц
- Тактовая частота в режиме PLL от 4МГц до 10МГц
• 16-разрядные команды, 8-разрядные данные
• Система приоритетов прерываний
• Аппаратное умножение 8х8 за один машинный
Глава 2. Программирование микроконтроллеров PIC16/PIC18 на языке C.
Необходимый минимум:
ПО:
— MPLAB;
— собственно компилятор C;
— Proteus ISIS;
Железо:
— отладочная плата;
— программатор.
MPLAB — среда разработки от Microchip.
Скачать можно на официальном сайте.
Полностью бесплатна.
Содержит компилятор с языка ассемблера,
позволяет провести полный цикл разработки
в том числе и прошивку(при наличии соответствующего
программатора).
Большинство компиляторов языка C имеют
механизмы встраивания в эту среду.
Качаем обязательно.
Компилятор C.
Здесь уже немного сложнее с выбором.
Список того, на что я советую обратить
внимание:
— CCS PICC;
— Micro-C;
— IAR C;
— HT-PICC;
— Microchip C18;
CCS PICC. Платный. В своем составе содержит
неплохую IDE. Возможна интеграция с MPLAB
с помощью плагина.
Существует демо-версия с ограниченичем
по размеру кода и отключеннными некоторыми
функциями.
Узнать о нем можно в очень хорошей книге
товарища Шпака «Программирование
на языке C для AVR и PIC
микроконтроллеров».
Весьма неплох. Используется многими.
Информации в сети достаточно. Вакцина
существует.
Micro-C. Платный. От копании mikroElektronika.
В своем составе содержит весьма удобную
IDE, симулятор и небольшой набор полезных
инструментов.
Широкий ассортимент поддерживаемых устройств.
Главный плюс для начинающего — огромная
библиотека модулей и примеров к ним. По
этому параметру аналогов нет.
Есть документация на русском. Вакцина
существует.
Лучший выбор для начинающего,
но не более.
IAR C. Платный. Очень объемный проект.
Поддержка огромного количества устройств
и PIC18 в том числе.
Аналогов по функционалу и возможностям
наверное нет.
Демо-версия существует, с ограничениями
естественно.
Не лучший выбор для
новичка. Хорошо подойдет в будущем,
если желание работать с МК не пропадет:-)
HT-PICC. Платный. Поддержка многих устройств.
Существуют верссии для Linux и Mac.
Будет использоваться
мною в статьях для программирования PIC16.
У меня версия — 8.05PL1.
Microchip C18. Платный. Существует студенческая
версия с полным функционалом на 2 месяца.
Будет использоваться
мною в статьях о программировании PIC18.
У меня версия — 3.33.
едем дальше.
Proteus ISIS. одна из составляющих проекта
Proteus от Labcent Electronics.
Симулятор-отладчик. Лучший вариант когда
под рукой нет необходимого железа.
Информации о нем в сети предостаточно.
Качаем обязательно.
У меня версия — 7.5_SP3.
Железо.
Не буду советовать конкретной отладочной
платы или схемы для нее из-за трудностей
вопросов купить/спаять/достать для каждого
индивидуально.
Скажу лишь что буду давать примеры для
PIC16F628A и PIC18F4550.
С программатором в принципе тоже самое.
Но советую PICkit2.
Теперь практика.
Сперва речь буду вести о PIC16.
Ну и для вводной статьи напишем и запустим
простейшую программу
Скачали MPLAB. У меня версия 8.36.
Скачали HT-PICC. У меня версия — 8.05PL1.
Скачали Proteus. У меня версия — 7.5_SP3.
Все установили — все работает.
Выполняем все рекомендации по установке.
Если не работает — решаем проблемы.
Запускаем MPLAB.
Идем Project -> Set Language Tool Locations. Ищем
в списке HI-TECH PICC Toolsuite.
Открываем Executables. И указываем для
компиляторов и линковщика соответствующий
установке путь. Жмем ОК.(Рис.1)
Жмем Project -> Project Wizard. Выбираем PIC16F628A.
Выбираем HI-TECH PICC Toolsuite. Выбираем имя
нового проекта.
Получаем пустой проект.
Жмем File -> New. Сохраняем файл в папке
проекта под именем main.c.
Жмем в менеджере проекта на Source Files ->
Add files и добавляем наш main.c
Пишем код:
void main(void)
{
while(1);
}
Жмем F10.
Должны увидеть сообщение об удачном завершении.(Рис.2)
В корне проекта появится файл с расширением
.hex.
Этим файлом можно прошить МК и посмотреть
как он ничего не делает:-)
В этой я лишь хотел помочь сделать выбор,
и настроить ПО для дальнейшей работы.
Глава 3. Сборка устройства
3.1 Система виртуального моделирования PROTEUS VSM.
Наверняка
многие начинающие радиолюбители сталкивались
с ситуацией когда, решив собрать
понравившееся и, несомненно, нужное
устройства, по неопытности а может
из за ошибок в схеме или же по
другим «форс-мажорным»
В
наш век повальной
Одна из таких программ PROTEUS VSM. Но симуляция радиоэлементов это не единственная способность программы. Proteus VSM , зозданная фирмой LabcenterElectronics на основе ядра SPICE3F5 университета Berkeley, является так называемой средой сквозного проектирования. Это означает создание устройства, начиная с его графического изображения (принципиальной схемы) и заканчивая изготовления печатной платы устройства, с возможностью контроля на каждом этапе производства.
Но, не смотря на кажущуюся сложность программы, пользоваться ей смогут не только профессионалы в мире радиоэлектроники, но и новички, научившиеся, аможет пока еще и нет, отличать резистор от транзистора.
В
«сферу-влияний» PROTEUS VSM входят как простейшие
аналоговые устройства так и сложные
системы созданные на популярных
ныне микроконтроллерах. Доступна огромная
библиотека моделей элементов, пополнять
которую может сам
Программа не прихотлива к системным требованиям. Как заявлено создателями работает в Windows 98/Me/2k/XP и выше. Запускается даже на Pentium I 150 МГц. Но все-таки для комфортной работы и более полного использования возможностей программ рекомендуется процессор не ниже 500 МГц, объем оперативной памяти 64 МБ, звуковая карта совместимая с DirectX и разрешение монитора не ниже 1024 х 768 точек.
Proteus
VSM поумолчаниюустанавливаетсявпап
Proteus
VSM состоит из двух
Основной программой является ISIS, в ней предусмотрена горячая связь с ARES для передачи проекта для разводки платы.
Окно
запуска программы (рис. 3)
Самое большое пространство отведено под окно редактирования EDIT WINDOW . Именно в нем происходят все основные процессы создания, редактирования и отладки схемы устройства.
Слева вверху маленькое окно предварительного просмотра OverviewWindowс его помощью можно перемещаться по окну редактирования (щелкая левой кнопкой мыши по окну предварительного просмотра, мы перемещаем окно редактирования по схеме, если конечно схема не вмещается в окно).
OverviewWindow (рис. 4)
Перемещать окно редактирования по схеме можно еще так - удерживая нажатой кнопку SHIFT двигать курсор мыши, не нажимая ее кнопок, по окну редактирования.
Приближать и отдалять схему в окне можно соответственно кнопками F6 и F7 или же колесом мыши, F5 центрирует схему в окне а нажатие F8 подгоняет размер схемы под окно редактирование.
Под окном предварительного просмотра находится ObjectSelector список выбранных в данный момент компонентов, символов и других элементов. В деленный в списке объект отображается в окне предварительного просмотра.
Все
возможные функции и
Нижняя часть окна Proteus VSM (рис. 5)
В самом низу основного окна расположены: слева направо кнопки вращения и разворота объекта вокруг своей оси, панель управления интерактивной симуляцией (выглядит как магнитофонная и функции такие же:ПУСК-ПОШАГОВЫЙ РЕЖИМ-ПАУЗА-СТОП).
Панель управления интерактивной симуляцией (рис. 6)
3.2 Сборка схемы
За основу проекта была взята схема термометра MAX6675.
Для сборки схемы в PROTEUS VSM нам понадобятся следующие компоненты из библиотеки компонентов:
Соберем следующую схему
Схема
устройства (рис. 7)
Свойства микроконтролера
Свойства компонентов PULLUP (рис. 8)
Свойства компонента TC4468:
Свойства
компонента D1 (рис. 9)
Свойства компонентов
D1-D4, будут отличаться только обозначениями.
Свойства компонентов D4 (рис. 10)
Cвойство компонентов С4(Рис.11)
3.3 Программирование и настройка контроллера
Для программирования микроконтроллера PIC18F452 необходимо создать ASM файл со следующим кодом:
include "P18F452.inc"
__HEAPSTART
__HEAPEND
gbl_porta
gbl_portb
gbl_portc
gbl_portd
gbl_porte
gbl_lata
gbl_latb
gbl_latc
gbl_latd
gbl_late
gbl_trisa
gbl_trisb
gbl_trisc
gbl_trisd
gbl_trise
gbl_pie1
gbl_pir1
gbl_ipr1
gbl_pie2
gbl_pir2
gbl_ipr2
gbl_eecon1
gbl_eecon2
gbl_eedata
gbl_eeadr
gbl_rcsta
gbl_txsta
gbl_txreg
gbl_rcreg
gbl_spbrg
gbl_t3con
gbl_tmr3l
gbl_tmr3h
gbl_ccp2con
gbl_ccpr2l
gbl_ccpr2h
gbl_ccp1con
gbl_ccpr1l