Пятница, 16.01.2026, 03:13
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Микропроцессорная техника в системах связи.
engineerklubДата: Среда, 25.08.2021, 07:19 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 36586
Репутация: 0
Статус: Offline
Микропроцессорная техника в системах связи. Лабораторная работа №3. 2021 год

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

Описание:
Разработка цифрового измерителя температуры
В качестве цифрового датчика температуры в схеме стенда используется цифровой датчик DS18B20 фирмы Dallas Semiconductor (D1), который с помощью однопроводного интерфейса подключен к разряду 3 порта P3. Для работы с температурным датчиком можно воспользоваться следующими готовыми файлами:

ADuC842.h – файл в котором описаны все регистры специальных функций ADuC842

dallas.c – модуль, для измерения температуры (на языке С)

dallas.h заголовочный файл с описанием функций модуля dallas.c

Перед созданием проекта нужно предварительно создать папку (например TEMP) и поместить в нее файлы ADuC842.h, dallas.c, dallas.h.

Далее с помощью среды Keil в этой папке создать двухмодульный проект с файлами main.c и dallas.c. Предварительно в файл main.c поместить свою программу. В модуле dallas.c описана функция GetTemp(), при обращении к которой происходит измерение температуры и присваивание ее значения этой функции. Температура измеряется в виде двухразрядного, положительного десятичного числа. Таким образом, для измерения температуры можно записать следующий оператор:

T=GetTemp();

Переменной Т будет присвоено значение измеренной температуры.

1. ЗАДАНИЕ К РАБОТЕ.

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

1.2. С помощью среды программирования Keil создать двухмодульный прект, состоящий из модулей main.c и dallas.c.

1.3. Определить реальную температуру в лаборатории.

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

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

Одним из вариантов программы измерения температуры может быть следующая программа (модуль main.c):

#include "ADuC842.h"// подключение заголовочного файла ADuC842.h

#include "dallas.h" // подключение заголовочного файла dallas.h

///////////////////////////////////////////////////////////////////////////////////////////////

// ввод массива шестнадцатиричных кодов для 7- сегментного индикатора:

//отображаются {0, 1, 2... E, F}

unsigned char digitP0[16] = {0xB7, 0x14, 0x73, 0x76,
0xD4, 0xE6, 0xE7, 0x34,
0xF7, 0xF6, 0xF5, 0xC7,
0xA3, 0x57, 0xE3, 0xE1};

unsigned char digitP2[16] = {0xD7, 0x11, 0xE3, 0x73,
0x35, 0x76, 0xF6, 0x13,
0xF7, 0x77, 0xB7, 0xF4,
0xC6, 0xF1, 0xE6, 0xA6};

void main() {

char t;

P0 = P2 = 0;

while (1) {

t = GetTemp();

P0 = digitP0[t/10];

P2 = digitP2[t%10];
}
}

В выражении t%10 вычисляется остаток от деления на 10, то есть если

t=25, то t%10 будет равно 5.

Для работы этой программы в проект следует включить модуль dallas.c с функцией GetTemp(). В папку с проектом следует поместить заголовочные файлы ADuC842.h и dallas.h.

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

3.1. Исходный текст программы (Main.c).

3.2. Файл листинга.

3.3. Копия изображения стенда с измеренной температурой (Указать в какое время измерялась температура в лаборатории). У преподавателя имеется график изменения температуры во времени.

Комментарии: Лабораторная работа 3 

СКАЧАТЬ
 
  • Страница 1 из 1
  • 1
Поиск:

Рейтинг@Mail.ru