Микроконтроллеры семейства MCS-51: Методическое руководство по выполнению лабораторного практикума, страница 7

                    интерфейса.

SM2 - разрешение многопроцессорной работы (1 - разрешение);

REN- разрешение приема последовательных данных (1 - разрешение);

TB8 - девятый бит передаваемых данных в режимах 2 и 3;

RB8 - девятый бит принятых данных в режимах 2 и 3. В режиме 1,

           если SM2=0, RB8 является принятым стоп битом. В режиме 0

             бит RB8  не используется.

TI - флаг прерывания передатчика;

RI - флаг прерывания приемника;

-В регистре управления таймерами/счетчиками и внешними прерываниями:

TF1, TF0 - флаги переполнения таймеров/счетчиков Т/С1 и Т/С0;

TR1, TR0 - биты включения таймеров/счетчиков Т/С1 и Т/С0,

                     (0 - выключен, 1 - включен);

 IT1, IT0 - биты, определяющие вид прерывания по входам INT1 и

                   INT0, (0 - прерывание по низкому уровню, 1 - прерывание

                   по отрицательному фронту);

IE1, IE0 - флаги запроса внешних прерываний по входам INT1, INT0.

                                                                                                    Приложение П3

       Пеpечень команд языка ассемблеpа микpоконтpоллеpов семейства

            MSC-51 с краткими пояснениями алгоритма их выполнения.

Таблица П3.1

Условные обозначения, используемые при изложении системы команд

          A

 Аккумулятор

          Rr

 Регистры текущего выбранного банка регистров

           r

 Номер загружаемого регистра, указанного в команде

      direct

 Прямо адресуемый 8-битовый внутренний адрес ячейки  данных, который может быть ячейкой внутреннего ОЗУ данных (0-127) или SFR (128-255)

        @Rr

 Косвенно адресуемая 8- битовая ячейка внутреннего ОЗУ данных

    # data 8

 8 - битовое непосредственное данное

      rel 8

 8 - битовое смещение

     addr 11

 11 - битовый адрес назначения

       bit

 Адрес бита в команде, а также бит с прямой адресацией, адрес которого содержит КОП, находящийся во внутреннем ОЗУ данных или SFR

        (X)

 Содержимое элемента X

       ((X))

 Содержимое по адресу, хранящемуся в элементе X

      (X) [M]

 Разряд M элемента X

(X) [M1-M2] 

 Группа разрядов M1-M2 элемента X

         /X

 Инверсия элемента X

Таблица П3.2

Система команд

Мнемоника

Код

Кол-во

байт

Кол-во циклов

Алгоритм выполнения

1

2

3

4

5

 ACALL addr11

 ADD A,R0

            A,R1

            A,R2

            A,R3

            A,R4

            A,R5

            A,R6

            A,R7

 ADD A,#data

 ADD A,direct

 ADD A,@R0

            A,@R1

 ADDC A,R0

              A,R1

              A,R2

              A,R3

              A,R4

              A,R5

              A,R6

              A,R7

 ADDC A,#data

 ADDC A,direct

11

31

51

71

91

B1

D1

F1

28

29

2A

2B

2C

2D

2E

2F

24

25

26

27

38

39

3A

3B

3C

3D

3E

3F

34

35

2

2

2

2

2

2

2

2

1

1

1

1

1

1

1

1

2

2

1

1

1

1

1

1

1

1

1

1

2

2

2

2

2

2

2

2

2

2

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

 (PC):=(PC)+2; (SP):=(SP)+1;

 ((SP)):=(PC[7-0]);

 (SP):=(SP)+1;

 ((SP)):=(PC[15-8]);

 (PC[10-0]):=A10A9A8IIA7-A0;

  II - знак конкатенации.

 (A):=(A)+(Rn); где n=0-7  

 (C),(AC),(OV):=X, где X=0,1

 (A):=(A)+#data;       

 (C),(AC),(OV):=X, где X=0,1

 (A):=(A)+(direct);        

 (C),(AC),(OV):=X, где X=0,1

 (A):=(A)+((Ri)), где i=0,1

 (C),(AC),(OV):=X, где X=0,1

 (A):=(A)+(C)+(Rn),где n=0-7

 (C),(AC),(OV):=X, где X=0,1

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

 (C),(AC),(OV):=X, где X=0,1

 (A):=(A)+(C)+(direct);    

 (C),(AC),(OV):=X,где X=0,1

                                                                                                   Продолжение таблицы П3.2

1

2

3

4

5

 ADDC A,@R0

             A,@R1

 AJMP addr11

 ANL A,R0

           A,R1

           A,R2

           A,R3

           A,R4

           A,R5

           A,R6

           A,R7

 ANL A,#data

 ANL A,direct

 ANL A,@R0

           A,@R1

 ANL direct,A

 ANL direct,#data

 ANL C,bit

 ANL C,/bit

 CJNE A,#data,addr

 CJNE A,direct,addr

 CJNE R0,#data,addr

            R1,#data,addr

            R2,#data,addr

            R3,#data,addr

            R4,#data,addr

            R5,#data,addr

            R6,#data,addr

            R7,#data,addr

36

37

01

21

41

61

81

A1

C1

E1

58

59

5A

5B

5C

5D

5E

5F

54

55

56

57

52

53

82

B0

B4

B5

B8

B9

BA

BB

BC

BD

BE

BF

1

1

2

2

2

2

2

2

2

2

1

1

1

1

1

1

1

1

2

2

1

1

1

3

2

2

3

3

3

3

3

3

3

3

3

3

1

1

2

2

2

2

2

2

2

2

1

1

1

1

1

1

1

1

1

1

1

1

1

2

2

2

2

2

2

2

2

2

2

2

2

2

 (A):=(A)+(C)+((Ri)); i=0,1

 (C),(AC),(OV):=X,где X=0,1

 (PC[15-0]):=(PC[15-0])+2; 

 (PC[10-0]):=addr11;

 (A):=(A)AND(Rn); n=0-7

 AND - операция конъюнкции

 (A):=(A)AND#data

 (A):=(A)AND(direct)

 (A):=(A)AND((Ri)), i=0,1

 (direct):=(direct)AND(A)

 (direct):=(direct)AND#data

 (C):=(C)AND(bit)

 (C):=(C)AND/(bit)

 (PC):=(PC)+3; затем:

 если #data8<(A), то       

 (PC):=(PC)+rel8, C:=0, или

 если #data8>(A), то      

 (PC):=(PC)+rel8, C:=1     

 (PC):=(PC)+3; затем:

 если (direct)<(A), то    

 (PC):=(PC)+rel8, C:=0, или

 если (direct)>(A), то    

 (PC):=(PC)+rel8, C:=1     

 (PC):=(PC)+3; затем:      

 если #data<(Rn),n=0-7, то

 (PC):=(PC)+rel8, C:=0; или

 если #data>(Rn),n=0-7, то

 (PC):=(PC)+rel8, C:=1