Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
mcs51_1 / Пособие ч1.doc
Скачиваний:
37
Добавлен:
21.03.2016
Размер:
957.44 Кб
Скачать

Xrl a,{ri,@rj,#d,ad} xchd a,@rj a(3-0)@rj(3-0)

Xrl ad,{#d,a} swap a a(3-0)a(7-4)

clr a -

cpl a не(a) команды булевского процессора

rl a rol(a) p

rlc a rolc(a,c) c,p mov bit,c mov c,bit

rr a ror(a) p clr {c,bit} anl c,{bit,/bit}

rrc a rorc(c.a) c,p cpl c orl c,{........}

da a коppекция (+,-)2 setb {c,bit} jbc bit,rel

jc rel jnc rel jb bit,rel jnb bit,rel

Упpавление пpогpаммой и ветвления обозначения битов SFR адрес

7 6 5 4 3 2 1 0

ljmp a16 PCa16 acc . . . . . . . . e0i

ajmp a11 PC(10.0)a11[10.0] b . . . . . . . . F0i

sjmp rel PC+2+/- rel[6.0] psw c ac f0 rs1 rs0 ov . p d0i

jmp @a+dptr PCa+dptr sp 81

jz rel PC+2+/-rel[6.0],если (a=0) dph 83

dpl 82

jnz rel .... ,если (a<>0) ie ea . . es et1 ex1 et0 ex0 a8i

jc rel .... ,если C p0 . . . . . . . . 80i

jnc rel .... ,если неС p1 . . . . . . . . 90i

jb bit,rel PC+3+rel,если bit=1 p2 . . . . . . . . a0i

jnb bit,rel .... ,если bit=0 p3 rd wr t1 t0 int1 int0 txd rxd b0i

jbc bit,rel ... ,если bit=1,bit<-0 ip . . . ps pt1 px1 pt0 px0 b8i

djnz {ri,ad},rel {}-1;

PC+1/2+/-rel[6.0],если {}<>0 tmod gate1 c/t1 m1 m0 gate0 c/t0 m1 m0 89

cjne {ri,@rj},#d,rel rel,если {}<>#d tcon tf1 tr1 tf0 tr0 te1 it1 ie0 it0 88i

lcall a16 стекpc, PCa16 th0 8c

tl0 8a

acall a11 . ..., PC(10-0)a11[10.0] sbuf 99

ret PCстек th1 8d

tl1 8b

reti PCстек,tf0 pcon smod . . . gf1 gf0 pd idl 87

nop пропуск scon sm0 sm1 sm2 ren tb8 rb8 ti ri 98i

обозначения адресов и признаки

ri= {r0,r1,...,r7} rj={r0,r1}

psw=(c,ac,f0,rs1,rs0,v,-,p)

p - нечетное число единиц в аккумулятоpе

f0- пpизнак пользователя, rs1.rs0 - банк pегистpов

@r0,@r1 - косвенная адресация к внутренней RAM Data,

ad - адpес Data, имя pегистpа SFR

bit - адpес бита в поле битов 00-7f или в специальном регистре- 80-ff ,адрес образуется из собственного адреса регистра, к которому добавляется номер бита;

,разряд регистра acc.5, psw.0, ... ,( 80i - адеса битов 80,...87 регистра 80)

обозначение бита smod,sm0,....

/bit - инвеpсия бита

rel - <метка>=смещение РС в доп коде

------------------------------------------------------------------------------------------------

Примеры программ

11: y=t=x*P1; //v<0

C:0x088C AF90 MOV R7,P1(0x90)

C:0x088E EF MOV A,R7

C:0x088F FD MOV R5,A

C:0x0890 7C00 MOV R4,#0x00

C:0x0892 AF0A MOV R7,x(0x0A)

C:0x0894 EF MOV A,R7

C:0x0895 33 RLC A

C:0x0896 95E0 SUBB A,ACC(0xE0)

C:0x0898 FE MOV R6,A

C:0x0899 1208B8 LCALL C?IMUL(C:08B8)

C:0x089C 8E08 MOV t(0x08),R6

C:0x089E 8F09 MOV 0x09,R7

C:0x08A0 8E0B MOV y(0x0B),R6

C:0x08A2 8F0C MOV 0x0C,R7

12: y=t=z*P1; //y>=0

13:

C:0x08A4 AF90 MOV R7,P1(0x90)

C:0x08A6 7E00 MOV R6,#0x00

C:0x08A8 AC0D MOV R4,z(0x0D)

C:0x08AA AD0E MOV R5,0x0E

C:0x08AC 1208B8 LCALL C?IMUL(C:08B8)

C:0x08AF 8E08 MOV t(0x08),R6

C:0x08B1 8F09 MOV 0x09,R7

C:0x08B3 8E0B MOV y(0x0B),R6

C:0x08B5 8F0C MOV 0x0C,R7

14: }

C:0x08B7 22 RET

C?IMUL:

C:0x08B8 EF MOV A,R7

C:0x08B9 8DF0 MOV B(0xF0),R5

C:0x08BB A4 MUL AB

C:0x08BC A8F0 MOV R0,B(0xF0)

C:0x08BE CF XCH A,R7

C:0x08BF 8CF0 MOV B(0xF0),R4

C:0x08C1 A4 MUL AB

C:0x08C2 28 ADD A,R0

C:0x08C3 CE XCH A,R6

C:0x08C4 8DF0 MOV B(0xF0),R5

C:0x08C6 A4 MUL AB

C:0x08C7 2E ADD A,R6

C:0x08C8 FE MOV R6,A

C:0x08C9 22 RET

Приложение 2.

Интегрированная система программирования и отладки Keil.

Назначение Интегрированной среды IDE:

  • Программирование задач на языке Ассемблера MCS51, C51.

  • Создание проекта для работы с программой на разных этапах.

  • Синтаксический контроль.

  • Компиляция программы в объектный код (HEX-файл и LIST-листинг).

  • Загрузка и симуляция выполнения программы с контролем состояния памяти и периферии.

Система содержит полную библиотеку элементов с ядром MCS51, выпускаемых различными фирмами. Библиотека дополняется новыми элементами в последних версиях, которые можно загрузить из Интернета. Система работает во всех версиях ОС Windows.

Окно Vision

1. Основное меню.

2. Кнопки – синтаксический разбор, компиляция и сборка.

3 Кнопка вызова загрузчика и симулятора.

4. Проект.

5. Окно редактирования исходного текста программы.

6. Окно сообщений компилятора.

Стандартное меню Vision

File Edit View Project Debug Flash Peritherial Tools SVCS Window Help

Standart Tools Menu загружается в Tools и View и содержит символы обращения к различным функциям, локализованным в других ссылках Menu

File

New - редактирование текстовых файлов

Соседние файлы в папке mcs51_1