Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Указания к выполнению работы




Прерывания в микропроцессорных системах позволяют синхронизировать работу системы с различными внешними процессами. В МК51 возможна обработка прерываний от пяти источников:

- два внешних прерывания от сигналов INT0 (P3.2) и INT1 (P3.3);

- от таймеров при их переполнении, то есть от появления флагов TF0 и TF1;

- от последовательного порта при приеме и передаче байта.

Внешние прерывания могут вызываться как фронтом, так и уровнем сигнала. Это определяется битами IT0 и IT1 регистра TCON.

Обработка прерываний производится при разрешении прерывания от соответствующего источника и при общем разрешении обработки прерываний. Управление прерываниями производится установкой или сбросом соответствующих битов регистра разрешения прерываний IE, имеющего следующую структуру:

 

Биты 7 6 5 4 3 2 1 0
Обозн. EA X X ES ET1 EX1 ET0 EX0

 

Здесь EA = 0 – все прерывания запрещены; 1 – можно разрешать прерывания.

ES = 1 – разрешено прерывание от последовательного порта.

ET1 = 1 – разрешено прерывание от таймера 1.

ET0 = 1 – разрешено прерывание от таймера 0.

EX1 = 1 – разрешено прерывание от INT1.

EX0 = 1 – разрешено прерывание от INT0.

Любому из прерываний можно назначить один из двух уровней приоритета. Уровень приоритета определяется битами регистра приоритетов прерываний IP со следующей структурой:

 

Биты 7 6 5 4 3 2 1 0
Обозн. X X X PS PT1 PX1 PT0 PX0

 

PX0 – приоритет INT0.

PT0 - приоритет T0

PX1 - приоритет INT1

PT1 - приоритет T1

PS – последовательного порта.

Установка битов приоритетов в 1 означает более высокий приоритет. Обращение к битам регистров IE и IP возможно по имени бита.

Обработка прерывания осуществляется так же, как и вызов подпрограммы. Отличие заключается в том, что место вызова подпрограммы обработки прерывания определяется не командой CALL в программе, а моментом возникновения прерывания. Адреса подпрограмм обработки прерываний в МК51 имеют определенные значения:

 

Источник прерывания Адрес подпрограммы
IE0 0003H
TF0 000BH
IE1 0013H
TF1 001BH
TI+RI 0023H

При входе в программу обработки прерывания в стеке запоминается адрес возврата, и запрещаются прерывания того же уровня, что и обрабатываемое. Выход из подпрограммы обработки осуществляется командой RETI.

Для реализации обработки прерываний необходимо:

- определить тип внешнего прерывания (по умолчанию IT=0 – прерывание по уровню);

- определить приоритеты прерываний ( по умолчанию все прерывания имеют одинаковый низший уровень);

- по соответствующим адресам разместить подпрограммы обработки прерываний.

Например, задача по генерированию прямоугольных импульсов частотой 10 кГц может быть решена с использованием прерывания следующим образом:

 

Пример программы генерирования прямоугольных импульсов

 

 

 

delay equ -50

;Длительность половины периода

  org

0

 

  jmp

start

 

  org

000bh

 

  cpl

p3.0

;Подпрограмма обработки

;прерывания от t0

  reti

 

 

start: mov

TH0,#delay

 
  mov

TL0,#delay

 
  mov

TMOD,#2

;Режим 2 таймера 0

  setb

EA

;Разрешить прерывания

  setb

ET0

;Разрешить прерывание от t0

  setb

TR0

;Запустить таймер

  sjmp  

$

;Фоновая задача

           

ЛАБОРАТОРНАЯ РАБОТА № 5

ПОСЛЕДОВАТЕЛЬНЫЙ ИНТЕРФЕЙС МИКРОКОНТРОЛЛЕРА СЕРИИ МК51

 

Цель работы

Целью данной работы является изучение работы последовательного канала микроконтроллера серии МК51.

Рабочее задание

1. Измените параметры тестовой программы в соответствии с вариантом задания.

2. Добейтесь безошибочной трансляции программы в среде mVision.

3. В режиме отладки осуществите пошаговое выполнение программы. При отладке результат выполнения контролируйте в окне терминала.

4. Ответьте на контрольные вопросы.

Контрольные вопросы

1. Что такое последовательная передача данных?

2. Что такое UART?

3. Как настроить UART микроконтроллера серии МК51?

4. В чем особенность обработки прерывания от последовательного канала в МК51?

5. Как в среде mVision симулируется обмен по последовательному каналу?

6. Каково назначение битов RB8 и TB8?.

7. Прокомментируйте тестовую программу.

 

Варианты заданий

1. Организовать буфер приема тестового примера в ОЗУ.

2. Добавить в тестовом примере проверку четности.

3. Запрограммировать в качестве признака конца пакета количество принятых символов, равное 10.

4. Добавить в тестовом примере проверку контрольной суммы.

 

Указания к выполнению работы

Передача данных по последовательному каналу используется в микропроцессорных системах для связи с удаленными объектами. В МК51 возможен дуплексный обмен данными по последовательному каналу с различной скоростью передачи. Информация передается через выход передатчика TxD (вывод P3.6 микросхемы) и принимается на вход приемника RxD (вывод P3.7 микросхемы). Управление последовательным интерфейсом производится через регистр SCON со следубщей структурой:

Биты 7 6 5 4 3 2 1 0
Обозн. SM0 SM1 SM2 REN TB8 RB8 TI RI

 

Разряды регистра SCON доступны по записи и чтению. Ассемблер допускает поименное обращение к разрядам регистра. Назначение разрядов регистра следующее:

- SM0, SM1 определяют один из четырех режимов работы интерфейса;

- SM2 – разрешение многопроцессорной работы; (подробнее об использовании SM2 см. в документации по МК51);

- REN – разрешение приема данных;

- TB8 – девятый передаваемый бит данных в режимах 2 и 3;

- RB8 – девятый бит принятых данных в режимах 2 и 3;

- TI – флаг прерывания передатчика;

- RI – флаг прерывания приемника.

 

Флаги TI и RI устанавливаются аппаратно при передаче и приеме байта. Сброс флагов должен производится программно. При разрешении прерывания от последовательного канала и установки приоритета (биты ES и PS регистров IE и IP) установка флагов TI и RI вызывает прерывания по вектору 23H. Скорость передачи в режимах 0 и 2 определяется частотой тактового генератора, в режимах 1 и 3 – таймером Т1. Некоторые стандартные режимы работы представлены в табл. 1.

Таблица 1

Режим

Скорост, Кбод

fBQ, МГц

SMOD

Разряды TMOD

TH1

TL1

C/T M1 M2
0 1000 12 ´ ´ ´ ´ ´ -
2 375 12 1 ´ ´ ´ ´ -
1,3 62,5 12 1 0 1 0 FFh -
-“- 19,2 11,059 1 0 1 0 FDh -
-“- 9,6 11,059 0 0 1 0 FDh -
-“- 4,8 11,059 0 0 1 0 Fah -
-“- 2,4 11,059 0 0 1 0 E4h -
-“- 1,2 11,059 0 0 1 0 E8h -
-“- 0,1375 11,986 0 0 1 0 18h -
-“- 0,110 6 0 0 1 0 72h -
-“- 0,110 12 0 0 0 1 FEh EBh

Пример программы приема строки по последовательному каналу

 

org 0        

 
 

jmp start

 
 

org 23h

 
 

jmp serial

 
 

org 30h

 
start:

 

 
 

mov tmod,#20h

; Режим работы таймера
 

mov scon,#01010000b

; Режим работы UART
 

mov th1,#0fdh

; Скорость обмена
 

mov tl1,th1

 
 

mov dptr,#0

; Адрес приняиых данных
  setb tr1

;Старт таймера- UART работает

  setb es

;разрешить прерывания от uart

 

setb ea

 
  clr    f0

; Признак конца приема строки

wait_line:  

; Ожидание приема строки

  jnb    f0,$

; Строка принята

 

clr f0

 
 

clr ren

 
 

mov dptr,#0

 
 

setb ti

; Начать передачу
 

jnb f0,$

; Строка передана
 

clr f0

 
 

setb ren

 
 

mov dptr,#0

 
 

jmp wait_line

 
serial:

 

 
 

jbc ri,rec

 
 

clr ti

 
 

movx a,@dptr

 
 

cjne a,#0dh,send

; Признак конца строки
 

jmp rte

 
send:

 

 
 

mov sbuf,a

 
 

jmp d

 
rec:

 

 
 

mov a,sbuf

 
 

movx @dptr,a

 
te:

 

 
 

xrl a,#0dh

; Признак конца строки
 

jnz d

 
rte:

 

 
 

setb f0

 
d:      

inc dptr

 
 

reti

 
 

end

 
       

Микропроцессорная техника: методические указания к выполнению лабораторных работ для студентов направления 210100 - “Электроника и наноэлектроника”

 

АЛЕКСАНДР ИВАНОВИЧ ВЛАСОВ

 

 

Научный редактор В.Ф. Зотин

Редактор издательства                         

Компьютерный набор А.И. Власов

 

 


Темплан 2015 г., п.   

Подписано в печать          . Формат 60х84 1/16. Бумага офсетная. Офсетная печать. Усл. печ.л. 1,56. Уч.-изд.л. 1,56. Тираж 10 экз. Заказ    . Бесплатно.

 

Издательство Брянского государственного технического университета

241035, Брянск, бульвар 50-летия Октября, 7, БГТУ. 58-82-49.

Лаборатория оперативной полиграфии БГТУ, ул. Институтская, 16.










Последнее изменение этой страницы: 2018-04-12; просмотров: 520.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...