
- •Теоретичні відомості про склад архітектури мікропроцесорної системи.
- •Організація озп, рзп, портів: Підсистема пам’яті. Запам’ятовуючі пристрої. Класифікація зп.
- •Лічильник команд, регістри, дешифратори, пристрій керування, тактовий генератор.
- •4. Спрощена структурна схема мікропроцесора.
- •Алгоритм фон Неймана
- •3Х шинна архітектура мікропроцесора
- •Способи запису програми для мікропроцесора
- •Система команд мікропроцесора кр580вм80а(Intel 8080). Система команд
- •Класифікація команд:
- •Команди пересилань, арифметичні, логічні, команди переходів(використання регістру станів-прапорців):
- •Однокристальнамікро-еом mcs-51, мікроконтролери:
- •Особливості архітектури мікроконтролерів:
- •Склад і основні технічні характеристики:
- •Особливості системи команд і програмування
- •Найпоширеніші родини сучасних мікроконтролерів Відомі сімейства мікроконтролерів:
-
Склад і основні технічні характеристики:
СімействоMCS-51 однокристальних8-розрядних мікроконтролерів фірми Intel є одним з найбільш розвинених вданому класіпристроїв.Основніхарактеристикидеякихпредставниківсімействанаведені нижче
БазовеядроМКсімействаMCS-51 включатьтакіпристрої: - Центральнепроцесорнийпристрій (ЦПУ); - Пам'ятьданихі пам'ятьпрограм; - 4паралельнихпортувведення /виводу; - 2таймера /лічильника; - Блокпереривань; - Послідовнийпорт.
-
Особливості системи команд і програмування
Система команд ОМЕВМ надає великі можливості обробки даних, забезпечує реалізацію логічних, арифметичних операцій, а також управління в режимі реаліного часу. Реалізована побітове, потетрадного (4 біти), побайтовая (8 біт) і 16-розрядна обробка даних. БІС сімейства MCS-51 - 8-розрядна ОМЕВМ: ПЗУ, ОЗУ, регістри спеціального призначення, АЛУ і зовнішні шини мають байтове організацію. Двобайтові дані використовуються тільки регістром-
покажчиком
(DPTR) і лічильником команд (РС). Слід
зазначити, що регістр-покажчик даних
може бути використаний як багатобайтових
регістр DPTR або як два однобайтових
регістра спеціального призначення DPH
і DPL. Лічильник команд завжди використовується
як багатобайтових регістр.
Набір
команд ОМЕВМ має 42 мнемонічних позначення
команд для конкретизації 33 функцій цієї
системи.
Синтаксис більшості команд
ассемблерного мови складається з
мнемонічного позначення функції, всед
за яким йдуть операнди, що вказують
методи адресації і типи даних. Різні
типи даних або режими адресації
визначаються встановленими операндами,
а не змінами мнемонічних позначень.
Систему
команд умовно можна розбити на п'ять
груп:
-
Арифметичні команди;
-
Логічні команди;
-
Команди передачі даних;
-
Команди бітового процесора;
-
Команди розгалуження та передачі управління.
-
Найпоширеніші родини сучасних мікроконтролерів Відомі сімейства мікроконтролерів:
-
MCS 51 (Intel)
-
MSP430 (TI) - сімействоШестнадцатіразрядноемікроконтролерівфірмиTexasInstruments.
-
ARM (ARM Limited) - сімействоліцензованих32-бітних і 64-бітних мікропроцесорнихядеррозробки компаніїARM Limited.
-
AVR (Atmel) -імействовосьмібітнихмікроконтролерівфірмиAtmel.Рікрозробки -1996.
-
ATmega
-
ATtiny
-
-
PIC (Microchip) -мікроконтролериГарвардськоїархітектури,виробленіамериканською компанієюMicrochipTechnologyInc.
Практичні
завдання:
-
Завантажити числа (5, 6, 7, 8, 9) в регістри і здійснити додавання цих чисел.
-
Алгоритм поставленого завдання:
-
Реалізація поставленого завдання:
№ Ячейки |
Значение |
К |
0000 |
06 |
MVI B, d8 |
0001 |
05 |
DCR B |
0002 |
0E |
MVI C, d8 |
0003 |
06 |
MVI B, d8 |
0004 |
16 |
MVI D, d8 |
0005 |
07 |
RLC |
0006 |
1E |
MVI E, d8 |
0007 |
08 |
- |
0008 |
26 |
MVI H, d8 |
0009 |
09 |
DAD B |
000A |
78 |
MOV A, B |
000B |
81 |
ADD C |
000C |
82 |
ADD D |
000D |
83 |
ADD E |
000E |
84 |
ADD H |
-
Завантажити числа (5, 6, 7, 8, 9) в пам'ять і здійснити додавання чисел використовуючи запис та зчитування з пам’яті:
-
Алгоритм поставленого завдання:
-
Реалізація поставленого завдання:
№ Ячейки |
Значение |
К |
0000 |
21 |
LXI H, d16 |
0001 |
40 |
MOV B, B |
0002 |
00 |
NOP |
0003 |
36 |
MVI M, d8 |
0004 |
05 |
DCR B |
0005 |
21 |
LXI H, d16 |
0006 |
41 |
MOV B, C |
0007 |
00 |
NOP |
0008 |
36 |
MVI M, d8 |
0009 |
06 |
MVI B, d8 |
000A |
21 |
LXI H, d16 |
000B |
42 |
MOV B, D |
000C |
00 |
NOP |
000D |
36 |
MVI M, d8 |
000E |
07 |
RLC |
000F |
21 |
LXI H, d16 |
0010 |
43 |
MOV B, E |
0011 |
00 |
NOP |
0012 |
36 |
MVI M, d8 |
0013 |
08 |
- |
0014 |
3A |
LDA adr |
0015 |
40 |
MOV B, B |
0016 |
00 |
NOP |
0017 |
21 |
LXI H, d16 |
0018 |
41 |
MOV B, C |
0019 |
00 |
NOP |
|
86 |
ADD M |
001B |
21 |
LXI H, d16 |
001C |
42 |
MOV B, D |
001D |
00 |
NOP |
001E |
86 |
ADD M |
001F |
21 |
LXI H, d16 |
0020 |
43 |
MOV B, E |
0021 |
00 |
NOP |
0022 |
86 |
ADD M |
0023 |
32 |
STA adr |
0024 |
44 |
MOV B, H |
0025 |
00 |
NOP |
0026 |
76 |
HLT |
-
Створити програму, що буде виконувати лічення від 0 та закінчить лічення після зупинки програми (значення лічення записувати у пам’ять):
-
Алгоритм поставленого завдання:
-
Реалізація поставленого завдання:
№ Ячейки |
Значение |
Команда |
0000 |
3E |
M |
0001 |
00 |
NOP |
0002 |
21 |
LXI H, d16 |
0003 |
10 |
- |
0004 |
00 |
NOP |
0005 |
77 |
MOV M, A |
0006 |
3C |
INR A |
0007 |
2C |
INR L |
0008 |
C3 |
JMP adr |
0009 |
05 |
DCR B |
000A |
00 |
NOP |
-
Створити таймер:
-
Алгоритм поставленого завдання:
-
Реалізація поставленого завдання:
№ Ячейки |
Значение |
К |
0000 |
3E |
MVI A, d8 |
0001 |
09 |
DAD B |
0002 |
21 |
LXI H, d16 |
0003 |
10 |
- |
0004 |
00 |
NOP |
0005 |
77 |
MOV M, A |
0006 |
2C |
INR L |
0007 |
3D |
DCR A |
0008 |
C2 |
JNZ adr |
0009 |
05 |
DCR B |
000A |
00 |
NOP |
000B |
76 |
HLT |
-
Програма для підрахунку тактової частоти тактового генератора:
-
Алгоритм поставленого завдання:
-
Реалізація поставленого завдання:
№ Ячейки |
Значение |
К |
0000 |
06 |
MVI B, d8 |
0001 |
FF |
RST 7 |
0002 |
05 |
DCR B |
0003 |
C2 |
JNZ adr |
0004 |
02 |
STAX B |
0005 |
00 |
NOP |
0006 |
76 |
HLT |
|
|
|
-
Підрахунок частоти тактового генератора:
Команди:
MVI - 7 тактів;
DCR – 5 тактів;
JNZ – 10 татів.
(5+10)х255+7=3832
Виконання програм зайняло 9,07 сек. З цього слідує Т.ч. = 3832/9,07=422,49
-
Вивід символів на екран:
-
Алгоритм поставленого завдання:
-
Реалізація поставленого завдання:
№ Ячейки |
Значение |
К |
0000 |
06 |
MVI B, d8 |
0001 |
FF |
RST 7 |
0002 |
3E |
MVI A, d8 |
0003 |
71 |
INR A |
0004 |
D3 |
OUT N |
0005 |
00 |
NOP |
0006 |
78 |
MOV A, B |
0007 |
D3 |
OUT N |
0008 |
00 |
NOP |
0009 |
05 |
DCR B |
000A |
C2 |
JNZ adr |
000B |
02 |
STAX B |
000C |
00 |
NOP |
000D |
76 |
HLT |
-
Результат виконання програми:
-
Вивід графіки на екран:
-
Алгоритм поставленого завдання:
-
Реалізація поставленого завдання:
№ Ячейки |
Значение |
К |
0000 |
06 |
MVI B, d8 |
0001 |
80 |
ADD B |
0002 |
78 |
MOV A, B |
0003 |
D3 |
OUT N |
0004 |
00 |
NOP |
0005 |
04 |
INR B |
0006 |
79 |
MOV A, C |
0007 |
D3 |
OUT N |
0008 |
00 |
NOP |
0009 |
D3 |
OUT N |
000A |
00 |
NOP |
000B |
0C |
INR C |
000C |
D2 |
JNC adr |
000D |
02 |
STAX B |
000E |
00 |
NOP |
-
Результат виконання програми:
-
Вивід привітання на екран:
-
Реалізація поставленого завдання:
-
Алгоритм поставленого завдання:
№ Ячейки |
Значение |
К |
0000 |
3E |
MVI A, d8 |
0001 |
71 |
MOV M, C |
0002 |
D3 |
OUT N |
0003 |
00 |
NOP |
0004 |
3E |
MVI A, d8 |
0005 |
AF |
XRA A |
0006 |
D3 |
OUT N |
0007 |
00 |
NOP |
0008 |
3E |
MVI A, d8 |
0009 |
71 |
MOV M, C |
000A |
D3 |
OUT N |
000B |
00 |
NOP |
000C |
3E |
MVI A, d8 |
000D |
E0 |
RPO |
000E |
D3 |
OUT N |
000F |
00 |
NOP |
0010 |
3E |
MVI A, d8 |
0011 |
71 |
MOV M, C |
0012 |
D3 |
OUT N |
0013 |
00 |
NOP |
0014 |
3E |
MVI A, d8 |
0015 |
A8 |
XRA B |
0016 |
D3 |
OUT N |
0017 |
00 |
NOP |
0018 |
3E |
MVI A, d8 |
0019 |
71 |
MOV M, C |
001A |
D3 |
OUT N |
001B |
00 |
NOP |
001C |
3E |
MVI A, d8 |
001D |
A2 |
ANA D |
|
D3 |
OUT N |
001F |
00 |
NOP |
0020 |
3E |
MVI A, d8 |
0021 |
71 |
MOV M, C |
0022 |
D3 |
OUT N |
0023 |
00 |
NOP |
0024 |
3E |
MVI A, d8 |
0025 |
A5 |
ANA L |
0026 |
D3 |
OUT N |
0027 |
00 |
NOP |
0028 |
3E |
MVI A, d8 |
0029 |
71 |
MOV M, C |
002A |
D3 |
OUT N |
002B |
00 |
NOP |
002C |
3E |
MVI A, d8 |
002D |
E2 |
JPO adr |
002E |
D3 |
OUT N |
002F |
00 |
NOP |
0030 |
76 |
HLT |
-
Результат виконання програми:
-
Розробити алгоритм до програми, що виконує підрахування часу пробігу 100м дистанції та порівнює час з часом світового рекорду:
-
Розробити алгоритм програми, що керує світлофором складного перехрестя:
Висновок:
під час проходження практики я набув
навиків у програмування на мові асемблер,
навчився створювати прості програми
на цій мові.