Студопедія
рос | укр

Головна сторінка Випадкова сторінка


КАТЕГОРІЇ:

АвтомобіліБіологіяБудівництвоВідпочинок і туризмГеографіяДім і садЕкологіяЕкономікаЕлектронікаІноземні мовиІнформатикаІншеІсторіяКультураЛітератураМатематикаМедицинаМеталлургіяМеханікаОсвітаОхорона праціПедагогікаПолітикаПравоПсихологіяРелігіяСоціологіяСпортФізикаФілософіяФінансиХімія






Бод рейт (Baud Rates)


Дата добавления: 2014-11-10; просмотров: 702



В режимі 0 бод рейт фіксований і визначається наступною формулою

В режимі 2 бод рейт визначається бітом SMOD регістра РCON. Якщо SMOD=0 (значення за замовчуванням) бод рейт дорівнює 1/64 частоти генератора, як показано нижче

В AT89C51 переповнення таймера1 (Timer1) визначає бод рейт при використанні режимів 1 та 3.

Використання таймера1 для генерування бод рейту полягає в наступному. Коли таймер (Timer1) визначає (задає) бод рейт для режимів 1 та 3, то він визначається переповненням таймера і значенням SMOD:

Для цого режиму повинно бути встановлено переривання від таймера (Timer1). Для найбільш поширеного випадку (при наступних настроюваннях TMOD=0010b) швидкість передачі визначається наступною формулою

Таблиця 2.22. Значення бод-рейту, що формуються таймером.

За допомогою таймера1 можна досягти дуже низької швидкості передачі, якщо його сконфігурувати як 16-бітний (TMOD=0001b). В таблиці 2.22. наведені значення бод рейту і як вони можуть бути отримані за допомогою таймера.

У режимі 0 послідовний порт являє собою 8-розрядний регістр зсуву. Байт інформації передається через вивід RxD, при цьому через вивід TxD видаються сигнали синхронізації зсуву. Приймання і видача байта починається з молодшого розряду і закінчується старшим. Швидкість обміну фіксована і дорівнює 1/12 частоти синхронізації ОМК.

Передавання починається з будь-якої команди, яка використовує буфер приймача-передавача SBUF як регістр призначення, наприклад MOV SBUF, A( Рис.2.41).

У фазі Р2 стану S6 (S6P2) пристрій керування за сигналом «Запис у SBUF» записує байт у peгicтp зсуву передавача, встановлює D-тригер дев'ятого біта в одиницю та ініціює роботу блока керування передавачем. Останній через один машинний цикл формує сигнал дозволу «Посилка», який дозволяє видачу вмісту регістра зсуву передавача на вивід RxD та сигналу «Синхронізація зсуву» на вивід TxD. За сигналом «Зсув» у момент S6P2 кожного машинного циклу вміст peгicтpa зсуву передавача зсувається праворуч на одну позицію молодшими бітами вперед і надходить на bивід RxD. У старші біти peгicтpa зсуву передавача, що звільняються, записуються нулі.

При отриманні від детектора нуля сигналу „Передавач звільнений” блок керування передавачем знімає сигнал «Посилка» i встановлює біт переривання передавача ТІ на початку інтервалу S1P1 десятого машинного циклу після надходження сигналу «Запис у SBUF».

Приймання починається при одночасному виконанні умов REN=1 і RI = 0. На початку інтервалу S6P2 наступного машинного циклу (рис. 7) блок керування приймачем формує сигнал дозволу «Приймання», за яким на вивід TxD передаються синхросигнали зсу­ву, i в peгістрі зсуву приймача починають формуватися значення бітів даних, які зчитуються з виводу RxD в інтервалі S5P2 кожного машин­ного циклу. В інтервалі S6P2 кожного машинного циклу за сигналом «Зсув» здійснюється зсув вмісту регістра зсуву приймача ліворуч на одну позицію, i прийнятий біт записується у крайній правий розряд. Після надходження восьмого імпульсу «Зсув» вміст

Рис.2.41. Послідовний порт в режимі 0: а) функціональна схема; б) часові діаграми обміну.

peгістрa приймача переписується у SBUF. В інтервалі S1P1 десятого машинного циклу блок керування приймачем переписує вміст регістра зсуву в буфер SBUF, знімає сигнал «Приймання» та встановлює біт переривання приймача RI в одиницю.

У режимі 1 послідовний порт являє собою 8-розрядний універсальний асинхронний приймач-передавач зі змінною швидкістю обміну. Через TxD передаються, а через RxD приймаються 10 біт: нульовий старт-біт, 8 біт інформації та одиничний стоп-біт. Швидкість обміну є змінною. Вона визначається частотою переповнення таймера 1 і бітом SMOD регістра PCON. На рис. 2.42 показано функціональну схему i діаграми послідовного порту в режимі 1.

Передавання починається з будь-якої команди, що використовує SBUF як peгicтp призначення, наприклад:

MOV SBUF, #25; переслати в SBUF число 25

Пристрій керування ОМК за сигналом «Запис у SBUF» завантажує 1 у дев'ятий біт регістра зсуву передавача, ініціює роботу блока керування передавачем i в інтервалі S1Р1 формує сигнал дозволу «Посилка» низького рівня. За цим сигналом на вивід TxD спочатку надходить старт-біт, а потам за сигналом дозволу «Дані» та імпульсами «Зсув» вміст регістра передавача зсувається на одну позицію, i на вивід TxD по черзі надходять 8 біт даних. За дев'ятим імпульсом «Зсув» формується одиничний стоп-біт, біт ТІ встановлюється в нуль, сигнали «Посилка» i «Дані» знімаються, i обмін закінчується.

Приймання починається при переході сигналу на вході RxD з одиниці в нуль, який виявляється за допомогою детектора спадання. Як тільки перехід з одиниці в нуль виявлений, у регістр зсуву приймача завантажується число 1FFH, тобто всі 9 розрядів регістра заповнюються одиницями. При переході сигналу на вході RxD з одиниці в нуль також скидається значення внутрішнього лічильника-подільника частота на 16, який формує сигнал «Синхронізація приймача». Внутрішній лічильник починає відраховувати імпульси синхронізації. Під час сьомого, восьмого та дев'ятого імпульсів здійснюється опитування сигналу на вході RxD для підтвердження нульового значення старт-біта. Отримані три значення прийнятого біта надхо­дять на детектор біта, який визначає дійсне значення прийнятого біта за мажоритарним принципом «два з трьох». У тому випадку, якщо дійсне значення старт-біта дорівнює нулю, починається приймання по черзі 8 біт даних. Значення кожного біта даних також перевіряється детектором біта в сьомому, восьмому та дев'ятому імпульсах сигналу «Синхронізація при­ймача» i лише після цього заноситься в регістр зсуву приймача. Якщо зна­чення старт-біта не дорівнює нулю, то блок керування прийманням знову починає пошук переходів сигналу на вході RxD з одиниці в нуль.


Рис.2.42. Послідовний порт в режимі 1: а) функціональна схема;

б) часові діаграми обміну.

Приймання старт-біта та 8 біт даних у кожному машинному циклі супроводжується зсувом вмісту регістра приймача на одну позицію за сигна­лом «Зсув». Після прийняття старт-біта та 8 біт даних приймається стоп-біт, значення якого обов'язково має бути одиничним. Отже, після десятого імпульсу «Зсув» у регістрі приймача знаходяться 8 біт інформації i стоп-біт. Блок керування прийманням формує сигнал «Завантаження буфера», за яким вісім інформаційних бітів надходять у SBUF, стоп-біт - у розряд RB8 регістра SCON. Біт переривання приймача RI встановлюється в нуль. Приймання закінчується, i послідовний порт знову починає процес виявлення переходу сигналу на вході RxD з одиниці в нуль.

У режимах 2 i 3 послідовний порт являє собою 9-розрядний універсальний синхронний приймач-передавач із фіксованою (для режиму 2) та змінною (для режиму 3) швидкістю обміну. У режимі 2 швидкість обміну дорівнює fOSC/32 при SMOD = 1 або fOSC/64 при SMOD = 0. У режимі 3 швидкість обміну визначається таймером 1, як i в режимі 1.

На рис. 2.42.а) показано функціональну схему, а на рис. 2.42.б) - діаграми послідовного порту в режимі 2. Функціональна схема послідовного порту в режимі 3 збігається зі схемою на рис.2.41.а), а діаграми - з діаграмами на рис. 2.42.б).

Через вивід TxD послідовний порт передає або з виходу RxD приймає 11 біт: нульовий старт-біт, 8 біт даних, програмований дев'ятий біт TB8 та одиничний стоп-біт. Режими 2 i 3 відрізняються від режиму 1 лише наявністю дев'ятого програмованого біта. Внаслідок цього змінюються умови закінчення циклу приймання: блок керування прийманням формує сигнал керування «Завантаження буфера», завантажує стоп-біт у розряд RB8 регістра SCON i встановлює біт переривання приймача RI в одиницю лише в тому разі, якщо в останньому такті зсуву виконуються дві умови: RI = 0 та SM2 = 0 або значення дев'ятого прийнятого біта даних дорівнює одиниці.

Для демонстрації принципу керування обміном через послідовний порт розглянемо Рис.2.44., де представлена підпрограма здіснення обміну даними, що виводяться на лінійку світлодіодів для індикації.

Рис.2.43. Послідовний порт в режимі 2: а) функціональна схема;

б) часові діаграми обміну.

Приклад програми до лабораторної роботи.

 

P3 data 0B0h ;оголошення символічних імен та адрес

SCON data 098h ;регістр конфігурації послідовного порту

SBUF data 099h ;буфер послідовного порту

IE data 0A8h ;регістр дозволу переривань

IP data 0B8h ; регістр пріоритетів переривань

PCON data 087h ;

TCON data 088h ;регістр контролю переривань

TMOD data 089h ;регістр керування таймерами

TR1 bit TCON.6 ;біти використаних регістрів

TF1 bit TCON.7 ;

TL1 data 8Bh

TH1 data 8Dh

TI bit SCON.1

TB8 bit SCON.3

 

ORG 0

jmp start

start:

mov IE, #010000000b ;налаштування регістрів переривань

mov IP, #000000000b

mov SCON, #001000000b ;налаштування передачі в режимі 1

mov TH1, #248

mov R0, #000111111b ;в R0 заноситься число 3FH для передачі

mov PCON, #00b

mov TMOD, #000010000b ;налаштування Timer1

;в режим Auto-reload

mov A, #000000010b ;

mov DPTR, #0C000h ;переключення мультиплексора на порт Х12

movx @DPTR,A ;

mov A, R0

setb TR1 ;запуск Timer1

mov SBUF, A ;помістити вміст акумулятора в послідовний буфер

loop:

mov A, R0

mov A, #011b

mov DPTR, #0A004h

movx @DPTR, A

mov A, R0

mov DPTR, #0A001h

movx @DPTR, A

inc A

mov R0, A

jbc TI, rec ;перехід на мітку rec якщо TI=1

jmp loop

rec:

clr TR1 ;зупинка роботи Timer1

mov A, R0 ;

mov DPTR, #0A006h ;виведення нової посилки на світлодіоди

movx @DPTR, A

call ZAD

mov A, #0h ;

mov DPTR, #0A006h ;погашення світлодіодів

movx @DPTR, A ;

call zad

setb TR1 ;запуск роботи Timer1

mov A,R0

mov SBUF,A ;відправлення нової посилки в SBUF

jmp loop

ZAD: ;підпрограма затримки

mov R1,#0FFh

C2: mov R2,#0FFh

C4: djnz R2, C4

djnz R1, C2

ret

end

Рис. 2.44. Підпрограма керування обміном через послідовний порт.

2.10.3. Підготовка до роботи

1) Вивчити принцип роботи з послідовним портом ОМК.

2) Вивчити призначення регістрів для керування та ініціалізації послідовного порту.

3) Ознайомитись з принциповою електричною схемою послідовного порту.

4) Розробити БСА підпрограми (Рис.2.44.)

5) Розробити БСА для виконання індивідуального завдання відповідно до варіанту, що вказаний в табл.2.23. для номера Вашої бригади.

 

Таблиця 2.23. Варіанти індивідуальних завдань


<== предыдущая лекция | следующая лекция ==>
Мета роботи | Мета роботи
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | <== 15 ==> |
Studopedia.info - Студопедия - 2014-2024 год . (0.249 сек.) російська версія | українська версія

Генерация страницы за: 0.249 сек.
Поможем в написании
> Курсовые, контрольные, дипломные и другие работы со скидкой до 25%
3 569 лучших специалисов, готовы оказать помощь 24/7