Добавил:
Eatmore
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
`
03.2000
------------------------------------------------------------------
ЊҐв®¤ЁзҐбЄ®Ґ Ї®б®ЎЁҐ Є
« Ў®а в®ал¬ а Ў®в ¬ Ї® Єгабг
ЋаЈ Ё§ жЁп ќ‚Њ
-------------------------------------------------------------------
ЋЈ« ў«ҐЁҐ.
1. ЂаеЁвҐЄвга MCS51 ...............................
1.1. ’ЁЇл ¬ иЁле ¤ ле..........................
1.2. ЋаЈ Ё§ жЁп Ї ¬пвЁ............................
1.3. ‘ Ё б в Ґ ¬ Є ® ¬ ¤ MCS51..........
1.4. ‘Ёб⥬ ЇаҐалў Ё©............................
1.5. Њ Єа®Є®¬ ¤л.
2. Ља®бб-б।бвў Їа®Ја ¬¬Ёа®ў Ёп ..
2.1. ЂбᥬЎ«Ґа AVC51 ............................
2.2. ‘Ё¬г«пв®а avsim51 ..............
3. ЏаЁ¬Ґал Ё § ¤ Ёп
3.1. ЂаЁд¬ҐвЁзҐбЄЁҐ ®ЇҐа жЁЁ
3.2. ‚лзЁб«ҐЁҐ дгЄжЁ©
3.3. €§¬ҐаҐЁҐ Ё Є®ва®«м ўаҐ¬Ґле ЁвҐаў «®ў
3.4. ђҐ¤ ЄвЁа®ў ЁҐ ⥪бв
3.5. Њ®¤Ґ«м Є®Ґз®Ј® ўв®¬ в
4. ЋвзҐв.
‹€’…ђЂ’“ђЂ..............................................
1. ЂаеЁвҐЄвга ¬ЁЄа®нў¬ MCS51
ЂаеЁвҐЄвга ¬ЁЄа®нў¬ (ЇаЁжЁЇл ®аЈ Ё§ жЁЁ Ё дгЄжЁ®Ёа®ў Ёп)
¬®¦Ґв Ўлвм ЇаҐ¤бв ў«Ґ ¬®¤Ґ«мо Їа®Ја ¬¬Ёбв б।бвў ¬Ё ¬ иЁ®Ј®
п§лЄ бᥬЎ«Ґа .
ЂбᥬЎ«Ґа ЁбЇ®«м§гҐвбп Є Є п§лЄ бЁ¬ў®«ЁзҐЄ®Ј® ®ЇЁб Ёп
бЁбвҐ¬л Є®¬ ¤, ®аЈ Ё§ жЁЁ Ї ¬пвЁ, Є Є «Ј®аЁв¬ЁзҐбЄЁ© п§лЄ
ў ЇаЁЄ« ¤ле Їа®Ја ¬¬ е. ЏаЁ ®ЇаҐ¤Ґ«ҐЁпе ў ¤ ®¬ а §¤Ґ«Ґ
ЁбЇ®«м§говбп б।бвў бᥬЎ«Ґа AVЂ51.
1.1. ЋаЈ Ё§ жЁп Ї ¬пвЁ.
Џ ¬пвм ¬ЁЄа®нў¬ а §¤Ґ«пҐвбп ўгваҐоо Ё ўҐиоо, Ї ¬пвм ¤ ле
Ё Їа®Ја ¬¬, Ї ¬пвм в Є¦Ґ а §¤Ґ«пҐвбп Ї® вЁЇ ¬ ў § ўЁбЁ¬®бвЁ ®в
бЇ®б®Ў ¤®бвгЇ - ¤аҐб жЁЁ. ‚ бᥬЎ«ҐаҐ ЇаҐ¤гᬮваҐл ®ЇЁб Ёп
а §«Ёзле вЁЇ®ў Ї ¬пвЁ ў ўЁ¤Ґ ᥣ¬Ґв®ў.
ЪДДДДДДДДДї ЪДДДДДДЛДДДДДї ЪДДДДДДї
і і і DATA є ri і і SFR і
і CODE і і є bit і і і
і і АДДДДДДЕДДДДДґ АДДДДДДЩ
ЖНННННННННµ ЪДДДДДДґstackі
і XDATA і і IDATAГДД ДДЩ
і і і і
АДДДДДДДДДЩ АДДДДДДЩ
1. ‘ЇҐжЁ «млҐ аҐЈЁбвал SFR , § Є®в®ал¬Ё § ЄаҐЇ«Ґл Є®ЄаҐвлҐ
дгЄжЁЁ.
8-а §ап¤лҐ ॣЁбвал :
a - ®б®ў®© а Ў®зЁ© ॣЁбва- ЄЄг¬г«пв®а,
b - ¤®Ї®«ЁвҐ«мл© а Ў®зЁ© ॣЁбва ў Є®¬ ¤ е
㬮¦ҐЁп Ё ¤Ґ«ҐЁп,
psw=c.ac.f0.rs1.rs0.ov.-.p ॣЁбва б«®ў б®бв®пЁп,
б - ЎЁв ЇҐаҐ®б Ё«Ё § Ґ¬
б - ЎЁв ЇҐаҐ®б ¬Ґ¦¤«г вҐва ¤ ¬Ё
ov - ЇҐаҐЇ®«ҐЁҐ
f0 - ЇаЁ§ Є Ї®«м§®ў ⥫п
p - ЇаЁ§ Є зҐв®бвЁ
sp - гЄ § ⥫м б⥪ .
P0,P1,P2,P3 - Ї®авл ўў®¤ /ўлў®¤
Љ 8-а §ап¤л¬ бЇҐжЁ «мл¬ аҐЈЁбва ¬ ¬®¦® ®Ўа й вмбп
Ї® ¤аҐб ¬ 80-ffh.
16-а §ап¤лҐ ॣЁбвал:
pc - Їа®Ја ¬¬л© бзҐвзЁЄ
dptr=dph.dpl - ॣЁбва ¤аҐб
2. ђҐЈЁбвал ®ЎйҐЈ® § 票п r0,r1,...r7 б ॣЁбва®ў®©
¤аҐб жЁҐ© ў ЄвЁў®¬ Ў ЄҐ
mov a,r0 mov r1,b mov 01,r2
3. Џ ¬пвм Їа®Ја ¬¬ - SEG CODE
1) Љ®¬ ¤л Їа®Ја ¬¬л ЇаҐ¤бв ў«Ґл ¤ў®Ёзл¬Ё Є®¤ ¬Ё ¤«Ё®©
1-3 Ў ©в Ё ¤®бвгЇл ЇаЁ ЁбЇ®«ҐЁЁ Їа®Ја ¬¬л Є®бўҐ® Ї®
¤аҐб®¬г ॣЁбваг PC. ЌҐпў® ўлЎ®аЄ Є®¬ ¤ ўлЇ®«пҐвбп
Ї®б«Ґ¤®ў вҐ«м® Ї® бзҐвзЁЄг PC+ б ўв®ЁЄаҐ¬Ґв®¬,
Ё§¬ҐҐЁҐ Ї®ап¤Є б«Ґ¤®ў Ёп Є®¬ ¤ Їа®Ёб室Ёв Ї® Є®¬ ¤ ¬
ЎҐ§гб«®ў®Ј® Ё гб«®ў®Ј® ЇҐаҐе®¤ .
Љ®¬ ¤л ЎҐ§гб«®ў®Ј® ЇҐаҐе®¤ jmp,call
ў § ўЁбЁ¬®бвЁ ®в ЁвҐаў « ўҐвў«ҐЁп Є®¬ЇЁ«Ёаговбп Є Є
ljmp,lcall - ¤«Ёл© ¤аҐб 2 Ў ©в , sjmp - ®в®бЁвҐ«мл© ¤аҐб
1 Ў ©в, ajmp,acall -Є®а®вЄЁ© ¤аҐб 10 ЎЁв,
call met ;ЇҐаҐе®¤ Є Ї®¤Їа®Ја ¬¬Ґ met
;Їа®¤ўЁгвл© ¤аҐб б«Ґ¤го饩 Є®¬ ¤л
;Ё§ ђ‘ § Ї®¬Ё Ґвбп ў б⥪Ґ
ret ;ў®§ўа в Ё§ Ї®¤Їа®Ја ¬¬л -
; ¤аҐб ў ђ‘ ў®ббв ў«Ёў Ґвбп Ё§ б⥪
Љ®¬ ¤ дгЄжЁ® «м®Ј® ўҐвў«ҐЁп jmp @a+dptr нЄўЁў «Ґв
case () of Ё«Ё switch () ў «Ј®аЁв¬ЁзҐбЄЁе п§лЄ е
SEG CODE
mov dptr,#mem
mov a,#2
jmp @a+dptr ;дгЄжЁ® «м®Ґ ўҐвў«ҐЁҐ б Ё¤ҐЄб®¬ ў
ЄЄг¬г«пв®аҐ,
;dptr ᮤҐа¦Ёв Ў §®ўл© ¤аҐб в Ў«Ёжл mem
; a+dptr=mem+2->pc
mem: ajmp m1
ajmp m2
ajmp m3
Љ®¬ ¤л гб«®ў®Ј® ЇҐаҐе®¤
jz met1 ;ЇҐаҐе®¤ Ї® Ќ“‹ћ ў acc
jnz met2 ;ЇҐаҐе®¤ Ґб«Ё acc Ґ а ўҐ Ќ“‹ћ
jc met3 ;ЇҐаҐе®¤ Ї® ЇаЁ§ Єг ‘
jnc met4
jb acc.0,met5 ;ЇҐаҐе®¤ Ґб«Ё ЎЁв acc.0 Ґ¤ЁЁж
jnb acc.5,met6 ;ЇҐаҐе®¤ Ґб«Ё ЎЁв acc.5 г«м
jbc acc.7,met7 ;ЇҐаҐе®¤ Ґб«Ё ЎЁв acc.7 Ґ¤ЁЁж
;бЎа®б ЎЁв
djnz r0,met8 ;ЇҐаҐ©вЁ Ґб«Ё ri-1 Ґ а ў® Ќ“‹ћ
djnz mem,met9 ;ЇҐаҐ©вЁ Ґб«Ё mem ў IRAM а ў® Ќ“‹ћ
;Ё ўлзҐбвм Ґ¤ЁЁжг Ё§ п祩ЄЁ mem
cjne ri,#d,met ;Ї®ўв®аЁвм Ї®Є ri Ґ а ў® #d
cjne @rj,#d,met
2) „®бвгЇ Є ¤ л¬ ў Їа®Ја ¬¬®© Ї ¬пвЁ:
- ҐЇ®б।бвўҐлҐ ¤ лҐ ў Є®¬ ¤ е,
mov a,#55h mov b,#44
- Ё¤ҐЄбл© ¤®бвгЇ Є в Ў«Ёзл¬ ¤ л¬
SEG CODE
jmp start
mem db 'abcde' ;в Ў«Ёж ASCII Є®¤®ў
start: mov dptr,#mem ;Ў §®ўл© ¤аҐб mem § ЇЁблў Ґвбп ў ¤аҐбл©
ॣЁбва dptr
movc a,@a+dptr ;¬Ґ¬®Є®¤ @a+dptr ®Ў®§ з Ґв бЇ®б®Ў
;д®а¬Ёа®ў Ёп ¤аҐб б Ё¤ҐЄб®¬ ў ЄЄг¬г«пв®аҐ
;Ё Ў §®© ў dptr CODE(dptr+a)->a
mov a,#tab-tek-1 ;ᬥ饨Ґ Ў ©в 'A' ¬ ббЁў tab ®в®бЁвҐ«м®
;Їа®Ја ¬¬®Ј® бзҐвзЁЄ PC
tek: movc a,@a+pc ;з⥨Ґ Ў ©в б ®в®бЁвҐ«м®© ¤аҐб жЁҐ© -
;Ў § ў Їа®Ја ¬¬®¬ бзҐвзЁЄҐ CODE(PC+a)->a
jmp cont
tab db 'ABCDEF'
cont: ........
5. ‚гваҐпп Ї ¬пвм ¤ ле.
‚гваҐп Ї ¬пвм б®бв®Ёв Ё§ ҐбЄ®«мЄЁе ᥣ¬Ґв®ў, Є®в®алҐ
а §«Ёз овбп ¤аҐб жЁҐ©.
a) ‚гваҐпп Ї ¬пвм ¤ ле SEG DATA(0-07fh)
- б Їаאַ© ¤аҐб жЁҐ©
SEG DATA
; Ў ©вл 0-07 Ї® 㬮«з Ёо १ҐаўЁаговбп Ї®¤ r0-r7
mem ds 5 ;®Ў« бвм Ї ¬пвЁ б ¬ҐвЄ®© mem а §¬Ґа®¬ 5 Ў ©в
dat ds 0ah
seg code
mov mem+2*2,dat+2 ;ЇҐаҐб« вм 3Ё© Ў ©в Ё§ в Ў«Ёжл
;dat ў 5го п祩Єг mem,
Ў) ‚гваҐпп Ї ¬пвм ¤ ле б Є®бўҐ®© ¤аҐб жЁҐ© SEG IDATA
Ђ¤аҐб а §¬Ґй Ґвбп «ЁЎ® ў ॣЁбвॠr0 Ё«Ё ў r1 Ё ®Ў®§ з Ґвбп
ў ¬Ґ¬®Є®¤Ґ @r0 Ё«Ё @r1, Є®¬ЇЁ«пв®а ЇаҐ¤гЇаҐ¦¤ Ґв (warning)
Ґб«Ё ў н⮬ ᥣ¬ҐвҐ ЁбЇ®«м§гҐвбп ЇаאַҐ ®Ўа 饨Ґ Є ¤ л¬.
SEG IDATA
imem ds 5 ;ўл¤Ґ«ҐЁҐ Ї ¬пвЁ 5 Ў ©в
seg code
mov r0,#imem+2
mov a,@r0
mov a,imem (warning)
ў) ‘⥪ ®ЇаҐ¤Ґ«пҐвбп Є Є ®Ў« бвм ўгв॥© Ї ¬пвЁ ¤ ле
б Є®бўҐ®© ўв®Ё¤ҐЄб®© ¤аҐб жЁҐ© Ї® гЄ § ⥫о б⥪ SP.
‘⥪ ЁбЇ®«м§гҐвбп Ї® 㬮«з Ёо ¤«п б®еа ҐЁп ¤аҐб ў®§ўа в
ЇаЁ ®Ўа 饨Ё Є Ї®¤Їа®Ја ¬¬ ¬ Ё ў ЇаҐалў Ёпе.
Џ®«®¦ҐЁҐ ўҐаиЁл Ё§¬ҐпҐвбп § Јаг§Є®© ¤аҐб ў гЄ § ⥫м
б⥪ SP (mov sp,#30h), Ї® 㬮«з Ёо SP=07.
seg DATA
stack ds 10h ;б⥪ а §¬Ґа®¬ 10h Ў ©в
seg code
mov sp,#stack-1 ;гбв ®ўЁвм Ў §г б⥪
push acc ;§ Јаг§Є Ў ©в Ё§ ACC ў б⥪
; a->@(+SP) c ЇаҐЁЄаҐ¬Ґв®¬ SP
pop 00 ;з⥨Ґ Ў ©в ў r0 Ё§ б⥪
; @(SP-)->r0 c Ї®б⤥ЄаҐ¬Ґв®¬ SP
6. CҐЈ¬Ґв ЎЁв®ў SEG BIT
a) „®бвгЇ Є ЎЁвг Ї® ¤аҐбг 00-7F
SEG BIT
bita ds 10h ;Ї®«Ґ ЎЁв 00-10h
reg ds 8 ;ॣЁбва 8 ЎЁв
seg code
x1 bit bita+2 ;®ЇаҐ¤Ґ«ҐЁҐ Ўг«ҐўбЄ®© ЇҐаҐ¬Ґ®©
x2 bit reg
mov c,x1
mov bita+2,c
Ў) ‘ҐЈ¬Ґв ЎЁв®ў б®ў¬Ґй Ґвбп б ЎЁв ¬Ё ў п祩Є е 20H-2fh
seg DATA,
„®бвгЇ Ї® ®в®бЁвҐ«мл¬ ¤аҐб ¬ - ®¬Ґаг ЎЁв ў ॣЁбваҐ.
seg code
mem equ 20h
x1 bit mem.0
x2 bit 21h.1
mov c,mem.5
mov x1,c
ЃЁвл SFR ॣЁбва®ў ¤®бвгЇл Ї® Ё¬Ґ ¬ T0,T1,C,.. Ё«Ё
Ї® ®в®бЁвҐ«мл¬ ¤аҐб ¬ P1.0, ...,ACC.7.
SFR ॣЁбвал MCS51 б Ї®ЎЁв®ўл¬ ¤®бвгЇ®¬ - ACC,B,TCON,P1,SCON,
P2,P3,PSW.
7. ‚Ґипп Ї ¬пвм ¤ ле ᥣ¬Ґв XDATA,
) 16-а §ап¤л© ¤аҐб д®а¬ЁагҐвбп ў бЇҐжЁ «м®¬
¤аҐб®¬ ॣЁбвॠdptr
SEG XDATA
mem ds 10h
SEG CODE
mov dptr,#mem ; ¤аҐб ў ¤аҐб®¬ ॣЁбваҐ
movx a,@dptr
mov dptr,#mem+5
mov a,#33h
movx @dptr,a
Ў) Ђ¤аҐб а §¤Ґ«пҐвбп ¤ўҐ з бвЁ
- ¤аҐб бва Ёжл д®а¬ЁагҐвбп ў ॣЁбвॠP2,
- ᬥ饨Ґ ў бва ЁжҐ д®а¬ЁагҐвбп ў r0
SEG XDATA
mem ds 10h
SEG CODE
mov dptr,#mem ; ¤аҐб ў ¤аҐб®¬ ॣЁбваҐ
mov p2,dph ;бв аиЁ© Ў ©в - бва Ёж
mov r0,dpl ;¬« ¤иЁ© Ў ©в - ᬥ饨Ґ ў бва ЁжҐ
movx a,@dptr
inc dpl
movx @dptr,a
1.2. ’ЁЇл ¬ иЁле ¤ ле.
Њ иЁлҐ вЁЇл ¤ ле ¬ЁЄа®нў¬ е а ЄвҐаЁ§говбп:
1) ¬®¦Ґбвў®¬ § 票©, Є®в®алҐ ®ЇаҐ¤Ґ«повбп д®а¬ в ¬Ё ¤ ле.
”®а¬ в ¤ ле ўЄ«оз Ґв бЇ®б®Ў ¤ў®Ёз®Ј® Є®¤Ёа®ў Ёп, а §а冷бвм
Ё бвагЄвгаг ¤ў®Ёз®Ј® Є®¤ ,
2) ¤®ЇгбвЁ¬л¬Ё ®ЇҐа жЁп¬Ё пў«повбп в®«мЄ® ¬ иЁлҐ ®ЇҐа жЁЁ, ЇаҐ¤бв ў-
«ҐлҐ бЁб⥬®© Є®¬ ¤ ЊЉЉ,
3) ¤®бвгЇ®¬ Є ¤ л¬, § ўЁбпйЁ¬ ®в вЁЇ Ї ¬пвЁ ¬ЁЄа®Є®ва®««Ґа ,
Љ вЁЇ ¬ ¤ ле ®в®бпвбп:
- жҐ«лҐ ¤ў®ЁзлҐ зЁб« ,
- ЎҐ§§ Є®ўлҐ жҐ«лҐ ¤ў®ЁзлҐ,
- ¤ў®ЁзлҐ Є®¤л,
- ¤ў®Ёз®-¤ҐбпвЁзлҐ жҐ«лҐ,
- Ўг«ҐўбЄЁ© вЁЇ.
1. „ў®Ёз®Ґ 楫®Ґ б® § Є®¬ ў д®а¬ ⥠Ў ©в , а §¬Ґй Ґ¬лҐ
ў Ї ¬пвЁ XDATA, CODE, DATA,IDATA.
mem db 1,-2,25H,33 ;в Ў«Ёж ¤ҐбпвЁзле 1,-2,33,
;иҐбв ¤ж вҐаЁзле 25H
;Ї®б«Ґ Є®¬ЇЁ«пжЁЁ - ¤ў®ЁзлҐ 8-а §ап¤лҐ
;зЁб«
vect db 10110001b ; ¤ў®Ёз®Ґ зЁб«®
mem dw 5533h ;Є®бв в а §¬Ґа®¬ б«®ў® 16 ЎЁв
ЂаЁд¬ҐвЁзҐбЄЁҐ ®ЇҐа жЁЁ б ¤ў®Ёзл¬Ё зЁб« ¬:
add a,#55 ;б«®¦ҐЁҐ ЄЄг¬г«пв®а ( ) б Є®бв в®© 55
addc a,#55 ;б«®¦ҐЁҐ б ЇҐаҐ®б®¬ ‘ Ё Є®бв в®©
subb a,#33 ;ўлзЁв ЁҐ Є®бв вл б § Ґ¬®¬ ‘ ,
‚ аЁд¬ҐвЁзҐбЄЁе ®ЇҐа жЁпе гзЁвлў Ґвбп § Є ЇаЁ д®а¬Ёа®ў ЁЁ
ЇаЁ§ Є ЇҐаҐЇ®«ҐЁп OV.
2. –Ґ«®Ґ ЎҐ§ § Є ў д®а¬ ⥠Ў ©в
ЂаЁд¬ҐвЁзҐбЄЁҐ ®ЇҐа жЁЁ б ¤ў®Ёзл¬Ё зЁб« ¬Ё ЎҐ§ § Є
add a,#55
addc a,#55 ;б«®¦ҐЁҐ б ЇҐаҐ®б®¬ ‘
subb a,#33 ;ўлзЁв ЁҐ Є®бв вл б § Ґ¬®¬ ‘ ,
”®а¬Ёаговбп ЇаЁ§ ЄЁ
‘ - ЇҐаҐ®б Ё«Ё § Ґ¬,
P - ЇаЁ§ Є зҐв®бвЁ Є®¤ १г«мв в .
Ќ“‹њ १г«мв в ў ЄЄг¬г«пв®аҐ Є®ва®«ЁагҐвбп ҐЇ®б।б⢥®
Є®¬ ¤ ¬Ё ўҐвў«ҐЁп.
rlб a ;б¤ўЁЈ ЄЄг¬г«пв®а (a) ў«Ґў® б ЇаЁ§ Є®¬ ‘ жЁЄ«ЁзҐбЄЁ©,
нЄўЁў «Ґв 㬮¦ҐЁо 2 ¤ў®Ёз®Ј® зЁб«
rrc a ;б¤ўЁЈ ЄЄг¬г«пв®а (a) ўЇа ў® б ЇаЁ§ Є®¬ ‘ жЁЄ«ЁзҐбЄЁ©
нЄўЁў «Ґв ¤Ґ«ҐЁо 2 ¤ў®Ёз®Ј® зЁб«
mul ab ;a*b->ba Їа®Ё§ўҐ¤ҐЁҐ Ў ©в®ў Ё§ ॣЁбва®ў (a) Ё (b)
;б®еа Ёвм ў ॣЁбва е (ba), c=0, ov=1,Ґб«Ё b<>0,
div ab ;a/b->a,b a - з б⮥, b - ®бв в®Є
c=0, ov=1, Ґб«Ё ¤Ґ«ЁвҐ«м b=0;
3. „ў®Ёзл© Є®¤ ў д®а¬ ⥠Ў ©в
Џ®а §ап¤лҐ «®ЈЁзҐбЄЁҐ ®ЇҐа жЁЁ б ¤ў®Ёзл¬ Є®¤®¬
anl a,#44h ;«®ЈЁзҐбЄ®Ґ € c HEX-Є®бв в®©,
orl a,#25 ;«®ЈЁзҐбЄ®Ґ €‹€ б ¤ҐбпвЁз®© Є®бв в®©,
xrl ,#'s' ;ЁбЄ«оз о饥 €‹€ c ASCII-Є®¤®¬,
cpl a ; ЁўҐавЁа®ў ЁҐ
rl a ;б¤ўЁЈ жЁЄ«ЁзҐбЄЁ© Є®¤ ў«Ґў® ў ЄЄг¬г«пв®аҐ,
rr a ;б¤ўЁЈ жЁЄ«ЁзҐЄЁ© Є®¤ ўЇа ў® ў ЄЄг¬г«пв®аҐ.
4. „ў®Ёз®-¤ҐбпвЁз®Ґ 楫®Ґ ЎҐ§ § Є ў д®а¬ ⥠Ў ©в
Ћб®ў®Ґ ЇаЁ¬ҐҐЁҐ - ЇаҐ®Ўа §®ў ЁҐ Ё§ ¤ҐбпвЁз®© бЁбвҐ¬л ў
¤ў®Ёзго ЇаЁ ўў®¤Ґ, Ё§ ¤ў®Ёз®© ў ¤ҐбпвЁзго ЇаЁ ўлў®¤Ґ.
‚ ЇаҐ®Ўа §®ў Ёпе ЁбЇ®«м§говбп аЁд¬ҐвЁзҐбЄЁҐ ®ЇҐа жЁЁ б«®¦ҐЁп
¤ў®Ёз®-¤ҐбпвЁзле Є®¤®ў, ў Є®в®але ЇаЁ¬ҐпҐвбп ¤ў®Ёз®Ґ б«®¦ҐЁҐ
б Є®а४樥© - Є®¬ ¤ da a.
5. Ѓг«ҐўбЄЁ© вЁЇ - ЎЁв,
ЎЁвл ®ЎкҐ¤Ёповбп ў ¤ў®ЁзлҐ Є®¤л, Ї®«п Ё ॣЁбвал.
Љ®¬ЇЁ«пв®а ўл¤Ґ«пҐв ᥣ¬Ґв SEG BIT ў RAM(20-3Fh) б ¤аҐб ¬Ё
00-07fh, ¤аҐб ЎЁв®ў 80h-ffh § १ҐаўЁа®ў л ў SFR ॣЁбва е.
— бвм ЎЁв®ў ¤®бвгЇл Ї® Ё¬Ґ ¬ ў бᥬЎ«ҐаҐ Ё«Ё Їаאַ© ¤аҐб жЁҐ©
(ЎЁвл Ї®ав®ў ¤®бвгЇл Ї® ¤аҐб ¬ P1.5, P3.7, ...,
ЎЁвл бЇҐжЁ «мле ¤ЁбЄаҐвле бЁЈ «®ў Ї® Ё¬Ґ ¬ - T0,T1,INT0,INT1,..
ЋЇҐа жЁЁ б ЎЁв ¬Ё:
mov c,x1 ;§ ЇЁб вм ў ЎЁв ‘
anl c,acc.5 ;«®ЈЁзҐбЄ®Ґ € ЎЁв ‘ б 5 ЎЁв®¬ ЄЄг¬г«пв®а acc.5
orl c,/acc.0 ;«®ЈЁзҐбЄ®Ґ €‹€ ЎЁв ‘ б ЁўҐабЁҐ© ЎЁв acc.0
setb c ;гбв ®ўЁвм ЎЁв ‘
clr c ;®зЁбвЁвм ЎЁв
1.3. ‘ Ё б в Ґ ¬ Є ® ¬ ¤ MCS51
---------------------------------------------
ЇҐаҐ¤ з ¤ ле ᮤҐа¦ ЁҐ
---------------------------------------------
mov a,{ri,@rj,#d,ad} {..}->a
mov {ri,@rj},a a-> {..}
mov {ri,@rj},ad ad -> {..}
mov ad,{ri,@rj,#d,ad,a} {..} -> ad
mov {ri,@rj},#d #d -> {..}
mov dptr,#d16
movc a,@a+dptr code(dptr+a)->a
movc a,@a+pc code(pc+a)->a
movx a,{@rj,@dptr} xdata{..}->a
movx {@rj,@dptr},a a->xdata{..}
push ad ad->б⥪(+sp)
pop ad б⥪(sp-)->ad
xch a,{ri,@rj,ad} a<->{..}
xchd a,@rj
swap a a[0.3]<->a[4.7]
--------------------------------------------------
ЂpЁд¬ҐвЁЄ Ё «®ЈЁЄ ЇаЁ§ ЄЁ ᮤҐа¦ ЁҐ
---------------------------------------------------
add a,{ri,@rj,#d,ad} ,c,ov {..}+a->a
addc a,{ ...........} ,c,ov {..}+a+C->a
subb a,{............} ,c,ov a-{..}-C->a
inc {ri,@rj,ad,dptr,a} {..}+1
dec {ri,@rj,ad,a} {..}-1
rlc a ,c rolc(a)=a*2
rrc a ,c rorc(a)=a/2
da a ¤ҐбпвЁз п Є®а४жЁп
mul ab ,c=0,ov a*b->b,a
div ab ,c=0,ov a/b->a-з б⮥
b-®бв в®Є
anl a,{ri,@rj,#d,ad} a & {..}->a
anl ad,{#d,a} ad & {..)->ad
orl a,{ri,@rj,#d,ad} a v {..}->a
orl ad,{#d,a} ad v {..}->ad
xrl a,{ri,@rj,#d,ad} a + {..}->a
xrl ad,{#d,a}
clr a 0->a
cpl a Ґ(a)
rl a rol(a)
rr a ror(a)
---------------------------------
Є®¬ ¤л Ўг«ҐўбЄ®Ј® Їа®жҐбб®а
---------------------------------
mov bit,c c->bit
mov c,bit bit->c
clr {c,bit} 0->{..}
anl c,{bit,/bit} c & {..}->c
orl c,{....} c v {..}->c
cpl c Ґ(c)
setb {c,bit} 1->{..}
----------------------------------------------------
“Їp ў«ҐЁҐ Їp®Јp ¬¬®© Ё ўҐвў«ҐЁп
----------------------------------------------------
jmp ¬ҐвЄ (ajmp,sjmp,ljmp) ¬ҐвЄ -> pc
jmp @a+dptr dptr+a -> pc
call ¬ҐвЄ (acall,lcall) pc+3->б⥪, ¬ҐвЄ -> pc
ret б⥪(sp-)->pc
reti б⥪(sp-)->pc, а §аҐиҐЁҐ ЇаҐалў Ёп
jc/jnc ¬ҐвЄ Ґб«Ё C , в® ¬ҐвЄ ->pc
jz/jnz ¬ҐвЄ Ґб«Ё a=0 , в® ¬ҐвЄ ->pc
jb bit,¬ҐвЄ Ґб«Ё bit=1 , в® ¬ҐвЄ ->pc
jnb bit,¬ҐвЄ Ґб«Ё bit=0 , в® ¬ҐвЄ ->pc
djnz {ri,ad},¬ҐвЄ Ґб«Ё {..}-1 <> 0 , в® ¬ҐвЄ -> pc
cjne {ri,@rj},#d,¬ҐвЄ Ґб«Ё {..} <> #d , в® ¬ҐвЄ -> pc
----------------------------------------------------------------------
ЋЎ®§ зҐЁп ў ¬Ґ¬®Є®¤ е:
#d - Є®бв в
ri= {r0,r1,...,r7} Ё¬п ॣЁбва ў ЄвЁў®¬ Ў ЄҐ
@rj - Є®бўҐ п ¤аҐб жЁп ў IDATA, rj={r0,r1}
ad - Їаאַ© ¤аҐб DATA(00-7f), ¤аҐб/Ё¬п SFR(80-FF)
bit - 00-7f ¤pҐб ЎЁв ў Ї®«Ґ ЎЁв®ў б®ў¬ҐйҐ® б DATA(20-2F),
а §ап¤ бЇҐжЁ «м®Ј® ॣЁбва acc.5, psw.0, ... ,
Ё¬п ЎЁв smod,sm0,.... бЇҐжЁ «м®Ј® ॣЁбва
/bit - ЁўҐpбЁп ЎЁв
ЇаЁ§ Є P д®а¬ЁагҐвбп ў Є ¦¤®¬ жЁЄ«Ґ ЇаЁ ўлЇ®«ҐЁЁ «оЎ®© Є®¬ ¤л
-----------------------------------------------------------------------
1.4. Њ Єа®Є®¬ ¤л
ЂбᥬЎ«Ґа - ва ¤ЁжЁ®®Ґ бЁ¬ў®«ЁзҐбЄ®Ґ (ўЁав㠫쮥) ®ЇЁб ЁҐ
аҐбгаб®ў ¬ЁЄа®Є®¬ЇмовҐа .
„«п Ї®ўл襨п га®ўп Їа®Ја ¬¬Ёа®ў Ёп,
а биЁаҐЁп ¤Ё Ї §® § 票©( в®з®бвЁ ўлзЁб«ҐЁ©) ЁбЇ®«м§говбп
¬ Єа®Є®¬ ¤л, Є®в®алҐ Ї®§ў®«пов, ЇаЁ¬Ґа, бЄ®бвагЁа®ў вм 16-
а §ап¤го ўЁавг «мго ќ‚Њ.
‘ЇЁб®Є ¬ Єа®Є®¬ ¤ 16-а §а冷© ўЁавг «м®© ¬ иЁл
; mov_w y,x x->y
; mov_d y,x dx->dy
; mov_c y,#x § ЇЁбм Є®бв вл ў б«®ў® #x->wy зҐаҐ§ dptr
; swap_w x x(15-8)<->x(7-0) ®Ў¬Ґ Ў ©в ¬Ё ў б«®ўҐ
; tabb z,x,y ўлЎа вм Ў ©в Ё§ в Ў«Ёжл z=x(y), z,y-Ў ©в
; tabw z,x,y ўлЎа вм б«®ў® Ё§ в Ў«Ёжл z=x(y), z-б«®ў®,y-Ў ©в
; movb_rx x,y x-ॣЁбва, y-Є®бўҐл© ¤аҐб XRAM x<-@(y+)
; movb_xr x,y x-ॣЁбва, y-Є®бўҐл© ¤аҐб XRAM @(y+)<-x
; movw_rx x,y x-ॣЁбва, y-Є®бўҐл© ¤аҐб XRAM x<-@(y+)
; movw_xr x,y x-ॣЁбва, y-Є®бўҐл© ¤аҐб XRAM @(y+)<-x
----------------------------------------------
; add_w y,x б«®¦ҐЁҐ б«®ў wx+wy->wy
; add_c y,#x б«®¦ҐЁҐ б Є®бв в®© wy+#c->wy
; addc_w y,x б«®¦ҐЁҐ б ЇҐаҐ®б®¬ wx+wy+c->wy
; clr_w x 0->wx
; clr_d x 0->dx
; inc_w x x+1
; dec_w x x-1
; subb_w y,x ўлзЁв ЁҐ б«®ў wy-wx->wy
; subbc_w y,x wy-wx-c->wy
; subo_w y,x ўлзЁв ЁҐ б«®ў ®Ўа ⮥ wy-wx->wx
; rlc_w x б¤ўЁЈ б«®ў ў«Ґў® б ЇаЁ§ Є®¬ ‘ 1 ЎЁв rlc(wx)
; rlc_w x,y б¤ўЁЈ б«®ў ў«Ґў® б ЇаЁ§ Є®¬ ‘ y ЎЁв rlc(wx)y
; rlc_d x б¤ўЁЈ ¤ў®©®Ј® б«®ў ў«Ґў® б ЇаЁ§ Є®¬ ‘ rlc(dx)y
; rrc_w x б¤ўЁЈ б«®ў ўЇа ў® б ЇаЁ§ Є®¬ ‘ 1 ЎЁв rrc(wx)
; rrc_w x,y б¤ўЁЈ б«®ў ўЇа ў® б ЇаЁ§ Є®¬ ‘ y ЎЁв rrc(wx)y
; rrc_d x б¤ўЁЈ ¤ў®©®Ј® б«®ў ўЇа ў® б ЇаЁ§ Є®¬ ‘ rrc(dx)y
; mul_w y,x 㬮¦ҐЁҐ wy*wx->d1, ЁбЇ®«м§говбп а Ў®зЁҐ ॣЁбвал w0-w3
; div_w y,x ¤Ґ«ҐЁҐ d1/wx->wy, ЁбЇ®«м§говбп а Ў®зЁҐ ॣЁбвал w0-w3
; tr2d x ЇҐаҐў®¤ wx Ё§ 2®© ў 10го, а Ў®зЁҐ w0,w1,r5
; trd2 x ЇҐаҐў®¤ wx Ё§ 10®© ў 2го, а Ў®зЁҐ w0,w1,r5
; time x Їа®Ја ¬¬ п § ¤Ґа¦Є x/10 ¬б ¬ ЄбЁ¬г¬ x=255
; sqrt x Є®аҐм Єў ¤а вл© Ё§ d2, १г«мв в ў x,а Ў®зЁҐ w0-w3,w4
ЏаЁ¬Ґа ®д®а¬«ҐЁп ¬ Єа®Є®¬ ¤л
mov_w %macro y,x
mov y,x
mov y+1,x+1
%endm
inc_w %macro x
mov a,x+1
add a,#1
mov x+1,a
mov a,x
addc a,#0
mov x,a
%endm
ќвЁ ¬ Єа®Є®¬ ¤л ¬®¦® ЁбЇ®«м§®ў вм § ¤ ў п д ЄвЁзҐбЄЁҐ
Ї а ¬Ґвал - ¤аҐб Ё Ё¬Ґ ॣЁбва®ў
seg data
w0 ds 2
w1 ds 2
seg code
mov_w w0,w1
inc_w w0
inc_w w1
end
1.5. “Їа ў«ҐЁҐ ЇаҐалў Ёп¬Ё.
ЏаЁжЁЇ а Ў®вл бЁбвҐ¬л ЇаҐалў Ёп:
1) ‚ Є®жҐ ⥪г饩 Є®¬ ¤л ®Їа иЁў овбп ॣЁбвал § Їа®б®ў Ё
ўлЎЁа Ґвбп ЁЎ®«ҐҐ ЇаЁ®аЁвҐвл© Ё§ § ॣҐбваЁа®ў ле бЁЈ «®ў
а §аҐиҐле ¬ бЄ®©.
2) ”®а¬ЁагҐвбп ¤аҐб-ўҐЄв®а в Ў«Ёжл ўҐЄв®а®ў ЇаҐалў Ё© ў ¤аҐб е
0000-0020h ᥣ¬Ґв CODE
3) ЏҐаҐ¤ Ґвбп гЇа ў«ҐЁҐ Ї® ¤аҐбг-ўҐЄв®аг б б®еа ҐЁҐ¬ ⥪г饣®
Їа®Ја ¬¬®Ј® бзҐвзЁЄ ў б⥪Ґ, ЇаЁ н⮬ § ЇаҐй овбп ўбҐ ЇаҐалў Ёп
¤® § ўҐаиҐЁп Їа®Ја ¬¬л ®Ўа Ў®вЄЁ ⥪г饣® ЇаҐалў Ёп.
4) Џа®Ја ¬¬ ®Ўа Ў®вЄЁ § ўҐаи Ґвбп Є®¬ ¤®© RETI,
Є®в®а п ў®§ўа й Ґв гЇа ў«ҐЁҐ ЇаҐаў ®© Їа®Ја ¬¬Ґ Ё Єа®¬Ґ
в®Ј® а §аҐи Ґв ЇаҐалў Ёп Ё бЎа блў Ґв ҐЄ®в®алҐ ЎЁвл § Їа®б®ў
ЇаҐалў Ё© - ®бв «млҐ ЎЁвл бЎа блў овбп Їа®Ја ¬¬®.
ЃЁвл гЇа ў«ҐЁп ЇаҐалў Ёп¬Ё ¤®бвгЇл Ї® Ё¬Ґ ¬ Ё ЇаЁўҐ¤Ґл
ў в Ў«ЁжҐ ў¬ҐбвҐ б ўҐЄв®а ¬Ё Ё ®Ў®§ 票Ґ¬ ЇаЁ®аЁвҐв :
Ъ ДДДДДДДДДВДДДДДДДВДДДДДД ДДВДДДДДДДВДДДДДДДДВДДДДДДДДї
і ўҐиЁҐ івЁЇ і ЎЁв і ЎЁв і ЇаЁ®аЁ-і ¤аҐб- і
і ўе®¤л ібЁЈ « і ॣЁбва і ¬ бЄЁ і вҐв Ai і ўҐЄв®а і
і 1 і 2 і 3 бЎа 4 і 6 і 7 і
ГД ДДДДДДДДЕДДДДДДДЕДДДДДДДД ЕДДДДДДДЕДДДДДДДДЕДДДДДДДДґ
p3.2 /int0 іit0 =\ і ie0 Ї і ex0 і 4 і 03 і
p3.3 /int1 іit1 =\ і ie1 Ї і ex1 і 2 і 13h і
і і і tf0 Ї і et0 і 3 і 0bh і
і і і tf1 Ї і et1 і 1 і 1bh і
ДБД ДДДДДДДДБДДДДДДДБДДДДДДДД БДДДДДДДБДДДДДДДДБДДДДДДДДЩ
1- ЎЁвл, ®Ў®§ з ойЁҐ ўҐиЁҐ ¤ЁбЄаҐвлҐ ўе®¤л/ўл室л.
2 - ЎЁвл, ўлЎЁа ойЁҐ вЁЇ бЁЈ « (= L га®ўҐм, \ h/l да®в,
/ l/h да®в)
3 - ॣЁбваЁагҐ¬лҐ ЎЁвл бЁЈ «®ў ЇаҐалў Ё©, гЄ §лў Ґвбп
бЇ®б®Ў бЎа®б a- ЇЇ а вл© ЇаЁ ўе®¤Ґ ў ЇаҐалў ЁҐ,
Ї-Їа®Ја ¬¬л© ЇаЁ § ўҐа襨Ё ®Ўа Ў®вЄЁ
ЇаҐалў Ёп ЇҐаҐ¤ Є®¬ ¤®© reti
4 - ЎЁвл а §аҐиҐЁп ॣЁбва жЁЁ
6 - ®¬Ґа Ўб®«ов®Ј® ЇаЁ®аЁвҐв Ai=0,1, ..., 11 ў Ї®ап¤ЄҐ
㢥«ЁзҐЁп ЇаЁ®аЁвҐв ЇаЁ Ї®б«Ґ¤®ў ⥫쮬 ®Їа®бҐ
®¤®¬ га®ўҐ ЇаЁ®аЁвҐв®ў
7 - ¤аҐб-ўҐЄв®а в Ў«Ёжл ЇаҐалў Ё© ў ᥣ¬ҐвҐ CODE.
Џа®Ја ¬¬Ёа®ў ЁҐ ЇаҐалў Ё©:
1) ”®а¬ЁагҐвбп ўҐЄв®а ЇаҐалў Ёп
org 03h
ljmp mem ;ЇҐаҐе®¤ Є Ї®¤Їа®Ја ¬¬Ґ ®Ўа Ў®вЄЁ
ЇаҐалў Ёп
2) Џ®¤Їа®Ја ¬¬ ®Ўа Ў®вЄЁ ЇаҐалў Ёп ®д®а¬«пҐвбп Є Є Їа®жҐ¤га
c «®Є «мл¬Ё ¬ҐвЄ ¬Ё L?1, L?2,...
mem proc
.....
l1? .....
reti
mem endproc
3) ‚ ®б®ў®© Їа®Ја ¬¬Ґ гбв ў«Ёў Ґвбп ¬ бЄ ЇаҐалў Ёп,
бЎа блў Ґвбп ЎЁв § Їа®б ЇаҐалў Ёп, гбв ў«Ёў Ґвбп
ЎЁв а §аҐиҐЁп ЇаҐалў Ёп EA.
2. Ља®бб-б।бвў Їа®Ја ¬¬Ёа®ў Ёп.
2.1. ЂбᥬЎ«Ґа ava51.
ЋЇЁб ЁҐ бᥬЎ«Ґа Ё Їа ўЁ« ®д®а¬«ҐЁп Їа®Ја ¬¬
ЇаЁўҐ¤Ґл ў д ©«Ґ ASM51.txt
ЂббᥬЎ«Ґа Є®¬ЇЁ«ЁагҐв Ґпў® в®«мЄ® бЁ¬ў®«л, ®в®бпйЁҐбп
Є Ў §®ў®© аеЁвҐЄвгॠMCS51/52
‘।бвў бᥬЎ«Ёа®ў Ёп ¤«п PC ўЄ«оз ов бᥬЎ«Ґа ava51.exe
Ё «ЁЄҐа avl51.exe
‚맮ў бᥬЎ«Ґа
asm.bat name
‚ д ©«Ґ asm.bat ®д®а¬«Ґл Є®¬ ¤л ўл§®ў бᥬЎ«Ґа Ё «ЁЄҐа
‚ᥠЇа®Ја ¬¬л ўл§лў овбп б Ї 㧮©, § ўҐа襨Ґ ЁбЇ®«ҐЁп
Є®¬ ¤®Ј® д ©« .bat Є« ўЁи ¬Ё ctr+c.
ava51 %1.asm ap ;ўл§®ў бᥬЎ«Ґа ,д®а¬Ёа®ў ЁҐ бЁ¬ў®«мле в Ў«Ёж
pause ;®бв ®ў - ўл室 Ї® ctr+c
avl51 %1=%1 -sy ;ўл§®ў «ЁЄҐа ,д®а¬Ёа®ў ЁҐ бЁ¬ў®«мле ббл«®Є
pause
avsim51 bla%1 ;§ Јаг§Є Їа®Ја ¬¬л ў бЁ¬г«пв®а б бЁ¬ў®«мл¬Ё
в Ў«Ёж ¬Ё
„ЁаҐЄвЁўл(®ЇжЁЁ) Є®¬ЇЁ«пв®а Ё «ЁЄҐа ®ЇЁб л ў д ©«Ґ asm.hlp,
ЏаЁ Є®¬ЇЁ«пжЁЁ д ©« name.asm д®а¬Ёаговбп Їа®¬Ґ¦гв®злҐ
⥪бв®ўлҐ д ©«л
name.prn - «ЁбвЁЈ Є®¬ЇЁ«пжЁЁ
name.obj - ®ЎкҐЄвл© ЎЁ ал© д ©«,
name.hex - д ©« ¤«п § Јаг§ЄЁ.
Ља®¬Ґ в®Ј® д®а¬Ёаговбп д ©«л, Ґ®Ўе®¤Ё¬лҐ ЇаЁ бЁ¬ў®«ЁзҐбЄ®©
®в« ¤ЄҐ ў бЁ¬г«пв®аҐ.
‚ д ©«Ґ .prn ¬®¦® ©вЁ ®иЁЎЄЁ Ё а бЇаҐ¤Ґ«ҐЁҐ Ї ¬пвЁ,
Ґ®Ўе®¤Ё¬лҐ ЇаЁ ®в« ¤ЄҐ, ў д ©«Ґ .smb - ¤аҐб ЇҐаҐ¬Ґле Ё
¬ҐвЄЁ.
2.2. ‘Ё¬г«пв®а.
Њ®¤Ґ«ЁагҐв Є®¬ ¤л Їа®Ја ¬¬л,ॠбᥬЎ«ЁагҐв Ёе Ё ®в®Ўа ¦ Ґв
ў ᮮ⢥вбўго饬 ®ЄҐ нЄа , ®в®Ўа ¦ Ґв б®бв®пЁҐ ¬ иЁл ЇаЁ
ЁбЇ®«ҐЁЁ Є®¬ ¤ (०Ё¬ ва ббЁа®ўЄЁ).
‚맮ў бЁ¬г«пв®а avsim51.exe [bla<д ©«>]
- ўлў®¤Ёвбп ®Є® Ё ¬Ґо, § Јаг¦ Ґвбп .hex д ©«.
CЁ¬г«пв®а Ї®¤¤Ґа¦Ёў Ґв в®«мЄ® Ў §®ўго аеЁвҐЄвгаг - MCS51/52,
¤ЁаҐЄвЁўл бЁ¬г«пв®а ЇаЁўҐ¤Ґл ў д ©«Ґ avsim51.hlp.
1) ESC ўлЎЁа Ґв ¬Ґо Ё«Ё гбв ®ўЄг § 票© нЄа Ґ.
ЊҐо ( бв५ЄЁ Ё«Ё «ЁвҐал ўлЎЁа ов Є®¬ ¤л ¬Ґо )
ќЄа (бв५Є ¬Ё ўлЎЁа Ґвбп Ў ©в ў ®ЄҐ Ё Ё§¬ҐпҐвбп)
Ќ нЄа Ґ :
- ®Є® ॠбᥬЎ«Ёа®ў ®Ј® Є®¬ ¤®Ј® д ©« , Є®¬ ¤л
ўлЎЁа овбп Ї® § зҐЁо Їа®Ја ¬¬®Ј® бзҐвзЁЄ PC,
Ё§¬ҐҐЁҐ «оЎ®Ј® § зҐЁп ў ®ЄҐ Ї® ¬ аЄҐаг, (+)-ЁЄаҐ¬Ґв,
(-) -¤ҐЄаҐ¬Ґв, ў ⮬ зЁб«Ґ Ё PC.
- ¤ў ®Є ( 1,2 ) ¤«п ®в®Ўа ¦ҐЁп «оЎле вЁЇ®ў Ї ¬пвЁ
- ¤аҐб ўлЎЁа овбп дгЄжЁҐ© DUMP,
¤«п ॣЁбва®ў ўгв॥© Ї ¬пвЁ гЄ §лў овбп ЇаЁ
ўлЎ®аҐ бЁ¬ў®«ЁзҐбЄЁҐ Ё¬Ґ .
- ॣЁбвал бЇҐжЁ «мле дгЄжЁ©
(acc,b,psw,p0,p1,p2,p3,th0/tl0,th1/tl1)
- ЎЁвл гЇа ў«ҐЁп в ©¬Ґа ¬Ё, ¬ бЄЁ ЇаҐалў Ё©,
ЇаЁ§ ЄЁ १г«мв в
2) Ћ‘ЌЋ‚ЌЋ… ¬Ґо:
Dump Expression commandFile Help IO -> Їа®¤®«¦ҐЁҐ
-> Memory Patch Quit Reset Set setUp View eXecute Load
-> ў®§ўа в ў Dump
DUMP :
Dump Area : 1,2
Memory Adress : 55h - ўлЎЁа Ґвбп ¤аҐб ¤ ¬Ї
c Їаאַ© Ё«Ё Є®бўҐ®© ¤аҐб жЁҐ© ў® ўгв॥© Ї ¬пвЁ
D:080h, ў Ї®бв®п®© Ї ¬пвЁ ‘:0000H, ў® ўҐиҐ© Ї ¬пвЁ ¤ ле
X:0000H ў ®¤®¬ Ё§ ®Є® 1,2
COMMANDFile : § Јаг§Є Ё«Ё б®еа ҐЁҐ д ©« .hex д ©« ,
ЇаЁ б®еа ҐЁЁ д ©« ®вЄалў Ґвбп.
LOAD : § Јаг§Є д ©«®ў ¤ ле (Data),
Їа®Ја ¬¬ (Program).
MEMORY : ®ЇҐа жЁЁ б ўгв॥© Ї ¬пвмо ¤ ле
¬Ґо: Clear Fill Move Search searchNext
§ Їа иЁў овбп Ї а ¬Ґвал - Ё¦ЁҐ Ё ўҐаеЁҐ
¤аҐб , ¤ лҐ
PATCH : ўў®¤ Є®¬ ¤ ў ¬Ґ¬®ЁЄҐ ЂбᥬЎ«Ґа
¬Ґо: Patch code Open outputfile Close file
Patch - ўў®¤ ¬Ґ¬®Є®¤ ў ‘ROM Ї® § 票о PC
add a,@r0
mov c,acc.5
SETUP : гбв ®ўЄ а §¬Ґа ЎгдҐа б®еа ҐЁп Є®ва®«мле
в®зҐЄ
VIEW : ®Ў§®а Ёд®а¬ жЁЁ ® бва®©ЄҐ бЁ¬г«пв®а
¬Ґо: Bkpts Io-files Memory-mapp Opc-traps
Passpoints Symbols
EXECUTE : ЁбЇ®«ҐЁҐ Є®¬ ¤ ў ¬Ґ¬®ЁЄҐ
EXPRESSION : -> Enter Expression: ( xx + yy )
Expression will be store at R0
( ўлЎЁа Ґвбп Ї® гЄ § ⥫о ,гбв ў«Ёў -
Ґвбп Ї® ESC )
SET : гбв ®ўЁвм Ї а ¬Ґвал бЁ¬г«пв®а
¬Ґо: Memory-map Passpoint opTions cYcles V-drive ->
breakpoint
Memory-map : а бЇаҐ¤Ґ«ҐЁҐ Ї ¬пвЁ
random-Access read-Only( ЇаҐалў ЁҐ ЇаЁ § ЇЁбЁ )
§ Їа иЁў овбп ЇаҐ¤Ґ«л - Ё¦Ё© Ё ўҐаеЁ© ,
Ї®бв®п п Ї ¬пвм read_Only ‘:0000,
ўҐипп Ї ¬пвм ¤ ле random_Access X:0000
Passpoint : A-r/w point B-R/W range C-write point D-Write run
Є®ва®«м Ё ЇаҐалў Ёп Ї® § ЇЁбЁ ЇаЁ а §«Ёзле гб«®ўЁпе
opTions - бва Ёз®Ґ а §¤Ґ«ҐЁҐ Ї ¬пвЁ зҐаҐ§ Ї®ав P2
breakpoint : opcode
opcode - ®бв ®ў Ї® Є®¤г ®ЇҐа жЁЁ, ЇаЁ¬Ґа, RET
HELP : ‘вагЄвга Є®¬ ¤л бᥬЎ«Ґа б ¬ҐвЄ ¬Ё (Command),
гЇа ў«ҐЁҐ ¤ЁбЇ«ҐҐ¬ (Display),
гЇа ў«ҐЁҐ бЁ¬г«пжЁҐ© (Simulate),
®Ў§®а б।бвў Ї®¤¤Ґа¦ЄЁ (Avocet).
3) €бЇ®«ҐЁҐ Їа®Ја ¬¬ (ᮤҐа¦ ЁҐ Simulate ў HELP).
F1 - ЁбЇ®«ҐЁҐ ¤® в®зЄЁ ®бв ®ў
F10 - ЁбЇ®«ҐЁҐ Ї® и Ј ¬,
F2 - Ї®Є § вм Єгаб®а Ё ¤ўЁ¦ҐЁҐ Єгаб®а ўЁ§ ЇаЁ
ўлЎ®аҐ в®зЄЁ ®бв ®ў
F4 - ¤ўЁ¦ҐЁҐ Єгаб®а ўўҐае ЇаЁ ўлЎ®аҐ в®зЄЁ ®бв ®ў ,
F3 - дЁЄбЁа®ў вм в®зЄг ®бв ®ў ,
F5 - гбв ®ўЁвм бЄ®а®бвм ¬®¤Ґ«Ёа®ў Ёп
(¤ўҐ бЄ®а®бвЁ -high,low)
F6 - ®Ў®ў«ҐЁҐ нЄа Ї®б«Ґ Є ¦¤®© в®зЄЁ
®бв ®ў .
F8 - ўлЄ«о票Ґ ва ббЁа®ўЄЁ ЇаЁ ЁбЇ®«ҐЁЁ
Ї®¤Їа®Ја ¬¬ ў Ї®и Ј®ў®¬ ०Ё¬Ґ
2. ЏаЁ¬Ґал Ё § ¤ Ёп Є « Ў®а в®ал¬ а Ў®в ¬.
1) ЏҐаҐ¬®¦Ёвм ¤ў 8-а §ап¤ле зЁб« Ї® д®а¬г«Ґ
S=A*B=б㬬Ёа®ў вм ¬®¦Ё¬®Ґ B а §
A,B - 8а §ап¤лҐ ЇҐаҐ¬ҐлҐ ў DATA
S - 16а §ап¤ п ЇҐаҐ¬Ґ п ў DATA
- Їа®Ја ¬¬ ў бᥬЎ«ҐаҐ AVA51,
ЏҐаҐ¬ҐлҐ а §¬Ґй овбп ў® ўгв॥© Ї ¬пвЁ ,
Ё¬Ґ ЇҐаҐ¬Ґле Ґ ¤®«¦л б®ўЇ ¤ вм б § १ҐаўЁа®-
ў л¬Ё (ў з бв®бвЁ § Ј« ўлҐ Ё Їа®ЇЁблҐ Ґ
а §«ЁзЁ¬л Ё A=a, B=b - § १ҐаўЁа®ў л)
seg data
S1 ds 2 ;Їа®Ё§ўҐ¤ҐЁҐ
A1 ds 1 ;¬®¦Ё¬®Ґ
B1 ds 1 ;¬®¦ЁвҐ«м
seg code
clr a ;0->S
mov S1,a ;бЎа®б бв а襣® Ў ©в Їа®Ё§ўҐ«¤ҐЁп
mov S1+1,a ;бЎа®б ¬« ¤иҐЈ® Ў ©в Їа®Ё§ўҐ¤ҐЁп
m1: mov a,A1
add a,S1+1 ;S+A->S
mov S1+1,a ;¬« ¤иЁ© Ў ©в Їа®Ё§ўҐ¤ҐЁп
mov a,S1
addc a,#0
mov S1,a ;бв аиЁ© Ў ©в Їа®Ё§ўҐ¤ҐЁп
djnz B1,m1 ;жЁЄ« б Є®¬ЇҐб жЁҐ© ¬®¦ЁвҐ«п
end
Ћд®а¬Ёвм дгЄжЁо Є Є бв ¤ авго Їа®жҐ¤гаг б ЇҐаҐ¤ 祩
Ї а ¬Ґва®ў зҐаҐ§ б⥪. ‚ бв ¤ ав®© Їа®жҐ¤гаҐ
ўлЎЁа овбп а Ў®зЁҐ ॣЁбвал r0,...r7. ‚ Їа®жҐ¤гаҐ
«®Є «Ё§®ў л ¬ҐвЄЁ - L?1, L?2, ..
„«п ®Ў®§ 票п д®а¬ «мле Ї а ¬Ґва®ў ЁбЇ®«м§®ў вм
¬ Єа®Є®¬ ¤л c Ї а ¬Ґва ¬Ё.
seg data
S1 ds 2 ;Їа®Ё§ўҐ¤ҐЁҐ
A1 ds 1 ;¬®¦Ё¬®Ґ
B1 ds 1 ;¬®¦ЁвҐ«м
mula %MACRO x,y,z ;¬ Єа®Є®¬ ¤ x*y->z
push x ;§ Јаг§Є д ЄвЁзҐбЄЁе Ї а ¬Ґва®ў
push y
call mult
pop z ;з⥨Ґ ўл室ле ¤ ле
pop z+1
%ENDM
SEG CODE
mula A1,B1,S1 ;ўл§®ў Ї®¤Їа®Ја ¬¬л A1*B1->S1
jmp $ ;¤Ё ¬ЁзҐбЄЁ© ®бв ®ў
mult PROC ;Їа®жҐ¤га 㬮¦ҐЁп
pop 02 ;ўлЎ®а д ЄвЁзҐбЄЁе Ї а ¬Ґва®ў
pop 03
clr a
mov r0,a ;бЎа®б бв а襣® Ў ©в Їа®Ё§ўҐ«¤ҐЁп
mov r1,a ;бЎа®б ¬« ¤иҐЈ® Ў ©в Їа®Ё§ўҐ¤ҐЁп
L?1: mov a,r2
add a,r1 ;S+A->S
mov r1,a ;¬« ¤иЁ© Ў ©в Їа®Ё§ўҐ¤ҐЁп
mov a,r0
addc a,#0
mov r0,a ;бв аиЁ© Ў ©в Їа®Ё§ўҐ¤ҐЁп
djnz r3,L?1 ;жЁЄ« б Є®¬ЇҐб жЁҐ© ¬®¦ЁвҐ«п
push 00 ;§ Јаг§Є १г«мв в
push 01
ret
mult ENDPROC
end
ђҐ «Ё§ жЁп дгЄжЁЁ 㬮¦ҐЁп б ЁбЇ®«м§®ў ЁҐ¬ Є®¬ ¤л mul ab :
mula %macro x,y,z
mov a,x
mov b,y
mul ab
mov z,b
mov z+1,b
%endm
-------------------
‡ ¤ ЁҐ 1:
Ћд®а¬Ёвм б«Ґ¤гойЁҐ дгЄжЁЁ Є Є Ї®¤Їа®Ја ¬¬л ў ¬ Єа®Є®¬ ¤ е:
ЇҐаҐў®¤ 楫®Ј® 2/10 ¤Ґ«ҐЁҐ¬ 10 -
- ¤ў®Ёз®Ґ 1 Ў ©в,
ЇҐаҐў®¤ 楫®Ј® 10/2 ЇҐаҐбзҐв®¬ -
- ¬ ЄбЁ¬ «м®Ґ ¤ҐбпвЁз®Ґ 255,
楫®Ґ ¤Ґ«ҐЁҐ 16-а §а冷Ј® ®ЇҐа ¤ 8-а §ап¤л©,
ЇҐаҐў®¤ ¤а®Ў®Ј® б ¬ бив ЎЁа®ў ЁҐ¬ - (x*100)*256/100
- ¤ў®Ёз®Ґ 1 Ў ©в,
ўлзЁб«Ёвм ўла ¦ҐЁҐ A*B/C б ЁбЇ®«м§®ў ЁҐ¬ нвЁе дгЄжЁ© -
- аЈг¬Ґвл ўў®¤пвбп б Ї®ав®ў P1,P2,P3 Ё १г«мв в
ўлўҐбвЁ ў Ї®ав P0.
2) ‚лзЁб«ҐЁҐ дгЄжЁЁ
sinx =x-x^3/3! +x^5/5!
аЈг¬Ґв x<=pi/2 ў а ¤Ё е,
Њ бив ЎЁа®ў ЁҐ - ЇаҐ®Ўа §®ў ЁҐ аЈг¬Ґв ў 楫®Ґ:
x'=x*mx, x-¤а®Ў®Ґ, mx-¬ бив Ў
‚лЎа вм б奬㠢лзЁб«ҐЁп Ё ¬ бив ЎЁа®ў ЁҐ mx Ё§ ў аЁ в®ў
2^10, 100, 200.
A) Џа®жҐ¤га ўлзЁб«ҐЁп з«Ґ ап¤ б гзҐв®¬ ¬ бив ЎЁа®ў Ёп
x^n/n! -> ((x'*x'/mx/n)*x'/mx/(n-1))*....)*x'/mx
row(n,x)
{ s=x; for (i=n; i; i--) s=s*x/mx/i; }
Џа®Ја ¬¬ ўлзЁб«ҐЁп
sinx()
{ ss=x+row(3,x)+row(5,x); } [1]
Ѓ) ЏаҐ®Ўа §®ў ЁҐ д®а¬г«л Ї® б奬Ґ ѓ®аҐа б гзҐв®¬
¬ бив ЎЁа®ў Ёп
x-x^2/6(1-x^2/20)-> x-x*x/mx/mx/6(mx-x*x/20/mx)
x2()
{ s=x*x/mx; }
sinx()
{ ss= x-(mx-x2()/20)*x2()/mx/6); } [2]
‚) Љ®¬ЇЁ«пжЁп Їа®Ја ¬¬л ўлзЁб«ҐЁп ў бᥬЎ«ҐаҐ
Џ®¤Ј®в ў«Ёў Ґвбп ЎЁЎ«Ё®вҐЄ дгЄжЁ©:
mula x,y,z x*y->z
dela x,y,z x/#y->z
suba x,y,z #x-y->z
subx x,y,z x-y->z
trd2 x ЇҐаҐў®¤ 10/2
tr2d x ЇҐаҐў®¤ 2/10
ЏбҐў¤®Є®¤ Џа®Ја ¬¬ ў ¬ Єа® бᥬЎ«ҐаҐ
tr2d x
x2()=x*x/mx mula x,x,x2
[..]=mx-x2()/20 dela x2,20,ss
suba mx,ss,ss
[..]=[..]*x2()/mx/6 mula x2,ss,ss
dela ss,mx,ss
dela ss,6,ss
ss=x-[..] subx x,ss,ss
trd2 ss
end
----------------------
‡ ¤ ЁҐ 2:
- ¤«п § ¤ ®© дгЄжЁЁ а §а Ў®в вм ўлЎа вм б奬㠢лзЁб«ҐЁп
(Ї® б⥯Ґп¬ Ё«Ё бЄ®Ў®з п д®а¬ ) Ё ¬ бив Ў mx=100,128,200 Ё«Ё
256 . ђ §а Ў®в вм Їа®Ја ¬¬г ¤«п Ї®вЁ¬ «м®Ј® ў аЁ в , ЁбЇ®«м§гп
¬ Єа®Є®¬ ¤л Ё Ї®¤Їа®Ја ¬¬л,
- ўў®¤ аЈг¬Ґв ў 2/10 Є®¤Ґ Ё§ Ї®ав P1,P3,
§ ЇгбЄ Їа®Ја ¬¬л Ї®б«Ґ гбв ®ўЄЁ аЈг¬Ґв Ї® ЇаҐалў Ёо int0,
Ї®б«Ґ § ўҐаиҐЁп ўлзЁб«ҐЁ© - १г«мв ⠢뢥бвЁ ў Ї®ав P1,P3.
3) €§¬ҐаҐЁҐ Ё Є®ва®«м ўаҐ¬Ґле ЁвҐаў «®ў.
€§¬ҐаҐЁҐ Ё Є®ва®«м ўаҐ¬Ґле ЁвҐаў «®ў
®ЎҐбЇҐзЁў овбп 2 в ©¬Ґа ¬Ё ¬ЁЄа®нў¬: ’Њ0,’Њ1.
ђҐЈЁбва гЇа ў«ҐЁп в ©¬Ґа ¬Ё
TMOD=gate1.c/t1.mod1.gate0.c/t0.mod0,
mod0=01 гбв ў«Ёў Ґв ०Ё¬ 16-ЎЁв®ў®Ј® бзҐвзЁЄ ¤«п
в ©¬Ґа ’Њ0
c/t0=0 ўлЎЁа Ґв ¤«п § Ї®«ҐЁп ўаҐ¬Ґ®Ј® ЁвҐаў «
ўгваҐоо з бв®вг f0/12=11.059/12 ¬Єб,
gate0=1 а §аҐи Ґв § Ї®«ҐЁҐ ’Њ0 з бв®в®© Ї® ўҐиҐ¬г
бЁЈ «г int0,
=0 ўҐиЁ© бЁЈ « int0 Ґ гзЁвлў Ґвбп.
ЃЁвл а §аҐиҐЁп бзҐв TR0 Ё TR1, ᮮ⢥вᢥ®, ¤«п ’Њ0 Ё ’Њ1
ЃЁвл ЇҐаҐЇ®«ҐЁп TF0/TF1 пў«повбп в Є¦Ґ бЁЈ « ¬Ё § Їа®б
ЇаҐалў Ёп.
-----------------------------
‡ ¤ ЁҐ 3:
€§¬ҐаЁвм ўаҐ¬п ўлЇ®«ҐЁп Їа®Ја ¬¬л в ©¬Ґа®¬ TM0:
€ЁжЁ «Ё§ жЁп в ©¬Ґа ’Њ0, з «® бзҐв , § ЇгбЄ Їа®Ја ¬¬л,
§ ўҐа襨Ґ бзҐв ўаҐ¬ҐЁ ЇаЁ § ўҐа襨Ё Їа®Ја ¬¬л,
а ббзЁв вм ॠ«мго § ¤Ґа¦Єг, ба ўЁвм ў аЁ вл Їа®Ја ¬¬л.
4) Џа®Ја ¬¬ ®Ўа Ў®вЄЁ ⥪бв®ўле ¤ ле
€бЄ«озЁвм «ЁиЁ© бЁ¬ў®« ў бва®ЄҐ 'prog-ramma',
⥪бв-Є®бв в Ё§ Їа®Ја ¬¬®© Ї ¬пвЁ SEG CODE ЇҐаҐЈаг¦ Ґвбп ЇаЁ
। ЄвЁа®ў ЁЁ ў® ўгваҐоо Ї ¬пвм SEG DATA
char p[]="prog-ramma"; /* ЁЁжЁ «Ё§Ёа®ў лҐ ¤ лҐ ў CODE */
for (i=0; i<10; i++)
{ if (p[i]!='-') q[i]=p[i]; };
Џа®Ја ¬¬ бᥬЎ«ҐаҐ
seg data
q ds 11
i ds 1
seg code
jmp start
p db 'prog-ramma'
start: mov r0,#11
mov dptr,#p
mov r1,q+10
m1: mov a,r0
movc a,@a+dptr
xrl a,#'-'
jz m2
movc a,@a+dptr
mov @r1,a
m2: dec r1
djnz r0,m1
end
--------------------
‡ ¤ ЁҐ 4 - а §а Ў®в вм Їа®Ја ¬¬г । ЄвЁа®ў Ёп ⥪бв
ў® ўгв॥© Ё ўҐиҐ© Ї ¬пвЁ ¤ ле.
5) ‚лзЁб«ҐЁҐ § зҐЁп ЇаҐ¤ЁЄ в , ЁбЇ®«м§гп Є®¤Ёа®ў ЁҐ
True = (§ 票Ґ <> 0),
False = 0.
if ((a!=b)&(c<d)) then s=1;
else s=0;
seg data
aa ds 1
bb ds 1
cc ds 1
dd ds 1
ss ds 1
seg code
mov a,aa ;(a!=b)
xrl a,bb
mov b,a
mov a,cc ;(c<d)
clr c
subb a,dd
clr a
jnc fin
mov a,#0ffh
fin: anl a,b ;( )&( )
mov s,#0
jz fina
mov s,#1
fina: nop
--------------------
‡ ¤ ЁҐ 5.
ђ §а Ў®в вм Їа®Ја ¬¬г ўлзЁб«ҐЁп § ¤ ®Ј® ЇаҐ¤ЁЄ в .
6) Џа®Ја ¬¬ гЇа ў«ҐЁп ¤ЁбЄаҐв®© бЁб⥬®©, «Ј®аЁв¬
§ ¤ Є®Ґзл¬ ўв®¬ ⮬ Њга .
ЪДДДДї i0 ЪДДДДДї i1
і ЪДДБДДї i1,i2 ЪДДБДДї і
АД> 0/y0іДДДДДДДДДДДДДДД>1/y1 <ДДЩ
АДД^ДД<ДДДДДДДДДї ЪДДВДД<ДДї
і i1 і і і і
i2і і і іi0 і i0,i2
і ЪДДДДДДДДДДЕДДДДДЩ і і
і і i2 і і і
і і і і і
ЪДБДvДї АДДДДДДЪДvДДДї і
і2/y2 іДДДДДДДДДДДДДДД>3/y3 ГДЩ
АДДДДДЩ i0,i1 АДДДДДЩ
0,1,2,3 - б®бв®пЁп ўв®¬ в ,
y0,y1,y2,y3 - гЇа ў«пойЁҐ бЁЈ «л,
I={i0,i1,i2} - ўе®¤лҐ бЁЈ «л,
“а ўҐЁп ЇҐаҐе®¤ /ўл室
q0'/y0 = q0&i0+q3&i1
q1'/y1 = q1&i1+(q0+q3)&(i1+i2)
q2'/y2 = q1&i2
q3'/y3 = q1&i0+q2&(i0+i1)
‘вагЄвга Їа®Ја ¬¬л
- ўў®¤ § 票© I c Ї®ав P1(0-2)
- ўлзЁб«ҐЁҐ б«Ґ¤гойЁе б®бв®пЁ© Q'=(Q,I)
- Ё§¬ҐҐЁҐ б®бв®пЁп Ё гЇа ў«ҐЁп Q/y=Q'
- ўлў®¤ гЇа ў«ҐЁп ў Ї®ав P1(3-6)
seg bit
i0 ds 1
i1 ds 1
i2 ds 1
q0 ds 1 ;y0
q1 ds 1 ;y1
q2 ds 1 ;y2
q3 ds 1 ;y3
q0_ ds 1
q1_ ds 1
q2_ ds 1
q3_ ds 1
seg code
start:
mov p1,#0ffh
mov c,p1.0 mov i0,c
mov c,p1.1 mov i1,c
mov c,p1.2 mov i2,c
/* ўлзЁб«ҐЁҐ § 票п б«Ґ¤го饣® б®бв®пЁп */
mov c,i0 orl c,q3 mov q0_,c
mov c,q0 anl c,i1 mov acc.0
mov c,q1 anl c,i1 orl c,acc.0
mov q1_,c
mov c,q1 anl c,i1 anl c,i2 mov q2_,c
mov c,q1 anl c,i1 anl c,i2
orl c,q2 mov q3_,c
/* ўлў®¤ ў Ї®ав P1 Ё гбв ®ўЄ ⥪г饣® б®бв®пЁп */
mov c,q0_ mov q0,c mov P1.3,c
mov c,q1_ mov q1,c mov P1.4,c
mov c,q2_ mov q2,c mov P1.5,c
mov c,q3_ mov q3,c mov P1.6,c
jmp start
end
----------------------
‡ ¤ ЁҐ 6 - ¤«п § ¤ ®Ј® ўв®¬ в а §а Ў®в вм Їа®Ја ¬¬г,
ўў®¤ Ё ўлзЁб«ҐЁп б Ї®ав P1 Ї® ЇаҐалў Ёо
int1.
6. ЋвзҐв.
ђҐ§г«мв вл ўлЇ®«ҐЁп « Ў®а в®але а Ў®в ®д®а¬«повбп ў ўЁ¤Ґ
®ЎйҐЈ® ®взҐв :
- Єа вЄ п е а ЄвҐаЁбвЁЄ аеЁвҐЄвгал Є®ва®««Ґа
(бвагЄвга Ї ¬пвЁ, н«Ґ¬Ґвл ўў®¤ /ўлў®¤ , б।бвў
ЇаҐ®Ўа §®ў Ёп Ёд®а¬ жЁЁ, бвагЄвга Ё ЇаЁжЁЇ а Ў®вл
бЁбвҐ¬л ЇаҐалў Ёп),
- ¤«п Є ¦¤®Ј® § ¤ Ёп ЇаЁўҐбвЁ Ї®бв ®ўЄг § ¤ зЁ,
Ў«®Є-б奬㠫Ј®аЁв¬ Ё«Ё ЇбҐў¤®Є®¤, Їа®Ја ¬¬г б Є®¬¬Ґв аЁп¬Ё,
а бЇаҐ¤Ґ«ҐЁҐ Ї ¬пвЁ,
‹€’…ђЂ’“ђЂ.
1. ‘в иЁ ‚.‚. Ё ¤а. Џа®ҐЄвЁа®ў ЁҐ жЁда®ўле гбва®©бвў
®¤®ЄаЁбв «мле ¬ЁЄа®Є®ва®««Ґа е, Њ:ќҐаЈ® ⮬Ё§¤ в,1990
2. ‹ЁЇ®ўЁжЄЁ© ѓ.Џ. Ё ¤а. Ћ¤®ЄаЁбв «млҐ Њќ‚Њ. ‘Ґ¬Ґ©бвў® ЊЉ51.
’ҐеЁзҐбЄ®Ґ ®ЇЁб ЁҐ Ё агЄ®ў®¤бмў® Ї® ЇаЁ¬ҐҐЁо.M.1992
3. ЌҐа®¤ ‚.џ. Ё ¤а. Ћ¤®ЄаЁбв «млҐ Њќ‚Њ MCS-51. ЂаеЁвҐЄвгал. M.1995
4. ѓаҐЎҐў ‘Ґ¬Ґ©бвў® MCS-51. 1994
03.2000
------------------------------------------------------------------
ЊҐв®¤ЁзҐбЄ®Ґ Ї®б®ЎЁҐ Є
« Ў®а в®ал¬ а Ў®в ¬ Ї® Єгабг
ЋаЈ Ё§ жЁп ќ‚Њ
-------------------------------------------------------------------
ЋЈ« ў«ҐЁҐ.
1. ЂаеЁвҐЄвга MCS51 ...............................
1.1. ’ЁЇл ¬ иЁле ¤ ле..........................
1.2. ЋаЈ Ё§ жЁп Ї ¬пвЁ............................
1.3. ‘ Ё б в Ґ ¬ Є ® ¬ ¤ MCS51..........
1.4. ‘Ёб⥬ ЇаҐалў Ё©............................
1.5. Њ Єа®Є®¬ ¤л.
2. Ља®бб-б।бвў Їа®Ја ¬¬Ёа®ў Ёп ..
2.1. ЂбᥬЎ«Ґа AVC51 ............................
2.2. ‘Ё¬г«пв®а avsim51 ..............
3. ЏаЁ¬Ґал Ё § ¤ Ёп
3.1. ЂаЁд¬ҐвЁзҐбЄЁҐ ®ЇҐа жЁЁ
3.2. ‚лзЁб«ҐЁҐ дгЄжЁ©
3.3. €§¬ҐаҐЁҐ Ё Є®ва®«м ўаҐ¬Ґле ЁвҐаў «®ў
3.4. ђҐ¤ ЄвЁа®ў ЁҐ ⥪бв
3.5. Њ®¤Ґ«м Є®Ґз®Ј® ўв®¬ в
4. ЋвзҐв.
‹€’…ђЂ’“ђЂ..............................................
1. ЂаеЁвҐЄвга ¬ЁЄа®нў¬ MCS51
ЂаеЁвҐЄвга ¬ЁЄа®нў¬ (ЇаЁжЁЇл ®аЈ Ё§ жЁЁ Ё дгЄжЁ®Ёа®ў Ёп)
¬®¦Ґв Ўлвм ЇаҐ¤бв ў«Ґ ¬®¤Ґ«мо Їа®Ја ¬¬Ёбв б।бвў ¬Ё ¬ иЁ®Ј®
п§лЄ бᥬЎ«Ґа .
ЂбᥬЎ«Ґа ЁбЇ®«м§гҐвбп Є Є п§лЄ бЁ¬ў®«ЁзҐЄ®Ј® ®ЇЁб Ёп
бЁбвҐ¬л Є®¬ ¤, ®аЈ Ё§ жЁЁ Ї ¬пвЁ, Є Є «Ј®аЁв¬ЁзҐбЄЁ© п§лЄ
ў ЇаЁЄ« ¤ле Їа®Ја ¬¬ е. ЏаЁ ®ЇаҐ¤Ґ«ҐЁпе ў ¤ ®¬ а §¤Ґ«Ґ
ЁбЇ®«м§говбп б।бвў бᥬЎ«Ґа AVЂ51.
1.1. ЋаЈ Ё§ жЁп Ї ¬пвЁ.
Џ ¬пвм ¬ЁЄа®нў¬ а §¤Ґ«пҐвбп ўгваҐоо Ё ўҐиоо, Ї ¬пвм ¤ ле
Ё Їа®Ја ¬¬, Ї ¬пвм в Є¦Ґ а §¤Ґ«пҐвбп Ї® вЁЇ ¬ ў § ўЁбЁ¬®бвЁ ®в
бЇ®б®Ў ¤®бвгЇ - ¤аҐб жЁЁ. ‚ бᥬЎ«ҐаҐ ЇаҐ¤гᬮваҐл ®ЇЁб Ёп
а §«Ёзле вЁЇ®ў Ї ¬пвЁ ў ўЁ¤Ґ ᥣ¬Ґв®ў.
ЪДДДДДДДДДї ЪДДДДДДЛДДДДДї ЪДДДДДДї
і і і DATA є ri і і SFR і
і CODE і і є bit і і і
і і АДДДДДДЕДДДДДґ АДДДДДДЩ
ЖНННННННННµ ЪДДДДДДґstackі
і XDATA і і IDATAГДД ДДЩ
і і і і
АДДДДДДДДДЩ АДДДДДДЩ
1. ‘ЇҐжЁ «млҐ аҐЈЁбвал SFR , § Є®в®ал¬Ё § ЄаҐЇ«Ґл Є®ЄаҐвлҐ
дгЄжЁЁ.
8-а §ап¤лҐ ॣЁбвал :
a - ®б®ў®© а Ў®зЁ© ॣЁбва- ЄЄг¬г«пв®а,
b - ¤®Ї®«ЁвҐ«мл© а Ў®зЁ© ॣЁбва ў Є®¬ ¤ е
㬮¦ҐЁп Ё ¤Ґ«ҐЁп,
psw=c.ac.f0.rs1.rs0.ov.-.p ॣЁбва б«®ў б®бв®пЁп,
б - ЎЁв ЇҐаҐ®б Ё«Ё § Ґ¬
б - ЎЁв ЇҐаҐ®б ¬Ґ¦¤«г вҐва ¤ ¬Ё
ov - ЇҐаҐЇ®«ҐЁҐ
f0 - ЇаЁ§ Є Ї®«м§®ў ⥫п
p - ЇаЁ§ Є зҐв®бвЁ
sp - гЄ § ⥫м б⥪ .
P0,P1,P2,P3 - Ї®авл ўў®¤ /ўлў®¤
Љ 8-а §ап¤л¬ бЇҐжЁ «мл¬ аҐЈЁбва ¬ ¬®¦® ®Ўа й вмбп
Ї® ¤аҐб ¬ 80-ffh.
16-а §ап¤лҐ ॣЁбвал:
pc - Їа®Ја ¬¬л© бзҐвзЁЄ
dptr=dph.dpl - ॣЁбва ¤аҐб
2. ђҐЈЁбвал ®ЎйҐЈ® § 票п r0,r1,...r7 б ॣЁбва®ў®©
¤аҐб жЁҐ© ў ЄвЁў®¬ Ў ЄҐ
mov a,r0 mov r1,b mov 01,r2
3. Џ ¬пвм Їа®Ја ¬¬ - SEG CODE
1) Љ®¬ ¤л Їа®Ја ¬¬л ЇаҐ¤бв ў«Ґл ¤ў®Ёзл¬Ё Є®¤ ¬Ё ¤«Ё®©
1-3 Ў ©в Ё ¤®бвгЇл ЇаЁ ЁбЇ®«ҐЁЁ Їа®Ја ¬¬л Є®бўҐ® Ї®
¤аҐб®¬г ॣЁбваг PC. ЌҐпў® ўлЎ®аЄ Є®¬ ¤ ўлЇ®«пҐвбп
Ї®б«Ґ¤®ў вҐ«м® Ї® бзҐвзЁЄг PC+ б ўв®ЁЄаҐ¬Ґв®¬,
Ё§¬ҐҐЁҐ Ї®ап¤Є б«Ґ¤®ў Ёп Є®¬ ¤ Їа®Ёб室Ёв Ї® Є®¬ ¤ ¬
ЎҐ§гб«®ў®Ј® Ё гб«®ў®Ј® ЇҐаҐе®¤ .
Љ®¬ ¤л ЎҐ§гб«®ў®Ј® ЇҐаҐе®¤ jmp,call
ў § ўЁбЁ¬®бвЁ ®в ЁвҐаў « ўҐвў«ҐЁп Є®¬ЇЁ«Ёаговбп Є Є
ljmp,lcall - ¤«Ёл© ¤аҐб 2 Ў ©в , sjmp - ®в®бЁвҐ«мл© ¤аҐб
1 Ў ©в, ajmp,acall -Є®а®вЄЁ© ¤аҐб 10 ЎЁв,
call met ;ЇҐаҐе®¤ Є Ї®¤Їа®Ја ¬¬Ґ met
;Їа®¤ўЁгвл© ¤аҐб б«Ґ¤го饩 Є®¬ ¤л
;Ё§ ђ‘ § Ї®¬Ё Ґвбп ў б⥪Ґ
ret ;ў®§ўа в Ё§ Ї®¤Їа®Ја ¬¬л -
; ¤аҐб ў ђ‘ ў®ббв ў«Ёў Ґвбп Ё§ б⥪
Љ®¬ ¤ дгЄжЁ® «м®Ј® ўҐвў«ҐЁп jmp @a+dptr нЄўЁў «Ґв
case () of Ё«Ё switch () ў «Ј®аЁв¬ЁзҐбЄЁе п§лЄ е
SEG CODE
mov dptr,#mem
mov a,#2
jmp @a+dptr ;дгЄжЁ® «м®Ґ ўҐвў«ҐЁҐ б Ё¤ҐЄб®¬ ў
ЄЄг¬г«пв®аҐ,
;dptr ᮤҐа¦Ёв Ў §®ўл© ¤аҐб в Ў«Ёжл mem
; a+dptr=mem+2->pc
mem: ajmp m1
ajmp m2
ajmp m3
Љ®¬ ¤л гб«®ў®Ј® ЇҐаҐе®¤
jz met1 ;ЇҐаҐе®¤ Ї® Ќ“‹ћ ў acc
jnz met2 ;ЇҐаҐе®¤ Ґб«Ё acc Ґ а ўҐ Ќ“‹ћ
jc met3 ;ЇҐаҐе®¤ Ї® ЇаЁ§ Єг ‘
jnc met4
jb acc.0,met5 ;ЇҐаҐе®¤ Ґб«Ё ЎЁв acc.0 Ґ¤ЁЁж
jnb acc.5,met6 ;ЇҐаҐе®¤ Ґб«Ё ЎЁв acc.5 г«м
jbc acc.7,met7 ;ЇҐаҐе®¤ Ґб«Ё ЎЁв acc.7 Ґ¤ЁЁж
;бЎа®б ЎЁв
djnz r0,met8 ;ЇҐаҐ©вЁ Ґб«Ё ri-1 Ґ а ў® Ќ“‹ћ
djnz mem,met9 ;ЇҐаҐ©вЁ Ґб«Ё mem ў IRAM а ў® Ќ“‹ћ
;Ё ўлзҐбвм Ґ¤ЁЁжг Ё§ п祩ЄЁ mem
cjne ri,#d,met ;Ї®ўв®аЁвм Ї®Є ri Ґ а ў® #d
cjne @rj,#d,met
2) „®бвгЇ Є ¤ л¬ ў Їа®Ја ¬¬®© Ї ¬пвЁ:
- ҐЇ®б।бвўҐлҐ ¤ лҐ ў Є®¬ ¤ е,
mov a,#55h mov b,#44
- Ё¤ҐЄбл© ¤®бвгЇ Є в Ў«Ёзл¬ ¤ л¬
SEG CODE
jmp start
mem db 'abcde' ;в Ў«Ёж ASCII Є®¤®ў
start: mov dptr,#mem ;Ў §®ўл© ¤аҐб mem § ЇЁблў Ґвбп ў ¤аҐбл©
ॣЁбва dptr
movc a,@a+dptr ;¬Ґ¬®Є®¤ @a+dptr ®Ў®§ з Ґв бЇ®б®Ў
;д®а¬Ёа®ў Ёп ¤аҐб б Ё¤ҐЄб®¬ ў ЄЄг¬г«пв®аҐ
;Ё Ў §®© ў dptr CODE(dptr+a)->a
mov a,#tab-tek-1 ;ᬥ饨Ґ Ў ©в 'A' ¬ ббЁў tab ®в®бЁвҐ«м®
;Їа®Ја ¬¬®Ј® бзҐвзЁЄ PC
tek: movc a,@a+pc ;з⥨Ґ Ў ©в б ®в®бЁвҐ«м®© ¤аҐб жЁҐ© -
;Ў § ў Їа®Ја ¬¬®¬ бзҐвзЁЄҐ CODE(PC+a)->a
jmp cont
tab db 'ABCDEF'
cont: ........
5. ‚гваҐпп Ї ¬пвм ¤ ле.
‚гваҐп Ї ¬пвм б®бв®Ёв Ё§ ҐбЄ®«мЄЁе ᥣ¬Ґв®ў, Є®в®алҐ
а §«Ёз овбп ¤аҐб жЁҐ©.
a) ‚гваҐпп Ї ¬пвм ¤ ле SEG DATA(0-07fh)
- б Їаאַ© ¤аҐб жЁҐ©
SEG DATA
; Ў ©вл 0-07 Ї® 㬮«з Ёо १ҐаўЁаговбп Ї®¤ r0-r7
mem ds 5 ;®Ў« бвм Ї ¬пвЁ б ¬ҐвЄ®© mem а §¬Ґа®¬ 5 Ў ©в
dat ds 0ah
seg code
mov mem+2*2,dat+2 ;ЇҐаҐб« вм 3Ё© Ў ©в Ё§ в Ў«Ёжл
;dat ў 5го п祩Єг mem,
Ў) ‚гваҐпп Ї ¬пвм ¤ ле б Є®бўҐ®© ¤аҐб жЁҐ© SEG IDATA
Ђ¤аҐб а §¬Ґй Ґвбп «ЁЎ® ў ॣЁбвॠr0 Ё«Ё ў r1 Ё ®Ў®§ з Ґвбп
ў ¬Ґ¬®Є®¤Ґ @r0 Ё«Ё @r1, Є®¬ЇЁ«пв®а ЇаҐ¤гЇаҐ¦¤ Ґв (warning)
Ґб«Ё ў н⮬ ᥣ¬ҐвҐ ЁбЇ®«м§гҐвбп ЇаאַҐ ®Ўа 饨Ґ Є ¤ л¬.
SEG IDATA
imem ds 5 ;ўл¤Ґ«ҐЁҐ Ї ¬пвЁ 5 Ў ©в
seg code
mov r0,#imem+2
mov a,@r0
mov a,imem (warning)
ў) ‘⥪ ®ЇаҐ¤Ґ«пҐвбп Є Є ®Ў« бвм ўгв॥© Ї ¬пвЁ ¤ ле
б Є®бўҐ®© ўв®Ё¤ҐЄб®© ¤аҐб жЁҐ© Ї® гЄ § ⥫о б⥪ SP.
‘⥪ ЁбЇ®«м§гҐвбп Ї® 㬮«з Ёо ¤«п б®еа ҐЁп ¤аҐб ў®§ўа в
ЇаЁ ®Ўа 饨Ё Є Ї®¤Їа®Ја ¬¬ ¬ Ё ў ЇаҐалў Ёпе.
Џ®«®¦ҐЁҐ ўҐаиЁл Ё§¬ҐпҐвбп § Јаг§Є®© ¤аҐб ў гЄ § ⥫м
б⥪ SP (mov sp,#30h), Ї® 㬮«з Ёо SP=07.
seg DATA
stack ds 10h ;б⥪ а §¬Ґа®¬ 10h Ў ©в
seg code
mov sp,#stack-1 ;гбв ®ўЁвм Ў §г б⥪
push acc ;§ Јаг§Є Ў ©в Ё§ ACC ў б⥪
; a->@(+SP) c ЇаҐЁЄаҐ¬Ґв®¬ SP
pop 00 ;з⥨Ґ Ў ©в ў r0 Ё§ б⥪
; @(SP-)->r0 c Ї®б⤥ЄаҐ¬Ґв®¬ SP
6. CҐЈ¬Ґв ЎЁв®ў SEG BIT
a) „®бвгЇ Є ЎЁвг Ї® ¤аҐбг 00-7F
SEG BIT
bita ds 10h ;Ї®«Ґ ЎЁв 00-10h
reg ds 8 ;ॣЁбва 8 ЎЁв
seg code
x1 bit bita+2 ;®ЇаҐ¤Ґ«ҐЁҐ Ўг«ҐўбЄ®© ЇҐаҐ¬Ґ®©
x2 bit reg
mov c,x1
mov bita+2,c
Ў) ‘ҐЈ¬Ґв ЎЁв®ў б®ў¬Ґй Ґвбп б ЎЁв ¬Ё ў п祩Є е 20H-2fh
seg DATA,
„®бвгЇ Ї® ®в®бЁвҐ«мл¬ ¤аҐб ¬ - ®¬Ґаг ЎЁв ў ॣЁбваҐ.
seg code
mem equ 20h
x1 bit mem.0
x2 bit 21h.1
mov c,mem.5
mov x1,c
ЃЁвл SFR ॣЁбва®ў ¤®бвгЇл Ї® Ё¬Ґ ¬ T0,T1,C,.. Ё«Ё
Ї® ®в®бЁвҐ«мл¬ ¤аҐб ¬ P1.0, ...,ACC.7.
SFR ॣЁбвал MCS51 б Ї®ЎЁв®ўл¬ ¤®бвгЇ®¬ - ACC,B,TCON,P1,SCON,
P2,P3,PSW.
7. ‚Ґипп Ї ¬пвм ¤ ле ᥣ¬Ґв XDATA,
) 16-а §ап¤л© ¤аҐб д®а¬ЁагҐвбп ў бЇҐжЁ «м®¬
¤аҐб®¬ ॣЁбвॠdptr
SEG XDATA
mem ds 10h
SEG CODE
mov dptr,#mem ; ¤аҐб ў ¤аҐб®¬ ॣЁбваҐ
movx a,@dptr
mov dptr,#mem+5
mov a,#33h
movx @dptr,a
Ў) Ђ¤аҐб а §¤Ґ«пҐвбп ¤ўҐ з бвЁ
- ¤аҐб бва Ёжл д®а¬ЁагҐвбп ў ॣЁбвॠP2,
- ᬥ饨Ґ ў бва ЁжҐ д®а¬ЁагҐвбп ў r0
SEG XDATA
mem ds 10h
SEG CODE
mov dptr,#mem ; ¤аҐб ў ¤аҐб®¬ ॣЁбваҐ
mov p2,dph ;бв аиЁ© Ў ©в - бва Ёж
mov r0,dpl ;¬« ¤иЁ© Ў ©в - ᬥ饨Ґ ў бва ЁжҐ
movx a,@dptr
inc dpl
movx @dptr,a
1.2. ’ЁЇл ¬ иЁле ¤ ле.
Њ иЁлҐ вЁЇл ¤ ле ¬ЁЄа®нў¬ е а ЄвҐаЁ§говбп:
1) ¬®¦Ґбвў®¬ § 票©, Є®в®алҐ ®ЇаҐ¤Ґ«повбп д®а¬ в ¬Ё ¤ ле.
”®а¬ в ¤ ле ўЄ«оз Ґв бЇ®б®Ў ¤ў®Ёз®Ј® Є®¤Ёа®ў Ёп, а §а冷бвм
Ё бвагЄвгаг ¤ў®Ёз®Ј® Є®¤ ,
2) ¤®ЇгбвЁ¬л¬Ё ®ЇҐа жЁп¬Ё пў«повбп в®«мЄ® ¬ иЁлҐ ®ЇҐа жЁЁ, ЇаҐ¤бв ў-
«ҐлҐ бЁб⥬®© Є®¬ ¤ ЊЉЉ,
3) ¤®бвгЇ®¬ Є ¤ л¬, § ўЁбпйЁ¬ ®в вЁЇ Ї ¬пвЁ ¬ЁЄа®Є®ва®««Ґа ,
Љ вЁЇ ¬ ¤ ле ®в®бпвбп:
- жҐ«лҐ ¤ў®ЁзлҐ зЁб« ,
- ЎҐ§§ Є®ўлҐ жҐ«лҐ ¤ў®ЁзлҐ,
- ¤ў®ЁзлҐ Є®¤л,
- ¤ў®Ёз®-¤ҐбпвЁзлҐ жҐ«лҐ,
- Ўг«ҐўбЄЁ© вЁЇ.
1. „ў®Ёз®Ґ 楫®Ґ б® § Є®¬ ў д®а¬ ⥠Ў ©в , а §¬Ґй Ґ¬лҐ
ў Ї ¬пвЁ XDATA, CODE, DATA,IDATA.
mem db 1,-2,25H,33 ;в Ў«Ёж ¤ҐбпвЁзле 1,-2,33,
;иҐбв ¤ж вҐаЁзле 25H
;Ї®б«Ґ Є®¬ЇЁ«пжЁЁ - ¤ў®ЁзлҐ 8-а §ап¤лҐ
;зЁб«
vect db 10110001b ; ¤ў®Ёз®Ґ зЁб«®
mem dw 5533h ;Є®бв в а §¬Ґа®¬ б«®ў® 16 ЎЁв
ЂаЁд¬ҐвЁзҐбЄЁҐ ®ЇҐа жЁЁ б ¤ў®Ёзл¬Ё зЁб« ¬:
add a,#55 ;б«®¦ҐЁҐ ЄЄг¬г«пв®а ( ) б Є®бв в®© 55
addc a,#55 ;б«®¦ҐЁҐ б ЇҐаҐ®б®¬ ‘ Ё Є®бв в®©
subb a,#33 ;ўлзЁв ЁҐ Є®бв вл б § Ґ¬®¬ ‘ ,
‚ аЁд¬ҐвЁзҐбЄЁе ®ЇҐа жЁпе гзЁвлў Ґвбп § Є ЇаЁ д®а¬Ёа®ў ЁЁ
ЇаЁ§ Є ЇҐаҐЇ®«ҐЁп OV.
2. –Ґ«®Ґ ЎҐ§ § Є ў д®а¬ ⥠Ў ©в
ЂаЁд¬ҐвЁзҐбЄЁҐ ®ЇҐа жЁЁ б ¤ў®Ёзл¬Ё зЁб« ¬Ё ЎҐ§ § Є
add a,#55
addc a,#55 ;б«®¦ҐЁҐ б ЇҐаҐ®б®¬ ‘
subb a,#33 ;ўлзЁв ЁҐ Є®бв вл б § Ґ¬®¬ ‘ ,
”®а¬Ёаговбп ЇаЁ§ ЄЁ
‘ - ЇҐаҐ®б Ё«Ё § Ґ¬,
P - ЇаЁ§ Є зҐв®бвЁ Є®¤ १г«мв в .
Ќ“‹њ १г«мв в ў ЄЄг¬г«пв®аҐ Є®ва®«ЁагҐвбп ҐЇ®б।б⢥®
Є®¬ ¤ ¬Ё ўҐвў«ҐЁп.
rlб a ;б¤ўЁЈ ЄЄг¬г«пв®а (a) ў«Ґў® б ЇаЁ§ Є®¬ ‘ жЁЄ«ЁзҐбЄЁ©,
нЄўЁў «Ґв 㬮¦ҐЁо 2 ¤ў®Ёз®Ј® зЁб«
rrc a ;б¤ўЁЈ ЄЄг¬г«пв®а (a) ўЇа ў® б ЇаЁ§ Є®¬ ‘ жЁЄ«ЁзҐбЄЁ©
нЄўЁў «Ґв ¤Ґ«ҐЁо 2 ¤ў®Ёз®Ј® зЁб«
mul ab ;a*b->ba Їа®Ё§ўҐ¤ҐЁҐ Ў ©в®ў Ё§ ॣЁбва®ў (a) Ё (b)
;б®еа Ёвм ў ॣЁбва е (ba), c=0, ov=1,Ґб«Ё b<>0,
div ab ;a/b->a,b a - з б⮥, b - ®бв в®Є
c=0, ov=1, Ґб«Ё ¤Ґ«ЁвҐ«м b=0;
3. „ў®Ёзл© Є®¤ ў д®а¬ ⥠Ў ©в
Џ®а §ап¤лҐ «®ЈЁзҐбЄЁҐ ®ЇҐа жЁЁ б ¤ў®Ёзл¬ Є®¤®¬
anl a,#44h ;«®ЈЁзҐбЄ®Ґ € c HEX-Є®бв в®©,
orl a,#25 ;«®ЈЁзҐбЄ®Ґ €‹€ б ¤ҐбпвЁз®© Є®бв в®©,
xrl ,#'s' ;ЁбЄ«оз о饥 €‹€ c ASCII-Є®¤®¬,
cpl a ; ЁўҐавЁа®ў ЁҐ
rl a ;б¤ўЁЈ жЁЄ«ЁзҐбЄЁ© Є®¤ ў«Ґў® ў ЄЄг¬г«пв®аҐ,
rr a ;б¤ўЁЈ жЁЄ«ЁзҐЄЁ© Є®¤ ўЇа ў® ў ЄЄг¬г«пв®аҐ.
4. „ў®Ёз®-¤ҐбпвЁз®Ґ 楫®Ґ ЎҐ§ § Є ў д®а¬ ⥠Ў ©в
Ћб®ў®Ґ ЇаЁ¬ҐҐЁҐ - ЇаҐ®Ўа §®ў ЁҐ Ё§ ¤ҐбпвЁз®© бЁбвҐ¬л ў
¤ў®Ёзго ЇаЁ ўў®¤Ґ, Ё§ ¤ў®Ёз®© ў ¤ҐбпвЁзго ЇаЁ ўлў®¤Ґ.
‚ ЇаҐ®Ўа §®ў Ёпе ЁбЇ®«м§говбп аЁд¬ҐвЁзҐбЄЁҐ ®ЇҐа жЁЁ б«®¦ҐЁп
¤ў®Ёз®-¤ҐбпвЁзле Є®¤®ў, ў Є®в®але ЇаЁ¬ҐпҐвбп ¤ў®Ёз®Ґ б«®¦ҐЁҐ
б Є®а४樥© - Є®¬ ¤ da a.
5. Ѓг«ҐўбЄЁ© вЁЇ - ЎЁв,
ЎЁвл ®ЎкҐ¤Ёповбп ў ¤ў®ЁзлҐ Є®¤л, Ї®«п Ё ॣЁбвал.
Љ®¬ЇЁ«пв®а ўл¤Ґ«пҐв ᥣ¬Ґв SEG BIT ў RAM(20-3Fh) б ¤аҐб ¬Ё
00-07fh, ¤аҐб ЎЁв®ў 80h-ffh § १ҐаўЁа®ў л ў SFR ॣЁбва е.
— бвм ЎЁв®ў ¤®бвгЇл Ї® Ё¬Ґ ¬ ў бᥬЎ«ҐаҐ Ё«Ё Їаאַ© ¤аҐб жЁҐ©
(ЎЁвл Ї®ав®ў ¤®бвгЇл Ї® ¤аҐб ¬ P1.5, P3.7, ...,
ЎЁвл бЇҐжЁ «мле ¤ЁбЄаҐвле бЁЈ «®ў Ї® Ё¬Ґ ¬ - T0,T1,INT0,INT1,..
ЋЇҐа жЁЁ б ЎЁв ¬Ё:
mov c,x1 ;§ ЇЁб вм ў ЎЁв ‘
anl c,acc.5 ;«®ЈЁзҐбЄ®Ґ € ЎЁв ‘ б 5 ЎЁв®¬ ЄЄг¬г«пв®а acc.5
orl c,/acc.0 ;«®ЈЁзҐбЄ®Ґ €‹€ ЎЁв ‘ б ЁўҐабЁҐ© ЎЁв acc.0
setb c ;гбв ®ўЁвм ЎЁв ‘
clr c ;®зЁбвЁвм ЎЁв
1.3. ‘ Ё б в Ґ ¬ Є ® ¬ ¤ MCS51
---------------------------------------------
ЇҐаҐ¤ з ¤ ле ᮤҐа¦ ЁҐ
---------------------------------------------
mov a,{ri,@rj,#d,ad} {..}->a
mov {ri,@rj},a a-> {..}
mov {ri,@rj},ad ad -> {..}
mov ad,{ri,@rj,#d,ad,a} {..} -> ad
mov {ri,@rj},#d #d -> {..}
mov dptr,#d16
movc a,@a+dptr code(dptr+a)->a
movc a,@a+pc code(pc+a)->a
movx a,{@rj,@dptr} xdata{..}->a
movx {@rj,@dptr},a a->xdata{..}
push ad ad->б⥪(+sp)
pop ad б⥪(sp-)->ad
xch a,{ri,@rj,ad} a<->{..}
xchd a,@rj
swap a a[0.3]<->a[4.7]
--------------------------------------------------
ЂpЁд¬ҐвЁЄ Ё «®ЈЁЄ ЇаЁ§ ЄЁ ᮤҐа¦ ЁҐ
---------------------------------------------------
add a,{ri,@rj,#d,ad} ,c,ov {..}+a->a
addc a,{ ...........} ,c,ov {..}+a+C->a
subb a,{............} ,c,ov a-{..}-C->a
inc {ri,@rj,ad,dptr,a} {..}+1
dec {ri,@rj,ad,a} {..}-1
rlc a ,c rolc(a)=a*2
rrc a ,c rorc(a)=a/2
da a ¤ҐбпвЁз п Є®а४жЁп
mul ab ,c=0,ov a*b->b,a
div ab ,c=0,ov a/b->a-з б⮥
b-®бв в®Є
anl a,{ri,@rj,#d,ad} a & {..}->a
anl ad,{#d,a} ad & {..)->ad
orl a,{ri,@rj,#d,ad} a v {..}->a
orl ad,{#d,a} ad v {..}->ad
xrl a,{ri,@rj,#d,ad} a + {..}->a
xrl ad,{#d,a}
clr a 0->a
cpl a Ґ(a)
rl a rol(a)
rr a ror(a)
---------------------------------
Є®¬ ¤л Ўг«ҐўбЄ®Ј® Їа®жҐбб®а
---------------------------------
mov bit,c c->bit
mov c,bit bit->c
clr {c,bit} 0->{..}
anl c,{bit,/bit} c & {..}->c
orl c,{....} c v {..}->c
cpl c Ґ(c)
setb {c,bit} 1->{..}
----------------------------------------------------
“Їp ў«ҐЁҐ Їp®Јp ¬¬®© Ё ўҐвў«ҐЁп
----------------------------------------------------
jmp ¬ҐвЄ (ajmp,sjmp,ljmp) ¬ҐвЄ -> pc
jmp @a+dptr dptr+a -> pc
call ¬ҐвЄ (acall,lcall) pc+3->б⥪, ¬ҐвЄ -> pc
ret б⥪(sp-)->pc
reti б⥪(sp-)->pc, а §аҐиҐЁҐ ЇаҐалў Ёп
jc/jnc ¬ҐвЄ Ґб«Ё C , в® ¬ҐвЄ ->pc
jz/jnz ¬ҐвЄ Ґб«Ё a=0 , в® ¬ҐвЄ ->pc
jb bit,¬ҐвЄ Ґб«Ё bit=1 , в® ¬ҐвЄ ->pc
jnb bit,¬ҐвЄ Ґб«Ё bit=0 , в® ¬ҐвЄ ->pc
djnz {ri,ad},¬ҐвЄ Ґб«Ё {..}-1 <> 0 , в® ¬ҐвЄ -> pc
cjne {ri,@rj},#d,¬ҐвЄ Ґб«Ё {..} <> #d , в® ¬ҐвЄ -> pc
----------------------------------------------------------------------
ЋЎ®§ зҐЁп ў ¬Ґ¬®Є®¤ е:
#d - Є®бв в
ri= {r0,r1,...,r7} Ё¬п ॣЁбва ў ЄвЁў®¬ Ў ЄҐ
@rj - Є®бўҐ п ¤аҐб жЁп ў IDATA, rj={r0,r1}
ad - Їаאַ© ¤аҐб DATA(00-7f), ¤аҐб/Ё¬п SFR(80-FF)
bit - 00-7f ¤pҐб ЎЁв ў Ї®«Ґ ЎЁв®ў б®ў¬ҐйҐ® б DATA(20-2F),
а §ап¤ бЇҐжЁ «м®Ј® ॣЁбва acc.5, psw.0, ... ,
Ё¬п ЎЁв smod,sm0,.... бЇҐжЁ «м®Ј® ॣЁбва
/bit - ЁўҐpбЁп ЎЁв
ЇаЁ§ Є P д®а¬ЁагҐвбп ў Є ¦¤®¬ жЁЄ«Ґ ЇаЁ ўлЇ®«ҐЁЁ «оЎ®© Є®¬ ¤л
-----------------------------------------------------------------------
1.4. Њ Єа®Є®¬ ¤л
ЂбᥬЎ«Ґа - ва ¤ЁжЁ®®Ґ бЁ¬ў®«ЁзҐбЄ®Ґ (ўЁав㠫쮥) ®ЇЁб ЁҐ
аҐбгаб®ў ¬ЁЄа®Є®¬ЇмовҐа .
„«п Ї®ўл襨п га®ўп Їа®Ја ¬¬Ёа®ў Ёп,
а биЁаҐЁп ¤Ё Ї §® § 票©( в®з®бвЁ ўлзЁб«ҐЁ©) ЁбЇ®«м§говбп
¬ Єа®Є®¬ ¤л, Є®в®алҐ Ї®§ў®«пов, ЇаЁ¬Ґа, бЄ®бвагЁа®ў вм 16-
а §ап¤го ўЁавг «мго ќ‚Њ.
‘ЇЁб®Є ¬ Єа®Є®¬ ¤ 16-а §а冷© ўЁавг «м®© ¬ иЁл
; mov_w y,x x->y
; mov_d y,x dx->dy
; mov_c y,#x § ЇЁбм Є®бв вл ў б«®ў® #x->wy зҐаҐ§ dptr
; swap_w x x(15-8)<->x(7-0) ®Ў¬Ґ Ў ©в ¬Ё ў б«®ўҐ
; tabb z,x,y ўлЎа вм Ў ©в Ё§ в Ў«Ёжл z=x(y), z,y-Ў ©в
; tabw z,x,y ўлЎа вм б«®ў® Ё§ в Ў«Ёжл z=x(y), z-б«®ў®,y-Ў ©в
; movb_rx x,y x-ॣЁбва, y-Є®бўҐл© ¤аҐб XRAM x<-@(y+)
; movb_xr x,y x-ॣЁбва, y-Є®бўҐл© ¤аҐб XRAM @(y+)<-x
; movw_rx x,y x-ॣЁбва, y-Є®бўҐл© ¤аҐб XRAM x<-@(y+)
; movw_xr x,y x-ॣЁбва, y-Є®бўҐл© ¤аҐб XRAM @(y+)<-x
----------------------------------------------
; add_w y,x б«®¦ҐЁҐ б«®ў wx+wy->wy
; add_c y,#x б«®¦ҐЁҐ б Є®бв в®© wy+#c->wy
; addc_w y,x б«®¦ҐЁҐ б ЇҐаҐ®б®¬ wx+wy+c->wy
; clr_w x 0->wx
; clr_d x 0->dx
; inc_w x x+1
; dec_w x x-1
; subb_w y,x ўлзЁв ЁҐ б«®ў wy-wx->wy
; subbc_w y,x wy-wx-c->wy
; subo_w y,x ўлзЁв ЁҐ б«®ў ®Ўа ⮥ wy-wx->wx
; rlc_w x б¤ўЁЈ б«®ў ў«Ґў® б ЇаЁ§ Є®¬ ‘ 1 ЎЁв rlc(wx)
; rlc_w x,y б¤ўЁЈ б«®ў ў«Ґў® б ЇаЁ§ Є®¬ ‘ y ЎЁв rlc(wx)y
; rlc_d x б¤ўЁЈ ¤ў®©®Ј® б«®ў ў«Ґў® б ЇаЁ§ Є®¬ ‘ rlc(dx)y
; rrc_w x б¤ўЁЈ б«®ў ўЇа ў® б ЇаЁ§ Є®¬ ‘ 1 ЎЁв rrc(wx)
; rrc_w x,y б¤ўЁЈ б«®ў ўЇа ў® б ЇаЁ§ Є®¬ ‘ y ЎЁв rrc(wx)y
; rrc_d x б¤ўЁЈ ¤ў®©®Ј® б«®ў ўЇа ў® б ЇаЁ§ Є®¬ ‘ rrc(dx)y
; mul_w y,x 㬮¦ҐЁҐ wy*wx->d1, ЁбЇ®«м§говбп а Ў®зЁҐ ॣЁбвал w0-w3
; div_w y,x ¤Ґ«ҐЁҐ d1/wx->wy, ЁбЇ®«м§говбп а Ў®зЁҐ ॣЁбвал w0-w3
; tr2d x ЇҐаҐў®¤ wx Ё§ 2®© ў 10го, а Ў®зЁҐ w0,w1,r5
; trd2 x ЇҐаҐў®¤ wx Ё§ 10®© ў 2го, а Ў®зЁҐ w0,w1,r5
; time x Їа®Ја ¬¬ п § ¤Ґа¦Є x/10 ¬б ¬ ЄбЁ¬г¬ x=255
; sqrt x Є®аҐм Єў ¤а вл© Ё§ d2, १г«мв в ў x,а Ў®зЁҐ w0-w3,w4
ЏаЁ¬Ґа ®д®а¬«ҐЁп ¬ Єа®Є®¬ ¤л
mov_w %macro y,x
mov y,x
mov y+1,x+1
%endm
inc_w %macro x
mov a,x+1
add a,#1
mov x+1,a
mov a,x
addc a,#0
mov x,a
%endm
ќвЁ ¬ Єа®Є®¬ ¤л ¬®¦® ЁбЇ®«м§®ў вм § ¤ ў п д ЄвЁзҐбЄЁҐ
Ї а ¬Ґвал - ¤аҐб Ё Ё¬Ґ ॣЁбва®ў
seg data
w0 ds 2
w1 ds 2
seg code
mov_w w0,w1
inc_w w0
inc_w w1
end
1.5. “Їа ў«ҐЁҐ ЇаҐалў Ёп¬Ё.
ЏаЁжЁЇ а Ў®вл бЁбвҐ¬л ЇаҐалў Ёп:
1) ‚ Є®жҐ ⥪г饩 Є®¬ ¤л ®Їа иЁў овбп ॣЁбвал § Їа®б®ў Ё
ўлЎЁа Ґвбп ЁЎ®«ҐҐ ЇаЁ®аЁвҐвл© Ё§ § ॣҐбваЁа®ў ле бЁЈ «®ў
а §аҐиҐле ¬ бЄ®©.
2) ”®а¬ЁагҐвбп ¤аҐб-ўҐЄв®а в Ў«Ёжл ўҐЄв®а®ў ЇаҐалў Ё© ў ¤аҐб е
0000-0020h ᥣ¬Ґв CODE
3) ЏҐаҐ¤ Ґвбп гЇа ў«ҐЁҐ Ї® ¤аҐбг-ўҐЄв®аг б б®еа ҐЁҐ¬ ⥪г饣®
Їа®Ја ¬¬®Ј® бзҐвзЁЄ ў б⥪Ґ, ЇаЁ н⮬ § ЇаҐй овбп ўбҐ ЇаҐалў Ёп
¤® § ўҐаиҐЁп Їа®Ја ¬¬л ®Ўа Ў®вЄЁ ⥪г饣® ЇаҐалў Ёп.
4) Џа®Ја ¬¬ ®Ўа Ў®вЄЁ § ўҐаи Ґвбп Є®¬ ¤®© RETI,
Є®в®а п ў®§ўа й Ґв гЇа ў«ҐЁҐ ЇаҐаў ®© Їа®Ја ¬¬Ґ Ё Єа®¬Ґ
в®Ј® а §аҐи Ґв ЇаҐалў Ёп Ё бЎа блў Ґв ҐЄ®в®алҐ ЎЁвл § Їа®б®ў
ЇаҐалў Ё© - ®бв «млҐ ЎЁвл бЎа блў овбп Їа®Ја ¬¬®.
ЃЁвл гЇа ў«ҐЁп ЇаҐалў Ёп¬Ё ¤®бвгЇл Ї® Ё¬Ґ ¬ Ё ЇаЁўҐ¤Ґл
ў в Ў«ЁжҐ ў¬ҐбвҐ б ўҐЄв®а ¬Ё Ё ®Ў®§ 票Ґ¬ ЇаЁ®аЁвҐв :
Ъ ДДДДДДДДДВДДДДДДДВДДДДДД ДДВДДДДДДДВДДДДДДДДВДДДДДДДДї
і ўҐиЁҐ івЁЇ і ЎЁв і ЎЁв і ЇаЁ®аЁ-і ¤аҐб- і
і ўе®¤л ібЁЈ « і ॣЁбва і ¬ бЄЁ і вҐв Ai і ўҐЄв®а і
і 1 і 2 і 3 бЎа 4 і 6 і 7 і
ГД ДДДДДДДДЕДДДДДДДЕДДДДДДДД ЕДДДДДДДЕДДДДДДДДЕДДДДДДДДґ
p3.2 /int0 іit0 =\ і ie0 Ї і ex0 і 4 і 03 і
p3.3 /int1 іit1 =\ і ie1 Ї і ex1 і 2 і 13h і
і і і tf0 Ї і et0 і 3 і 0bh і
і і і tf1 Ї і et1 і 1 і 1bh і
ДБД ДДДДДДДДБДДДДДДДБДДДДДДДД БДДДДДДДБДДДДДДДДБДДДДДДДДЩ
1- ЎЁвл, ®Ў®§ з ойЁҐ ўҐиЁҐ ¤ЁбЄаҐвлҐ ўе®¤л/ўл室л.
2 - ЎЁвл, ўлЎЁа ойЁҐ вЁЇ бЁЈ « (= L га®ўҐм, \ h/l да®в,
/ l/h да®в)
3 - ॣЁбваЁагҐ¬лҐ ЎЁвл бЁЈ «®ў ЇаҐалў Ё©, гЄ §лў Ґвбп
бЇ®б®Ў бЎа®б a- ЇЇ а вл© ЇаЁ ўе®¤Ґ ў ЇаҐалў ЁҐ,
Ї-Їа®Ја ¬¬л© ЇаЁ § ўҐа襨Ё ®Ўа Ў®вЄЁ
ЇаҐалў Ёп ЇҐаҐ¤ Є®¬ ¤®© reti
4 - ЎЁвл а §аҐиҐЁп ॣЁбва жЁЁ
6 - ®¬Ґа Ўб®«ов®Ј® ЇаЁ®аЁвҐв Ai=0,1, ..., 11 ў Ї®ап¤ЄҐ
㢥«ЁзҐЁп ЇаЁ®аЁвҐв ЇаЁ Ї®б«Ґ¤®ў ⥫쮬 ®Їа®бҐ
®¤®¬ га®ўҐ ЇаЁ®аЁвҐв®ў
7 - ¤аҐб-ўҐЄв®а в Ў«Ёжл ЇаҐалў Ё© ў ᥣ¬ҐвҐ CODE.
Џа®Ја ¬¬Ёа®ў ЁҐ ЇаҐалў Ё©:
1) ”®а¬ЁагҐвбп ўҐЄв®а ЇаҐалў Ёп
org 03h
ljmp mem ;ЇҐаҐе®¤ Є Ї®¤Їа®Ја ¬¬Ґ ®Ўа Ў®вЄЁ
ЇаҐалў Ёп
2) Џ®¤Їа®Ја ¬¬ ®Ўа Ў®вЄЁ ЇаҐалў Ёп ®д®а¬«пҐвбп Є Є Їа®жҐ¤га
c «®Є «мл¬Ё ¬ҐвЄ ¬Ё L?1, L?2,...
mem proc
.....
l1? .....
reti
mem endproc
3) ‚ ®б®ў®© Їа®Ја ¬¬Ґ гбв ў«Ёў Ґвбп ¬ бЄ ЇаҐалў Ёп,
бЎа блў Ґвбп ЎЁв § Їа®б ЇаҐалў Ёп, гбв ў«Ёў Ґвбп
ЎЁв а §аҐиҐЁп ЇаҐалў Ёп EA.
2. Ља®бб-б।бвў Їа®Ја ¬¬Ёа®ў Ёп.
2.1. ЂбᥬЎ«Ґа ava51.
ЋЇЁб ЁҐ бᥬЎ«Ґа Ё Їа ўЁ« ®д®а¬«ҐЁп Їа®Ја ¬¬
ЇаЁўҐ¤Ґл ў д ©«Ґ ASM51.txt
ЂббᥬЎ«Ґа Є®¬ЇЁ«ЁагҐв Ґпў® в®«мЄ® бЁ¬ў®«л, ®в®бпйЁҐбп
Є Ў §®ў®© аеЁвҐЄвгॠMCS51/52
‘।бвў бᥬЎ«Ёа®ў Ёп ¤«п PC ўЄ«оз ов бᥬЎ«Ґа ava51.exe
Ё «ЁЄҐа avl51.exe
‚맮ў бᥬЎ«Ґа
asm.bat name
‚ д ©«Ґ asm.bat ®д®а¬«Ґл Є®¬ ¤л ўл§®ў бᥬЎ«Ґа Ё «ЁЄҐа
‚ᥠЇа®Ја ¬¬л ўл§лў овбп б Ї 㧮©, § ўҐа襨Ґ ЁбЇ®«ҐЁп
Є®¬ ¤®Ј® д ©« .bat Є« ўЁи ¬Ё ctr+c.
ava51 %1.asm ap ;ўл§®ў бᥬЎ«Ґа ,д®а¬Ёа®ў ЁҐ бЁ¬ў®«мле в Ў«Ёж
pause ;®бв ®ў - ўл室 Ї® ctr+c
avl51 %1=%1 -sy ;ўл§®ў «ЁЄҐа ,д®а¬Ёа®ў ЁҐ бЁ¬ў®«мле ббл«®Є
pause
avsim51 bla%1 ;§ Јаг§Є Їа®Ја ¬¬л ў бЁ¬г«пв®а б бЁ¬ў®«мл¬Ё
в Ў«Ёж ¬Ё
„ЁаҐЄвЁўл(®ЇжЁЁ) Є®¬ЇЁ«пв®а Ё «ЁЄҐа ®ЇЁб л ў д ©«Ґ asm.hlp,
ЏаЁ Є®¬ЇЁ«пжЁЁ д ©« name.asm д®а¬Ёаговбп Їа®¬Ґ¦гв®злҐ
⥪бв®ўлҐ д ©«л
name.prn - «ЁбвЁЈ Є®¬ЇЁ«пжЁЁ
name.obj - ®ЎкҐЄвл© ЎЁ ал© д ©«,
name.hex - д ©« ¤«п § Јаг§ЄЁ.
Ља®¬Ґ в®Ј® д®а¬Ёаговбп д ©«л, Ґ®Ўе®¤Ё¬лҐ ЇаЁ бЁ¬ў®«ЁзҐбЄ®©
®в« ¤ЄҐ ў бЁ¬г«пв®аҐ.
‚ д ©«Ґ .prn ¬®¦® ©вЁ ®иЁЎЄЁ Ё а бЇаҐ¤Ґ«ҐЁҐ Ї ¬пвЁ,
Ґ®Ўе®¤Ё¬лҐ ЇаЁ ®в« ¤ЄҐ, ў д ©«Ґ .smb - ¤аҐб ЇҐаҐ¬Ґле Ё
¬ҐвЄЁ.
2.2. ‘Ё¬г«пв®а.
Њ®¤Ґ«ЁагҐв Є®¬ ¤л Їа®Ја ¬¬л,ॠбᥬЎ«ЁагҐв Ёе Ё ®в®Ўа ¦ Ґв
ў ᮮ⢥вбўго饬 ®ЄҐ нЄа , ®в®Ўа ¦ Ґв б®бв®пЁҐ ¬ иЁл ЇаЁ
ЁбЇ®«ҐЁЁ Є®¬ ¤ (०Ё¬ ва ббЁа®ўЄЁ).
‚맮ў бЁ¬г«пв®а avsim51.exe [bla<д ©«>]
- ўлў®¤Ёвбп ®Є® Ё ¬Ґо, § Јаг¦ Ґвбп .hex д ©«.
CЁ¬г«пв®а Ї®¤¤Ґа¦Ёў Ґв в®«мЄ® Ў §®ўго аеЁвҐЄвгаг - MCS51/52,
¤ЁаҐЄвЁўл бЁ¬г«пв®а ЇаЁўҐ¤Ґл ў д ©«Ґ avsim51.hlp.
1) ESC ўлЎЁа Ґв ¬Ґо Ё«Ё гбв ®ўЄг § 票© нЄа Ґ.
ЊҐо ( бв५ЄЁ Ё«Ё «ЁвҐал ўлЎЁа ов Є®¬ ¤л ¬Ґо )
ќЄа (бв५Є ¬Ё ўлЎЁа Ґвбп Ў ©в ў ®ЄҐ Ё Ё§¬ҐпҐвбп)
Ќ нЄа Ґ :
- ®Є® ॠбᥬЎ«Ёа®ў ®Ј® Є®¬ ¤®Ј® д ©« , Є®¬ ¤л
ўлЎЁа овбп Ї® § зҐЁо Їа®Ја ¬¬®Ј® бзҐвзЁЄ PC,
Ё§¬ҐҐЁҐ «оЎ®Ј® § зҐЁп ў ®ЄҐ Ї® ¬ аЄҐаг, (+)-ЁЄаҐ¬Ґв,
(-) -¤ҐЄаҐ¬Ґв, ў ⮬ зЁб«Ґ Ё PC.
- ¤ў ®Є ( 1,2 ) ¤«п ®в®Ўа ¦ҐЁп «оЎле вЁЇ®ў Ї ¬пвЁ
- ¤аҐб ўлЎЁа овбп дгЄжЁҐ© DUMP,
¤«п ॣЁбва®ў ўгв॥© Ї ¬пвЁ гЄ §лў овбп ЇаЁ
ўлЎ®аҐ бЁ¬ў®«ЁзҐбЄЁҐ Ё¬Ґ .
- ॣЁбвал бЇҐжЁ «мле дгЄжЁ©
(acc,b,psw,p0,p1,p2,p3,th0/tl0,th1/tl1)
- ЎЁвл гЇа ў«ҐЁп в ©¬Ґа ¬Ё, ¬ бЄЁ ЇаҐалў Ё©,
ЇаЁ§ ЄЁ १г«мв в
2) Ћ‘ЌЋ‚ЌЋ… ¬Ґо:
Dump Expression commandFile Help IO -> Їа®¤®«¦ҐЁҐ
-> Memory Patch Quit Reset Set setUp View eXecute Load
-> ў®§ўа в ў Dump
DUMP :
Dump Area : 1,2
Memory Adress : 55h - ўлЎЁа Ґвбп ¤аҐб ¤ ¬Ї
c Їаאַ© Ё«Ё Є®бўҐ®© ¤аҐб жЁҐ© ў® ўгв॥© Ї ¬пвЁ
D:080h, ў Ї®бв®п®© Ї ¬пвЁ ‘:0000H, ў® ўҐиҐ© Ї ¬пвЁ ¤ ле
X:0000H ў ®¤®¬ Ё§ ®Є® 1,2
COMMANDFile : § Јаг§Є Ё«Ё б®еа ҐЁҐ д ©« .hex д ©« ,
ЇаЁ б®еа ҐЁЁ д ©« ®вЄалў Ґвбп.
LOAD : § Јаг§Є д ©«®ў ¤ ле (Data),
Їа®Ја ¬¬ (Program).
MEMORY : ®ЇҐа жЁЁ б ўгв॥© Ї ¬пвмо ¤ ле
¬Ґо: Clear Fill Move Search searchNext
§ Їа иЁў овбп Ї а ¬Ґвал - Ё¦ЁҐ Ё ўҐаеЁҐ
¤аҐб , ¤ лҐ
PATCH : ўў®¤ Є®¬ ¤ ў ¬Ґ¬®ЁЄҐ ЂбᥬЎ«Ґа
¬Ґо: Patch code Open outputfile Close file
Patch - ўў®¤ ¬Ґ¬®Є®¤ ў ‘ROM Ї® § 票о PC
add a,@r0
mov c,acc.5
SETUP : гбв ®ўЄ а §¬Ґа ЎгдҐа б®еа ҐЁп Є®ва®«мле
в®зҐЄ
VIEW : ®Ў§®а Ёд®а¬ жЁЁ ® бва®©ЄҐ бЁ¬г«пв®а
¬Ґо: Bkpts Io-files Memory-mapp Opc-traps
Passpoints Symbols
EXECUTE : ЁбЇ®«ҐЁҐ Є®¬ ¤ ў ¬Ґ¬®ЁЄҐ
EXPRESSION : -> Enter Expression: ( xx + yy )
Expression will be store at R0
( ўлЎЁа Ґвбп Ї® гЄ § ⥫о ,гбв ў«Ёў -
Ґвбп Ї® ESC )
SET : гбв ®ўЁвм Ї а ¬Ґвал бЁ¬г«пв®а
¬Ґо: Memory-map Passpoint opTions cYcles V-drive ->
breakpoint
Memory-map : а бЇаҐ¤Ґ«ҐЁҐ Ї ¬пвЁ
random-Access read-Only( ЇаҐалў ЁҐ ЇаЁ § ЇЁбЁ )
§ Їа иЁў овбп ЇаҐ¤Ґ«л - Ё¦Ё© Ё ўҐаеЁ© ,
Ї®бв®п п Ї ¬пвм read_Only ‘:0000,
ўҐипп Ї ¬пвм ¤ ле random_Access X:0000
Passpoint : A-r/w point B-R/W range C-write point D-Write run
Є®ва®«м Ё ЇаҐалў Ёп Ї® § ЇЁбЁ ЇаЁ а §«Ёзле гб«®ўЁпе
opTions - бва Ёз®Ґ а §¤Ґ«ҐЁҐ Ї ¬пвЁ зҐаҐ§ Ї®ав P2
breakpoint : opcode
opcode - ®бв ®ў Ї® Є®¤г ®ЇҐа жЁЁ, ЇаЁ¬Ґа, RET
HELP : ‘вагЄвга Є®¬ ¤л бᥬЎ«Ґа б ¬ҐвЄ ¬Ё (Command),
гЇа ў«ҐЁҐ ¤ЁбЇ«ҐҐ¬ (Display),
гЇа ў«ҐЁҐ бЁ¬г«пжЁҐ© (Simulate),
®Ў§®а б।бвў Ї®¤¤Ґа¦ЄЁ (Avocet).
3) €бЇ®«ҐЁҐ Їа®Ја ¬¬ (ᮤҐа¦ ЁҐ Simulate ў HELP).
F1 - ЁбЇ®«ҐЁҐ ¤® в®зЄЁ ®бв ®ў
F10 - ЁбЇ®«ҐЁҐ Ї® и Ј ¬,
F2 - Ї®Є § вм Єгаб®а Ё ¤ўЁ¦ҐЁҐ Єгаб®а ўЁ§ ЇаЁ
ўлЎ®аҐ в®зЄЁ ®бв ®ў
F4 - ¤ўЁ¦ҐЁҐ Єгаб®а ўўҐае ЇаЁ ўлЎ®аҐ в®зЄЁ ®бв ®ў ,
F3 - дЁЄбЁа®ў вм в®зЄг ®бв ®ў ,
F5 - гбв ®ўЁвм бЄ®а®бвм ¬®¤Ґ«Ёа®ў Ёп
(¤ўҐ бЄ®а®бвЁ -high,low)
F6 - ®Ў®ў«ҐЁҐ нЄа Ї®б«Ґ Є ¦¤®© в®зЄЁ
®бв ®ў .
F8 - ўлЄ«о票Ґ ва ббЁа®ўЄЁ ЇаЁ ЁбЇ®«ҐЁЁ
Ї®¤Їа®Ја ¬¬ ў Ї®и Ј®ў®¬ ०Ё¬Ґ
2. ЏаЁ¬Ґал Ё § ¤ Ёп Є « Ў®а в®ал¬ а Ў®в ¬.
1) ЏҐаҐ¬®¦Ёвм ¤ў 8-а §ап¤ле зЁб« Ї® д®а¬г«Ґ
S=A*B=б㬬Ёа®ў вм ¬®¦Ё¬®Ґ B а §
A,B - 8а §ап¤лҐ ЇҐаҐ¬ҐлҐ ў DATA
S - 16а §ап¤ п ЇҐаҐ¬Ґ п ў DATA
- Їа®Ја ¬¬ ў бᥬЎ«ҐаҐ AVA51,
ЏҐаҐ¬ҐлҐ а §¬Ґй овбп ў® ўгв॥© Ї ¬пвЁ ,
Ё¬Ґ ЇҐаҐ¬Ґле Ґ ¤®«¦л б®ўЇ ¤ вм б § १ҐаўЁа®-
ў л¬Ё (ў з бв®бвЁ § Ј« ўлҐ Ё Їа®ЇЁблҐ Ґ
а §«ЁзЁ¬л Ё A=a, B=b - § १ҐаўЁа®ў л)
seg data
S1 ds 2 ;Їа®Ё§ўҐ¤ҐЁҐ
A1 ds 1 ;¬®¦Ё¬®Ґ
B1 ds 1 ;¬®¦ЁвҐ«м
seg code
clr a ;0->S
mov S1,a ;бЎа®б бв а襣® Ў ©в Їа®Ё§ўҐ«¤ҐЁп
mov S1+1,a ;бЎа®б ¬« ¤иҐЈ® Ў ©в Їа®Ё§ўҐ¤ҐЁп
m1: mov a,A1
add a,S1+1 ;S+A->S
mov S1+1,a ;¬« ¤иЁ© Ў ©в Їа®Ё§ўҐ¤ҐЁп
mov a,S1
addc a,#0
mov S1,a ;бв аиЁ© Ў ©в Їа®Ё§ўҐ¤ҐЁп
djnz B1,m1 ;жЁЄ« б Є®¬ЇҐб жЁҐ© ¬®¦ЁвҐ«п
end
Ћд®а¬Ёвм дгЄжЁо Є Є бв ¤ авго Їа®жҐ¤гаг б ЇҐаҐ¤ 祩
Ї а ¬Ґва®ў зҐаҐ§ б⥪. ‚ бв ¤ ав®© Їа®жҐ¤гаҐ
ўлЎЁа овбп а Ў®зЁҐ ॣЁбвал r0,...r7. ‚ Їа®жҐ¤гаҐ
«®Є «Ё§®ў л ¬ҐвЄЁ - L?1, L?2, ..
„«п ®Ў®§ 票п д®а¬ «мле Ї а ¬Ґва®ў ЁбЇ®«м§®ў вм
¬ Єа®Є®¬ ¤л c Ї а ¬Ґва ¬Ё.
seg data
S1 ds 2 ;Їа®Ё§ўҐ¤ҐЁҐ
A1 ds 1 ;¬®¦Ё¬®Ґ
B1 ds 1 ;¬®¦ЁвҐ«м
mula %MACRO x,y,z ;¬ Єа®Є®¬ ¤ x*y->z
push x ;§ Јаг§Є д ЄвЁзҐбЄЁе Ї а ¬Ґва®ў
push y
call mult
pop z ;з⥨Ґ ўл室ле ¤ ле
pop z+1
%ENDM
SEG CODE
mula A1,B1,S1 ;ўл§®ў Ї®¤Їа®Ја ¬¬л A1*B1->S1
jmp $ ;¤Ё ¬ЁзҐбЄЁ© ®бв ®ў
mult PROC ;Їа®жҐ¤га 㬮¦ҐЁп
pop 02 ;ўлЎ®а д ЄвЁзҐбЄЁе Ї а ¬Ґва®ў
pop 03
clr a
mov r0,a ;бЎа®б бв а襣® Ў ©в Їа®Ё§ўҐ«¤ҐЁп
mov r1,a ;бЎа®б ¬« ¤иҐЈ® Ў ©в Їа®Ё§ўҐ¤ҐЁп
L?1: mov a,r2
add a,r1 ;S+A->S
mov r1,a ;¬« ¤иЁ© Ў ©в Їа®Ё§ўҐ¤ҐЁп
mov a,r0
addc a,#0
mov r0,a ;бв аиЁ© Ў ©в Їа®Ё§ўҐ¤ҐЁп
djnz r3,L?1 ;жЁЄ« б Є®¬ЇҐб жЁҐ© ¬®¦ЁвҐ«п
push 00 ;§ Јаг§Є १г«мв в
push 01
ret
mult ENDPROC
end
ђҐ «Ё§ жЁп дгЄжЁЁ 㬮¦ҐЁп б ЁбЇ®«м§®ў ЁҐ¬ Є®¬ ¤л mul ab :
mula %macro x,y,z
mov a,x
mov b,y
mul ab
mov z,b
mov z+1,b
%endm
-------------------
‡ ¤ ЁҐ 1:
Ћд®а¬Ёвм б«Ґ¤гойЁҐ дгЄжЁЁ Є Є Ї®¤Їа®Ја ¬¬л ў ¬ Єа®Є®¬ ¤ е:
ЇҐаҐў®¤ 楫®Ј® 2/10 ¤Ґ«ҐЁҐ¬ 10 -
- ¤ў®Ёз®Ґ 1 Ў ©в,
ЇҐаҐў®¤ 楫®Ј® 10/2 ЇҐаҐбзҐв®¬ -
- ¬ ЄбЁ¬ «м®Ґ ¤ҐбпвЁз®Ґ 255,
楫®Ґ ¤Ґ«ҐЁҐ 16-а §а冷Ј® ®ЇҐа ¤ 8-а §ап¤л©,
ЇҐаҐў®¤ ¤а®Ў®Ј® б ¬ бив ЎЁа®ў ЁҐ¬ - (x*100)*256/100
- ¤ў®Ёз®Ґ 1 Ў ©в,
ўлзЁб«Ёвм ўла ¦ҐЁҐ A*B/C б ЁбЇ®«м§®ў ЁҐ¬ нвЁе дгЄжЁ© -
- аЈг¬Ґвл ўў®¤пвбп б Ї®ав®ў P1,P2,P3 Ё १г«мв в
ўлўҐбвЁ ў Ї®ав P0.
2) ‚лзЁб«ҐЁҐ дгЄжЁЁ
sinx =x-x^3/3! +x^5/5!
аЈг¬Ґв x<=pi/2 ў а ¤Ё е,
Њ бив ЎЁа®ў ЁҐ - ЇаҐ®Ўа §®ў ЁҐ аЈг¬Ґв ў 楫®Ґ:
x'=x*mx, x-¤а®Ў®Ґ, mx-¬ бив Ў
‚лЎа вм б奬㠢лзЁб«ҐЁп Ё ¬ бив ЎЁа®ў ЁҐ mx Ё§ ў аЁ в®ў
2^10, 100, 200.
A) Џа®жҐ¤га ўлзЁб«ҐЁп з«Ґ ап¤ б гзҐв®¬ ¬ бив ЎЁа®ў Ёп
x^n/n! -> ((x'*x'/mx/n)*x'/mx/(n-1))*....)*x'/mx
row(n,x)
{ s=x; for (i=n; i; i--) s=s*x/mx/i; }
Џа®Ја ¬¬ ўлзЁб«ҐЁп
sinx()
{ ss=x+row(3,x)+row(5,x); } [1]
Ѓ) ЏаҐ®Ўа §®ў ЁҐ д®а¬г«л Ї® б奬Ґ ѓ®аҐа б гзҐв®¬
¬ бив ЎЁа®ў Ёп
x-x^2/6(1-x^2/20)-> x-x*x/mx/mx/6(mx-x*x/20/mx)
x2()
{ s=x*x/mx; }
sinx()
{ ss= x-(mx-x2()/20)*x2()/mx/6); } [2]
‚) Љ®¬ЇЁ«пжЁп Їа®Ја ¬¬л ўлзЁб«ҐЁп ў бᥬЎ«ҐаҐ
Џ®¤Ј®в ў«Ёў Ґвбп ЎЁЎ«Ё®вҐЄ дгЄжЁ©:
mula x,y,z x*y->z
dela x,y,z x/#y->z
suba x,y,z #x-y->z
subx x,y,z x-y->z
trd2 x ЇҐаҐў®¤ 10/2
tr2d x ЇҐаҐў®¤ 2/10
ЏбҐў¤®Є®¤ Џа®Ја ¬¬ ў ¬ Єа® бᥬЎ«ҐаҐ
tr2d x
x2()=x*x/mx mula x,x,x2
[..]=mx-x2()/20 dela x2,20,ss
suba mx,ss,ss
[..]=[..]*x2()/mx/6 mula x2,ss,ss
dela ss,mx,ss
dela ss,6,ss
ss=x-[..] subx x,ss,ss
trd2 ss
end
----------------------
‡ ¤ ЁҐ 2:
- ¤«п § ¤ ®© дгЄжЁЁ а §а Ў®в вм ўлЎа вм б奬㠢лзЁб«ҐЁп
(Ї® б⥯Ґп¬ Ё«Ё бЄ®Ў®з п д®а¬ ) Ё ¬ бив Ў mx=100,128,200 Ё«Ё
256 . ђ §а Ў®в вм Їа®Ја ¬¬г ¤«п Ї®вЁ¬ «м®Ј® ў аЁ в , ЁбЇ®«м§гп
¬ Єа®Є®¬ ¤л Ё Ї®¤Їа®Ја ¬¬л,
- ўў®¤ аЈг¬Ґв ў 2/10 Є®¤Ґ Ё§ Ї®ав P1,P3,
§ ЇгбЄ Їа®Ја ¬¬л Ї®б«Ґ гбв ®ўЄЁ аЈг¬Ґв Ї® ЇаҐалў Ёо int0,
Ї®б«Ґ § ўҐаиҐЁп ўлзЁб«ҐЁ© - १г«мв ⠢뢥бвЁ ў Ї®ав P1,P3.
3) €§¬ҐаҐЁҐ Ё Є®ва®«м ўаҐ¬Ґле ЁвҐаў «®ў.
€§¬ҐаҐЁҐ Ё Є®ва®«м ўаҐ¬Ґле ЁвҐаў «®ў
®ЎҐбЇҐзЁў овбп 2 в ©¬Ґа ¬Ё ¬ЁЄа®нў¬: ’Њ0,’Њ1.
ђҐЈЁбва гЇа ў«ҐЁп в ©¬Ґа ¬Ё
TMOD=gate1.c/t1.mod1.gate0.c/t0.mod0,
mod0=01 гбв ў«Ёў Ґв ०Ё¬ 16-ЎЁв®ў®Ј® бзҐвзЁЄ ¤«п
в ©¬Ґа ’Њ0
c/t0=0 ўлЎЁа Ґв ¤«п § Ї®«ҐЁп ўаҐ¬Ґ®Ј® ЁвҐаў «
ўгваҐоо з бв®вг f0/12=11.059/12 ¬Єб,
gate0=1 а §аҐи Ґв § Ї®«ҐЁҐ ’Њ0 з бв®в®© Ї® ўҐиҐ¬г
бЁЈ «г int0,
=0 ўҐиЁ© бЁЈ « int0 Ґ гзЁвлў Ґвбп.
ЃЁвл а §аҐиҐЁп бзҐв TR0 Ё TR1, ᮮ⢥вᢥ®, ¤«п ’Њ0 Ё ’Њ1
ЃЁвл ЇҐаҐЇ®«ҐЁп TF0/TF1 пў«повбп в Є¦Ґ бЁЈ « ¬Ё § Їа®б
ЇаҐалў Ёп.
-----------------------------
‡ ¤ ЁҐ 3:
€§¬ҐаЁвм ўаҐ¬п ўлЇ®«ҐЁп Їа®Ја ¬¬л в ©¬Ґа®¬ TM0:
€ЁжЁ «Ё§ жЁп в ©¬Ґа ’Њ0, з «® бзҐв , § ЇгбЄ Їа®Ја ¬¬л,
§ ўҐа襨Ґ бзҐв ўаҐ¬ҐЁ ЇаЁ § ўҐа襨Ё Їа®Ја ¬¬л,
а ббзЁв вм ॠ«мго § ¤Ґа¦Єг, ба ўЁвм ў аЁ вл Їа®Ја ¬¬л.
4) Џа®Ја ¬¬ ®Ўа Ў®вЄЁ ⥪бв®ўле ¤ ле
€бЄ«озЁвм «ЁиЁ© бЁ¬ў®« ў бва®ЄҐ 'prog-ramma',
⥪бв-Є®бв в Ё§ Їа®Ја ¬¬®© Ї ¬пвЁ SEG CODE ЇҐаҐЈаг¦ Ґвбп ЇаЁ
। ЄвЁа®ў ЁЁ ў® ўгваҐоо Ї ¬пвм SEG DATA
char p[]="prog-ramma"; /* ЁЁжЁ «Ё§Ёа®ў лҐ ¤ лҐ ў CODE */
for (i=0; i<10; i++)
{ if (p[i]!='-') q[i]=p[i]; };
Џа®Ја ¬¬ бᥬЎ«ҐаҐ
seg data
q ds 11
i ds 1
seg code
jmp start
p db 'prog-ramma'
start: mov r0,#11
mov dptr,#p
mov r1,q+10
m1: mov a,r0
movc a,@a+dptr
xrl a,#'-'
jz m2
movc a,@a+dptr
mov @r1,a
m2: dec r1
djnz r0,m1
end
--------------------
‡ ¤ ЁҐ 4 - а §а Ў®в вм Їа®Ја ¬¬г । ЄвЁа®ў Ёп ⥪бв
ў® ўгв॥© Ё ўҐиҐ© Ї ¬пвЁ ¤ ле.
5) ‚лзЁб«ҐЁҐ § зҐЁп ЇаҐ¤ЁЄ в , ЁбЇ®«м§гп Є®¤Ёа®ў ЁҐ
True = (§ 票Ґ <> 0),
False = 0.
if ((a!=b)&(c<d)) then s=1;
else s=0;
seg data
aa ds 1
bb ds 1
cc ds 1
dd ds 1
ss ds 1
seg code
mov a,aa ;(a!=b)
xrl a,bb
mov b,a
mov a,cc ;(c<d)
clr c
subb a,dd
clr a
jnc fin
mov a,#0ffh
fin: anl a,b ;( )&( )
mov s,#0
jz fina
mov s,#1
fina: nop
--------------------
‡ ¤ ЁҐ 5.
ђ §а Ў®в вм Їа®Ја ¬¬г ўлзЁб«ҐЁп § ¤ ®Ј® ЇаҐ¤ЁЄ в .
6) Џа®Ја ¬¬ гЇа ў«ҐЁп ¤ЁбЄаҐв®© бЁб⥬®©, «Ј®аЁв¬
§ ¤ Є®Ґзл¬ ўв®¬ ⮬ Њга .
ЪДДДДї i0 ЪДДДДДї i1
і ЪДДБДДї i1,i2 ЪДДБДДї і
АД> 0/y0іДДДДДДДДДДДДДДД>1/y1 <ДДЩ
АДД^ДД<ДДДДДДДДДї ЪДДВДД<ДДї
і i1 і і і і
i2і і і іi0 і i0,i2
і ЪДДДДДДДДДДЕДДДДДЩ і і
і і i2 і і і
і і і і і
ЪДБДvДї АДДДДДДЪДvДДДї і
і2/y2 іДДДДДДДДДДДДДДД>3/y3 ГДЩ
АДДДДДЩ i0,i1 АДДДДДЩ
0,1,2,3 - б®бв®пЁп ўв®¬ в ,
y0,y1,y2,y3 - гЇа ў«пойЁҐ бЁЈ «л,
I={i0,i1,i2} - ўе®¤лҐ бЁЈ «л,
“а ўҐЁп ЇҐаҐе®¤ /ўл室
q0'/y0 = q0&i0+q3&i1
q1'/y1 = q1&i1+(q0+q3)&(i1+i2)
q2'/y2 = q1&i2
q3'/y3 = q1&i0+q2&(i0+i1)
‘вагЄвга Їа®Ја ¬¬л
- ўў®¤ § 票© I c Ї®ав P1(0-2)
- ўлзЁб«ҐЁҐ б«Ґ¤гойЁе б®бв®пЁ© Q'=(Q,I)
- Ё§¬ҐҐЁҐ б®бв®пЁп Ё гЇа ў«ҐЁп Q/y=Q'
- ўлў®¤ гЇа ў«ҐЁп ў Ї®ав P1(3-6)
seg bit
i0 ds 1
i1 ds 1
i2 ds 1
q0 ds 1 ;y0
q1 ds 1 ;y1
q2 ds 1 ;y2
q3 ds 1 ;y3
q0_ ds 1
q1_ ds 1
q2_ ds 1
q3_ ds 1
seg code
start:
mov p1,#0ffh
mov c,p1.0 mov i0,c
mov c,p1.1 mov i1,c
mov c,p1.2 mov i2,c
/* ўлзЁб«ҐЁҐ § 票п б«Ґ¤го饣® б®бв®пЁп */
mov c,i0 orl c,q3 mov q0_,c
mov c,q0 anl c,i1 mov acc.0
mov c,q1 anl c,i1 orl c,acc.0
mov q1_,c
mov c,q1 anl c,i1 anl c,i2 mov q2_,c
mov c,q1 anl c,i1 anl c,i2
orl c,q2 mov q3_,c
/* ўлў®¤ ў Ї®ав P1 Ё гбв ®ўЄ ⥪г饣® б®бв®пЁп */
mov c,q0_ mov q0,c mov P1.3,c
mov c,q1_ mov q1,c mov P1.4,c
mov c,q2_ mov q2,c mov P1.5,c
mov c,q3_ mov q3,c mov P1.6,c
jmp start
end
----------------------
‡ ¤ ЁҐ 6 - ¤«п § ¤ ®Ј® ўв®¬ в а §а Ў®в вм Їа®Ја ¬¬г,
ўў®¤ Ё ўлзЁб«ҐЁп б Ї®ав P1 Ї® ЇаҐалў Ёо
int1.
6. ЋвзҐв.
ђҐ§г«мв вл ўлЇ®«ҐЁп « Ў®а в®але а Ў®в ®д®а¬«повбп ў ўЁ¤Ґ
®ЎйҐЈ® ®взҐв :
- Єа вЄ п е а ЄвҐаЁбвЁЄ аеЁвҐЄвгал Є®ва®««Ґа
(бвагЄвга Ї ¬пвЁ, н«Ґ¬Ґвл ўў®¤ /ўлў®¤ , б।бвў
ЇаҐ®Ўа §®ў Ёп Ёд®а¬ жЁЁ, бвагЄвга Ё ЇаЁжЁЇ а Ў®вл
бЁбвҐ¬л ЇаҐалў Ёп),
- ¤«п Є ¦¤®Ј® § ¤ Ёп ЇаЁўҐбвЁ Ї®бв ®ўЄг § ¤ зЁ,
Ў«®Є-б奬㠫Ј®аЁв¬ Ё«Ё ЇбҐў¤®Є®¤, Їа®Ја ¬¬г б Є®¬¬Ґв аЁп¬Ё,
а бЇаҐ¤Ґ«ҐЁҐ Ї ¬пвЁ,
‹€’…ђЂ’“ђЂ.
1. ‘в иЁ ‚.‚. Ё ¤а. Џа®ҐЄвЁа®ў ЁҐ жЁда®ўле гбва®©бвў
®¤®ЄаЁбв «мле ¬ЁЄа®Є®ва®««Ґа е, Њ:ќҐаЈ® ⮬Ё§¤ в,1990
2. ‹ЁЇ®ўЁжЄЁ© ѓ.Џ. Ё ¤а. Ћ¤®ЄаЁбв «млҐ Њќ‚Њ. ‘Ґ¬Ґ©бвў® ЊЉ51.
’ҐеЁзҐбЄ®Ґ ®ЇЁб ЁҐ Ё агЄ®ў®¤бмў® Ї® ЇаЁ¬ҐҐЁо.M.1992
3. ЌҐа®¤ ‚.џ. Ё ¤а. Ћ¤®ЄаЁбв «млҐ Њќ‚Њ MCS-51. ЂаеЁвҐЄвгал. M.1995
4. ѓаҐЎҐў ‘Ґ¬Ґ©бвў® MCS-51. 1994