
- •Общие сведения о микроконтроллере с8051f340
- •Процессорное ядро cip-51тм
- •Система команд
- •Команды и тактирование
- •Организацияпамяти
- •Память программ
- •Память данных
- •Регистры общего назначения
- •Ячейки памяти с битовой адресацией
- •Команда movx и память программ
- •Память данных
- •Написание и отладка программ на лабораторном стенде.
- •Основы ассемблера
- •Методика работы со стендом
- •Настройка программного обеспечения
- •Редактирование и отладка программ.
- •Задание и порядок выполнения лабораторных работ
- •4.2 Лабораторная работа 2.«Работа с внешними устройствами»
- •Лабораторная работа 3.«Работа с таймерами и системой прерываний»
- •Система прерываний
- •Регистр масок прерывания (ie)
- •Регистр приоритетов прерываний
- •4.4 Лабораторная работа 4. «Работа с клавиатурой и семисегментными индикаторами»
- •Контрольные вопросы к лабораторной работе № 4
- •Литература
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«Новосибирский государственный технический университет»
Кафедра электронных приборов
Методические указания
для лабораторных работ по дисциплине
«Автоматизация эксперимента»
Составил: Микерин В.А.
Руководитель: Макуха В.К.
Дата: 15.05.2010
Версия: 1.0
Новосибирск 2010
Содержание
1 ОБЩИЕ СВЕДЕНИЯ О МИКРОКОНТРОЛЛЕРЕ С8051F340 4
1.1 Процессорное ядро CIP-51ТМ 4
1.2 Система команд 4
1.3 Команды и тактирование 4
1.4 Организацияпамяти 5
1.4.1 Память программ 5
1.4.2 Память данных 6
1.4.3 Стек 6
1.4.4 Регистры общего назначения 7
1.4.5 Ячейки памяти с битовой адресацией 7
1.4.6 Команда MOVX и память программ 8
2 Написание и отладка программ на лабораторном стенде. 10
2.1 Основы ассемблера 10
2.2 Методика работы со стендом 11
2.3 Настройка программного обеспечения 12
2.4 Редактирование и отладка программ. 14
3. ЗАДАНИЕ И ПОРЯДОК ВЫПОЛНЕНИЯ ЛАБОРАТОРНЫХ РАБОТ 15
Домашняя подготовка к работе и оформление отчета 15
4 КОМПЛЕКС ЛАБОРАТОРНЫХ РАБОТ 16
2.5 Лабораторная работа 1. «Изучение системы команд и основных принципов программирования микроконтроллеров» 16
Цель работы: 16
Знакомства с отладочной средой для разработки программного обеспечения микроконтроллеров. 16
Знакомства с основами языка Ассемблер изучаемого микроконтроллера. 16
Изучения принципов программирования микроконтроллеров. 16
Изучения основ организации и функционирования ядра и различных видов памяти микроконтроллеров. 16
Теоретические сведения 16
Ниже приведен возможный перечень заданий для выполнения. Конкретные параметры (адреса, количество пересылаемых байт и т.д.) получаются у преподавателя индивидуально. 16
1Написать программу складывающую два числа, находящихся во внутренней памяти данных, и помещающую результат вычисления в ячейку памяти следующую за аргументами. 16
2 Написать программу складывающую массив чисел находящихся во внутренней памяти данных, и помещающую результат(двухбайтный) после массива. 16
3Написать программу складывающую два массива чисел расположенных во внутренней памяти данных и заносящую результат в третий массив. 16
4Написать программу нахождения контрольной суммы содержимого внешней памяти данных. 17
5Написать программу, находящую среднее арифметическое содержимого памяти программ. 17
После реализации каждого пункта и демонстрации его работы преподавателю, студент получает индивидуальное задание на модификацию программ. 17
4.2 Лабораторная работа 2.«Работа с внешними устройствами» 18
4.3 Лабораторная работа 3.«Работа с таймерами и системой прерываний» 25
4.4 Лабораторная работа 4. «Работа с клавиатурой и семисегментными индикаторами» 38
38
Схема подключения 7-сегментного индикатора 38
1. Часы. 41
2. Конвертер DEC->HEX. 42
3. Бегущая цифровая строка. 42
4. Простой калькулятор. 42
5. Таймер. 42
6. Измеритель длительности импульса. 42
Литература 46
Данный лабораторный практикум предназначен для практического закрепления знаний полученных в лекционном курсе «Автоматизация эксперимента» и приобретения опыта программирования микроконтроллеров на языке ассемблер. Практикум разработан на базе лабораторного стенда с 51-совместимым микроконтроллером фирмы Silabs C8051F340.
Общие сведения о микроконтроллере с8051f340
В данной работе изучаются 8051-совместимые микроконтроллеры на примере МК C8051F340 фирмы SiLabs. Ниже дан небольшой краткий теоретический и справочный материал, необходимый для выполнения данных лабораторных работ. Более подробную информацию можно получить в конспектах лекций и учебниках, а также документации на данный микроконтроллер.
Процессорное ядро cip-51тм
МК семейства C8051FХХХ используют разработанное фирмой Cygnal процессорное ядро CIP-51, которое по системе команд полностью совместимо с ядром MCS-51TM. Для разработки программного обеспечения могут использоваться стандартные 803x/805x ассемблеры и компиляторы. Ядро содержит все периферию, соответствующую стандарту 8052, включая четыре 16-разрядных таймера/счетчика, полнодуплексный УАПП, 256 байт внутреннего ОЗУ, 128 байт для регистров специального назначения, а также четыре 8-разрядных порта ввода/вывода.
Система команд
Система команд CIP-51 полностью совместима с системой команд MCS-51™, поэтому разработка программного обеспечения может осуществляться с использованием средств проектирования для стандартной архитектуры 8051. Все команды CIP-51 являются двоичным и функциональным эквивалентом аналогичных команд MCS-51™, включая коды операций, режимы адресации и изменение флагов состояния. Однако, по времени выполнения команды отличаются.
Команды и тактирование
Во многих МК с архитектурой 8051 существует различие между машинным циклом и циклом тактирования, при этом машинный цикл длится от 2 до 12 циклов тактирования. Однако, CIP-51 основан исключительно на синхронизации тактовым сигналом и все временные параметры команд приводятся на основе циклов тактирования.
Благодаря конвейерной архитектуре CIP-51, количество тактовых циклов, требуемых для выполнения большинства команд, равно количеству байтов в команде. Команды условных переходов требуют для завершения на один цикл меньше, если переход не происходит (по сравнению с тем случаем, когда переход происходит). Система команд CIP-51 приведена в приложении А, которая содержит мнемонику, количество байтов и количество тактовых циклов для каждой команды.
Организацияпамяти
Организация памяти МК с ядром CIP-51 соответствует стандарту 8051. Имеется две отдельных области памяти, память программ и память данных, которые разделяют одно и то же адресное пространство, но доступ к ним осуществляется командами различного типа. Объем внутренней памяти данных составляет 256 байт. Адресное пространство внутренней памяти программ составляет 64 Кбайт. Организация памяти CIP-51 показана ниже на рис. 1.
Память программ
CIP-51 имеет адресное пространство памяти программ 64 Кбайт.
C8051F340 содержит 64 Кбайт памяти программ, которая является внутрисистемной перепрограммируемой Flash-памятью, занимающей непрерывный блок адресов от 0x0000 до 0xFFFF. Адреса 0xFC00 – 0xFFFF этой памяти зарезервированы для целей производителя и не доступны для хранения программ пользователя.
По умолчанию память программ настраивается только для чтения. Однако CIP-51 может записывать данные в память программ (с использованием команды MOVX), для чего необходимо установить в 1 бит разрешения записи памяти программ (PSCTL.0). Эта возможность позволяет CIP-51 обновлять программный код и использовать память программ для долговременного хранения данных.