Лекция № 5 (1085697)
Текст из файла
ЛЕКЦИЯ № 5.
Демонстрационная плата PICDEM-2 или KIT-03.
МК
Демонстрационная плата PICDEM-2 plus.
К выводу RB0 присоединена цепь с кнопкой, при нажатии которой появляется сигнал низкого уровня и, если прерывания разрешены, то будет переход в режим прерывания.
Обращение к персональному компьютеру у обоих плат одинаковое.
Задание:
1.) Запрограммировать микроконтроллер для приема/передачи информации между микроконтроллером и персональным компьютером на частоте 9600 Гц посылкой 8 бит.
2.) Вывести на экран монитора сообщение о готовности, приглашение к нажатию клавиши и сообщение о нажатой клавише.
Структурная схема:
TITLE "TITOV_23/11/2007_KIT-03_USART"
LIST P = 16F873
_ _ CONFIG _XT_OSC&_WDTE_OFF&_PWRTE_ON&_LVP_OFF&_BODEN_OFF
ORG 0x000 ; откуда начинаем.
GOTO MAIN
MAIN: ; ОСНОВНАЯ ПРОГРАММА.
CALL INIT_USART
CALL RDY
CALL SEND_MESSAGE
CALL TEST_KEY
CALL SEND_MESSAGE
GOTO $ ; зацикливание на строке
; конец основной программы.
; Подпрограмма.
INIT_USART:
MOVLW B'10100100' ; сначала запрограм. как передатчик и запишем в W.
BANKSEL TXSTA ; отыщем банк, в котором TXSTA.
MOVWF TXSTA ; пересылка значений из W в регистр TXSTA.
BANKSEL SPBRG ; выбор банка.
MOVLW .25 ; пересылка в W значения 25.
MOVWF SPBRG ; пересылка значений из W в регистр SPBRG. BANKSEL RCSTA ; отыщем банк, в котором RCSTA.
MOVLW B'10010000' ; запрограммируем как приёмник и запишем в W.
MOVWF RCSTA ; пересылка значений из W в регистр RCSTA.
RETURN ; возврат из подпрограммы.
; Подпрограмма.
RDY: MOVLW 'R'
CALL SEND_USART
MOVLW 'D'
CALL SEND_USART
MOVLW 'Y'
CALL SEND_USART
RETURN
SEND_USART:
BANKSEL TXREG ; отыщем банк, в котором TXREG.
MOVWF TXREG ; пересылка значения из W в регистр TXREG.
BANKSEL PIR1 ; отыщем банк, в котором PIR1.
BTFSS PIR1, TXIF ; пров. знач. бита TXIF: если '1', то $+2, если '0', то $+1.
GOTO $ - 1 ; переход на предыдущую команду
RETURN ; возврат из подпрограммы.
Пояснения:
В подпрограмме INIT_USART:
в регистр состояния передатчика (TXSTA) устанавливаем:
7 6 5 4 3 2 1 0
| CSRC | TX9 | TXEN | SYNC | - | BRGH | TRMT | TX9D |
1 0 1 0 0 1 0 0
в регистр состояния приёмника (RCSTA) устанавливаем:
7 6 5 4 3 2 1 0
| SPEN | RX9 | SREN | CREN | ADDEN | FERR | OERR | RX9D |
1 0 0 1 0 0 0 0
При определении частоты обмена данными в асинхронном режиме пользуемся следующими формулами:
SPBRG – регистр, который определяет скорость передачи.
Выбор содержимого регистра SPBRG осуществляется по справочникам.
Универсальный синхронно- асинхронный приемопередатчик (USART).
USART – это модуль последовательного ввода/вывода, который может работать в трех режимах:
-
п
олнодуплексный асинхронный режим Для связи с терминалами, ПК. -
в
едущий полудуплексный синхронный режим Для связи с микросхемами ЦАП, -
ведомый полудуплексный синхронный режим АЦП, последовательными EEPROM
Биты SPEN (RCSTA<7>) и TRISC<7:6> должны быть установлены в "1" для использования выводов RC6/TX/CK и RC7/RX/DT в качестве портов USART.
Регистр управления и статуса передатчика (TXSTA).
7 6 5 4 3 2 1 0
| CSRC | TX9 | TXEN | SYNC | - | BRGH | TRMT | TX9D |
CSRC – Выбор источника тактового сигнала.
Синхронный режим:
1 = ведущий, внутренний тактовый сигнал от BRG.
0 = ведомый, внешний тактовый сигнал с входа CK.
Асинхронный режим:
Не имеет значения.
TX9 – Разрешение 9 - разрядной передачи.
1 = 9 - разрядная передача.
0 = 8 - разрядная передача.
TXEN - Разрешение передачи.
1 = разрешена.
0 = запрещена.
Примечание: В синхронном режиме биты SPEN/CREN отменяют действие бита TXEN.
SYNC – Режим работы USART.
1 = синхронный
0 = асинхронный
BRGH – Выбор высокоскоростного режима.
Синхронный режим:
Не имеет значения.
Асинхронный режим:
1 = высокоскоростной режим.
0 = низкоскоростной режим.
TRMT – Флаг очистки сдвигового регистра передатчика TSR.
1 = TSR пуст.
0 = TSR полон.
TX9D – 9-й бит передаваемых данных (может использоваться для программной проверки четности.
Регистр управления и статуса приемника (RCSTA).
7 6 5 4 3 2 1 0
| SPEN | RX9 | SREN | CREN | ADDEN | FERR | OERR | RX9D |
SPEN – Разрешение работы последовательного порта.
1 = модуль USART включен (выводы RC7/RX/DT, RC6/TX/CK
подключены к USART).
0 = модуль USART выключен.
RX9 - Разрешение 9- разрядного приема.
1 = 9 - разрядный прием.
0 = 8 - разрядный прием.
SREN – Разрешение одиночного приема.
Синхронный режим:
1 = разрешен одиночный прием.
0 = запрещен одиночный прием.
Сбрасывается в "0" по завершению приема.
Примечание: В режиме ведомого не имеет значения.
Асинхронный режим:
Не имеет значения.
CREN – Разрешение приема.
Синхронный режим:
1 = прием разрешен (при установке бита CREN автоматически сбрасывается бит SREN).
0 = прием запрещен.
Асинхронный режим:
1 = прием разрешен
0 = прием запрещен.
ADDEN – Разрешение детектирования адреса.
Асинхронный 9-разрядный прием (RX9 = 1):
1 = детектирование адреса разрешено. Если бит RSR<8> = 1, то генерируется прерывание и загружается приемный буфер.
0 = детектирование адреса запрещено. Принимаются все биты, девятый бит может использоваться для проверки четности.
Асинхронный 8-разрядный прием (RX9 = 0):
Не имеет значения.
Синхронный режим:
Не имеет значения.
FERR – Ошибка кадра, сбрасывается при чтении регистра RCREG.
1 = произошла ошибка кадра.
0 = ошибки кадра не было.
OERR – Ошибка переполнения внутреннего буфера, устанавливается в "0" при сбросе бита CREN.
1 = произошла ошибка переполнения.
0 = ошибки переполнения не было.
RX9D – 9-й бит принятых данных (может использоваться для программной проверки четности).
Нас интересует полнодуплексный асинхронный режим: хотим одновременно принимать и отдавать информацию.
Рекомендованная последовательность действий для передачи в асинхронном режиме:
-
Установить требуемую скорость передачи с помощью регистра SPBRG и бита BRGH
-
Выбрать асинхронный режим сбросом бита SYNC в "0" и установкой бита SPEN в "1".
-
Если необходимо, разрешить прерывания установкой бита TXIE в "1".
-
Если передача 9-разрядная, установить бит TX9 в "1".
-
Разрешить передачу установкой бита TXEN в "1", автоматически устанавливается флаг TXIF.
-
Если передача 9-разрядная, записать 9-бит данных в TX9D.
-
Записать данные в регистр TXREG.
-
Если используются прерывания, то биты GIE иPEIE в регистре INTCON должны быть установлены в "1".
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.
олнодуплексный асинхронный режим Для связи с терминалами, ПК.
едущий полудуплексный синхронный режим Для связи с микросхемами ЦАП, 














