Автор работы: Пользователь скрыл имя, 17 Апреля 2013 в 10:57, курсовая работа
Семейство 8-разрядных микроконтроллеров 68НМ08/908, выпуск которых начался в 1995г., является дальнейшим развитием семейства 68НС05/705. В этом семействе реализованы концепции, которые обеспечивают существенное увеличение производительности микроконтроллеров и расширение их функциональных возможностей. Микроконтроллеры этого семейства предназначены для замены семейства 68НС05/705 в новых разработках. Сохраняя архитектуру семейства 68НС05/705, микроконтроллеры 68НС08/908 позволяют обеспечить более высокие технико-экономические характеристики устройств, реализуемых на их основе.
ВВЕДЕНИЕ 4
1. Теоретическая часть
1.1. Структура микроконтроллера MC68HC908GP32 5
1.2. Организация памяти и портов ввода/вывода микроконтроллера 8
1.3. Организация прерываний в микроконтроллере 12
1.4. Цифровая индикация 15
2. Разработка аппаратной части МКУ
2.1. Постановка задачи 19
2.2. Разработка функциональной схемы 20
2.3. Описание принципиальной электрической схемы МКУ 21
3. Разработка программного обеспечения МКУ
3.1. Описание интегрированной среды разработки WinIDE 25
3.2. Описание программы 29
ЗАКЛЮЧЕНИЕ 34
Список используемой литературы 35
Министерство образования и науки Российской Федерации
Федеральное агентство по образованию
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ ЭНЕРГЕТИЧЕСКИЙ УНИВЕРСИТЕТ»
Кафедра Промышленной электроники
КУРСОВАЯ РАБОТА
по дисциплине:
ОСНОВЫ МИКРОПРОЦЕССОРНОЙ ТЕХНИКИ
Студент: Решетникова А.Б.
Группа: ВПЭ-1-04
Преподаватель: Ахметвалеева Л.В.
КАЗАНЬ
2008
Кафедра промышленной электроники
Задание на курсовой проект
Дисциплина: _____________________________
Студент:
_____________________________
Группа:
_____________________________
Тема:
_____________________________
Технические условия
______________________________
______________________________
Дата выдачи работы ______________________
Срок окончания
Руководитель
Проект защищен оценкой
Содержание
ВВЕДЕНИЕ 4
1. Теоретическая часть
1.3. Организация прерываний в микроконтроллере 12
2. Разработка аппаратной части МКУ
3. Разработка программного обеспечения МКУ
ЗАКЛЮЧЕНИЕ 34
Список используемой литературы 35
Приложения
ВВЕДЕНИЕ
Семейство 8-разрядных микроконтроллеров 68НМ08/908, выпуск которых начался в 1995г., является дальнейшим развитием семейства 68НС05/705. В этом семействе реализованы концепции, которые обеспечивают существенное увеличение производительности микроконтроллеров и расширение их функциональных возможностей. Микроконтроллеры этого семейства предназначены для замены семейства 68НС05/705 в новых разработках. Сохраняя архитектуру семейства 68НС05/705, микроконтроллеры 68НС08/908 позволяют обеспечить более высокие технико-экономические характеристики устройств, реализуемых на их основе. Следует отметить, что в составе этого семейства преобладают модели, содержащие FLASH-память (подсемейство 68НС908), что обеспечивает возможность их широкого использования в изделиях малой серийности. Следует отметить программную совместимость «снизу вверх» процессоров семейств 68НС07/705 и 68НС08/908, что позволяет без изменения использовать в микроконтроллерах 68НС08/708 объектные коды, ранее созданные для 68НС05/705.
Целью работы является изучение подключения к микропроцессору и программирования различных типов устройств: семисегментных индикаторов, пьезодинамика, работу с двоичными датчиками.
Микроконтроллерное устройство должно быть разработано на базе восьмиразрядного микроконтроллера семейства 68НС908.
1. Теоретическая часть
1.1. Структура микроконтроллера MC68HC908GP32
Микроконтроллеры (МК) представляют собой законченную микропроцессорную систему обработки информации, которая реализована в виде одной большой интегральной микросхемы. МК объединяет в пределах одного полупроводникового кристалла основные функциональные блоки МП управляющей системы: центральный процессор (ЦПУ), постоянное запоминающее устройство (ПЗУ), оперативное запоминающее устройство (ОЗУ), периферийные устройства для ввода и вывода информации (УВВ).
Микроконтроллер MC68HC908GP32 содержит 8-разрядный процессор CPU08, Flash-память емкостью 32 Кбайт, ОЗУ данных емкостью 512 байт и набор служебных и периферийных модулей.
Процессор CPU08 выполняет обработку
8-разрядных операндов и реализ
- генератор тактовых импульсов CGM08;
- модуль системной интеграции SIM08;
- модуль контроля напряжения питания LVI08;
- модуль прерывания в
- модуль управления внешним прерыванием IRQ08;
- сторожевой таймер COP08;
- базовый таймер TBM08.
Модуль генератора импульсов CGM08 генерирует импульсные сигналы, на базе которых модуль системной интеграции SIM08 формирует тактовые импульсы. Выходные сигналы модуля CGM08 определяют частоту тактовых импульсов для работы процессора и периферийных модулей.
Модуль системной интеграции SIM08 выполняет ряд функций, обеспечивающих совместную работу различных модулей микроконтроллера. Он работает совместно с другими служебными модулями: CGM08, LVI08, IRQ08, BREAK08, COP08, выполняя формирование тактовых импульсов, запуск микроконтроллера, организацию обслуживания прерываний.
Модуль прерывания в контрольной точке BREAK08 обеспечивает останов выполнения программы в заданной контрольной точке и используется в процессе отладки программного обеспечения.
Модуль управления внешним прерыванием IRQ08 принимает внешний запрос прерывания, поступающий на вход IRQ#, и обеспечивает различные варианты его обслуживания.
Сторожевой таймер COP08 осуществляет контроль выполнения текущей программы.
Модуль LVI08 вырабатывает сигнал перезапуска микроконтроллера при снижении его напряжения питания ниже порогового уровня.
Модуль базового таймера TBM08 обеспечивает периодическое формирование запросов прерывания.
Периферийные модули обеспечивают обмен данными и совместную работу микроконтроллера с другими устройствами, входящими в состав системы управления.
Микроконтроллер MC68HC908GP32 содержит следующие периферийные модули:
- пять параллельных портов A, B, C, D, E для ввода-вывода данных;
- асинхронный последовательный порт SCI08;
- синхронный последовательный порт SPI08;
- модуль контроля клавиатуры KBI08;
- 8-разрядный аналого-цифровой преобразователь ADC08;
- два таймерных модуля TIM08.
Двунаправленные порты A, B, C, D, E обеспечивают параллельный обмен данными с внешними устройствами. Порты A, B имеют по 8 линий ввода-вывода, порт E - 2 линии, а порты C, D - от 5 до 8 линий в зависимости от числа выводов корпуса, в котором смонтирован микроконтроллер.
Выводы параллельных портов A, B, D, E совмещены с выводами других периферийных модулей - KBI08, ADC08, TIM08-1, TIM08-2, SPI08, SCI08.
При работе вышеуказанных модулей соответствующие выводы параллельных портов служат для передачи сигналов, необходимых для функционирования модуля, и не могут использоваться для параллельного ввода-вывода данных.
Последовательные порты SCI08, SPI08 реализуют соответственно последовательный асинхронный и синхронный обмен данными между микроконтроллером и внешними устройствами.
Таймерный модуль TIM08 выполняет широкий набор функций, включая фиксацию времени поступления входных сигналов, выдачу выходных сигналов в заданный момент времени, формирование последовательности импульсов заданной частоты и длительности.
Модуль аналого-цифрового
Модуль контроля клавиатуры KBI08 обеспечивает формирование запроса прерывания при поступлении сигнала на определенные входы параллельных портов, которые обычно используются для подключения клавиатуры.
1.2. Организация памяти и портов ввода/вывода микроконтроллера
Микроконтроллеры семейства 68HC08/908 адресуют 64 Кбайт внутренней памяти (адреса $0000-FFFF). Распределение адресного пространства задается, определяется объемом внутренней памяти и набором периферийных устройств, входящим в состав данной модели микроконтроллера. В табл. 1 приведена карта адресного пространства для микроконтроллеров MC68HC908GP32.
$0000 $003F |
Регистры периферийных и служебных модулей (64 байт) |
$0040 $023F |
ОЗУ данных (512 байт) |
$0080 $7FFF |
Не используется (32 192 байт) |
$8000 $FDFF |
Flash-память (32 256 байт) |
$FE00 |
Регистр SBSR (модуль BREAK08) |
$FE01 |
Регистр SRSR (указывает причину запуска) |
$FE02 |
Резервировано |
$FE03 |
Регистр SBFCR (модуль BREAK08) |
$FE04 |
Регистр INT1 (запросы прерывания) |
$FE05 |
Регистр INT2 (запросы прерывания) |
$FE06 |
Регистр INT3 (запросы прерывания) |
$FE07 |
Резервировано |
$FE08 |
Регистр FLCR (управление Flash-памятью) |
$FE09 |
Регистр BRKh (модуль BREAK08) |
$FE0A |
Регистр BRKl (модуль BREAK08) |
$FE0B |
Регистр BRKSCR (модуль BREAK08) |
$FE0C |
Регистр LVISR (модуль LVI08) |
$FE0D $FE1F |
Не используются (19 байт) |
$FE20 $FE52 |
ПЗУ – монитор отладки (307 байт) |
$FE53 $FF7D |
Не используются (43 байт) |
$FF7E |
Регистр FLBPR (управление Flash-памятью) |
$FF7F $FFDB |
Не используются (93 байт) |
$FFDC $FFFF |
Вектора запуска и прерываний (36 байт) |
Таблица 1.1. Карта адресного
пространства для
В адресном пространстве имеется ряд неиспользуемых позиций, которые соответствуют ячейкам памяти, отсутствующим в данной модели микроконтроллеров. При обращении к этим адресам производится перезапуск микроконтроллера.
Адрес |
Регистр |
Назначение |
$0000 |
PTA |
Регистры данных портов A, B, C, D |
$0001 |
PTB | |
$0002 |
PTC | |
$0003 |
PTD | |
$0004 |
DDRA |
Регистры направления передачи портов A, B, C, D |
$0005 |
DDRB | |
$0006 |
DDRC | |
$0007 |
DDRD | |
$0008 |
PTE |
Регистр данных порта E |
$000D |
PTAPUE |
Регистр управления подтягивающими резисторами порта A |
$0010 |
SPCR |
Регистры синхронного порта SPI08 |
$0011 |
SPSСR | |
$0012 |
SPDR | |
$001A |
INTKBSCR |
Регистры модуля KBI08 |
$001B |
INTKBIER | |
$001C |
TBCR |
Регистр базового таймера TBM08 |
$001D |
INTSCR |
Регистр прерываний |
$001E |
CONFIG2 |
Регистры конфигурации |
$001F |
CONFIG1 | |
$0020 |
T1SC |
Регистры таймерного модуля TIM08-1 |
$0021-22 |
T1CNTh-l | |
$0023-24 |
T1MODh-l | |
$0025 |
T1SC0 | |
$0026-27 |
T1CH0h-l | |
$0028 |
T1SC1 | |
$0029-2A |
T1CH1h-l | |
$003B |
PMDS | |
$003C |
ADSCR |
Регистры модуля ADC08 |
$003D |
ADR | |
$003E |
ADCLK |