4. Ваша первая программа для микроконтроллера Intel 8051: Методические указания к лабораторной работе №1 по курсу « Микропроцессоры и вычислительные устройства» / Добряк В.А. Екатеринбург: УГТУ, 1999.
32с.
5. Система команд микроконтроллера INTEL 8051: Методические указания к лабораторной работе №2 по курсу «Цифровые устройства и микропроцессоры»/В.А.Добряк, В.К.Рогозин, Екатеринбург: УГТУ, 1999.32с.
ПРИЛОЖЕНИЕ Система команд микроконтроллера К1816ВЕ51
Команды передачи данных
|   Название команды  |    Мнемокод  |    КОП  |  Т |   Б  |    Ц  |    Операция  |  
| Пересылка в аккумулятор из регистра (n=0..7) | MOV A,Rn | 11101rrr | 1 |   1  |    1  |  (A)<-(Rn) | 
| Пересылка в аккумулятор прямоадресуемого байта | MOV A,ad | 11100101 | 3 |   2  |    1  |  (A)<-(ad) | 
| Пересылка в аккумулятор байта из РПД (i=0,1) | MOV A,@Ri | 1110011i | 1 |   1  |    1  |  (A)<-((Ri)) | 
| Загрузка в аккумулятор константы | MOV A,#d | 01110100 | 2 |   2  |    1  |  (A)<-#d | 
| Пересылка в регистр из аккумулятора | MOV Rn,A | 11111rrr | 1 |   1  |    1  |  (Rn)<-(A) | 
| Пересылка в регистр прямоадресуемого байта | MOV Rn,ad | 10101rrr | 3 |   2  |    2  |  (Rn)<-(ad) | 
| Загрузка в регистр константы | MOV Rn,#d | 01111rrr | 2 |   2  |    1  |  (Rn)<-#d | 
| Пересылка по прямому адресу аккумулятора | MOV ad,A | 11110101 | 3 |   2  |    1  |  (ad)<-(A) | 
| Пересылка по прямому адресу регистра | MOV ad,Rn | 10001rrr | 3 |   2  |    2  |  (ad)<-(Rn) | 
| Пересылка прямоадресуемого байта по прямому адресу | MOV add,ads | 10000101 | 9 |   3  |    2  |  (add)<-(ads) | 
| Пересылка байта из РПД по прямому адресу | MOV ad,@Ri | 1000011i | 3 |   2  |    2  |  (ad)<-((Ri)) | 
| Пересылка по прямому адресу константы | MOV ad,#d | 01110101 |   7  |    3  |    2  |  (ad)<-#d | 
| Пересылка в РПД из аккумулятора | MOV @Ri,A | 1111011i |   1  |    1  |    1  |  ((Ri))<-(A) | 
| Пересылка в РПД прямоадресуемого байта | MOV @Ri,ad | 0110011i |   3  |    2  |    2  |  ((Ri))<-(ad) | 
| Пересылка в РПД константы | MOV @Ri,#d | 0111011i |   2  |    2  |    1  |  ((Ri))<-#d | 
| Загрузка указателя данных | MOV DPTR,#d16 | 10010000 |   13  |    3  |    2  |  (DPTR)<-#d16 | 
| Пересылка в аккумулятор байта из ПП | MOVC A,@A+DPTR | 10010011 |   1  |    1  |    2  |  (A)<-((A)+ +(DPTR)) | 
| Пересылка в аккумулятор байта из ПП | MOVC A,@A+PC | 10000011 |   1  |    1  |    2  |  (PC)<-(PC)+1 (A)<-((A)+(PC)) | 
| Пересылка в аккумулятор байта из ВПД | MOVX A,@Ri | 1110001i |   1  |    1  |    2  |  (A)<-(Ri) | 
| Пересылка в аккумулятор байта из расширенной ВПД | MOVX A,@DPTR | 11100000 |   1  |    1  |    2  |  (A)<-((DPTR)) | 
| Пересылка в ВПД из аккумулятора | MOVX @Ri,A | 1111001i |   1  |    1  |    2  |  ((Ri))<-(A) | 
| Пересылка в расширенную ВПД из аккумулятора | MOVX @DPTR,A | 11110000 |   1  |    1  |    2  |  ((DPTR))<-(A) | 
| Загрузка в стек | PUSH ad | 11000000 |   3  |    2  |    2  |  (SP)<-(SP)+1 ((SP))<-(ad) | 
| Извлечение из стека | POP ad | 11010000 |   3  |    2  |    2  |  (ad)<-(SP) (SP)<-(SP)-1 | 
| Обмен аккумулятора с регистром | XCH A,Rn | 11001rrr |   1  |    1  |    1  |  (A)↔(Rn) | 
| Обмен аккумулятора с прямоадресуемым байтом | XCH A,ad | 11000101 |   3  |    2  |    1  |  (A)↔(ad) | 
| Обмен аккумулятора с байтом из РПД | XCH A,@Ri | 1100011i |   1  |    1  |    1  |  (A)↔((Ri)) | 
| Обмен младшей тетрады аккумулятора с младшей тетрадой байта РПД | XCHD A,@Ri | 1101011i |   1  |    1  |    1  |  (A0..3)↔((Ri)0..3) | 
Команды арифметических операций
|   Название команды  |    Мнемокод  |    КОП  |    Т  |    Б  |    Ц  |    Операция  |  
| Сложение аккумулятора с регистром (n=0..7) | ADD A,Rn | 00101rrr |   1  |    1  |    1  |  (A)<-(A)+(Rn) | 
| Сложение аккумулятора с прямоадресуемым байтом | ADD A,ad | 00100101 |   3  |    2  |    1  |  (A)<-(A)+(ad) | 
| Сложение аккумулятора с байтом из РПД (i=0,1) | ADD A,@Ri | 0010011i |   1  |    1  |    1  |  (A)<-(A)+((Ri)) | 
| Сложение аккумулятора с константой | ADD A,#d | 00100100 |   2  |    2  |    1  |  (A)<-(A)+#d | 
| Сложение аккумулятора с регистром и переносом | ADDC A,Rn | 00111rrr |   1  |    1  |    1  |  (A)<-(A)+(Rn)+(C) | 
| Сложение аккумулятора с прямоадресуемым байтом и переносом | ADDC A,ad | 00110101 |   3  |    2  |    1  |  (A)<-(A)+(ad)+(C) | 
| Сложение аккумулятора с байтом из РПД и переносом | ADDC A,@Ri | 0011011i |   1  |    1  |    1  |  (A)<-(A)+((Ri))+(C) | 
| Сложение аккумулятора с константой и переносом | ADDC A,#d | 00110100 |   2  |    2  |    1  |  (A)<-(A)+#d+(C) | 
| Десятичная коррекция аккумулятора | DA A | 11010100 |   1  |    1  |    1  |  Если (А0..3)>9 V ((AC)=1), то (А0..3)<- (А0..3)+6, затем если (A4..7)>9 V ((С)=1), то (A4..7)<-(А4..7)+6 | 
| Вычитание из аккумулятора регистра и заёма | SUBB A,Rn | 10011rrr |   1  |    1  |    1  |  (A)<-(A)-(C)-(Rn) | 
| Вычитание из аккумулятора прямоадресуемого байта и заёма | SUBB A,ad | 10010101 |   3  |    2  |    1  |  (A)<-(A)-(C)-((ad)) | 
| Вычитание из аккумулятора байта РПД и заёма | SUBB A,@Ri | 1001011i |   1  |    1  |    1  |  (A)<-(A)-(C)-((Ri)) | 
| Вычитание из аккумулятора константы и заёма | SUBB A,d | 10010100 |   2  |    2  |    1  |  (A)<-(A)-(C)-#d | 
| Инкремент аккумулятора | INC A | 00000100 |   1  |    1  |    1  |  (A)<-(A)+1 | 
| Инкремент регистра | INC Rn | 00001rrr |   1  |    1  |    1  |  (Rn)<-(Rn)+1 | 
| Инкремент прямоадресуемого байта | INC ad | 00000101 |   3  |    2  |    1  |  (ad)<-(ad)+1 | 
| Инкремент байта в РПД | INC @Ri | 0000011i |   1  |    1  |    1  |  (Ri)<-(Ri)+1 | 
| Инкремент указателя данных | INC DPTR | 10100011 |   1  |    1  |    2  |  (DPTR)<-(DPTR)+1 | 
| Декремент аккумулятора | DEC A | 00010100 |   1  |    1  |    1  |  (A)<-(A)-1 | 
| Декремент регистра | DEC Rn | 00011rrr |   1  |    1  |    1  |  (Rn)<-(Rn)-1 | 
| Декремент прямоадресуемого байта | DEC ad | 00010101 |   3  |    2  |    1  |  (ad)<-(ad)-1 | 
| Декремент байта в РПД | DEC @Ri | 0001011i |   1  |    1  |    1  |  (Ri)<-(Ri)-1 | 
| Умножение аккумулятора на регистр В | MUL AB | 10100100 |   1  |    1  |    4  |  (B)(A)<-(A)*(B) | 
| Деление аккумулятора на регистр В | DIV AB | 10000100 |   1  |    1  |    4  |  (A).(B)<-(A)/(B) | 
Команды логических операций
|   Название команды  |    Мнемокод  |    КОП  |  Т |   Б  |    Ц  |    Операция  |  
| Логическое И аккумулятора и регистра | ANL A,Rn | 01011rrr |   1  |    1  |    1  |  (A)<-(A)and(Rn) | 
| Логическое И аккумулятора и прямоадресуемого байта | ANL A,ad | 01010101 |   3  |    2  |    1  |  (A)<-(A)and(ad) | 
| Логическое И аккумулятора и байта из РПД | ANL A,@Ri | 0101011i |   1  |    1  |    1  |  (A)<-(A)and((Ri)) | 
| Логическое И аккумулятора и константы | ANL A,#d | 01010100 |   2  |    2  |    1  |  (A)<-(A)and#d | 
| Логическое И прямоадресуемого байта и аккумулятора | ANL ad,A | 01010010 |   3  |    2  |    1  |  (ad)<-(ad)and(A) | 
| Логическое И прямоадресуемого байта и константы | ANL ad,#d | 01010011 |   7  |    3  |    2  |  (ad)<-(ad)and#d | 
| Логическое ИЛИ аккумулятора и регистра | ORL A,Rn | 01001rrr |   1  |    1  |    1  |  (A)<-(A)V(Rn) | 
| Логическое ИЛИ аккумулятора и прямоадресуемого байта | ORL A,ad | 01000101 |   3  |    2  |    1  |  (A)<-(A)V(ad) | 
| Логическое ИЛИ аккумулятора и байта из РПД | ORL A,@Ri | 0100011i |   1  |    1  |    1  |  (A)<-(A)V((Ri)) | 
| Логическое ИЛИ аккумулятора и константы | ORL A,#d | 01000100 |   2  |    2  |    1  |  (A)<-(A)V#d | 
| Логическое ИЛИ прямоадресуемого байта и аккумулятора | ORL ad,A | 01000010 |   3  |    2  |    1  |  (ad)<-(ad)V(A) | 
| Логическое ИЛИ прямоадресуемого байта и константы | ORL ad,#d | 01000011 |   7  |    3  |    2  |  (ad)<-(ad)V#d | 
| Исключающее ИЛИ аккумулятора и регистра | XRL A,Rn | 01101rrr |   1  |    1  |    1  |  (A)<-(A)xor(Rn) | 
| Исключающее ИЛИ аккумулятора и прямоадресуемого байта | XRL A,ad | 01100101 |   3  |    2  |    1  |  (A)<-(A)xor(ad) | 
| Исключающее ИЛИ аккумулятора и байта из РПД | XRL A,@Ri | 0110011i |   1  |    1  |    1  |  (A)<-(A)xor((Ri)) | 
| Исключающее ИЛИ аккумулятора и константы | XRL A,#d | 01100100 |   2  |    2  |    1  |  (A)<-(A)xor#d | 
| Исключающее ИЛИ прямоадресуемого байта и аккумулятора | XRL ad,A | 01100010 |   3  |    2  |    1  |  (ad)<-(ad)xor(A) | 
| Исключающее ИЛИ прямоадресуемого байта и константы | XRL ad,#d | 01100011 |   7  |    3  |    2  |  (ad)<-(ad)xor#d | 
| Сброс аккумулятора | CLR A | 11100100 |   1  |    1  |    1  |  (A)<-0 | 
| Инверсия аккумулятора | CPL A | 11110100 |   1  |    1  |    1  |  (A)<-not(A) | 
| Сдвиг аккумулятора влево циклический | RL A | 00100011 |   1  |    1  |    1  |  (An+1)<-(An), n=0..6, (A0)<-(A7) | 
| Сдвиг аккумулятора влево через перенос | RLC A | 00110011 |   1  |    1  |    1  |  (An+1)<-(An), n=0..6, (A0)<-(C), (C)<-(A7) | 
| Сдвиг аккумулятора вправо циклический | RR A | 00000011 |   1  |    1  |    1  |  (An+1)<-(An), n=0..6, (A7)<-(A0) | 
| Сдвиг аккумулятора вправо через перенос | RRC A | 00010011 |   1  |    1  |    1  |  (An+1)<-(An), n=0..6, (A7)<-(C), (C)<-(A0) | 
| Обмен местами тетрад в аккумуляторе | SWAP A | 11000100 |   1  |    1  |    1  |  (А0..3)<-(А4-7) | 
Команды операций с битами