Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpora_na_pechat.docx
Скачиваний:
9
Добавлен:
22.04.2019
Размер:
2.4 Mб
Скачать

39. Структура и основные режимы работы канала последовательного ввода-вывода 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-тибитного формата

Флаг преры-вания

передат-чика

Флаг преры-вания приём-ника

40. Программирование приёма/передачи данных по каналу 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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]