Страницу Назад
Поискать другие аналоги этой работы

150

Лабораторная работа №1 по дисциплине: Микропроцессорная техника в системах связи (ДВ 1.2). Вариант №9

ID: 216246
Дата закачки: 19 Февраля 2021
Продавец: Максим (Напишите, если есть вопросы)
    Посмотреть другие работы этого продавца

Тип работы: Работа Лабораторная
Сдано в учебном заведении: ДО СИБГУТИ

Описание:
Лабораторная работа № 1 часть 1
Вывод информации через параллельные порты

1. ЦЕЛЬ РАБОТЫ.
1.1. Изучить особенности работы параллельных портов микроконтроллера.
1.2. Изучить схемы подключения светодиодов к цифровым микросхемам.
1.3. Научиться управлять светодиодами при помощи программы.
1.4. Научиться управлять цифровыми индикаторами.
1.5. Научиться загружать программы в микроконтроллер.
1.6. Изучить способы отладки программ на лабораторном стенде ЛЭСО1.
2. ПРЕДВАРИТЕЛЬНАЯ ПОДГОТОВКА К РАБОТЕ.
2.1. По конспекту лекций изучить схемы параллельных портов микроконтроллеров.
2.2. По конспекту лекций изучить схемы подключения светодиодов и семисегментных индикаторов к параллельным портам микроконтроллеров.
2.3. Изучить принципиальную схему лабораторного стенда ЛЭСО1.
2.4. Изучить язык программирования C.
2.5. Составить программу, зажигающую светодиоды в соответствии с заданием.
2.6. Составить программу, выводящую цифровые значения на семисегментные индикаторы в соответствии с заданием.
3. МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО РАБОТЕ С ЛАБОРАТОРНЫМ СТЕНДОМ ЛЭСО1.
3.1. Программирование лабораторного стенда ЛЭСО1.
Основными этапами в программировании стенда ЛЭСО1 являются:
· подготовка программы в текстовом редакторе (или среде программирования);
· транслирование исходного текста и получение загрузочного hex-модуля программы;
· загрузка hex-модуля в стенд лаборатории с удаленным доступом;
3.2. Подключение светодиодов к параллельному порту.

Схема подключения светодиодного индикатора показана на рисунке 1. Транзистор служит для увеличения тока параллельного порта, при помощи которого микропроцессор зажигает и гасит светодиодный индикатор. Кроме того, транзистор позволяет согласовать уровни напряжения, необходимые для работы цифровых микросхем, к которым относятся и микропроцессорные устройства, и уровни напряжения, необходимые для работы светодиодного индикатора. Гальванической развязки транзисторный ключ не обеспечивает.


Рисунок 1 – Подключение светодиодного индикатора
к параллельному порту со стандартным TTL выходом.


В приведённой схеме резистор R1 ограничивает базовый ток транзистора, а резистор R2 предотвращает открывание транзистора обратным током коллектора при повышенной температуре. Резистор R3 ограничивает коллекторный ток транзистора, задавая тем самым яркость свечения светодиода.

Квазидвунаправленный параллельный порт микросхем семейства MCS-51 позволяет подключать светодиоды несколько иначе. Каждый из портов содержит восьмиразрядный регистр, имеющий байтовую и битовую адресацию для установки (запись \'1\') или сброса (запись \'0\') разрядов этого регистра с помощью программного обеспечения. Выходы этих регистров соединены с внешними ножками микросхемы. Упрощенная схема одного разряда порта показана на рисунке 2.

Так как в этой схеме вместо транзистора в верхнем плече применён генератор тока, то появляется возможность подключать базу транзистора непосредственно к выводу порта как это показано на рисунке 3.




Рисунок 2 – Упрощенная схема одного бита порта.




Рисунок 3 – Схема подключения светодиодов к портам микроконтроллеров семейства MCS-51.



3.3. Подключение семисегментного индикатора к параллельному порту.

Одним из самых дешевых устройств отображения информации в микропроцессорных системах являются семисегментные светодиодные индикаторы. Каждый индикатор имеет семь светоизлучающих сегментов, комбинация которых образует стилизованное изображение цифры или буквы. Светоизлучающие элементы обозначаются латинскими буквами a, b, c, d, e, f, g. На рисунке изображены обозначения сегментов и схема соединения светодиодов.



Рисунок 4 – Обозначение сегментов индикатора и схема соединения светодиодов


В соответствии со схемой подключения для того, чтобы загорелась цифра 7 необходимо, чтобы сегменты a,b,c светились. Это может быть, если на входы схемы a,b,c были поданы нулевые напряжения, а на остальные входы +5 вольт.

В лабораторном стенде светодиоды индикаторов управляются транзисторами. Если соответствующий транзистор открыт (на его базу подается уровень логической единицы), то светодиод будет светиться.
3.4. Управление светодиодами на языке программирования C

Для того, чтобы определить какой уровень, необходим для зажигания светодиода необходимо проанализировать принципиальную схему устройства. Например, в схеме (рисунок 3) светодиод VD1 зажигается при нулевом уровне сигнала на выводе порта. В то же время светодиод VD2 будет светиться только если на вывод порта выдать высокий потенциал (записать логическую “1”).

Для того чтобы написать программу, зажигающую определенные светодиоды, необходимо перед собой иметь схему стенда, расположение элементов на плате стенда и таблицу с адресами регистров специальных функций.



Рисунок 5 – Схема лабораторного стенда


Рисунок 6 – Внешний вид платы стенда



Рассмотрим, как подключен левый семисегментный индикатор к микроконтроллеру в схеме стенда. Из схемы видно, что сегменты a1, b1, c1 индикатора подключены соответственно к выводам P0.5, P0.4, P0.2. Для зажигания сегмента на него следует подавать уровень напряжения, соответствующий логической единице.

Выводы P0.5, P0.4, P0.2 микроконтроллера являются пятым, четвертым и вторым разрядами порта P0. Таким образом, для того, чтобы высветить цифру 7, нужно в порт поместить двоичное восьмиразрядное число 00110100. Обратите внимание, что правый индикатор подключен к порту P2 c адресом 0xA0, а светодиоды подключены к порту P3 с адресом 0xB0.

Для работы с портами микроконтроллера на языке С51 введены специальные типы переменных – регистры специальных функций sfr. Для начала необходимо определить переменную как регистр специальной функции P0. Порт P0 имеет шестнадцатиричный адрес 0x80 (смотри таблицу регистров AduC842 на рисунке 7).



Рисунок 7. Адреса регистров параллельных портов


Опишем переменную Port как регистр с адресом 0x80:

sfr Port =0x80;

Если теперь в переменную Port поместить код 00110100, то на индикаторе появится цифра 7.

К сожалению на языке С не существует возможность работать непосредственно с двоичными числами, поэтому представим число 00110100 в шестнадцатиричной форме. Это делается очень просто: байт разбивается на две части 0011 и 0100, каждую половинку переводим в 16-ричную систему. Получаем число 0x34. Записываем оператор присваивания:
Port=0x34;

После завершения работы программы на универсальном компьютере управление передаётся операционной системе. В микроконтроллере управление безраздельно принадлежит программисту, поэтому необходимо обеспечить, чтобы управление не попало в область памяти, где находятся данные, или ещё хуже где нет никакой памяти. Чтобы этого не произошло в конце программы необходимо разместить оператор бесконечного цикла. Для этого можно воспользоваться строкой:

while(1);

Вся программа будет выглядеть следующим образом:

sfr Port =0x80; //Объявляем переменную Port, как sfr регистр с

//адресом 0x80 (адрес порта P0)

main() //главная функция

{ Port=0x34; //помещаем в порт число 0x34, т.е. 00110100

while(1);} //бесконечный цикл

После компиляции программы с помощью среды программирования Keil создается следующий hex-файл:


:05080C0075803480FE40

:03000000020800F3

:0C080000787FE4F6D8FD75810702080C33

:00000001FF

Далее следует войти в лабораторию с удаленным доступом через Internet, как это показано в порядке выполнения работ, загрузить hex-файл. Убедиться, что на индикаторе появилась соответствующая цифра, скопировать изображение Web- камеры в отчет по лабораторной работе.

Для зажигания светодиодов так же следует проанализировать схему стенда.Из схемы видно, что светодиоды подключены к микроконтроллеру следующим образом:



Светодиод

Ножка порта P3

Адрес бита

VD1

P3.4

0хВ4

VD2

P3.5

0хВ5

VD3

P3.6

0хВ6

VD4

P3.7

0хВ7


Для работы с отдельными битами регистров специальных функций микроконтроллера на языке С51 введены специальные типы переменных – sbit. Для работы с отдельными битами порта Р3 следует объявить переменные как биты регистра. Адреса битов следует найти по таблице регистров специальных функций. Светодиоды включены таким образом, что для их зажигания на соответствующий бит нужно подать уровень логического нуля.

Пример программы, зажигающей светодиод VD1:

sbit P34=0xB4; //Объявляем переменную P34, как бит

// регистра с адресом 0xВ4

main() //главная функция

{ P34 =0; //помещаем в бит P3.4 - “ 0”

while(1);} //бесконечный цикл

Для зажигания нескольких светодиодов можно объявить несколько битовых переменных и присвоить им нулевые значения.


4. ЗАДАНИЕ К РАБОТЕ В ЛАБОРАТОРИИ.

4.1. Войдите в интегрированную среду программирования.

4.2. Создайте новый проект с именем Lab2.

4.3. Настройте проект следующим образом: выбрать микроконтроллер AduC812, не забудьте установить галочку напротив Create HEX file (иначе не будет создан hex файл, даже если нет ошибок).

4.4. Введите в проект текст программы для зажигания светодиодов в соответствием с вариантом.

4.5. Оттранслируйте программу, и исправьте синтаксические ошибки.

4.6. Занесите полученный загрузочный файл в лабораторный стенд с помощью лаборатории с удаленным доступом (см. документ: «Порядок выполнения лабораторных работ»).

4.7. С помощью Web – камеры убедитесь, что на лабораторном стенде зажигается светодиод, указанный в задании.

4.8. Скопируйте изображение стенда с зажженными светодиодами в отчет.

4.9. Измените текст программы для вывода числа на два семисегментных индикатора в соответствии с вариантом и повторите пункта 4.4 – 4.7.

Предпоследняя цифра кода студента

Номера светодиодов, которые необходимо зажечь на стенде

1

VD3, VD4

2

VD2

3

VD1, VD2

4

VD3

5

VD3, VD1

6

VD2, VD3

7

VD1, VD2,VD3

8

VD4

9

VD1, VD4

0

VD2, VD4



Последняя цифра кода студента

Высветить число на двухразрядном семисегментном индикаторе

1

12

2

13

3

14

4

23

5

25

6

31

7

57

8

42

9

78

0

96





5. СОДЕРЖАНИЕ ОТЧЕТА.

5.1. Цель работы.

5.2. Принципиальная схема одного бита параллельного порта.

5.3. Эквивалентная схема подключения светодиода к параллельному порту.

5.4. Принципиальная схема микроконтроллера с подключенными светодиодами.

5.5. Исходные тексты программы (без учёта исправлений, сделанных в ходе трансляции и отладки программы).

5.6. Содержимое файлов листинга исходного текста программного модуля (отлаженный вариант).

5.7. Содержимое hex – файлов.

5.8. Копии изображений стенда с зажженными светодиодами и индикаторами.

5.9. Выводы по выполненной лабораторной работе.

Лабораторная работа № 1 часть 2
Ввод информации через параллельный порт

1. ЦЕЛЬ РАБОТЫ
1.1. Изучить особенности работы параллельных портов микроконтроллера.
1.2. Изучить схемы подключения кнопок и датчиков к цифровым микросхемам.
1.3. Научиться определять состояние кнопок при помощи программы.
1.4. Изучить способы отладки программ на лабораторном стенде ЛЭСО1.

2. ПРЕДВАРИТЕЛЬНАЯ ПОДГОТОВКА К РАБОТЕ
2.1. По конспекту лекций и рекомендуемой литературе изучить схемы параллельных портов микроконтроллеров.
2.2. По конспекту лекций и рекомендуемой литературе изучить схемы подключения кнопок и клавиатуры к параллельным портам микроконтроллеров.
2.3. Изучить принципиальную схему лабораторного стенда ЛЭСО1.
2.4. Изучить язык программирования C.
2.5. Составить программу, зажигающую светодиоды, соответствующие номерам битов порта ввода P1, установленных в единичное состояние.

3. ПОДКЛЮЧЕНИЕ КНОПОК К ПАРАЛЛЕЛЬНОМУ ПОРТУ.
Источники дискретной информации могут иметь различную физическую природу. Они могут находиться на значительном расстоянии от контроллера, иметь различное напряжение питания, но их данные должны быть безошибочно считаны управляющей программой микропроцессорной системы.

Практически всегда при работе с внешними датчиками требуется гальваническая развязка датчиков и управляющей микропроцессорной системы.

Для решения указанных проблем и реализации гальванической развязки датчиков и микропроцессорного устройства, все датчики с точки зрения схемы представляют собой контакты, работающие на замыкание. Поэтому схема подключения датчика и кнопки не различаются. Со стороны микропроцессорного устройства необходимо преобразовать замыкание/размыкание контактов в логические уровни, необходимые для правильной работы микропроцессорного устройства. Такая схема приведена на рисунке 1.





Рисунок 1 - Подключение кнопки к параллельному порту ввода.


В приведённой схеме резистор R подаёт единичный потенциал на вход параллельного порта. Применение резистора позволяет закорачивать вход параллельного порта на корпус устройства не вызывая чрезмерного тока через контакт. При замыкании контактов кнопки на вход параллельного порта подаётся потенциал логического нуля. Эти логические уровни могут быть обнаружены при помощи программы, загруженной в микроконтроллер.

В микроконтроллере порт P1 может быть использован только для ввода информации. На рисунке 2 приведена схема одного бита параллельного порта P1. Внешний вывод порта может быть подключен либо к внутренней шине, либо ко входу АЦП. Для того, чтобы порт работал на ввод цифровой информации необходимо в его триггер записать логический 0 ( в этом случае ключ будет в верхнем положении). Таким образом, перед вводом информации в порт P1 необходимо записать 0. Шестнадцатеричный адрес порта P1 равен 0x90. Напряжения подаются на порт 1 в схеме стенда с помощью ключей S0,S1,S2,S3. Для этого при выполнении работы следует щелкнуть по соответствующим квадратикам, расположенным слева от изображения стенда. В схеме стенда предусмотрена индикация уровней напряжений на входах S0,S1,S2,S3 с помощью светодиодов, установленных слева на плате стенда и подписанных как S0,S1,S2,S3.





Рисунок 2 – Схема одного бита порта P1 AduC842



Рисунок 3 – Схема стенда



4. ЗАДАНИЕ К РАБОТЕ В ЛАБОРАТОРИИ

4.1. Разработать программу, анализирующую состояние битов порта ввода P1.0,P1.1,P1.2,P1.3 и зажигающую соответствующие светодиодыVD1,VD2,VD3,VD4. На рисунке 3 приводится таблица, в которой показано, какие светодиоды должны зажигаться при установке соответствующих значений битов порта P1.
Последняя цифра шифра студента



P1.3



P1.2



P1.1



P1.0



Должны гореть светодиоды

1

0

0

0

1

VD1

2

0

0

1

0

VD2

3

0

0

1

1

VD1, VD2

4

0

1

0

0

VD3

5

0

1

0

1

VD1, VD3

6

0

1

1

0

VD2, VD3

7

1

0

0

0

VD4

8

1

0

0

1

VD1, VD4

9

1

0

1

0

VD2, VD4

0

1

0

1

1

VD1, VD2, VD4


4.2. Создать новый проект в Keil.

4.3. Настроить проект следующим образом: выбрать микроконтроллер AduC812, не забудьте установить галочку напротив Create HEX file (иначе не будет создан hex файл, даже если нет ошибок).

4.4. Записать соответствующий HEX файл в память микроконтроллера.

4.5. Убедиться с помощью WEB камеры, что горят соответствующие светодиоды.

4.6. Скопировать изображение с WEB камеры и вставить в отчет.

5. МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ВЫПОЛНЕНИЮ РАБОТ.


При разработке программы необходимо перед собой иметь электрическую схему стенда и расположение элементов на плате стенда, а так же таблицу с адресами регистров специальных функций.
Пример программы, зажигающей светодиоды VD1 и VD2 при условии , что P1.0=1, P1.1=1,P1.2=0, P1.3=0, :




sfr P1=0x90; //объявляем переменную P1 как регистр с адресом 0x90

sbit VD1=0xB4; // объявляем переменную VD1 как бит с адресом 0xB4

sbit VD2=0xB5; // объявляем переменную VD1 как бит с адресом 0xB5

main() //главная функция

{ P1=0; //во все разряды порта Р1 записываем нули (переводим порт

в //режим приема цифровой информации)

if(P1== 3) {VD1=0;VD2=0;} //если P1 равна 3, то зажечь диод VD1 и VD2)

while(1); //бесконечный цикл

}

Светодиоды VD1, VD2 зажгутся в том случае,если переменная P1 будет равна 3 (код на входе порта P1 будет равен 00000011)
Переменные VD1 и VD2 объявлены как биты порта P3, к которым подключены соответствующие светодиоды.

Обратите внимание, что оператор if(P1== 3){VD1=0;VD2=0;} выполняется всего один раз. Поэтому прежде чем загружать программу в микроконтроллер следует предварительно установить соответствующие уровни на входах S0,S1,S2,S3



6. СОДЕРЖАНИЕ ОТЧЕТА.

6.1. Цель работы.

6.2. Эквивалентная схема подключения кнопки к параллельному порту.

6.3. Графическая схема алгоритма программы.

6.4. Исходный текст программы (без учёта исправлений, сделанных в ходе трансляции и отладки программы).

6.5. Содержимое файла листинга исходного текста программного модуля (отлаженный вариант).

6.6. Содержимое hex – файлов.

6.7. Копии изображений стенда с зажженными светодиодами.

6.8. Выводы по выполненной лабораторной работе.


Комментарии: Лабораторная работа 1 21.12.2020 24.12.2020 Зачет Уважаемый , Борисов Александр Васильевич

Размер файла: 322,6 Кбайт
Фаил: Microsoft Word (.docx)
-------------------
Обратите внимание, что преподаватели часто переставляют варианты и меняют исходные данные!
Если вы хотите, чтобы работа точно соответствовала, смотрите исходные данные. Если их нет, обратитесь к продавцу или к нам в тех. поддержку.
Имейте ввиду, что согласно гарантии возврата средств, мы не возвращаем деньги если вариант окажется не тот.
-------------------

   Скачать

   Добавить в корзину


        Коментариев: 0


Не можешь найти то что нужно? Мы можем помочь сделать! 

От 350 руб. за реферат, низкие цены. Просто заполни форму и всё.

Спеши, предложение ограничено !



Что бы написать комментарий, вам надо войти в аккаунт, либо зарегистрироваться.

Страницу Назад

  Cодержание / Микропроцессорные системы управления / Лабораторная работа №1 по дисциплине: Микропроцессорная техника в системах связи (ДВ 1.2). Вариант №9
Вход в аккаунт:
Войти

Забыли ваш пароль?

Вы еще не зарегистрированы?

Создать новый Аккаунт


Способы оплаты:
UnionPay СБР Ю-Money qiwi Payeer Крипто-валюты Крипто-валюты


И еще более 50 способов оплаты...
Гарантии возврата денег

Как скачать и покупать?

Как скачивать и покупать в картинках


Сайт помощи студентам, без посредников!