| engineerklub | Дата: Среда, 25.08.2021, 07:19 | Сообщение # 1 |
 Генералиссимус
Группа: Администраторы
Сообщений: 36586
Статус: 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
СКАЧАТЬ
|
| |
|
|