- •Лабораторная работа 8 Изучение архитектуры лабораторного стенда sdk 1.1
- •1. Методические указания к работе.
- •1.1. Учебный лабораторный комплекс sdk-1.1
- •1.2. Составные части комплекса sdk-1.1
- •1.2.1. Микроконтроллер aDuC812bs
- •1.2.2. Плис мах3064
- •1.2.3. Схема сброса
- •1.2.4. Источник питания
- •1.2.5. Кварцевые резонаторы
- •1.2.6. Дискретные входы-выходы
- •1.2.7. Аналоговые входы-выходы
- •1.2.8. Светодиодные индикаторы
- •1.2.9 Устройства i2c
- •1.2.10. Матричная клавиатура ak1604a-wwb
- •1.2.10. Последовательный канал
- •1.2.12. Жидкокристаллический дисплей
- •1.2.13. Звукоизлучатель
- •2. Порядок выполнения работы
- •4. Содержание отчета
- •5. Контрольные вопросы
- •Лабораторная работа 9 Управление светодиодами и последовательным интерфейсом в лабораторном стенде sdk 1.1
- •1. Методические указания к работе.
- •1.1. Управление светодиодными индикаторами.
- •1.2. Управление последовательным интерфейсом
- •1.3. Особенности последовательного интерфейса микроконтрол-леров семейства mcs51
- •1.4. Работа с последовательным каналом по опросу
- •2. Порядок работы.
- •3. Содержание отчета
- •4. Контрольные вопросы
- •Лабораторная работа 10 Таймер, использование прерываний в лабораторном стенде sdk 1.1
- •1. Методические указания к работе.
- •1.1. Таймеры
- •1.1.1. Таймеры 0 и 1
- •1.1.2. Режимы работы таймеров/счетчиков 0 и1.
- •1.1.3. Таймер 2
- •1.1.4. Режимы работы таймера 2
- •1.2. Система прерываний
- •2. Порядок работы.
- •3. Содержание отчета
- •Лабораторная работа 11 Работа с клавиатурой лабораторного стенда sdk 1.1
- •1. Методические указания к работе.
- •2. Требования к выполнению работы.
- •1.2. Реализация интерфейса i2с на Aduc812.
- •1.3.Устройства подключенные к шине 12с в стенде sdk1.1
- •1.3.1.Электрически стираемое и перезаписываемое пзу e2prom
- •1.3.2.Часы реального времени
- •1.4. Работа с устройствами, подключенными к шине i2с
- •1.4.1. Запись
- •1.4.2. Чтение
- •Лабораторная работа 13 Изучение цап и ацп лабораторного стенда sdk 1.1
- •1. Методические указания к работе.
- •1.1.Реализация ацп в aDuC812.
- •1.1.1. Передаточная функция ацп
- •1.1.2. Частота тактирования
- •1.1.3.Режимы работы
- •1.2. Термодатчик
- •2. Описание тестовой программы и некоторых функций драйвера
- •1. Языки ассемблера
- •2. Структура программы на языке ассемблера
2. Требования к выполнению работы.
1. В тестовой программе должна быть продемонстрирована работа с клавиатурой и последовательным интерфейсом по прерыванию.
2. Переключение между двумя задачами в тестовой программе должно быть выполнено с использованием DIP-переключателей.
3. Должен быть предусмотрен контроль ввода корректных значений в рамках второй задачи программы.
3. Содержание отчета
1. Иллюстрация организации и функционирования разработанного программного обеспечения (драйверы, тестовая программа) в виде блок-схемы, диаграммы процессов, потоков данных, диаграммы состояний автоматов и других схем поясняющего характера.
2. Исходный текст программы с комментариями.
3. Основные результаты.
Лабораторная работа 12 Реализация интерфейса I2С в лабораторном стенде SDK 1.1
Цель работы: Изучить архитектуру последовательного интерфейса I2С лабораторного стенда SDK-1.1, разработать программы управления последовательным интерфейсом, просимулировать программы в отладчике-симуляторе, загрузить и выполнить программы на лабораторном стенде.
1. Методические указания к работе.
1.1. Интерфейс I2С, общие сведения.
Интерфейс I2С (Inter Integrated Circuit) является двухпроводной беспроводной системой связи, позволяющей установить связь между несколькими ведущими и несколькими ведомыми устройствами. Связь осуществляется с помощью двух двунаправленных линий: SCLOCK управляет передачей данных, SDATA используется для обмена данными. Скорость передачи определяется частотой синхронизирующих импульсов на линии SCLOCK, которые генерирует ведущее устройство. Ведомое устройство этими импульсами управляется. Типичная последовательность передачи данных по интерфейсу I2С показана на рис.1.
Рис. 1. Последовательность передачи данных по интерфейсу I2С.
Последовательность начинается стартовым состоянием. Стартовое состояние представляет собой изменение уровня сигнала на линии SDATA от низкого на высокий, в то время как уровень сигнала на SCLOK высокий.
После стартового бита ведущий посылает байт (начиная со старшего бита), который содержит адрес ведомого устройства и бит статуса R/W (чтение/запись). Первые семь бит содержат адрес устройства, а младший определяет направление сообщения: 0 – передача, 1 – прием.
Теперь каждое ведомое устройство в системе сравнивает принятый семибитный адрес со своим адресом, и если он совпадает, выдает бит подтверждения (АСК). Подтверждение выглядит как низкий уровень на линии SDATA на девятом такте и должно выдаваться ведомым устройством после приема каждого байта. Если нет подтверждения или передача закончилась, ведущее устройство генерирует состояние завершения.
Состояние завершения представляет собой изменение уровня сигнала на линии SDATA от высокого к низкому, в то время как уровень сигнала на SCLOK высокий.
1.2. Реализация интерфейса i2с на Aduc812.
Aduc812 поддерживает двухпроводный последовательный интерфейс, совместимый с I2C. Этот интерфейс разделяет контакты внутреннего SPI интерфейса, и поэтому в каждый момент времени пользователю доступен либо один, либо другой интерфейс (зависит от бита SPE регистра SPICON). Интерфейс конфигурируется в два режима: «программный ведущий» и «аппаратный ведомый», и использует два контакта: SDATA ( контакт 27) – ввод/вывод последовательных данных и SCLOCK (контакт 26) – последовательный синхросигнал. Для управления интерфейсом используется три SFR регистра:
I2CCON (SFR адрес E8h) – регистр управления I2C (таблица 1);
I2CADD (SFR адрес 55h) – регистр адреса интерфейса I2C, содержит адрес периферийного устройства, возможна запись кодом пользователя;
I2CDAT (SFR адрес 9Ah) – регистр данных интерфейса I2C, в регистр записываются данные для передачи по интерфейсу I2C или считываются только что пришедшие по интерфейсу данные.
Таблица 1. Регистр управления I2C I2CCON
Бит |
Название |
Описание |
7 |
MDO |
Бит выходных данных (только в режиме программный ведущий). Используется для передачи данных в режиме «программный ведущий». Данные, записанные в этот бит, будут выдвинуты на контакт SDATA, если установлен бит разрешения передачи данных (MDE). |
6 |
MDE |
Бит разрешения передачи данных (только в режиме программный ведущий). Устанавливается пользователем для назначения контакта SDATA 1 – передача данных 0 – прием данных |
5 |
МСО |
Бит выходного синхроимпульса (только в режиме программный ведущий). Используется в режиме передающего I2C интерфейса. Данные записанные в этот бит будут переданы на вывод SCLOCK |
4 |
MDI |
Бит входных данных (только в режиме программный ведущий). Используется для приема данных в режиме «программный ведущий». В этот бит считывается значение SDATA по сигналу SCLOCK, если сброшен бит разрешения передачи данных (MDE). |
3 |
I2CM |
Бит выбора режима «ведущий/ведомый». Устанавливается и сбрасывается пользователем. 0 – аппаратный ведомый 1 – программный ведущий |
2 |
I2CRS |
Бит сброса I2C (только в режиме аппаратный ведомый). Устанавливается и сбрасывается пользователем. 0 – нормальная работа I2C 1 – сброс интерфейс I2C |
1 |
I2CTX |
Бит направления передачи (только в режиме аппаратный ведомый). Устанавливается аппаратно 0 – прием 1 – передача |
0 |
I2CI |
Флаг прерывания (только в режиме аппаратный ведомый) Устанавливается аппаратно после приема или передачи байта Сбрасывается программно |