Автор работы: Пользователь скрыл имя, 10 Июня 2014 в 07:19, отчет по практике
Целью учебной практики является закрепление теоретических знаний и научиться программировать на языке Си.
Учебная практика является составной частью учебного процесса, организуется и производиться учебным заведением, для подготовки специалистов.
Введение 3
1 Общая часть
4
Основы языка С
4
1.1.2 Переменные
4
1.1.3 Типы данных
4
1.1.4 Операторы и операнды
5
1.1.5 Директивы
6
Ввод-вывод. Последовательный обмен данными
6
1.2.1 Способы передачи данных
7
1.2.2 Контроллеры UART/USART
8
Встраиваемые системы в робототехнике
8
1.3.1 ROBOPICA. Назначение, аппаратное обеспечение
8
1.3.2 Блок-схема платы управления
9
1.3.3 Назначение и состав Mikro C
9
2 Специальная часть
10
2.1 Разработка приложения для робототехнического устройства RoboPica в среде MikroC
1
Министерство образования Иркутской области
УП ПМ02 230113.14.03.9 ПЗ
ОБГОУ СПО «ИАТ»
ОТЧЕТ ПО УЧЕБНОЙ ПРАКТИКЕ
ПМ02 МИКРОПРОЦЕССОРНЫЕ СИСТЕМЫ
Пояснительная записка
Зав. отделением: |
Руководитель: |
Быкова С.Н. |
Роднина Л.К. |
Подпись:______ |
Подпись:______ |
Дата:__________ |
Дата:___________ |
Зав. цикла: |
Студент: |
Роднина Л.К. |
Исаков М.Ю. |
Подпись:_____ |
Подпись:_____ |
Дата:__________ |
Дата:__________ |
Содержание
Введение
1 Общая часть |
4 |
|
4 |
1.1.2 Переменные |
4 |
1.1.3 Типы данных |
4 |
1.1.4 Операторы и операнды |
5 |
1.1.5 Директивы |
6 |
|
6 |
1.2.1 Способы передачи данных |
7 |
1.2.2 Контроллеры UART/USART |
8 |
|
8 |
1.3.1 ROBOPICA. Назначение, аппаратное обеспечение |
8 |
1.3.2 Блок-схема платы управления |
9 |
1.3.3 Назначение и состав Mikro C |
9 |
2 Специальная часть |
10 |
2.1 Разработка приложения для робототехнического устройства RoboPica в среде MikroC |
10 |
Приложение А: |
15 |
Введение
Целью учебной практики является закрепление теоретических знаний и научиться программировать на языке Си.
Учебная практика является составной частью учебного процесса, организуется и производиться учебным заведением, для подготовки специалистов.
1.1 Программное обеспечение на языке Си
Все действия, микроконтроллер производит только над числами, которые либо расположены в его памяти, либо отражают состояние его периферийных устройств (порты, АЦП и так далее.). Соответственно, каждое число, с которым работает микроконтроллер, занимает некоторый заданный объем памяти, либо конструкцией микроконтроллера.
1.1.2 Переменные
Переменная – поименованная ячейка оперативной памяти, которая может изменять свое значение во время исполнения программы.
В именах переменных можно использовать буквы, цифры и подчеркивание. Обычно, имена не начинаются с цифр и подчеркиваний. С подчеркиваний начинаются имена библиотечных функций. Имена переменных должны иметь осмысленный вид для дальнейшего их распознавания как самим разработчиком так и сторонним программистом.
1.1.3 Типы данных
В языке СИ существует 32 ключевых слова, данные слова используются для организации программы и не могут использоваться пользователем в качестве имен переменных или имен функций. Для микроконтроллера выделим несколько основных типов данных:
1) bit – переменная такого типа, занимает минимально возможный объем памяти – один бит, и может принимать всего два значения «1» или «0»;
2) char (signed char) – целое число в диапазоне от -128 до 127, занимает один байт, старший бит определяет знак числа;
3) unsigned char - целое положительное число в диапазоне от 0 до 255, занимает один байт;
4) int (signed int, short int) – целое число в диапазоне от -32768 до 32767, занимает два байта, старший бит определяет знак числа;
5) unsigned int – целое положительное число в диапазоне от 0 до 65535, занимает два байта;
6) long int (signed long int) - целое число в диапазоне от -2147483648 до 2147483647, занимает 4 байта, старший бит определяет знак числа;
7) unsigned long int - целое положительное число в диапазоне от 0 до 4294967295, занимает 4 байта;
8) float – число с плавающей запятой в диапазоне от ±1.175e-38 до ±3.402e38, занимает 4 байта;
9) void – «пусто», под переменную данного типа, память не резервируется.
Все операторы языка СИ могут быть условно разделены на следующие категории:
1) условные операторы, к которым относятся оператор условия if и оператор выбора switch;
2) операторы цикла (for ,while, do while);
3) операторы перехода (break, continue, return, goto).
Операторы в программе могут объединяться в составные операторы с помощью фигурных скобок. Любой оператор в программе может быть помечен меткой, состоящей из имени и следующего за ним двоеточия. Операнд - это константа, литерал, идентификатор, вызов функции, индексное выражение, выражение выбора элемента или более сложное выражение, сформированное комбинацией операндов, знаков операций и круглых скобок. Любой операнд, который имеет константное значение, называется константным выражением. Каждый операнд имеет тип.
По количеству операндов, участвующих в операции, операции подразделяются на унарные, бинарные и тернарные.
1.1.5 Директивы
Все операторы языка СИ, кроме составных операторов, заканчиваются точкой с запятой ";". Чтобы использовать стандартные функции, необходимо сказать транслятору, что есть функция с таким именем и перечислить тип ее аргументов – тогда он сможет определить, верно ли мы ее используем. Это значит, что надо включить в программу описание этой функции. Описания стандартных функций Си находятся в так называемых заголовочных файлах с расширением *.h
Для подключения заголовочных файлов используется директива(команда) #include, после которой в угловых скобках ставится имя файла. Внутри угловых скобок не должно быть пробелов. Для подключения еще каждого нового заголовочного файла надо использовать новую команду #include.
Для вывода информации на экран используется функция printf. В простейшем случае она принимает единственный аргумент – строку в кавычках, которую надо вывести на экран.
Но необходимо помнить, что оператор языка Си заканчивается точкой с запятой.
1.2 Ввод-вывод. Последовательный обмен данными
Последовательный интерфейс RS232С был разработан еще в 1969 г. и введен ассоциацией электронной промышленности, как стандарт для связи аппаратных средств передачи данных, в качестве которых, используются компьютеры, с аппаратными средствами приема данных — периферийными устройствами (принтерами, модемами и тому подобных).
Преобразователем интерфейса RS232 служит интегральная схема MAX232, преобразующая сигналы последовательного порта RS-232 в сигналы, пригодные для использования в цифровых схемах на базе ТТЛ или КМОП технологий. MAX232 работает приемопередатчиком и преобразует сигналы RX, TX, CTS и RTS.
Причины, по которым интерфейс RS232 продолжает до сих пор использоваться, состоят в том, что этот интерфейс достаточно надежен, допускает связь на расстоянии до 15 м (при скорости обмена 115 200 бод) и более, легко программируется, как в компьютере, так и в микроконтроллере. Всех этих свойств лишен, например, интерфейс USB, который сейчас присутствует практически во всех компьютерах.
Другая важная характеристика - скорость передачи данных. Скорость передачи данных обычно измеряется в битах за секунду или в бодах. Боды определяют количество передаваемых битов за секунду. При этом учитываются и старт/стопные биты, а также бит четности.
1.2.1 Способы передачи данных
Существует два вида передачи данных – асинхронный и синхронный.
При асинхронной передачи данных, данные последовательно передаются бит за битом по единственной линии связи. Для обеспечения синхронизации передающего и принимающего устройства группе битов данных обычно предшествует специальный стартовый бит, а после группы битов данных следуют бит проверки на четность и один или два стоповых бита.
Использование бита четности, стартовых и стоповых битов определяют формат передачи данных. При этом, передатчик и приемник должны использовать один и тот же формат данных, иначе обмен будет невозможен.
При синхронном режиме передачи предполагается постоянная активность канала связи. Посылка начинается с синхробайта, за которым вплотную следует поток информационных бит. Если у передатчика нет данных для передачи, он заполняет паузу непрерывной посылкой байтов синхронизации.
Бит паритета – это бит, соответствующий максимальному количеству значащих битов в слове.
1.2.2 Контроллеры UART/USART
Универсальный
асинхронный приёмопередатчик (УАПП,
Интерфейс USART — последовательный универсальный синхронно-асинхронный приемо-передатчик. Используется в контроллерах Microchip.
1.3 Встраиваемые системы в робототехнике
1.3.1 RoboPica. Назначение, аппаратное обеспечение
RoboPica – робот на базе гусеничной платформы, ядром которого является микроконтроллер семейства PIC16. Данный конструктор позволяет изучить основы сборки робототехнических моделей, принципы работы механизмов, различных датчиков, беспроводных систем управления, применение микропроцессорных систем, получить навыки программирования.
В состав RoboPica входят:
В качестве программатора центральной платы выступает аналог программатора PICKit2. Программное обеспечение используется PICKit.
1.3.2 Блок-схема платы управления
В блок-схема приведена на рисунке 1.
Рисунок 1
1.3.3 Назначение и состав Mikro C
Данная среда разработки позволяет быстро создавать эффективные программы на весьма распространённом и популярном языке высокого уровня Си. Среда имеет удобный и эргономичный интерфейс пользователя (IDE) со встроенным редактором и мощным отладчиком программ. Встроенный в среду разработки мастер проектов позволяет в считанные минуты создать заготовку рабочей программы для любого микроконтроллера из целого семейства микроконтроллеров. Библиотека готовых функций, входящая в состав этой среды, обеспечивает программиста мощной поддержкой для быстрого и безошибочного создания практически любой программы. Среда mikroC включает в себя огромное количество библиотечных функций - практически на все случаи жизни. Она содержит функции, которые поддерживают следующие устройства и интерфейсы:
2 Специальная часть
2.1 Разработка приложения для робототехнического устройства RoboPica в среде MikroC
Принципиальная схема подключения кнопки к плате управления представлена на рисунке 2.
Рисунок 2
В этой схеме используется кнопка, подключенная к порту RA4. При отсутствии нажатия на кнопку, на вход подается сигнал, соответствующий уровню логической “1”, от подтягивающего резистора сопротивлением 10 кОм, подключенного к источнику питания +5 В. При нажатии на кнопку, вход будет соединен с общим проводом схемы. В этом случае на входе микроконтроллера будет присутствовать сигнал, соответствующий логическому уровню “0”. Микроконтроллер PIC16F887 будет управлять подачей звукового сигнала в соответствии с состоянием кнопки, подключенной к выводу RA4.
2.2 Описание проекта, элементов и программного кода элементов в среде MicroChip
На рабочем столе двойным кликом вызвать главное окно программы
В открывшемся окне (рисунок 3) создать новый файл проекта, зайдя в меню Project и выбрав пункт New Project.
Рисунок 3
Далее в окне проекта (рисунок 4) ввести имя проекта sound. Нужно помнить, что все данные вводятся только на английском языке иначе поля не заполнятся. В списке Device (Микросхема): Выбрать микроконтроллер, который будет использоваться в проекте. Для набора Robo-PICA необходимо выбрать PIC16F887.
В поле Clock: Выберать частоту тактового генератора для используемого микроконтроллера. Для набора Robo-PICA используется тактовый
генератор частотой 20 МГц. Ввести значение 020.000000.
А поле Device Flags устанавливаеться конфигурационные флаги используемого микроконтроллера. Разработчик может ограничиться установкой флагов по умолчанию, Default. Необходимо нажать кнопку Default. По умолчанию установятся 3 следующих конфигурационных бита: