- •Лабораторная работа 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. Структура программы на языке ассемблера
1.1.2. Режимы работы таймеров/счетчиков 0 и1.
Режим 0 (13-битный Таймер/Счетчик) образует 8 битный таймер/счетчик с предварительным делителем на 32 на входе. Регистр таймера конфигурируется как 13 битный регистр. Когда регистр таймера переполняется (переходит из состояния все 1 ко всем 0), то выставляется флаг переполнения таймера TFx, который может использоваться для организации запроса на прерывание. Счет разрешается при TRx=l и либо GATE=0 либо INTx=l. Установка GATE=1 приводит к тому, что работа таймера контролируется внешним входом INTx, что позволяет измерять длительность импульса.
13-битный регистр состоит из всех восьми бит ТНх и младших пяти регистра TLx. Старшие три бита TLx не определены и должны быть игнорированы. Установка бита запуска TRx не очищает регистр.
Рис. 1. Работа таймера в режиме 0.
Работа таймера в этом режиме 1 (16-битный Таймер/Счетчик) аналогична работе в режиме 1, за исключением регистра таймера который теперь конфигурируется как 16-разрядный регистр.
Рис. 2. Работа таймера в режиме 1.
В режиме 2 таймер представляет собой 8-битный регистр с автоматической перезагрузкой. Когда TLx переполняется, не только устанавливается флаг TFx, но в TLx загружается значение ТНх, записанное туда ранее программно. Значение ТНх при перезагрузке сохраняется.
Рис. 3. Работа таймера в режиме 2.
Работа в режиме 3 (два независимых 8-битных Таймера/Счетчика) имеет отличия для таймеров 0 и 1. Таймер 1 в этом режиме просто останавливает свой счет. Тот же эффект даст установка TR1=0. Таймер 0 в режиме 3 устанавливает TL0 и ТН0 как два разных счетчика. Счетчик на базе TL0 использует биты управления таймера 0: С/Т, GATE, TR0, INT0, TF0. ТН0 зафиксирован в режиме таймера (считающего машинные циклы), и использует для управления биты TR1 и TF1 таймера 1. Таким образом, прерывание от переполнения регистра ТН0, будет обозначено флагом TF1.
Рис. 4. Работа таймера в режиме 3.
Режим 3 предназначен для приложений, которым нужен дополнительный 8-битный таймер или счетчик. Когда таймер 0 работает в режиме 3, таймер 1 может быть выключен установкой его в режим 3, или может быть оставлен включенным для использования в качестве генератора тактовых импульсов для последовательного интерфейса, или для любого приложения, которому не требуется прерывание именно от таймера 1.
1.1.3. Таймер 2
Регистры данных Таймера 2 представлены регистрами:
ТН2 и TL2 (SFR адреса CDh и CCh) – старший и младший бит данных. RCAP2H и RCAP2L (SFR адреса CBh и СAh).
1.1.4. Режимы работы таймера 2
Работа Таймера 2 в 16 битный режиме с автоперезагрузкой зависит от значения бита EXEN2. Если EXEN2=0, Таймер 2 при переполнении устанавливает флаг TF2, и перезагружает свои регистры TL2 и ТН2 числами из регистров RCAP2L и RCAP2H, загруженными туда ранее программно. Если EXEN2=1, Таймер 2, кроме выше перечисленных функций, дополнительно производит автоперезагрузку и в случае появления отрицательного перехода 1→0 на внешнем входе Т2ЕХ.
Таблица 3. Регистр управления Таймером 2 T2CON (SFR адрес – С8h)
Номер-бита |
Обозна-чение |
Описание |
7 |
TF2 |
Флаг переполнения Таймера 2 Устанавливается аппаратно в случае переполнения Таймера 2. TF2 не устанавливается когда RCLK, либо TCLK равны 1. Сбрасывается программно. |
6 |
EXF2 |
Внешний флаг Таймера 2. Устанавливается аппаратно когда происходит захват или перегрузка по отрицательному переходу на входе Т2ЕХ, при этом EXEN2=1. |
5 |
RCLK |
Выбор таймера для тактирования приема по последова-тельному каналу. 1 – разрешает тактирование приема данных по последова-тельному каналу в режимах 1 и 3 Таймером 2. 0 – разрешает тактирование приема данных по последова-тельному каналу в режимах 1 и 3 Таймером 1. |
4 |
TCLK |
Выбор таймера для тактирования передачи по последова-тельному каналу. 1 – разрешает тактирование передачи данных по последова-тельному каналу в режимах 1 и 3 Таймером 2. 0 – разрешает тактирование передачи данных по последова-тельному каналу в режимах 1 и 3 Таймером 1. |
3 |
EXEN2 |
Флаг разрешения внешнего управления. Устанавливается пользователем для разрешения захвата или перегрузки по отрицательному переходу на входе Т2ЕХ, если таймер 2 не используется для тактирования последовательного порта. Сбрасывается пользователем, для игнорирования сигналов на Т2ЕХ. |
2 |
TR2 |
Бит запуска Таймера 2. Устанавливается программно для запуска таймера 2. Программно сбрасывается для остановки таймера 2. |
1 |
CNT2 |
Выбор режима таймер/счетчик. 0 – работа в режиме «таймер» 1 – работа в режиме «сетчик» |
0 |
САР2 |
Выбор режима захват/перезагрузка/ 0 – режим перезагрузки по переполнению или по отрицательному перепаду на входе Т2ЕХ, если EXEN2=1. При тактировании последовательного порта бит игнорируется. 1 – режим захвата по отрицательному переходу на входе Т2ЕХ, если EXEN2=1 |
Таблица 4. Режимы работы таймера 2.
RCLK или TCLK |
САР2 |
TR2 |
Режим |
0 0 1 X |
0 1 X X |
1 1 1 0 |
16 бит с Автоперезагрузкой 16 бит с Захватом Тактирование последовательного канала Выключен |
Рис. 5. Работа таймера 2 в режиме с автоперезагрузкой.
Рис. 6. Работа таймера 2 в режиме захвата.
Работа Таймера 2 в 16 битныйом режиме захвата также зависит от бита EXEN2 регистра TCON. Если EXEN2=0, то Таймер 2 работает как 16-битный таймер/счетчик, при переполнении которого устанавливается флаг TF2, который можно использовать для организации запроса на прерывание. Если EXEN2=1, то Таймер 2, кроме перечисленных функций, дополнительно в случае появления отрицательного перепада на внешнем входе Т2ЕХ, произведет захват содержимого регистров TL2 и ТН2 в регистры RACP2L и RACP2H, соответственно. Кроме этого установится флаг EXF2, который может сгенерировать прерывание.
В этом режиме тактирования последовательного порта Таймер 2 используется для тактирования передачи последовательного порта, и флаг прерывания TF2 не устанавливается. Однако флаг EXF2 устанавливается, и может вызывать прерывания. В этом режиме его можно использовать в качестве еще одного источника внешних прерываний.