Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metod_prakt-Mikroprocesori-2008-ukr.doc
Скачиваний:
15
Добавлен:
13.04.2015
Размер:
1 Мб
Скачать

4.4.3 Контрольні запитання і завдання

1. Які регістри спеціальних функцій МК| використовуються для організації обробки переривань?

2. Які регістри задіяні у формуванні сигналів від усіх джерел переривання?

3. У яких регістрах встановлюються прапорці ініціалізації переходів по вектору переривань?

4. Які регістри використовуються для організації переривань від внутрішніх джерел?

5. Які регістри використовуються для організації переривань від зовнішніх джерел?

6. За якою адресою буде виконаний перехід до підпрограми обробки переривання, якщо в регістрі дозволу IE буде встановлене слово 1FH, що управляє?

7. За якою адресою буде виконаний перехід до підпрограми обробки переривання, якщо в регістрі дозволу IE буде встановлене слово 90H, що управляє?

8. За якою адресою буде виконаний перехід до підпрограми обробки переривання, якщо в регістрі дозволу IE буде встановлене слово 81H, що управляє?

9. Яке слово, що управляє, необхідно помістити в регістр управління перериваннями IE для переходу за адресою 0023Н?

10. Яке слово, що управляє, необхідно помістити в регістр управління перериваннями IE для переходу за адресою 000ВН?

11. Яке слово, що управляє, необхідно помістити в регістр управління перериваннями IE для переходу за адресою 0001Н?

12. Яке джерело переривання буде обслужене першим, якщо в режимі пріоритетів IP помістити слово, що управляє, 10Н?

13. Яке джерело переривання буде обслужене першим, якщо в режимі пріоритетів IP помістити слово, що управляє, 00Н?

14. Яке джерело переривання буде обслужене першим, якщо в режимі пріоритетів IP помістити слово, що управляє, 08Н?

4.4.4 Приклади аудиторних і домашніх завдань

Приклад 4.8. Настроїти послідовний порт в режимі 3 на прийом десяти байт даних із швидкістю 55 бод і розміщення їх у внутрішньому ОЗУ. Дані, що приймаються, перевірити на десяткову парність, якщо ТАК – записувати в осередок 50Н, інакше – в 40Н. Перевірку виконувати за перериванням від RI.

Алгоритм розвязання основної задачі

START.

1. Настроїти Т/С1( режим 2, функція "таймер").

2. Занести в Т/С початкове значення, рівне 43Н.

3. Заборонити переривання від Т/С1.

4. Увімкнути Т/С1.

5. Вирішити переривання від усіх джерел.

6. Вирішити переривання від послідовного порту.

7. Настроїти послідовний порт (режим 3, вирішити прийом, скинути прапорці приймача).

8. Початок прийняття.

9. Перевіряти прапорець безперервно для очікування закінчення прийняття одного байта.

10. Якщо число прийнятих байт менше 10, виконувати пункт 9.

STOP

Алгоритм підпрограми обслуговування переривання

1. Перевірити десяткову парність прийнятих даних. Якщо «НІ», виконувати п. 4, інакше пункт 2.

2. Записати прийняті дані в осередок 50Н.

3. Виконувати пункт 5.

4. Записати прийняті дані в осередок 40Н.

5. Повернення в основну програму.

Розрахункова частина:

Fппз=(2SMOD·fBQ)/(32·12·(256-TH))

55=1·4000000/(32·12· (256-TH))

TH=256-4000000/(32·12·55=67D=43H;

Основна програма мовоюАсемблера

; «Прийняття даних» 0090Н ;режим 3 ;10 байт ;fпп=55 бод ;[50Н]<- прийнятий байт, якщо дані ;парне ;[40Н]<- прийнятий байт, якщо дані ;непране

ORG 0090H ; задання початкової адреси програми

R3: CLR ET1 ;заборона переривань від Т/С1

MOV TMOD,#20H ;настроювання Т/С (режим 2, таймер)

MOV TH1,#43H ;завантаження величини, що визначає частоту ;переповнення таймера

SETB TR1 ;увімкнення таймера

SETB EA ; дозвіл переривання від усіх джерел SETB ES ;дозвіл переривання від

;послідовного порту

MOV SCON,#11010000B;настроювання ПП (режим 3, дозвіл

;прийняття, скидання прапорця приймача)

MOV R1,#10D ;занесення у регістр кількості тих, що ;приймаються

; байт даних

L1: JNB RI,L1 ;перехід до мітки, якщо RI дорівнює 0

DJNZ R1,L1 ;зменшення вмісту R1 на одиницю

; і перехід за міткою, якщо R1не рівне 0

Підпрограма обслуговування переривання

ORG 0030H ;вектор переривання від послідовного

;порту

CHET:MOV A,SBUF ;розміщення даних, що приймаються, в

; акумуляторі

CLR RI ;очищення прапорця переривання приймача

JNB ACC.0,K1 ;парність на парність, якщо «НІ» виконувати на

; мітку К1

К2: MOV 40H,A ;інакше прийнятий байт даних заноситься в

; осередок 40Н

JMP M1 ;перехі до мітки М1

K1: MOV 50H,A ;прийнятий байт даних заноситься в

; осередок 50Н

M1: RETI ;вихід з підпрограми

ORG 0023H ;задання адреси вектора переривання від ПП|

SJMP CHET ;перехід до підпрограми перевірки парності

END

Приклад 4.9. Виконати за перериванням від Т/С0 передачу 20 байт даних через послідовний порт у режимі 3 з одночасною перевіркою третього біта переданого байта і розміщенням його в 9-му переданому біті. Швидкість передачі максимальна.

Розв’язок.

У режимі 3 швидкість передачі через послідовний порт визначається частотою переповнювання T/С 1. В зв'язку з цим необхідне настроювання даного таймера на максимальну частоту переповнювання.

Алгоритм розвязку задачі

1. START.

2. Встановити лічильник числа передаваних байт.

3. Настроювання Т/С0 (режим 2, функція "таймер).

4. Занести в Т/С0 значення, що визначає інтервал передачі даних.

5. Настроювання Т/С1 (режим 2, функція "таймер).

6. Занести в Т/С1 початкове значення, рівне FFH (максимальна частота переповнювання).

7. Вирішити переривання від усіх джерел.

8. Вирішити переривання від Т/С0.

9. Заборонити переривання від Т/С1.

10. Настроїти послідовний порт в режим 3.

11. За необхідності подвоїти швидкість передачі.

12. Увімкнути Т/С0 і Т/С1.

13. Перевіряти прапорець TF0 безперервно. Якщо TF0 =1, перехід на обробку переривання.

14. Скидання прапорця переповнювання Т/С0.

15. Перевірити число переданих байт. Якщо менше 20, виконувати пункт13.

16. STOP

Алгоритм обслуговування переривання

1. START.

2. Скидання прапорця передавача.

3. Заборонити переривання від передавача послідовного порту.

4. Перевірити 3-й| біт передаваного байта і привласнити його значення TB8 регістра TCON.

5. Почати передачу даних.

6. Перевіряти прапорець передавача безперервно для очікування закінчення передачі одного байта інформації. Якщо Т=1, виконувати пункт7.

7. Повернення в основну програму.

Основна програма мовоюАсемблера

; Послідовний порт передача 0070Н

; режим3

; 50Н-64Н- розташування 20 байт даних

; R1 : =50H

ORG 0070H ; задання початкової адреси програми

MOV R1,#50H ;завантаження у R1 адреси першого переданого

; байта

MOV TMOD,#10B ;настроювання Т/С0 (режим 2

;функція - "таймер")

MOV TH0,#ХХH ;завантаження величини, що визначає частоту ;переповнення таймера

MOV TL0,#ХХH ;завантаження величини, що визначає початок рахунку таймера

CLR ET1 ;заборона переривання від Т/С1

SETB EA ;дозвіл переривання від усіх джерел

SETB ET0 ;дозвіл переривання від Т/С0

MOV R2,#00H ;завантаження у R2 0

L: CLR TF0 ;обнуління прапорця TF0

MOV SCON,11000000B;настроювання послідовного порту в режим 3

MOV PCON,#80H ;подвоєння швидкості передачі даних

SETB TR1 ; увімкнення Т/С1

SETB TR0 ; увімкнення Т/С0

$K: JNB TF0, $K ;очікування початку передачі байта даних.

;якщо TF0 = 1, виконувати на підпрограму ;обслуговування ;переривання

CLR TF0 ;скидання прапорця переповнювання від Т/С0

INC R2 ;приріст вмісту R2

CJNE R2,#14H, $K ;очікування завершення передачі

; масиву даних

CLR TR0 ;вимкнути таймер

Підпрограма обслуговування переривання

PER: ORG 001AH ;адреса підпрограми обслуговування

;переривання

CLR TI ;очищення прапорця передавача

; послідовного порту

CLR TB8 ;очистіть 9-й біт переданих даних

MOV A @R1 ;завантаження в А чергового байта переданих

; даних

MOV TB8,ACC.3 ;розміщення 3-го біта переданих даних

; у 9-му біті

MOV SBUF,A ;початок передачі даних

INC R1 ;інкрементування адрес переданих

;даних

RETI ;вихід з підпрограми обслуговування

; переривання

ORG 000ВH ;задання адреси вектора переривання від Т/С0

SJMP PER ;перехід до підпрограми обслуговування

; переривання

END

Рекомендована література

  1. Лысенков Н.А. Вычислительные и микропроцессорные средства в электронных апаратах: Учеб. пособие. – Харьков: ХНУРЭ, 2002 – 156 с.

  2. М. Предко. Руководство по микроконтроллерам. Том 1 и 2. – Москва: Постмаркет, 2001. – 415 с., 487 с.

  3. Бобрыкин А.В., Липовецкий Г.П., Литвинский Г.П. и др. Однокристальные микро-ЭВМ. – М.: МИКАП, 1994. – 320с.

  4. Гребнев В.В. Микроконтроллеры семейства AVR фирмы Atmel. – М.: Ип Радио Софт, 2002 – 176с.

  5. Голубцов М.С., Кириченкова А.В. Микроконтрллеры AVR: от простого к сложному. Изд. 2-е, испр. и доп. – М.: СЛОН-Пресс, 2005. – 304 с.

  6. Евстифеев А.В. Микроконтроллеры AVR семейства Tiny и Mega фирмы Atme, 2-е изд., стер. – М.: Издательский дом «Додэка-XXI», 2005. – 560с .

7. Методичні вказівки до самостійної работи студентів з дисципліни “Обчислювальні та мікропроцесорні засоби в ЕА” для студентів усіх форм навчання спеціальностей 7.091001, 7.091002, 7.091003, 7.091004 / Упоряд.: М.О. Лисенков, Б.О. Рогачов.–Харків: ХНУРЕ, 2005. – 98 с.

8. Методичні вказівки до лабораторних робіт з дисципліни «Обчислювальні та МП засоби в ЕА» для студентів усіх форм навчання спеціальностей : 7.091001, 7.091002, 7.091003, 7.091004 / Упоряд.: Лисенков М.О., Рогачов Б.О.– Харків: ХНУРЕ, 2006. – 104 с.

Навчальне видання

МЕТОДИЧНІ ВКАЗІВКИ

до практичних занять з дисципліни

“ МІКРОПРОЦЕСОРИ В ЕЛЕКТРОННИХ АПАРАТАХ ”

для студентів усіх форм навчання спеціальностей

7.091001 – Виробництво електронних засобів;

7.091002 – Біотехнічні та медичні апарати і системи;

7.091003 – Електронна побутова апаратура;

7.091004 – Технологія та засоби телекомунікацій

Упорядники: ЛИСЕНКОВ Микола Олександрович

ГАЛКІН Павло Вікторович

Відповідальний випусковий І.І.Ключник

Редактор О.Г. Троценко

Комп’ютерна верстка О.А. Чурсіна

План 2008 (II півріччя), поз. 35

Підпис. до друку 22.07.08. Формат 60×84 1/16. Спосіб друку–ризографія.

Умов. друк. арк. 3,9. Облік. вид. арк. 3,6. Тираж 50 прим.

Зам. № 1–35. Ціна договірна

ХНУРЕ. Україна. 61166 Харків, просп. Леніна, 14

Віддруковано в навчально-науковому

видавничо-поліграфічному центрі ХНУРЕ