- •1.2.3 Контрольні запитання і завдання
- •1.2.4 Приклади аудиторних і домашніх завдань
- •1.3 Заняття 2. Двійкова арифметика і основні функції алгебри логіки
- •1.3.2 Методичні вказівки з організації самостійної роботи студентів
- •1.3.3 Контрольні запитання і завдання
- •1.3.4 Приклади аудиторних і домашніх завдань
- •2 Алгоритми і програми проектування мікропроцесорних систем
- •2.1 Мета занять
- •2.2 Методичні вказівки з організації самостійної роботи студентів
- •2.3 Контрольні запитання і завдання
- •2.4 Приклади аудиторних і домашніх завдань
- •3.2.3 Контрольні запитання і завдання
- •3.2.4 Приклади аудиторних і домашніх завдань
- •3.3 Заняття 2,3. Групи команд
- •3.3.1 Мета занять
- •3.3.2 Методичні вказівки з організації самостійної роботи студентів
- •3.3.3 Контрольні запитання і завдання
- •3.3.4 Приклади аудиторних і домашніх завдань
- •4.2.3 Контрольні запитання і завдання
- •4.2.4 Приклади аудиторних і домашніх завдань
- •4.3 Заняття 2. Алгоритми і програми обміну інформацією через послідовний порт
- •4.3.1 Мета занять
- •4.3.2 Методичні вказівки з організації самостійної роботи студентів
- •4.3.3 Контрольні запитання і завдання
- •4.3.4 Приклади аудиторних і домашніх завдань
- •4.4 Заняття 3. Алгоритми і програми обробки інформації в режимі переривань
- •4.4.1 Мета заняття
- •4.4.2 Методичні вказівки з організації самостійної роботи студентів
- •4.4.3 Контрольні запитання і завдання
- •4.4.4 Приклади аудиторних і домашніх завдань
- •61166 Харків, просп. Леніна, 14
3.2.3 Контрольні запитання і завдання
1. Який організований регістровий файл?
2. Обчисліть пряму адресу регістра R5, розташованого в Банку 3.
3. Обчисліть пряму адресу регістра R3, розташованого в Банку 2.
4. Який регістр розташований за адресою 1BH?
5. Які регістри мікроконтролера MSC 51 належать до регістрів спеціальних функцій?
6. Які регістри мікроконтролера MSC 51 є програмно доступними?
7. Які з перерахованих регістрів мікроконтролера MSC 51 допускають побітову адресацію?
8. Який об'єм пам'яті даних в однокристальній мікро ЕОМ I80751?
9. Які прапорці в регістрі PSW мікроконтролера MSC 51 є арифметичними?
10.В якому адресному просторі пам'яті даних розташований Б2 РЗП?
11.В якому адресному просторі розташована область прапорців, які прямо адресуються?
12. В якому адресному просторі розташовані регістри спеціальних функцій (SFR)?
13. В якому адресному просторі знаходиться регістр PSW і регістр В?
14. В яких елементах пам'яті даних знаходяться прапорці, що прямо адресуються, з адресами 28Н, 47Н?
15. В яких елементах пам'яті даних знаходяться прапорці 31D, 110D, що прямо адресуються?
16. Яка адреса прапорця паритету парності і додаткового перенесення при бітовій адресації?
17. Який спосіб адресації використовується при звертанні до РЗП і регістрів спеціальних функцій?
18. Який спосіб адресації використовується при звертанні до внутрішнього ОЗУ?
19. Який спосіб адресації використовується при звертанні до зовнішньої пам'яті даних і програм?
3.2.4 Приклади аудиторних і домашніх завдань
Приклад 3.1. Реалізувати програмно функцію y=x1+x2, де x1-РЗП Банк 2 x2-M, В-РЗП. Тут М-Memory (використовується побічно-регістрова адресація).x1,x2-двобайтові числа.
Алгоритм розв’язання
START
1. Початкове встановлення адрес і змінних.
2. Визначити поточний банк робочих регістрів.
3. Привласнити R1 значення адреси рівного 31H, де зберігається молодший байт змінної х2.
4. Записати в А молодший байт змінної х2, що міститься в осередку ОЗУ.
5. Виконати підсумовування молодших байтів х1 і х2 A:= (A)+([R1])
6. Вміст акумулятора зберегти в РЗП|.
7. Привласнити R1 значення адреси рівного 30H, де зберігається старший байт змінної х2. R1:= (R1-1)
8. Записати в А старший байт змінної х2, що міститься в осередку ОЗУ.
9. Виконати підсумовування старших байтів х1 і х2 з урахуванням перенесення A:= (A)+([R1]) +CY
10. Вміст акумулятора зберегти в РЗП|.
11. Вміст CY зберегти в РЗП|.
STOP
Програма мовою асемблер
;SUM 0030H
;(R2,R3):=х1
;[0031H],[0030H]:=х2
;(R5,R6,R76):= Y
ORG 0030H ; початкова адреса програми
SUM: CLR C ; скидання прапорця перенесення
SETB RS1 ; задання банка робочих регістрів 2
CLR RS0 ;
MOV R1,#31H ; запис адреси осередку 31Н в R1
MOV A,,@R1 ;запис у А молодшого байта змінної х2
ADDC A,R2 ; складання А і R2
MOV R5,A ; перенесення результату складання в R5
DEC R1 ; перехід до адреси 30Н
MOV A @R1H ; запис в А старшого байта х2
ADDC A R3 ;сума А і старшого байта х1 з урахуванням
;прапорця С
MOV R6,A ; запис результату складання з А в R6
CLR A ; запис прапорця
ADDC A,#0 ; перенесення в
MOV R7,A ; РЗП (R7:=CY)
END
Приклад 3.2. Реалізувати програмно функцію y=x1 «і» x2, де: x1-ОЗУ; x2-ОЗУ; В-ОЗУ. Використовувати пряму адресацію даних. х1, х2-однобайтові числа. Y передати в послідовній формі через Р1.3.
Алгоритм розвязання
START
1. Початкове встановлення адрес і змінних.
2. Передати вміст комірки ОЗУ в регістр А.
3. Виконати логічне складання А і елемента пам'яті.
4. Зберегти вміст акумулятора в ОЗУ.
5. Встановити лічильник біт N рівним 08.
6. Настроїти порт Р1на вивід.
7. Виконати зрушення вмісту А вправо на один біт через перенесення.
8. Передати вміст прапорця в порт Р1.3.
9. Затримка 3 такти.
10. Зменшити лічильник на 1, якщо N не = 0, виконати пункт 6.
STOP
Програма мовою асемблер
; ANL 0070H
; х1-ОЗУ 0031Н
; х2-ОЗУ 0030Н
; R5:=N
ORG 0070H ; розміщення програми в пам'яті
ANL: CLR C ; скидання прапорця перенесення
MOV А,31H ; передати х1 в акумулятор
ANL A,30H ; логічне «І» вмісту А і х2
MOV R5,#08 ; встановлення лічильника N=8
P2: RRC A ; зрушення вмісту А через перенесення MOV P1,#0 ; ініціалізація порту 1
MOV P1.3,C ; передати біт в порт через P1.3
NOP ; затримка
NOP ; три
NOP ; такту
DJNZ R6,P2 ; N-1, якщо N не рівне 0, виконувати Р2
END
Приклад 3.3. Реалізувати програмно функцію y=x1 "ВИКЛ АБО" x2, де x1-М, x2-M, В-РЗП Банк 2. Тут М-Memory (використовується побічно-регістрова адресація). х1, х2-однобайтовые числа.
Алгоритм розвязання
START
1. Початкове встановлення адрес і змінних.
2. Передати х1 в акумулятор.
3. Виконати логічну операцію х1"викл.або"х2.
4. Передати результат операції в РЗП.
STOP
Програма мовою асемблер
; ВИКЛ| АБО 0090Н
;[ 40Н ]:= x1
;[ 50H ];= x2
;Банк 1 R1:= у
ORG 0050H ; початкова адреса програми
SETB RS1 ;задання 1 банку
CLR RS0 ; робочих регістрів
MOV R1,#40H ;(R1):= адреса х1
MOV R0,#50H ;(R2):= адреса х2
MOV A,@R1 ;A:= х1
XRL A,@R0 ;A:= A «викл.або»х2
MOV R1,A ; R1=y
END
