- •2.Описание лабораторного стенда
- •3.Описание материнской платы
- •4.Использование пакета программ
- •4.1.Работа в интегрированной среде разработки Silicon Laboratories ide.
- •4.2.Пример работы с платой и ide.
- •5.Лабораторные работы
- •5.1.Работа №1 «Работа со светодиодным матричным дисплеем»
- •5.2.Работа №2 «Контроль температуры»
- •5.3.Работы №3,4 «Управление электродвигателями»
- •5.4.Работа №5 «Символьный экран и матричная клавиатура»
- •6.Описание встроенных периферии мк
- •6.1.Порты ввода/вывода. Матрица назначения выводов портов
- •6.1.1.Приоритетный декодер матрицы
- •6.1.2.Инициализация портов ввода/вывода
- •6.1.3.Порты ввода/вывода общего назначения
- •6.2.Таймеры/счетчики
- •6.2.1.Таймер 0 и Таймер 1
- •Режим 0: 13-разрядный таймер/счетчик
- •Режим 1: 16-разрядный Таймер/Счетчик
- •Режим 2: 8-разрядный таймер/счетчик с автоперезагрузкой
- •Режим 3: Два 8-разрядных таймера/счетчика (только Таймер 0)
- •6.2.2.Таймер 2
- •6.2.3.Таймер 3
- •6.3.Модули сравнения фиксации (программируемый массив счетчиков)
- •6.3.1.Таймер/счетчик модуля пмс
- •6.3.2.Модули захвата/сравнения
- •Режим захвата по фронту сигнала
- •Режим программного таймера (сравнения)
- •Режим высокоскоростного выхода
- •Режим выхода заданной частоты
- •Режим 8-разрядного широтно-импульсного модулятора
- •Режим 16-разрядного широтно-импульсного модулятора
- •6.3.3.Режим сторожевого таймера
- •Функционирование сторожевого таймера
- •Использование сторожевого таймера
- •6.4.Интерфейс spi
- •6.4.1.Описание сигналов
- •6.4.2.Функционирование spi0 в ведущем режиме
- •6.4.3.Функционирование spi0 в ведомом режиме
- •6.4.4.Источники прерываний модуля spi0
- •6.4.5.Тактирование
- •6.4.6.Регистры специального назначения модуля spi0
- •6.5.Интерфейс uart
- •6.5.1.Усовершенствованный режим генерации скорости передачи данных
- •6.5.2.Режимы работы uart0
- •6.6.Аналогово-цифровой преобразователь
- •6.6.1.Аналоговый мультиплексор
- •6.6.2.Режимы работы ацп0
- •Запуск преобразования
- •Режимы слежения
- •Время установления
- •6.6.3.Программируемый детектор диапазона ацп0
- •Детектор диапазона в однофазном режиме
- •Детектор диапазона в дифференциальном режиме
- •6.7.Цифро-аналоговый преобразователь
- •6.7.1.Обновление выходного сигнала цап0
- •Обновление выходного сигнала “по требованию”
- •Обновление выходного сигнала при переполнении таймера
- •Обновление выходного сигнала по фронту cnvstr
- •6.7.2.Форматирование входных данных цап
- •6.8.Генераторы
4.Использование пакета программ
Для разработки и отладки программ под свои микроконтроллеры, фирма Silicon Laboratories предлагает бесплатный программный продукт Silicon Laboratories IDE. Он представляет собой интегрированную среду разработки, которая позволяет писать исходный код на языках Си или Ассемблер, производить его компиляцию и управлять программатором/отладчиком, с помощью которого осуществляется загрузка прошивки в МК и его внутрисхемная отладка.
4.1.Работа в интегрированной среде разработки Silicon Laboratories ide.
Для запуска Silicon Laboratories IDE можно воспользоваться ярлыком который находится либо на Рабочем столе, либо в меню Пуск->Программы-> Silicon Laboratories-> Silicon Laboratories IDE.
Главное окно инструментальной среды разработки Silicon Laboratories IDE представлено на рис.4.1.
Рис. 4.2 Главное окно Silicon Laboratories IDE
Для начала работы необходимо создать новый проект: Project->New Project. В появившемся окне (рис 4.2) нужно выбрать семейство микропроцессоров: C8051F36x, ввести имя нового проекта (к примеру, lab_1), указать путь к каталогу, в котором будет храниться проект (лучше создать отдельную папку для каждого проекта и в ее имени указать номер учебной группы и номер бригады, чтобы самим было удобно потом находить свой проект) и тип проекта (Си или Ассемблер, в зависимости от задания преподавателя). Если выбран Ассемблер, то в проект автоматически добавляется заголовочный файл c8051f360.inc с описанием регистров МК.
Рис. 4.3 Окно New Project
Далее требуется создать новый файл с исходным кодом File->New File (Рис. 4.3).
Рис. 4.4 Окно New File
Если проект лежит в отдельной папке, то удобнее называть файл исходного кода main.a51 (если программа написана на Ассемблере) или так же как называется ваш проект. Выставляем галочки в обоих чекбоксах.
После подключения файла исходных кодов к проекту вид главного окна меняется (см рис 4.4) и можно начинать писать свою программу. Разные части проекта (исходные тексты, заголовочные, файлы, документацию) можно сортировать по отдельным папкам проекта. Как видно на рис. 4.4, в проекте две папки, одна для заголовочных файлов, другая для исходных кодов.
Рис 4.5 Главное окно с загруженным файлом проекта.
Далее, после ввода исходного текста на ассемблере необходимо откомпилировать проект т.е. перевести код понятный человеку в систему машинных кодов, понятных МК. Компиляция осуществляется через меню Project->Build/Make Project или горячей клавишей F7.
Скомпилированную программу необходимо загрузить в МК с помощью USB-адаптера входящего в состав лабораторного стенда. Адаптер необходимо настроить через меню Options->Connection Options (Рис 4.5). В разделе Debug Interface точка выбора должна стоять напротив C2.
Рис. 4.6 Окно Connection Options.
Выбрать пункт меню Debug->Connect или нажать на кнопку Connect.
Загрузка программы в МК (кнопка Download Code).
После загрузки можно запустить программу на выполнение через меню Debug->Go или на панели быстрого запуска, рис 4.6
Рис. 4.7 Панель быстрого запуска программ
Go – запуск программы на выполнение.
Во время работы программы кнопка Go меняется на красную кнопку Stop, которая, при нажатии, ставит выполнение программы на паузу.
Step – пошаговое (покомандное) выполнение программы.
Multiple Step – пошаговое выполнение нескольких команд подряд. Их количество задается в меню Options->Multiple Step Configuration
Insert/Remove Breakpoint – установка/удаление точки остановки в программе.
Remove All Breakpoints – удалить все точки остановки.
Enable/Disable Breakpoint – включение/выключение текущей точки остановки без её удаления.
Enable/Disable All Breakpoints - включение/выключение всех точек остановки в программе.
Reset – перезагрузка МК.
