
- •Введение
- •1 Архитектура стенда sdk1.1s
- •1.1 Структура аппаратной части стенда
- •1.2 Особенности организации памяти
- •1.3 Программное обеспечение стенда sdk-1.1s
- •9600 Бит/сек; 8 бит данных; 1 стоп-бит; без контроля четности и в канал выдается строчка «нех202-хх»,
- •2 Подготовка стенда к работе
- •3 Порядок выполнения лабораторных работ
- •4 Лабораторная работа 1 . Передача сообщения от пк стенду sdk-1.1s по каналу rs232
- •4.1 Описание лабораторной работы
- •5 Лабораторная работа №2. Дискретные порты ввода/вывода
- •5.1 Описание лабораторной работы
- •6.2 Порядок выполнения
- •Лабораторная работа № 4. Клавиатура
- •7.1 Описание лабораторной работы
- •7.2 Порядок выполнения
- •Литература
- •Приложение а
- •Перечень команд и типы данных
- •Приложение б (обязательное) Текст программы лабораторной работы №1
- •Приложение в (обязательное) Текст программы лабораторной работы № 2 (Light)
- •Приложение г (обязательное) Текст программы лабораторной работы №3 (lcd)
- •Приложение д
- •Текст программы лабораторной работы №4
- •Изучение работы микроконтроллеров на базе стендов sdk1.1s Леон Абрамович Русинов Николай Андреевич Сягаев
- •190013 Санкт-Петербург, Московский пр., 26
7.2 Порядок выполнения
1. Перед выполнением работы необходимо подробно ознакомиться с материалами п.7.1, изучить структуру, функции и команды для работы с клавиатурой.
2. Подготовить стенд к работе, как описано в п.2.
3. Изучить программу (Приложение 4) и определить изменения в соответствии с заданием преподавателя, которые нужно будет внести в программу в процессе выполнения лабораторной работы.
4. Зайти в папку лабораторной работы №4 (Keyboard) и открыть файл Simple.с, нажав на клавишу F4 в FAR или вызвав его в текстовом редакторе при работе в Windows, и внести в программу подготовленные изменения.
5. Запустить файл (п.2) и убедиться, что символы, соответствующие клавишам клавиатуры правильно отражаются на экране монитора и загоревшиеся светодиоды соответствуют заданию.
Литература
Корнеев В.В., Киселев А.В. Современные микропроцессоры.-3-изд., перераб. и доп.- СПб.:БХВ-Петербург, 2003.- 448 с.
Микропроцессорные системы./ М.С. Куприянов, Р.И. Грушвицкий, О.Е. Мартынов и др. Под. ред Д.В.Пузанкова Учебное пособие для вузов. - СПб., Политехника, 2002.- 936 с.
Угрюмов Е.П. Цифровая схемотехника.: Учебное пособие для вузов:-2-е издание, переработанное и дополненное-СПб: БХВ - петербург, 2005. - 800с.
Приложение а
(справочное)
Перечень команд и типы данных
BYE (->) -- Выход из T167b (пример: bye);
TITLE (->) - Выдача номера версии (пример: .title);
OPENCHANNEL (com,baud->) - Включение COM порта:
В стек в T167b заносится номер COM (1..4) и
константа скорости (например, 12 для 9600 бит/сек).
Пример: 2 12 openchannel
OPENCHANNELRTS (com,baud->);
Аналогична команде openchannel;
oтличие: включает сигнал RTS.
CLOSECHANNEL (->) - Выключение COM порта (пример: closechannel);
RSIO (->a)- Чтение символа (байта) из COM порта, передаваемого от ПК (пример: rsio).
WSIO (a->) - Запись байта, передаваемого на ПК, в COM порт (пример: 42 wsio).
ADDHEXSTART (Addr,HLA->) filename.hex - Добавление стартового адреса в конец HEX файла (пример: 0 0x10 addhexstart test.hex).
? (->) - Выдача полной справки (пример: ?).
PAUSE (->) - Выдача надписи об ожидании нажатия (пример: pause).
LOADHEX+ (->) filename.hex - Hex загрузка файла (с +).
Void -ключевое слово в языке C++, стоящее перед определением функции и означающее, что она не возвращает никакого значения.
Type – передача набора символов.
SIO_Init – инициализация передачи данных.
WriteMax – запись в память по адресу или в нужный регистр ПЛИС.
Вход: regnum - адрес (номер) регистра
val - записываемое значение
Пример:
void WriteMax(unsigned char xdata *regnum, unsigned char val)
-----------------------------------------------------------------------------*/
ReadMax – чтение памяти из адреса или из регистра ПЛИС
Вход: regnum - адрес (номер) регистра
Результат: прочитанное из регистра значение
Пример:
unsigned char ReadMax(unsigned char xdata *regnum)
-----------------------------------------------------------------------------*/
Light – зажигание светодиодов.
Delay – задержка.
LCD_Putch – вывод одного символа на экран.
LCD_Type – вывод строчки текста на экран.
LCD_Clear – очистка дисплея.
LCD_InitDefault – инициализация дисплея.
LCD_GotoXY (x,y) – установка текущей позиции курсора, где х – положение курсора по оси Х (0...15), а y – номер строчки на экране (0 – первая строка, 1 – вторая строка)
GetKey() – чтение нажатой клавиши с клавиатуры (функция возвращает символ, который нажат в текущий момент)
Компилятор С51 поддерживает много типов данных, в частности, следующие.
signed char (1 байт); диапазон представляемых данных: -128 … +127;
unsigned char (1 байт); диапазон представляемых данных: 0 … 255;
signed int (2 байта); диапазон представляемых данных: -32768 … +32767;
unsigned int (2 байта); диапазон представляемых данных: 0 … 65535;
sbit (1 бит); диапазон представляемых данных: 0 … 1;
sfr (1 байт); диапазон представляемых данных: 0 … 255.
Последние два типа данных (sbit и sfr) обеспечивают доступ к регистрам специального назначения. Например, декларирование sfr PL = 0x80 объявляет переменную РL и присваивает ей адрес регистра специального назначения 0x80 (это адрес порта PORT 0 микроконтроллера).
При программировании стенда SDK-1.1s используется десятеричная система счисления для представления чисел при кодировании информации.