Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Сведения о работе с контроллером, приёмы создания и отладки программного обеспечения




Лабораторная работа 1

Цель работы: изучение программно-аппаратной поддержки работы со встроенными устройствами, клавиатурой и дисплеем при реализации систем управления.

Задание:

1. Составьте программу для ввода символов с помощью матричной клавиатуры и вывода их в терминал и на ЖК-дисплей;

2. Измените программу таким образом, чтобы нажатие на клавишу матричной клавиатуры вызывало или однократное, или последовательное срабатывание; переключение режимов должно осуществляться клавишей «*».

Программа, версия 1:

//Блокируем сторожевой таймер

outp(0xFFE6, 0xAAAA);

outp(0xFFE6, 0x5555);

outp(0x82, 0x40); //Режим матричной клавиатуры

//Инициализируем ЖК-дисплей

__asm mov ax, 0083h //Загружаем в регистр-аккумулятор номер функции

__asm int 10h //Вызываем прерывание

while(1) {

k = inp(0x82); //Считываем код нажатой клавиши

switch(k){

case 0x18:printf("1");break; //Клавиша "1"

case 0x14:printf("2");break; //Клавиша "2"

case 0x12:printf("3");break; //Клавиша "3"

case 0x28:printf("4");break; //Клавиша "4"

case 0x24:printf("5");break; //Клавиша "5"

case 0x22:printf("6");break; //Клавиша "6"

case 0x38:printf("7");break; //Клавиша "7"

case 0x34:printf("8");break; //Клавиша "8"

case 0x32:printf("9");break; //Клавиша "9"

case 0x48:printf("*");break; //Клавиша "*"

case 0x44:printf("0");break; //Клавиша "0"

case 0x42:printf("#");break; //Клавиша "#"

case 0x31:printf(".");break; //Клавиша "."

}

}

Программа, версия 2:

//Блокируем сторожевой таймер

outp(0xFFE6, 0xAAAA);

outp(0xFFE6, 0x5555);

outp(0x82, 0x40); //Режим матричной клавиатуры

//Инициализируем ЖК-дисплей

__asm mov ax, 0083h //Загружаем в регистр-аккумулятор номер функции

__asm int 10h //Вызываем прерывание

m = 0; //Инициализируем переменную m; m - режим срабатывания клавиатуры

while(1) {

k = inp(0x82); //Считываем код нажатой клавиши

switch(k){

case 0x18:printf("1"); if (m == 0) break; //Клавиша "1"

case 0x14:printf("2"); if (m == 0) break; //Клавиша "2"

case 0x12:printf("3"); if (m == 0) break; //Клавиша "3"

case 0x28:printf("4"); if (m == 0) break; //Клавиша "4"

case 0x24:printf("5"); if (m == 0) break; //Клавиша "5"

case 0x22:printf("6"); if (m == 0) break; //Клавиша "6"

case 0x38:printf("7"); if (m == 0) break; //Клавиша "7"

case 0x34:printf("8"); if (m == 0) break; //Клавиша "8"

case 0x32:printf("9"); if (m == 0) break; //Клавиша "9"

case 0x48:printf("*");if (m == 0) {m = 1;} else {m = 0;} if (m == 0) break; //Клавиша "*"; Переключаем режим ввода символов

case 0x44:printf("0"); if (m == 0) break; //Клавиша "0"

case 0x42:printf("#"); if (m == 0) break; //Клавиша "#"

case 0x31:printf("."); if (m == 0) break; //Клавиша "."

}

}

Контрольные вопросы:

1. Состав порта управления LCD, адресация и назначения регистров.

Порт управления LCD содержит два байтовых регистра – данных (80h) и управляющих сигналов (81h), в котором используются 4-й, 5-й и 7-й разряды. Управление портом осуществляется с помощью драйверов (например, powertip.com).

2. Какие параметры передаются драйверу powertip.com.

Параметры драйвера powertip.com:

- первый параметр X – количество строк дисплея;

- второй параметр Y – количество столбцов дисплея;

- третий параметр – тип знакогенератора: EA – латинский, SH, ZH – латинский / русский, H2 – латинский / русский (только прописные);

- /SCROLL – включить прокрутку дисплея;

- /SLOW – уменьшить скорость реакции дисплея.

3. Какие основные характеристики микроконтроллера Fastwel CPC107? Какова область его применения?

Контроллеры узла сети Fastwel I/O являются полноценными ПЛК, поддерживающими в зависимости от модели протоколы передачи данных CANopen, Modbus RTU, Modbus TCP, DNP3, PROFIBUS DP-V1.

Контроллеры узла сети реализуют исполнение прикладных программ разработанных при помощи адаптированной среды разработки CoDeSys фирмы 3S Smart Software Solutions с использованием пяти языков программирования по МЭК61131-13:

- Список инструкций (IL);

- Диаграммы функциональных блоков (FBD);

- Релейно-контактные схемы (LD);

- Структурированный текст (ST);

- Последовательные функциональные схемы (SFC).

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

4. Как осуществляется подключение контроллера к ПЭВМ?

Подключение контроллера к ПЭВМ осуществляется через последовательный порт. После подключения запускается программа HyperTerminal. В окне программы выбирается порт, к которому подключен к ПЭВМ контроллер. Затем открывается окно терминала MS DOS, в котором можно вводить команды и передавать файлы в контроллер.

5. Состав порта управления матричной клавиатурой, адресация и назначение регистров.

Порт управления клавиатурой находится по адресу 82h. Запись в порт происходит при изменении состояния клавиатуры (нажата или отпущена клавиша). Назначение битов данного порта:

7 – INTK – разрешение прерывания от клавиатуры;

6 – MxKey – признак матричной клавиатуры;

0-3 при чтении – код колонки нажатой клавиши;

4-6 при чтении – код строки нажатой клавиши.





Поделиться с друзьями:


Дата добавления: 2017-01-21; Мы поможем в написании ваших работ!; просмотров: 488 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Вы никогда не пересечете океан, если не наберетесь мужества потерять берег из виду. © Христофор Колумб
==> читать все изречения...

2279 - | 2102 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.006 с.