Главная
Популярная публикация
Научная публикация
Случайная публикация
Обратная связь
ТОР 5 статей:
Методические подходы к анализу финансового состояния предприятия
Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века
Ценовые и неценовые факторы
Характеристика шлифовальных кругов и ее маркировка
Служебные части речи. Предлог. Союз. Частицы
КАТЕГОРИИ:
|
Структура и основные режимы работы канала последовательного ввода-вывода UART микроконтроллера MCS-51.
Режимы работы:
Режим 0 – синхронный последовательный ввод/вывод со скоростью . Передача идёт по 2 линиям: данные и синхронизация. RxD – прием и передача данных. TxD – передача синхронизирующих сигналов.Передача начинается после занесения данных в регистр SBUF. Прием выполняется в случае, если бит разрешения приема REN=1 и флаг RI=0. Когда получены все 8 бит, RI устанавливается в 1, генерируется запрос прерывания. Данные должны быть прочитаны до прихода следующих битов.
Режим 1 – асинхронный ввод/вывод с переменной частотой, определяемой работой таймера Т1 (передача 10 битв кадре (1 – старт, 2- стоп, 8 – данные). , X – коэффициент деления таймера T1.
Режим 2 – асинхронный ввод/вывод с фиксированной частотой или ( ) в 11-битовом формате (1 – старт, 1 – стоп, 8 – данные, 1 – четность/сетевые связи)
Режим 3 – асинхронный ввод/вывод с переменной частотой, определяемой работой таймера Т1 в 11-битовом формате.
Структурная схема последовательного канала

A – аккумулятор
SBUF – последовательный буфер mov SBUF, A; загрузка передатчика
SMOD – управляющее слово: mov A,SBUF; чтение приемника
| SM0
| SM1
| SM2
| REN
| TB8
| RB8
| TI
| RI
| | Биты задания реж.
00 – 0 режим
01 – 1 режим
10 – 2 режим
11 – 3 режим
| Запрещение приема данных с нулевым значением RB8
| Разрешение приема
| Бит для 11битного формата
| Приёмный бит 9/11-тибитного формата
| Флаг преры-вания
передат-чика
| Флаг преры-вания приём-ника
|
39. Программирование приёма/передачи данных по каналу UART между двумя микроконтроллерами.

Пусть происходит передача сообщения с частотой ( из внешней памяти XSEG.
| Программа для МК1
| Программа для МК2
| | ORGorg 30h
MOV DPTR, 1000h; адрес сообщения
MOV PSW,#0; 0-й банк для служебных регистров
MOV R0, #32; 32 символа
CLR EA; запрет прерывания передатчика для последующего программного анализа
ORL PCON, #80h; SMOD = 1
ORL P3, #02h; STOP сигнал
MOV SCON,#01000010B; 1 режим, готовность передачи
CLR TR1
MOV SCON, #010xxx1xB; 1 режим таймера (10 бит) и TI = 1
CLR TR1; выключение Т1
MOV TMOD, #00100000B
MOV TH1, #0FDh
SERB TR1; запуск таймера
LOOP:
MOVX A, @DPTR; символ для передачи
JNB TI, $; ожидание готовности передатчика
CLR TI
MOV SBUF, A; вывод в передатчик
INC DPTR
DJNE R0, LOOP
JNB TI, $; ожидание
END
| ORG 30h
MOV DPTR, 2000h
MOV R0, 32h
MOV PSW, #0
CLR EA
ORL PCON, #80h
ORL P3, #01h; младший бит для ввода через P3.1
MOV SCON,#0101xxxxB; 1 режим разрешение приема (50h)
CLR TR1
MOV TMOD,20h;
MOV TH1,0FDh;
SETB TR1;
LOOP:
JNB RI,LOOP; ожидаем поступления символа
CLR RI
MOV A,SBUF; пересылка символа из приемника
MOV @DPTR,A; сохранение в памяти
INC DPTR
DJNZ R0,LOOP
END
|
Не нашли, что искали? Воспользуйтесь поиском:
|