Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчот по асемблеру.doc
Скачиваний:
9
Добавлен:
18.12.2018
Размер:
2.19 Mб
Скачать
  1. Склад і основні технічні характеристики:

СімействоMCS-51 однокристальних8-розрядних мікроконтролерів фірми Intel є одним з найбільш розвинених вданому класіпристроїв.Основніхарактеристикидеякихпредставниківсімействанаведені нижче

БазовеядроМКсімействаMCS-51 включатьтакіпристрої: - Центральнепроцесорнийпристрій (ЦПУ); - Пам'ятьданихі пам'ятьпрограм; - 4паралельнихпортувведення /виводу; - 2таймера /лічильника; - Блокпереривань; - Послідовнийпорт.

  1. Особливості системи команд і програмування

Система команд ОМЕВМ надає великі можливості обробки даних, забезпечує реалізацію логічних, арифметичних операцій, а також управління в режимі реаліного часу. Реалізована побітове, потетрадного (4 біти), побайтовая (8 біт) і 16-розрядна обробка даних. БІС сімейства MCS-51 - 8-розрядна ОМЕВМ: ПЗУ, ОЗУ, регістри спеціального призначення, АЛУ і зовнішні шини мають байтове організацію. Двобайтові дані використовуються тільки регістром-

покажчиком (DPTR) і лічильником команд (РС). Слід зазначити, що регістр-покажчик даних може бути використаний як багатобайтових регістр DPTR або як два однобайтових регістра спеціального призначення DPH і DPL. Лічильник команд завжди використовується як багатобайтових регістр. Набір команд ОМЕВМ має 42 мнемонічних позначення команд для конкретизації 33 функцій цієї системи. Синтаксис більшості команд ассемблерного мови складається з мнемонічного позначення функції, всед за яким йдуть операнди, що вказують методи адресації і типи даних. Різні типи даних або режими адресації визначаються встановленими операндами, а не змінами мнемонічних позначень. Систему команд умовно можна розбити на п'ять груп:

  • Арифметичні команди;

  • Логічні команди;

  • Команди передачі даних;

  • Команди бітового процесора;

  • Команди розгалуження та передачі управління.   

  1. Найпоширеніші родини сучасних мікроконтролерів Відомі сімейства мікроконтролерів:

  • MCS 51 (Intel)

  • MSP430 (TI) - сімействоШестнадцатіразрядноемікроконтролерівфірмиTexasInstruments.

  • ARM (ARM Limited) - сімействоліцензованих32-бітних і 64-бітних мікропроцесорнихядеррозробки компаніїARM Limited.

  • AVR (Atmel) -імействовосьмібітнихмікроконтролерівфірмиAtmel.Рікрозробки -1996.

    • ATmega

    • ATtiny

  • PIC (Microchip) -мікроконтролериГарвардськоїархітектури,виробленіамериканською компанієюMicrochipTechnologyInc.

Практичні завдання:

  1. Завантажити числа (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

  1. Завантажити числа (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

001A

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

  1. Створити програму, що буде виконувати лічення від 0 та закінчить лічення після зупинки програми (значення лічення записувати у пам’ять):

  • Алгоритм поставленого завдання:

  • Реалізація поставленого завдання:

№ Ячейки

Значение

Команда

0000

3E

MVI A, d8

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

  1. Створити таймер:

  • Алгоритм поставленого завдання:

  • Реалізація поставленого завдання:

№ Ячейки

Значение

Команда

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

  1. Програма для підрахунку тактової частоти тактового генератора:

  • Алгоритм поставленого завдання:

  • Реалізація поставленого завдання:

№ Ячейки

Значение

Команда

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

  1. Вивід символів на екран:

  • Алгоритм поставленого завдання:

  • Реалізація поставленого завдання:

№ Ячейки

Значение

Команда

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

  • Результат виконання програми:

  1. Вивід графіки на екран:

  • Алгоритм поставленого завдання:

  • Реалізація поставленого завдання:

№ Ячейки

Значение

Команда

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

  • Результат виконання програми:

  1. Вивід привітання на екран:

  • Реалізація поставленого завдання:

  • Алгоритм поставленого завдання:

№ Ячейки

Значение

Команда

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

001E

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

  • Результат виконання програми:

  1. Розробити алгоритм до програми, що виконує підрахування часу пробігу 100м дистанції та порівнює час з часом світового рекорду:

  1. Розробити алгоритм програми, що керує світлофором складного перехрестя:

Висновок: під час проходження практики я набув навиків у програмування на мові асемблер, навчився створювати прості програми на цій мові.