КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Подключение внешней памяти
Структура внутренней памяти данных Структура внутренней памяти данных приведена на рис.13. В состав памяти входят четыре банка регистров общего назначения, область памяти с битовым доступом, область памяти с байтовым доступом, зона регистров специального назначения.
Рис. 13. Структура внутренней памяти данных
Для подключения внешней памяти необходимо организовать шину адреса и шину данных с помощью специальных функций портов P0 и P2. Поскольку для организации ША требуется 16 разрядов и для ШД 8 разрядов, необходимо использовать буферный регистр, который позволит использовать порт Р0 по очереди в качестве ША и ШД. Схема подключения внешней памяти программ приведена на рис.14. Схема подключения внешней памяти данных приведена на рис.15.
Рис.14. Подключение внешней памяти программ
В начале цикла обращения к памяти программ адрес выставляется на порты Р0 (младшие разряды) и Р2 (старшие разряды). Одновременно с этим сигнал ALE выставляется в 0. Буферный регистр принимает со своих входов D0-D7 младшие разряды адреса и записывает во внутренние ячейки. В середине цикла обращения к памяти сигнал ALE выставляется в 1, буфер прекращает прием адреса. Младшие разряды адреса с порта Р0 снимаются. Далее полный адрес подается на микросхему памяти из Р2 и с выходов буферного регистра В0-В7. Одновременно с этим сигнал РМЕ выставляется в 0, что обеспечивает доступ к требуемой ячейке памяти. Содержимое ячейки выставляется на выходы D0-D7 и через порт Р0 поступает в микроконтроллер. Обращение к памяти данных производится как для чтения, так и для записи, поэтому вместо сигнала РМЕ используется RD для чтения и WR для записи. При записи данные выставляются в порт Р0. Рис. 15. Подключение внешней памяти данных 3.8. Блок таймеров / счетчиков Микроконтроллер содержит два таймера/счетчика Т/С0 и Т/С1. Структура таймера/счетчика Т/С1 приведена на рис.16. У каждого таймера/счетчика имеется 16-разрядный регистр (ТН0,TL0 для Т/С0) и (TH1,TL1 для Т/С1), который выполняет функцию считающего элемента. Управление работой таймеров/счетчиков осуществляется с помощью регистров специального назначения – регистра режимов TMOD и регистра управления TCON, а также схемы управления. Число, с которого начинается счет, заносится в регистры таймеров/счетчиков программно. В процессе счета содержимое регистров Т/С0 и Т/С1 инкрементируется. При переполнении регистров Т/С0 или Т/С1 (переход от состояния «все единицы» к состоянию «все нули») формируется флаг переполнения. Рис.16. Структура таймера/счетчика Т/С1
При работе в качестве таймера, содержимое Т/С0 и Т/С1 инкрементируется каждый машинный цикл, т.е. частота счета равна fQ/12, где fQ – частота тактового генератора. При работе Т/С0 и Т/С1 в качестве счетчиков внешних событий (сигналы поступают на входы Р3.4 и Р3.5), содержимое счетчиков инкрементируется при переходе из 1 в 0 сигналов на счетных входах. Регистр режимов TMOD определяет: - режим работы каждого таймера/счетчика – используемую разрядность считающего элемента; - источник импульсов для счета – работу в качестве таймера или счетчика; - разрешение управления запуском таймера / счетчика от внешнего входа. Назначение разрядов регистра TMOD приведено в таблице 1. Биты 0-3 относятся к Т/С0, биты 4-7 – к Т/С1. Таблица 1
Назначение битов М0, М1 (режим работы, отдельно для Т/С1 и Т/С0): - М1, М0=00 (режим 0), используется 13-разрядный считающий элемент 5 разрядов TH0+8 разрядов TL0; - М1, М0=01 (режим 1), используется 16-разрядный считающий элемент 8 разрядов TH0+8 разрядов TL0; - М1, М0=10 (режим 2), используется 8-разрядный считающий элемент TL0. TH0 хранит константу перезагрузки. При переполнении TL0 автоматически перезагружается; - М1, М0=11 (режим 3), для Т/С1 не используется. Т/С0 работает как два независимых 8-разрядных счетчика TH0 и TL0. Биты С/Т0,С/Т1 определяют работу в качестве таймера (С/Т0 или С/Т1 = 0) или счетчика (С/Т0 или С/Т1 = 1). Бит GATE разрешает управлять таймером от внешнего вывода INT0 – для Т/С0, INT1 – для Т/С1. Если GATE = 0 – управление запрещено;GATE = 1 – управление разрешено. Регистр управления ТCON предназначен для приема и хранения управляющего слова. Обозначение и назначение разрядов регистра приведено в таблице 2. Для управления работой таймеров-счетчиков используются разряды 4-7. Таблица 2
Назначение битов: - TR0, TR1 – биты включения Т/С, отдельно для Т/С0 и Т/С1. Если TR = 0 - выключен, TR = 1 – включен. Биты устанавливаются и сбрасываются программно - TF0, TF1 – флаги переполнения Т/С. Биты сбрасываются и устанавливаются аппаратно и программно. Все биты регистра ТCON доступны по чтению. Биты 4,5 относятся к Т/С0,биты 6,7 – к Т/С1. Т/С1 аппаратно связан с блоком синхронизации последовательного интерфейса (ПИ), он используется для управления скоростью приема/передачи последовательных данных.
Пример настройки работы таймера-счетчика. Задача. Запрограммировать таймер-счетчик 1 для работы в режиме 16-разрядного таймера без внешнего управления, начальная константа для счета FFFDh. Формирование разрядов регистра TMOD: М1=0, М0=1 – режим 1 (16-разрядный считающий элемент); С/Т1 =0 – режим таймера; GATE = 0 – без внешнего управления; TMOD=00010000В.
Фрагмент программы настройки таймера: MOV TMOD, #00010000B;определение режима MOV TH1, #FFH;начальная константа для счета FFh (старшая часть) MOV TL1, #FDH;начальная константа для счета FDh(младшая часть) SETB TR1;запуск таймера-счетчика
Пример организации временных отметок. Задача. В МП устройстве подключен кварцевый резонатор на 12МГц. Требуется запрограммировать таймер 0 в режим таймера без управления от внешнего входа таким образом, чтобы интервал переполнений таймера был 0,05сек.
Решение. Частота генерации импульсов, для считающего элемента таймера равна 12000000/12= 1000000. Это означает, что за 1 сек на считающий элемент поступит 1000000 импульсов, а требуемый временной интервал составляет 0,05сек. Таким образом число импульсов, поступающих за 0,05 сек составит 1000000*0,05=50000. Соответственно, для подсчета такого числа импульсов требуется 16-разрядный считающий элемент. Выбираем режим 1. Начальная константа для счета равна 65536-50000=15536. Переводим в 16-ричную систему 15536D = 3CB0H. Программируем таймер: MOV TMOD,#00000001B; MOV TH0,#3CH; MOV TL0,#B0H. Запускаем таймер командой SETB TR0. Таким образом, запрограммированный таймер сформирует флаг переполнения через 0,05сек. Чтобы получить новое переполнение через такой же интервал, необходимо перезагрузить в него константу для счета 3CB0H.
Дата добавления: 2014-11-25; Просмотров: 1724; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |