Скачиваний:
81
Добавлен:
19.06.2015
Размер:
439.3 Кб
Скачать

Порядок выполнения работы

  1. Ознакомиться со схемой стенда.

  2. Написать программу, считывающую состояние тумблеров (порт Р2) и выводящую информацию о положении тумблеров на светодиоды (порт Р1).

  3. Написать программу, которая зажигает светодиоды по очереди.

  4. Представить программу в .HEX формате.

  5. Соединить стенд с COM-портом компьютера.

  6. Запустить программу Loader 420.

  7. Подать напряжение питания на стенд(+9В).

  8. В программе открыть порт, к которому подключен лабораторный стенд.

  9. Очистить память микропроцессора.

  10. Загрузить в процессор программу.

  11. Запустить программу.

  12. Проверить функционирование стенда на соответствие требованиям задания, при необходимости откорректировать программу и повторить пп. 2-10.

Требования к отчету

Отчет должен содержать описание функциональной схемы контрольно-измерительного стенда, тексты программ.

Назначение команд процессора

Команда

Кол-во байт

Описание операции

Арифметические действия

ADD A, Rn

1

(A) = (A)+(Rn)

ADDA, direct

2

(A) = (A) + (direct)

ADD A, ®Ri

1

(A) = (A)+((Ri))

ADD A, #data

2

(A) = (A) + #data

ADDOA, Rn

1

(A) = (A) + (C) + (Rn)

ADDC A, direct

2

(A) = (A) + (C) + (direct)

ADDC A, ®Ri

1

(A) = (A)+(C) + ((Ri))

ADDC A,#data

2

(A) = (A) + (C) + #data

SUBBA, Rn

1

(A) = (A) - (C) - (Rn)

SUBB A, direct

2

(A) = (A)-(C)-(direct)

SUBBA, @Ri

1

(A) = (A)-(C)-((Ri))

SUBB A. #data

2

(A) = (A)-(C)-#data

INC A

1

(A) = (A) + 1

INC Rn

1

(Rn)=(Rn) + 1

INC direct

2

(direct) = (direct)+ 1

INC $Ri

1

((Rill = ((Ri)) + 1

INC DPTR

1

(DPTR)=(DPTR)+ 1

DEC A

1

(A) = (A) - 1

DEC Rn

1

(Rn)= (Rn) - 1

DEC direct

2

(direct) = (direct)-1

DEC ®Ri

1

((Ri)) = ((Ri)) - 1

MUL AB

1

(B15-8),(A7-0) = (A)x(B)

DIV AB

1

(A15-8),(A7-0) = (A)/(B)

DJNZ A, n

2

(A) = (A) - 1

Прыгает на метку n

DJNZ R, n

2

(R) = (R) - 1

Прыгает на метку n

DAA

1

Contents of accumulator are BCD,

IF[[(A3-0)>9] OR

[(AC)= 1]]THEN

(A3-0) = (A3-0) + 6

AND

IF[[(A7-4)>9] OR

[(C)=1]] THEN

(A7-4) = (A7-4) + 6

Логические операции

ANL A, Rn

1

(A) = (A) AND (Rn)

ANL A, direct

2

(A) = (A) AND (direct)

ANL A, ®Ri

1

(A) = (A)AND((Ri))

ANL A, #data

2

(A) = (A) AND #data

ANL diract, A

2

(direct)= (direct)'AND A

ANL direct, #data

3

(direct)= (direct) AND #data

ORL A, Rn

1

(A) = (A) OR (Rn)

ORL A, direct

2

(A) =(A) OR (direct)

ORLA, @Ri

1

(A) = (A) OR ((Ri))

ORL A, #data

2

(A) = (A) OR #data

ORL direct, A

2

(direct)=

(direct) OR (A)

ORL direct, #data

3

(direct) =

(direct) OR #data

XRL A, Rn

1

(A) = (A) XOR ((Ri))

XRL A, direct

2

(A) = (A) XOR (direct)

XRL A, @ Ri

1

(A) = (A) XOR ((Ri))

XRL A, #data

2

(direct) = (A) XOR #data

XRL direct, A

2

(direct) = (direct) XOR (A)

XRL direct, #data

3

(direct) = (direct) ХОР #data

CLR A

1

(A) = 0

CPL A

1

(A) = ()

RL A

1

Содержание аккумулятора сдвигается влево на 1 бит

RLC A

1

Сдвигается влево через перенос 1 битом

RR A

1

Содержание аккумулятора сдвигается вправо на 1 бит

RRC A

1

Сдвигается вправо через перенос 1 битом

SWAP A

1

(A3-0)_(A7-4)

Передача данных

MOV A, R n

1

(A) = (Rn)

MOV A, direct

2

(A) = (direct)

MOV A, @Ri

1

(A) = ((Ri))

MOV A, #data

2

(A) = #data

MOV Rn, A

1

(Rn)=(A)

MOV Rn, direct

2

(Rn) = (direct)

MOV Rn, #data

2

(Rn) = #data

MOV direct, A

2

(direct) =(A)

MOV direct, Rn

2

(direct) =(Rn)

MOV direct1, direct2

3

(directi) = (direct2) (source) (destinstion)

MOV direct, @Ri

2

(direct) =((Ri))

MOVdirect, #data

3

(direct) = #data

MOV @Ri,A

1

((Ri)) = A

MOV @Ri, direct

2

((Ri)) = (direct)

MOV @Ri, #data

2

((Ri)) = #data

MOV DPTR, #data16

3

(DPTR) =#data15-0

(DPH) = #data15-8

(DPL)=#data7-0

MOVC A, @A + DPTR

1

(A) = ((A) + (DPTR))

MOVC A, @ A + PC

1

(A) = ((A) + (PC))

MOVXA, @Ri

1

(A) = ((Ri))

MOVX @DPTR

1

(A) = ((DPTR))

MOVX @Ri, A

1

((Ri)) = (A)

MOVX @DPTR, A

1

((DPTR)) = (A)

PUSH direct

2

(SP) = (SP) +1 ((SP)) = (direct)

POP direct

2

(direct) = ((SP)) (SP) = (SP) -1

XCH A, Rn

1

(A) = (Rn)

XCH A, direct

2

(A) = (direct)

XCH A, @Ri

1

(A) = ((Ri))

XCHD A, @Ri

1

(A3-o) = ((Ri3-o)l

Логическая переменная обработка

CLR C

1

(C) = 0

CLR bit

2

(bit) = 0

SETB C

1

(C) = 1

SETB bit

2

(bit) = 1

CPL C

1

(C) = ()

CPL bit

2

(bit) = ()

ANL C, bit

2

(C) = (C)AND(bit)

ANL C,

2

(C) = (C) AND ()

ORL C, bit

2

(C) = (C)OR(bit)

ORL C,

2

(C) = (C) OR ()

MOV С, bit

2

(C) = (bit)

MOV bit, С

2

(bit) = (C)

Программный переход

ACALL addr 11

2

(PC) = (PC) + 2

(SP)=(SP) + 1

((SP)) = (PC7-0)

(SP) = (SP) + 1

((SP)) = (PC15-8) (PC) = page address

LCALL addr 16

3

(PC) = (PC) + 3

(SP)=(SP) + 1

((SP)) = (PC7-0)

(SP) = (SP) + 1

((SP)) = (PC15-8) (PC) = addr15-0

RET

1

(PC15-8) =((SP))

(SP) = (SP) – 1

(PC7-0) = ((SP))

(SP) = (SP) - 1

RETI

1

(PC15-8 ) =((SP))

(SP) = (SP) – 1

(PC7-0) = ((SP))

(SP) = (SP) - 1

AJMP addr 11

2

(PC) = (PC) + 2

(PC10-0 ) = page address

LJMP addr 16

3

(PC) = addr15-0

SJMP rel

2

(PC) = (PC) + 2

(PC) = (PC) + rel

JMP @A +

DPTR

1

(PC) = (A) + (DPTR)

JZ rel

2

(PC) = (PC) + 2 IF (A) = 0 THEN

(PC) = (PC) + rel

JNZ rel

2

(PC) = (PC) + 2

IF (A) 0 THEN (PC) = (PC) + rel

2