Скачиваний:
16
Добавлен:
09.05.2014
Размер:
44.01 Кб
Скачать



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



ЊҐв®¤ЁзҐбЄ®Ґ Ї®б®ЎЁҐ Є
« Ў®а в®а­л¬ а Ў®в ¬
Ї® Єгабг ќ«ҐЄва®­­лҐ ўлзЁб«ЁвҐ«м­лҐ ¬ иЁ­л














1999 Ј
-------------------------------------------------------------------




ЋЈ« ў«Ґ­ЁҐ.

I. ‘Ћ„…ђ†ЂЌ€… ‹ЂЃЋђЂ’ЋђЌ›• ђЂЃЋ’.........................

II. Ѓ §®ў п  аеЁвҐЄвга ...............................

2.1. ЋаЈ ­Ё§ жЁп Ї ¬пвЁ............................
2.2. ’ЁЇл ¬ иЁ­­ле ¤ ­­ле..........................
2.3. ‘ Ё б в Ґ ¬   Є ® ¬   ­ ¤ MCS51 ...
2.4. ‚Ёавг «м­л© Ў«®Є ®Ўа Ў®вЄЁ ¤ ­­ле.
2.5. “Їа ў«Ґ­ЁҐ ЇаҐалў ­Ёп¬Ё

ЏаЁ¬Ґал Їа®Ја ¬¬Ёа®ў ­Ёп

III. Ља®бб-б।бвў  Їа®Ја ¬¬Ёа®ў ­Ёп Ё ®в« ¤ЄЁ ..

3.1. ЂбᥬЎ«Ґа AVA51 ............................
3.2. ‘Ё¬г«пв®а avsim51 ..............

IV. €§¬ҐаҐ­ЁҐ Ё Є®­ва®«м ўаҐ¬Ґ­­ле Ё­вҐаў «®ў

4.1. ’ ©¬Ґал ’Њ0 Ё ’Њ1.
4.2. ’ ©¬Ґа ’Њ2.
1. €§¬ҐаҐ­ЁҐ Ё­вҐаў «®ў в ©¬Ґа®¬.
2. €§¬ҐаҐ­ЁҐ Ё­вҐаў «®ў § еў в®¬.

‹€’…ђЂ’“ђЂ..............................................





I. ‘Ћ„…ђ†ЂЌ€… ‹ЂЃЋђЂ’ЋђЌ›• ђЂЃЋ’.

ЊЁЄа®Є®­ва®««Ґа (¬ЁЄа®ќ‚Њ) MCS51 дЁа¬л Intel пў«пҐвбп ¤Ґ-д Єв®
бв ­¤ а⮬ ¤«п Їа®¬ли«Ґ­­ле ЇаЁ¬Ґ­Ґ­Ё©. ЊЁЄа®Є®­ва®««Ґа ᮤҐа¦Ёв
Їа®жҐбб®а CPU, ў­гв७­оо ॣЁбва®ўго Ї ¬пвм ¤ ­­ле RAM, в ©¬Ґал
TM0,TM1 Ї а ««Ґ«м­лҐ 8-а §ап¤­лҐ Ї®авл P0,P1,P2,P3.
‚­Ґй­ҐҐ а биЁаҐ­ЁҐ ¬ЁЄа®Є®­ва®««Ґа  - Ї ¬пвм Їа®Ја ¬¬ XROM Ё
Ї ¬пвм ¤ ­­ле XRAM.

2/ ‘®¤Ґа¦ ­ЁҐ а Ў®в:

‡­ Є®¬бвў® б  аеЁвҐЄвга®© ¬ЁЄа®Є®­ва®««Ґа , Їа®Ја ¬¬Ёа®ў ­ЁҐ
­   бᥬЎ«ҐаҐ, а Ў®в  б бЁ¬г«пв®а®¬.
‚лЇ®«­Ґ­ЁҐ § ¤ ­Ё© Ї® ®Ўа §жг -  аЁд¬ҐвЁзҐбЄЁҐ ®ЇҐа жЁЁ,
ЇаҐ®Ўа §®ў ­ЁҐ бЁ¬ў®«м­®© Ё­д®а¬ жЁЁ ў Ї ¬пвЁ Є®­ва®««Ґа ,
«®ЈЁзҐбЄ®Ґ гЇа ў«Ґ­ЁҐ б ЁбЇ®«м§®ў ­ЁҐ¬ ¬®¤Ґ«Ё Є®­Ґз­®Ј®
 ўв®¬ в , Їа®Ја ¬¬Ёа®ў ­ЁҐ ўЁавг «м­®© ¬ иЁ­л ў ¬ Єа® бᥬЎ«ҐаҐ,
ўлзЁб«Ґ­ЁҐ б ¬ бив ЎЁа®ў ­ЁҐ¬.


II. Ѓ §®ў п  аеЁвҐЄвга 

ЂаеЁвҐЄвгаг ЊЉЉ (ЇаЁ­жЁЇл ®аЈ ­Ё§ жЁЁ Ё дг­ЄжЁ®­Ёа®ў ­Ёп)
ва ¤ЁжЁ®­­® ЇаҐ¤бв ў«пов ¬®¤Ґ«мо Ї®«м§®ў вҐ«п-Їа®Ја ¬¬Ёбв 
б।бвў ¬Ё ¬ иЁ­­®Ј® п§лЄ   бᥬЎ«Ґа .
ЂбᥬЎ«Ґа ЁбЇ®«м§гҐвбп Є Є п§лЄ бЁ¬ў®«ЁзҐЄ®Ј® ®ЇЁб ­Ёп
бЁбвҐ¬л Є®¬ ­¤, ®аЈ ­Ё§ жЁЁ Ї ¬пвЁ, Є Є  «Ј®аЁв¬ЁзҐбЄЁ© п§лЄ
ў ЇаЁЄ« ¤­ле Їа®Ја ¬¬ е. ЏаЁ ®ЇаҐ¤Ґ«Ґ­Ёпе ў ¤ ­­®¬ а §¤Ґ«Ґ
ЁбЇ®«м§говбп б।бвў   бᥬЎ«Ґа  AVЂ51.

2.1. ЋаЈ ­Ё§ жЁп Ї ¬пвЁ.

Џ ¬пвм ЊЉЉ а §¤Ґ«пҐвбп ­  ў­гв७­оо Ё ў­Ґи­оо, Ї ¬пвм ¤ ­­ле
Ё Їа®Ја ¬¬, Ї ¬пвм а §¤Ґ«пҐвбп Ї® вЁЇ ¬ ў § ўЁбЁ¬®бвЁ ®в бЇ®б®Ў 
¤®бвгЇ - ¤аҐб жЁЁ. ‚  бᥬЎ«ҐаҐ ЇаҐ¤гᬮваҐ­л ®ЇЁб ­Ёп а §«Ёз­ле
вЁЇ®ў Ї ¬пвЁ ў ўЁ¤Ґ ᥣ¬Ґ­в®ў, ЇаЁ а бЇаҐ¤Ґ«Ґ­ЁЁ Ї ¬пвЁ
Є®¬ЇЁ«пв®а ®ЎкҐ¤Ё­пҐв ®¤­®Ё¬Ґ­­лҐ ᥣ¬Ґ­вл ў ­ҐЇаҐалў­лҐ
®Ў« бвЁ Ї ¬пвЁ.

1. 8-а §ап¤­лҐ а Ў®зЁҐ ॣЁбвал б ­Ґпў­л¬ ¤®бвгЇ®¬

-  ЄЄг¬г«пв®а(a), b,

2. Ђ¤аҐб­®Ґ Їа®бва ­бвў® ў­Ґи­Ґ© Ї ¬пвЁ Їа®Ја ¬¬ - SEG CODE(64 ЄЎ),
¬®¦Ґв Ўлвм б®ў¬ҐйҐ­® б ў­Ґи­Ґ© Ї ¬пвмо ¤ ­­ле SEG XDATA (64 ЄЎ).

- ­ҐЇ®б।б⢥­­лҐ ¤ ­­лҐ # ў Є®¬ ­¤ е,
mov a,#55h mov b,#44
- Ё­¤ҐЄб­л© ¤®бвгЇ Є в Ў«Ёз­л¬ ¤ ­­л¬

SEG CODE
org 8000h ;­ з «м­л©  ¤аҐб Є®¤ 
jmp start
mem db 'abcde' ;в Ў«Ёж  ASCII Є®¤®ў

start: mov dptr,#mem ;Ў §®ўл©  ¤аҐб mem ў  ¤аҐб­л© ॣЁбва dptr
movc a,@a+dptr ;¬­Ґ¬®Є®¤ @a+dptr ®Ў®§­ з Ґв бЇ®б®Ў
;д®а¬Ёа®ў ­Ёп  ¤аҐб  б Ё­¤ҐЄб®¬ ў acc
;Ё Ў §®© ў dptr
movc a,@a+pc ;з⥭ЁҐ Ў ©в  Ї® Ё­¤ҐЄбг ў acc
;б Ў §®©, б®ўЇ ¤ о饩 б ⥪гйЁ¬  ¤аҐб®¬
; Є®¬ ­¤л ў Їа®Ја ¬¬­®¬ бзҐвзЁЄҐ PC

Љ®¬ ­¤л Їа®Ја ¬¬л ЇаҐ¤бв ў«Ґ­л ¤ў®Ёз­л¬Ё Є®¤ ¬Ё ¤«Ё­®©
1-3 Ў ©в  Ё ¤®бвгЇ­л ЇаЁ ЁбЇ®«­Ґ­ЁЁ Їа®Ја ¬¬л Є®бўҐ­­® Ї®
 ¤аҐб­®¬г ॣЁбваг PC. ЌҐпў­® ўлЎ®аЄ  Є®¬ ­¤ ўлЇ®«­пҐвбп
Ї®б«Ґ¤®ў вҐ«м­® Ї® бзҐвзЁЄг PC+ б  ўв®Ё­ЄаҐ¬Ґ­в®¬,
Ё§¬Ґ­Ґ­ЁҐ Ї®ап¤Є  б«Ґ¤®ў ­Ёп Є®¬ ­¤ Їа®Ёб室Ёв Ї® Є®¬ ­¤ ¬
ЎҐ§гб«®ў­®Ј® Ё гб«®ў­®Ј® ЇҐаҐе®¤ .
Љ®¬ ­¤л ЎҐ§гб«®ў­®Ј® ЇҐаҐе®¤  jmp,call
ў § ўЁбЁ¬®бвЁ ®в Ё­вҐаў «  ўҐвў«Ґ­Ёп Є®¬ЇЁ«Ёаговбп Є Є
ljmp,lcall - ¤«Ё­­л©  ¤аҐб 2 Ў ©в , sjmp - ®в­®бЁвҐ«м­л©  ¤аҐб
1 Ў ©в, ajmp,acall -Є®а®вЄЁ©  ¤аҐб 10 ЎЁв,

call met ;ЇҐаҐе®¤ Є Ї®¤Їа®Ја ¬¬Ґ met
;Їа®¤ўЁ­гвл©  ¤аҐб б«Ґ¤го饩 Є®¬ ­¤л
;Ё§ ђ‘ § Ї®¬Ё­ Ґвбп ў б⥪Ґ ў®§ўа в®ў
ret ;ў®§ўа в Ё§ Ї®¤Їа®Ја ¬¬л -
; ¤аҐб ў ђ‘ ў®ббв ­ ў«Ёў Ґвбп Ё§ б⥪ 

Љ®¬ ­¤  дг­ЄжЁ®­ «м­®Ј® ўҐвў«Ґ­Ёп jmp @a+dptr

SEG CODE
mov dptr,#mem
mov a,#2
jmp @a+dptr ;дг­ЄжЁ®­ «м­®Ґ ўҐвў«Ґ­ЁҐ б Ё­¤ҐЄб®¬ ў acc
;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

3. ђҐЈЁбвал бЇҐжЁ «м­ле дг­ЄжЁ©, ¤®бвгЇ­лҐ Ї®  ¤аҐбг(80h-ffh) Ё
Ї® Ё¬Ґ­ ¬ ў  бᥬЎ«ҐаҐ ЁбЇ®«м§говбп ў ®б­®ў­®¬ ¤«п
гЇа ў«Ґ­Ёп ЇҐаЁдҐаЁ©­л¬Ё б奬 ¬Ё
acc, b, sp, p0, p1, ...,(mov acc,b)

4. ‚­гв७­пп Ї ¬пвм ¤ ­­ле RAM(00-0ffh)-256 Ў ©в.

‚­гв७­п Ї ¬пвм RAM б®бв®Ёв Ё§ ­ҐбЄ®«мЄЁе ®Ў« б⥩, Є®в®алҐ
а §«Ёз овбп  ¤аҐб жЁҐ©.

a) ЂЄвЁў­л© ॣЁбва®ўл© Ў ­Є Ё§ 8 Ў ©в®ў б  ¤аҐб ¬Ё 00-07 ў RAM -
- ў  бᥬЎ«ҐаҐ Ї® Ё¬Ґ­ ¬ r0,r1, ... r7,
( mov a,r0 mov r0,r1 )
ЏбҐў¤®Є®¬ ­¤®©  бᥬЎ«Ґа  USING 0 (1,2,3)  ЄвЁўЁ§ЁагҐвбп ®¤Ё­
Ё§ 4 Ї®б«Ґ¤®ў вҐ«м­ле Ў ­Є®ў ॣЁбва®ў, б®ў¬ҐйҐ­­ле б  ¤аҐб ¬Ё
0-1fh ў­гв७­Ґ© RAM. Џ® 㬮«з ­Ёо  ЄвЁў­л¬ Ў ­Є®¬ бзЁв Ґвбп
Ў ­Є 0 -  ўв®¬ вЁзҐбЄЁ १ҐаўЁагҐвбп ЇаЁ а бЇаҐ¤Ґ«Ґ­ЁЁ Ї ¬пвЁ
 бᥬЎ«Ґа®¬.

b) Ћб­®ў­ п ў­гв७­пп Ї ¬пвм ¤ ­­ле
SEG IDATA - б Є®бўҐ­­®©  ¤аҐб жЁҐ© 0-0ffh Ё«Ё SEG DATA
б Їаאַ©  ¤аҐб жЁҐ© 0-7fh:

- ¤®бвгЇ Є Ў ©вг Ї® Їаאַ¬г  ¤аҐбг(0-7fh)

SEG DATA
; Ў ©вл 0-07 Ї® 㬮«з ­Ёо १ҐаўЁаговбп Ї®¤ 0 Ў ­Є r0-r7
dseg at 30h ;гбв ­®ўЁвм ­ з «м­л©  ¤аҐб а §¬ҐйҐ­Ёп ᥣ¬Ґ­в 
mem: ds 5 ;®Ў« бвм Ї ¬пвЁ б ¬ҐвЄ®© mem а §¬Ґа®¬ 5 Ў ©в

seg code
mov mem+2*2,dat+2 ;ЇҐаҐб« вм 3Ё© Ў ©в Ё§ в Ў«Ёжл
;dat ў 5го п祩Єг mem,

- ®Ўа йҐ­Ёп Є ¤ ­­л¬ ў ᥣ¬Ґ­вҐ IDATA б Є®бўҐ­­®©  ¤аҐб жЁҐ©
@r0 Ё«Ё @r1 (00-0ffh), Є®¬ЇЁ«пв®а ЇаҐ¤гЇаҐ¦¤ Ґв (warning)
Ґб«Ё ў н⮬ ᥣ¬Ґ­вҐ ®иЁЎ®з­® ЁбЇ®«м§гҐвбп ЇаאַҐ ®Ўа йҐ­ЁҐ
Є ¤ ­­л¬.

SEG IDATA
iseg at 80h ;­ з «® ᥣ¬Ґ­в  c Є®бўҐ­­®©  ¤аҐб жЁҐ©
imem ds 5 ;ўл¤Ґ«Ґ­ЁҐ Ї ¬пвЁ 5 Ў ©в

seg code
mov r0,#imem+2
mov a,@r0
mov a,imem (warning)

c) Џ®«Ґ ЎЁв, ᥣ¬Ґ­в SEG BIT - ¤®бвгЇ Є ЎЁв ¬ Ї®  ¤аҐбг (00-7fh),
б®ў¬Ґй Ґвбп б ЎЁв ¬Ё ў п祩Є е 20H-2fh seg DATA,
 ¤аҐб  ЎЁв®ў 80-ffh - ЎЁвл sfr ॣЁбва®ў.
ЃЁвл SFR ॣЁбва®ў ¤®бвгЇ­л Ї® Ё¬Ґ­ ¬ T0,T1,C,.. Ё«Ё
Ї® ®в­®бЁвҐ«м­л¬  ¤аҐб ¬ P1.0, ...,ACC.7.
SFR ॣЁбвал MCS51 б Ї®ЎЁв®ўл¬ ¤®бвгЇ®¬ - ACC,B,TCON,P1,SCON,
P2,IE,P3,PSW.

SEG BIT
bseg at 20h ;­ з «® ᥣ¬Ґ­в 
bita ds 10h ;Ї®«Ґ ЎЁв 00-10h
reg ds 8 ;ॣЁбва 8 ЎЁв

seg code
x1 equ acc.5 ;®ЇаҐ¤Ґ«Ґ­ЁҐ бЁ¬ў®«   ¤аҐб®¬ ЎЁв 
x2 bit acc.5+3
mov c,x1
mov bita+2,c


d) ‘⥪ ®ЇаҐ¤Ґ«пҐвбп Є Є ®Ў« бвм ᥣ¬Ґ­в  IDATA(0-0ffh),
Ї®«®¦Ґ­ЁҐ ўҐаиЁ­л Ё§¬Ґ­пҐвбп § Јаг§Є®©  ¤аҐб  ў гЄ § вҐ«м
б⥪  SP (mov sp,#30h),

seg idata
dseg at 80h ;гбв ­®ўЁвм  Ўб®«ов­л©  ¤аҐб ­ з «  ᥣ¬Ґ­в 
stack ds 10h ;б⥪ а §¬Ґа®¬ 10h Ў ©в

seg code
mov sp,#stack-1 ;гбв ­®ўЁвм Ў §г б⥪ 
push acc ;§ Јаг§Є  Ў ©в  ў б⥪ +SP c ЇаҐЁ­ЄаҐ¬Ґ­в®¬ SP
pop r0 ;з⥭ЁҐ Ў ©в  Ё§ б⥪  SP- c Ї®б⤥ЄаҐ¬Ґ­в®¬ SP


4. ‚­Ґи­пп Ї ¬пвм ¤ ­­ле XDATA 64 ЄЎ ©в ,

16-а §ап¤­л©  ¤аҐб д®а¬ЁагҐвбп «ЁЎ® ў бЇҐжЁ «м­®¬
 ¤аҐб­®¬ ॣЁбвॠdptr Ё ЁбЇ®«м§гҐвбп ў Є®¬ ­¤ е movx a,@dptr,
movx @dptr,a,
«ЁЎ® ў Є®¬ ­¤Ґ movx a,@r0 Ї®¤а §г¬Ґў Ґвбп  ¤аҐб p2.@rj -
бв аиЁ© Ў ©в  ¤аҐб  ў ॣЁбвॠђ2, ¬« ¤иЁ© - ў ॣЁбвॠr0 Ё«Ё r1.
ЋЎ¬Ґ­ Їа®Ёб室Ёв Ў ©в ¬Ё.

SEG XDATA
xseg at 8000h ;ᬥ饭ЁҐ  ¤аҐб  ў Є®­ва®««ҐаҐ
mem ds 10h

SEG CODE
mov dptr,#mem ; ¤аҐб ў  ¤аҐб­®¬ ॣЁбваҐ
movx a,@dptr
mov dptr,#mem+5
mov a,#33h
movx @dptr,a


2.2. ’ЁЇл ¬ иЁ­­ле ¤ ­­ле.

Њ иЁ­­лҐ вЁЇл ¤ ­­ле ¬ЁЄа®Є®­ва®««Ґа  е а ЄвҐаЁ§говбп:

1) ¬­®¦Ґбвў®¬ §­ зҐ­Ё©, Є®в®алҐ ®ЇаҐ¤Ґ«повбп д®а¬ в ¬Ё ¤ ­­ле.
”®а¬ в ¤ ­­ле ўЄ«оз Ґв бЇ®б®Ў ¤ў®Ёз­®Ј® Є®¤Ёа®ў ­Ёп, а §ап¤­®бвм
Ё бвагЄвгаг ¤ў®Ёз­®Ј® Є®¤ ,
2) ¤®ЇгбвЁ¬л¬Ё ®ЇҐа жЁп¬Ё пў«повбп в®«мЄ® ¬ иЁ­­лҐ ®ЇҐа жЁЁ, ЇаҐ¤бв ў-
«Ґ­­лҐ бЁб⥬®© Є®¬ ­¤ ЊЉЉ,
3) ¤®бвгЇ®¬ Є ¤ ­­л¬, § ўЁбпйЁ¬ ®в вЁЇ  Ї ¬пвЁ ¬ЁЄа®Є®­ва®««Ґа ,

Љ вЁЇ ¬ ¤ ­­ле ЊЉЉ ®в­®бпвбп:
- жҐ«лҐ ¤ў®Ёз­лҐ зЁб« ,
- ЎҐ§§­ Є®ўлҐ жҐ«лҐ ¤ў®Ёз­лҐ ( ¤ў®Ёз­лҐ Є®¤л),
- ¤ў®Ёз­®-¤ҐбпвЁз­лҐ 楫лҐ,
- Ўг«ҐўбЄЁ© вЁЇ.

1. „ў®Ёз­®Ґ 楫®Ґ б® §­ Є®¬/ЎҐ§ §­ Є  ў д®а¬ вҐ Ў ©в , а §¬Ґй Ґ¬лҐ
ў Ї ¬пвЁ XDATA, CODE, DATA,IDATA.

mem db 1,-2,25H,33 ;в Ў«Ёж  ¤ҐбпвЁз­ле 1,-2,33,
;иҐбв­ ¤ж вҐаЁз­ле 25H
;Ї®б«Ґ Є®¬ЇЁ«пжЁЁ - ¤ў®Ёз­лҐ 8-а §ап¤­лҐ
;зЁб« 
vect db 10110001b ; ¤ў®Ёз­®Ґ зЁб«®
mem db 55h,33h ;§ ЇЁбм ў HEX-Є®¤Ґ ¤ў®Ёз­®-¤ҐбпвЁз­ле зЁбҐ«
;55, 33
mem dw 5533h ;Є®­бв ­в  а §¬Ґа®¬ б«®ў® 16 ЎЁв

ЂаЁд¬ҐвЁзҐбЄЁҐ ®ЇҐа жЁЁ б ¤ў®Ёз­л¬Ё зЁб« ¬:

add a,#55 ;б«®¦Ґ­ЁҐ  ЄЄг¬г«пв®а  ( ) б Є®­бв ­в®© 55
addc a,#55 ;б«®¦Ґ­ЁҐ б ЇҐаҐ­®б®¬ ‘ Ё Є®­бв ­в®©
subb a,#33 ;ўлзЁв ­ЁҐ Є®­бв ­вл б § Ґ¬®¬ ‘ ,
‚  аЁд¬ҐвЁзҐбЄЁе ®ЇҐа жЁпе гзЁвлў Ґвбп §­ Є ЇаЁ д®а¬Ёа®ў ­ЁЁ
ЇаЁ§­ Є  ЇҐаҐЇ®«­Ґ­Ёп OV. ’ Є¦Ґ д®а¬Ёаговбп ЇаЁ§­ ЄЁ
‘ - ЇҐаҐЇ®«­Ґ­ЁҐ ў ЎҐ§§­ Є®ўле ®ЇҐа жЁпе, ЇҐаҐ­®б Ё«Ё § Ґ¬,
P - ЇаЁ§­ Є зҐв­®бвЁ Є®¤  १г«мв в .
Ќ“‹њ १г«мв в  ў  ЄЄг¬г«пв®аҐ Є®­ва®«ЁагҐвбп ­ҐЇ®б।б⢥­­®
Є®¬ ­¤ ¬Ё ўҐвў«Ґ­Ёп.

2. „ў®Ёз­л© Є®¤ = 楫®Ґ ЎҐ§ §­ Є  ў д®а¬ вҐ Ў ©в 

anl a,#44h ;«®ЈЁзҐбЄ®Ґ € c HEX-Є®­бв ­в®©,
orl a,#25 ;«®ЈЁзҐбЄ®Ґ €‹€ б ¤ҐбпвЁз­®© Є®­бв ­в®©,
xrl  ,#'2s' ;ЁбЄ«оз о饥 €‹€ c ASCII-Є®¤®¬,
cpl a ; Ё­ўҐавЁа®ў ­ЁҐ
rl a ;б¤ўЁЈ жЁЄ«ЁзҐбЄЁ© Є®¤  ў«Ґў® ў  ЄЄг¬г«пв®аҐ,
rr a ;б¤ўЁЈ жЁЄ«ЁзҐЄЁ© Є®¤  ўЇа ў® ў  ЄЄг¬г«пв®аҐ.
rlб a ;б¤ўЁЈ  ЄЄг¬г«пв®а (a) ў«Ґў® б ЇаЁ§­ Є®¬ ‘ жЁЄ«ЁзҐбЄЁ©,
rrc a ;б¤ўЁЈ  ЄЄг¬г«пв®а (a) ўЇа ў® б ЇаЁ§­ Є®¬ ‘ жЁЄ«ЁзҐбЄЁ©,

mul ab ;a*b->ba Їа®Ё§ўҐ¤Ґ­ЁҐ Ў ©в®ў Ё§ ॣЁбва®ў (a) Ё (b)
;б®еа ­Ёвм ў ॣЁбва е (ba)
div ab ;a/b->a,b a - з бв­®Ґ, b - ®бв в®Є

3. „ў®Ёз­®-¤ҐбпвЁз­®Ґ 楫®Ґ ЎҐ§ §­ Є  ў д®а¬ вҐ Ў ©в 

Ћб­®ў­®Ґ ЇаЁ¬Ґ­Ґ­ЁҐ - ЇаҐ®Ўа §®ў ­ЁҐ Ё§ ¤ҐбпвЁз­®© бЁбвҐ¬л ў
¤ў®Ёз­го ЇаЁ ўў®¤Ґ, Ё§ ¤ў®Ёз­®© ў ¤ҐбпвЁз­го ЇаЁ ўлў®¤Ґ.
‚ ЇаҐ®Ўа §®ў ­Ёпе ЁбЇ®«м§говбп  аЁд¬ҐвЁзҐбЄЁҐ ®ЇҐа жЁЁ б«®¦Ґ­Ёп
¤ў®Ёз­®-¤ҐбпвЁз­ле Є®¤®ў, ў Є®в®але ЇаЁ¬Ґ­пҐвбп ¤ў®Ёз­®Ґ б«®¦Ґ­ЁҐ
б Є®а४樥© - Є®¬ ­¤  da a.

4. Ѓг«ҐўбЄЁ© вЁЇ - ЎЁв,
ЎЁвл ®ЎкҐ¤Ё­повбп ў ¤ў®Ёз­лҐ Є®¤л, Ї®«п Ё ॣЁбвал.
Љ®¬ЇЁ«пв®а ўл¤Ґ«пҐв ᥣ¬Ґ­в 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 ;®зЁбвЁвм ЎЁв


2.3. ‘ Ё б в Ґ ¬   Є ® ¬   ­ ¤ MCS51

------------------------------- -----------------------------
ЂpЁд¬ҐвЁЄ  Ё «®ЈЁЄ  ЏҐpҐбл«ЄЁ
------------------------------- ----------------------------
add a,{ri,@rj,#d,ad} mov a,{ri,@rj,#d,ad}
addc a,{ ...........} mov {ri,@rj},a
subb a,{............} mov {ri,@rj},ad
inc {ri,@rj,ad,dptr,a} mov ad,{ri,@rj,#d,ad,a}
dec {ri,@rj,ad,a} mov {ri,@rj},#d
mul ab mov dptr,#d16
div ab movc a,@a+dptr
movc a,@a+pc
anl a,{ri,@rj,#d,ad} movx a,{@rj,@dptr}
anl ad,{#d,a} movx {@rj,@dptr},a
push ad
orl a,{ri,@rj,#d,ad} pop ad
orl ad,{#d,a} xch a,{ri,@rj,ad}
xrl a,{ri,@rj,#d,ad} xchd a,@rj
xrl ad,{#d,a} swap a
clr a ---------------------------------------
cpl a Є®¬ ­¤л Ўг«ҐўбЄ®Ј® Їа®жҐбб®а 
rl a
rlc a mov bit,c mov c,bit
rr a clr {c,bit} anl c,{bit,/bit}
rrc a cpl c orl c,{........}
da a setb {c,bit}

---------------------------------------------------------------------
“Їp ў«Ґ­ЁҐ Їp®Јp ¬¬®© Ё ўҐвў«Ґ­Ёп

ajmp ¬ҐвЄ  jb bit,¬ҐвЄ  djnz {ri,ad},¬ҐвЄ 
sjmp ¬ҐвЄ 
ljmp ¬ҐвЄ 
jmp @a+dptr jnb bit,¬ҐвЄ  cjne {ri,@rj},#d,¬ҐвЄ 
lcall ¬ҐвЄ  jbc bit,¬ҐвЄ  jz/jnz ¬ҐвЄ 
acall ¬ҐвЄ 
ret jc/jnc ¬ҐвЄ 
reti

----------------------------------------------------------------------
ЋЎ®§­ зҐ­Ёп ў ¬­Ґ¬®Є®¤ е:

#d - Є®­бв ­в 
ri= {r0,r1,...,r7} Ё¬п ॣЁбва  ў  ЄвЁў­®¬ Ў ­ЄҐ
@rj - Є®бўҐ­­ п  ¤аҐб жЁп Є ў­гв७­Ґ© IRAM, rj={r0,r1}
ad - Їаאַ©  ¤аҐб IRAM(00-7f),  ¤аҐб/Ё¬п SFR(80-FF)
bit - 00-7f  ¤pҐб ЎЁв  ў Ї®«Ґ ЎЁв®ў б®ў¬ҐйҐ­® б DATA(20-2F),
а §ап¤ бЇҐжЁ «м­®Ј® ॣЁбва  acc.5, psw.0, ... ,
Ё¬п ЎЁв  smod,sm0,.... бЇҐжЁ «м­®Ј® ॣЁбва 
/bit - Ё­ўҐpбЁп ЎЁв 
-----------------------------------------------------------------------

2.4. ‚Ёавг «м­л© Ў«®Є ®Ўа Ў®вЄЁ ¤ ­­ле

ЂбᥬЎ«Ґа - ва ¤ЁжЁ®­­®Ґ бЁ¬ў®«ЁзҐбЄ®Ґ (ўЁавг «м­®Ґ) ®ЇЁб ­ЁҐ
аҐбгаб®ў ¬ЁЄа®Є®¬ЇмовҐа  . CЁб⥬  Є®¬ ­¤ ЇаҐ¤бв ў«Ґ­  бЁ¬ў®«ЁзҐб-
ЄЁ¬Ё Ё¬Ґ­ ¬Ё б Ї а ¬Ґва ¬Ё. „«п Ї®ўл襭Ёп га®ў­п Їа®Ја ¬¬Ёа®ў ­Ёп,
а биЁаҐ­Ёп ¤Ё Ї §®­  §­ зҐ­Ё© - в®з­®бвЁ ўлзЁб«Ґ­Ё©
ЁбЇ®«м§говбп ¬ Єа®Є®¬ ­¤л, Є®в®алҐ Ї®§ў®«пов бЄ®­бвагЁа®ў вм
ўЁавг «м­л© 16-а §ап¤­л© Ў«®Є ®Ўа Ў®вЄЁ ¤ ­­ле.

1. ђҐЈЁбва®ў п Ї ¬пвм - б®ў¬ҐйҐ­л б®Ўб⢥­­лҐ 8-а §ап¤­лҐ
ॣЁбвал 0 Ў ­Є  Њ‘S51, зҐвлॠ16-а §ап¤­ле Ё
¤ў  32-а §ап¤­ле ॣЁбва .

‡ аҐ§ҐаўЁа®ў ­л:
ЪДДДДДДДДВДДДДДДДДї
і r0 r1 і r2 r3 і
ГДДДДДДДДЕДДДДДДДДґ
і w0 і w1 і w0 equ 0 ;бв аиЁ© Ў ©в 00, ¬« ¤иЁ© 01
ГДДДДДДДДБДДДДДДДДґ w1 equ 2 ;бв аиЁ© Ў ©в 02, ¬« ¤иЁ© 03
і d0 і d0 equ 0 ;бв аиЁ© Ў ©в 00, ...¬« ¤иЁ© 03
ГДДДДДДДДВДДДДДДДДґ
і r4 r5 і r6 r7 і
ГДДДДДДДДЕДДДДДДДДі w2 equ 4
і w2 і w3 і w3 equ 6
ГДДДДДДДДБДДДДДДДДґ d1 equ 4
і d1 і
ГДДДДДДДДДДДДДДДДДЩ


2. ‚­гв७­пп Ї ¬пвм ¤ ­­ле RAM.

„®бвгЇ Є ¤ ­­л¬:
- ®Ўа йҐ­ЁҐ Є 16-а §ап¤­л¬ ¤ ­­л¬ б Їаאַ©  ¤аҐб жЁҐ©
ўЁавг «м­л¬Ё Є®¬ ­¤ ¬Ё,  ¤аҐб  0-7fh

mov_w y,x ; wx->wy, x,y - Ё¬Ґ­  ( ¤аҐб )
;бв аиЁе Ў ©в®ў

- ®Ўа йҐ­ЁҐ Є 32-а §ап¤­л¬ ¤ ­­л¬ б Їаאַ©  ¤аҐб жЁҐ©
ўЁавг «м­л¬Ё Є®¬ ­¤ ¬Ё,  ¤аҐб  0-7fh

mov_d y,x ; dx->dy, x,y - Ё¬Ґ­  ( ¤аҐб )
;бв аиЁе Ў ©в®ў

- mov_c y,#x § ЇЁбм Є®­бв ­вл ў б«®ў® #x->wy зҐаҐ§ dptr

3. ‚­Ґи­пп Ї ¬пвм ¤ ­­ле XDATA c ¤®бвгЇ®¬ Є Ў ©в ¬ Ё б«®ў ¬

- Є®бўҐ­­л© ўЁавг «м­л© ¤®бвгЇ Є Ў ©в ¬ c  ўв®Ё­¤ҐЄб жЁҐ©

movb_rx x,y ;XDATA(@y)->x
;x-Ў ©в ў ᥣ¬Ґ­вҐ DATA
;y- ¤ўгеЎ ©в®ўл©  ¤аҐб ў ᥣ¬Ґ­вҐ DATA,
;y+1 Ї®б«Ґ ®Ўа йҐ­Ёп
movb_xr x,y ;x->XDATA(@y)


- Їаאַ© ўЁавг «м­л© ¤®бвгЇ Є 16-а §ап¤­л¬ б«®ў ¬ б
 ўв®Ё­¤ҐЄб жЁҐ©

movw_rx x,y ;y+2 Ї®б«Ґ ®Ўа йҐ­Ёп
;x,y -2Ў ©в®ўлҐ ॣЁбвал ў DATA
movw_xr x,y ;y+2 Ї®б«Ґ ®Ўа йҐ­Ёп

4. Џа®Ја ¬¬­ п Ї ¬пвм

ўЁавг «м­лҐ Є®¬ ­¤л:
tabb z,x,y ;ўлЎа вм Ў ©в Ё§ в Ў«Ёжл z=x(y), z-п祩Є  IRAM,
;y-п祩Є  IRAM, x-Ё¬п в Ў«Ёжл ў XRAM

tabw z,x,y ;ўлЎа вм б«®ў® Ё§ в Ў«Ёжл z=x(y), z-п祩Є  IRAM,
;y-п祩Є  IRAM, x-Ё¬п в Ў«Ёжл ў XRAM

seg data
z ds 1
y ds 1
zz ds 2

SEG CODE
jmp start ;®Ўе®¤ ЎЁЎ«Ё®вҐЄЁ Ї®¤Їа®Ја ¬¬ Ё в Ў«Ёж
tab_w dw 01,124,355,466 ;в Ў«Ёж  Є®­бв ­в
tab_b db 05,20h,'abcd'

start: tabb z,tab_b,y
tabw zz,tab_w,y

5. ‚Ёавг «м­лҐ б।бвў  ®Ўа Ў®вЄЁ ¤ ­­ле - ¬ Єа®Є®¬ ­¤л б
Ї а ¬Ґва ¬Ё, ­Ґпў­® ЁбЇ®«м§гов ॣЁбвал r0-r7,w0-w3,d0-d1
Ї а ¬Ґвал x,y,z - ॣЁбвал ў­гв७­Ґ© Ї ¬пвЁ б Їаאַ©
 ¤аҐб жЁҐ© 0-7fh

; 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

----------------------------------------------------------------------
‡ ¤ ­ЁҐ 1. ђ §а Ў®в вм ¬ Єа®Є®¬ ­¤л Ё вҐбв®ўлҐ ЇаЁ¬Ґал


2.5. “Їа ў«Ґ­ЁҐ ЇаҐалў ­Ёп¬Ё.

ЏаЁ­жЁЇ а Ў®вл бЁбвҐ¬л ЇаҐалў ­Ёп:
1) ‚ Є®­жҐ ⥪г饩 Є®¬ ­¤л ®Їа иЁў овбп ॣЁбвал § Їа®б®ў Ё
ўлЎЁа Ґвбп ­ ЁЎ®«ҐҐ ЇаЁ®аЁвҐв­л© Ё§ § аҐЈҐбваЁа®ў ­ле бЁЈ­ «®ў Ё
а §аҐиҐ­­ле ¬ бЄ®©.
2) ”®а¬ЁагҐвбп  ¤аҐб-ўҐЄв®а в Ў«Ёжл ўҐЄв®а®ў ЇаҐалў ­Ё© ў  ¤аҐб е
0000-00ff ᥣ¬Ґ­в  CODE
3) ЏҐаҐ¤ Ґвбп гЇа ў«Ґ­ЁҐ Ї®  ¤аҐбг-ўҐЄв®аг б б®еа ­Ґ­ЁҐ¬ ⥪г饣®
Їа®Ја ¬¬­®Ј® бзҐвзЁЄ  ў б⥪Ґ, ЇаЁ н⮬ § ЇаҐй овбп ўбҐ ЇаҐалў ­Ёп
¤® § ўҐа襭Ёп Їа®Ја ¬¬л ®Ўа Ў®вЄЁ ⥪г饣® ЇаҐалў ­Ёп.
4) Џа®Ја ¬¬  ®Ўа Ў®вЄЁ § ўҐаи Ґвбп Є®¬ ­¤®© RETI,
Є®в®а п ў®§ўа й Ґв гЇа ў«Ґ­ЁҐ ЇаҐаў ­­®© Їа®Ја ¬¬Ґ Ё Єа®¬Ґ
в®Ј® а §аҐи Ґв ЇаҐалў ­Ёп Ё бЎа блў Ґв ­ҐЄ®в®алҐ ЎЁвл § Їа®б®ў
ЇаҐалў ­Ё© - ®бв «м­лҐ ЎЁвл бЎа блў овбп Їа®Ја ¬¬­®.

ЃЁвл гЇа ў«Ґ­Ёп ЇаҐалў ­Ёп¬Ё ¤®бвгЇ­л Ї® Ё¬Ґ­ ¬ Ё ЇаЁўҐ¤Ґ­л
ў в Ў«ЁжҐ ў¬ҐбвҐ б ўҐЄв®а ¬Ё Ё ®Ў®§­ зҐ­ЁҐ¬ ЇаЁ®аЁвҐв :

ЪДДДДДДДДДДДДВДДДДДДДВДДДДДДДДДДВДДДДДДДВДДДДДДДДВДДДДДДДДВДДДДДДДДї
і ў­Ґи­ЁҐ івЁЇ і ЎЁв і ЎЁв і і ЇаЁ®аЁ-і  ¤аҐб- і
і ўе®¤л ібЁЈ­ « і ॣЁбва і ¬ бЄЁ і і вҐв Ai і ўҐЄв®а і
і 1 і 2 і 3 бЎаі 4 іip01 IPiі 6 і 7 і
ГДДДДДДДДДДДДЕДДДДДДДЕДДДДДДДДДДЕДДДДДДДЕДДДДДДДДЕДДДДДДДДЕДДДДДДДДґ
іp3.2 /int0 іit0 =\ і ie0 Ї і ex0 і 0 5 і 11 і 03 і
іp3.3 /int1 іit1 =\ і ie1 Ї і ex1 і 2 3 і 7 і 13h і
і і і tf0   і et0 і 1 4 і 9 і 0bh і
і і і tf1   і et1 і 3 2 і 5 і 1bh і
АДДДДДДДДДДДДБДДДДДДДБДДДДДДДДДДБДДДДДДДБДДДДДДДДБДДДДДДДДБДДДДДДДДЩ

1- ЎЁвл, ®Ў®§­ з ойЁҐ Є®­в Євл ЊЉЉ
2 - ЎЁвл, ўлЎЁа ойЁҐ вЁЇ бЁЈ­ «  (= L га®ўҐ­м, \ h/l да®­в,
/ l/h да®­в)
3 - ॣЁбваЁагҐ¬лҐ ЎЁвл бЁЈ­ «®ў ЇаҐалў ­Ё©, гЄ §лў Ґвбп
бЇ®б®Ў бЎа®б  a- ЇЇ а в­л© ЇаЁ ўе®¤Ґ ў ЇаҐалў ­ЁҐ,
Ї-Їа®Ја ¬¬­л© ЇаЁ § ўҐа襭ЁЁ ®Ўа Ў®вЄЁ
ЇаҐалў ­Ёп ЇҐаҐ¤ Є®¬ ­¤®© reti
…б«Ё ЎЁвл Є®­ва®«Ёаговбп ў ०Ё¬Ґ ®¦Ё¤ ­Ёп б Ї®б«Ґ¤го饩
Їа®Ја ¬¬­®© ®Ўа Ў®вЄ®© б®ЎлвЁп, в® Ё бЎа®б ®бгйҐбвў«пҐвбп
Їа®Ја ¬¬­®.
4 - ЎЁвл а §аҐиҐ­Ёп ॣЁбва жЁЁ ЇаҐалў ­Ё©.
5 - ip01-­®¬Ґа i ЎЁв  ў ॣЁбва е IP0(i).IP1(i), § ¤ ойЁе
га®ўҐ­м ЇаЁ®аЁвҐв , IPi- ЇаЁ®аЁвҐв ЇаЁ ®Їа®бҐ ­  ®¤­®¬
га®ў­Ґ ў®§а бв Ґв ®в бв аиЁе ЎЁв®ў i Є ¬« ¤иЁ¬.
6 - ­®¬Ґа  Ўб®«ов­®Ј® ЇаЁ®аЁвҐв  Ai=0,1, ..., 11 ў Ї®ап¤ЄҐ
㢥«ЁзҐ­Ёп ЇаЁ®аЁвҐв  ЇаЁ Ї®б«Ґ¤®ў вҐ«м­®¬ ®Їа®бҐ ­ 
®¤­®¬ га®ў­Ґ ЇаЁ®аЁвҐв®ў
7 -  ¤аҐб-ўҐЄв®а в Ў«Ёжл ЇаҐалў ­Ё© ў ᥣ¬Ґ­вҐ CODE.


”г­ЄжЁп ®Ўа Ў®вЄЁ ЇаҐалў ­Ёп
org < ¤аҐб-ўҐЄв®а>
name() /* Їа®Ја ¬¬  § ўҐаи Ґвбп RETI */
{...............}


2.1.5. ЏаЁ¬Ґал Їа®Ја ¬¬Ёа®ў ­Ёп

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

2. Џа®Ја ¬¬  ®Ўа Ў®вЄЁ ⥪бв®ўле ¤ ­­ле
( ў  бᥬЎ«ҐаҐ ¤®бвгЇҐ­ в®«мЄ® « вЁ­бЄЁ©
 «д ўЁв Ё бЇҐжЁ «м­лҐ бЁ¬ў®«л)

- Їа®Ја ¬¬  ­   бᥬЎ«ҐаҐ AVA51,
 «Ј®аЁв¬ ¤«п Ў®«ҐҐ нд䥪⨢­®© ॠ«Ё§ жЁЁ ¬®¦Ґв
Ўлвм ЇҐаҐб¬®в७

 «Ј®аЁв¬  бᥬЎ«Ґа
------------------------------------------------------------
seg data
unsigned char q[11]; q ds 11
unsigned char i; i ds 1

seg code
org 8000h
jmp start
char p[]="prog-ramma"; p db 'prog-ramma'
main()
{
start: mov r0,#11 mov dptr,#p
i=10; mov r1,q+10
{ if (p[i]!='-') m1: mov a,r0
q[i]=p[i]; movc a,@a+dptr
i--; } xrl a,#'-'
jz m2
movc a,@a+dptr
while (i>=0) mov @r1,a
m2: dec r1
} djnz r0,m1
jmp $
end


3. Џа®Ја ¬¬  гЇа ў«Ґ­Ёп ¤ЁбЄаҐв­®© бЁб⥬®©,  «Ј®аЁв¬
§ ¤ ­ Є®­Ґз­л¬  ўв®¬ в®¬ Њга .


ЪДДДДДї
x0 ЪДДДДДї x1 ЪДДБДДї і x1
ДДДД> 0/y0іДДДДДДДДДДДДДДД>1/y1 <ДДЩ
АДДДДД<ДДДДДДДДДї ЪДДВДДЩ
1 і і і
/x1x2 і і і
ЪДДДДДДДДДДЕДДДДДЩ і /x1/x2
і і і
і і і
ЪДДДvДї АДДДДДДЪДvДДДї
і2/y2 іДДДДДДДДДДДДДДД>3/y3 і
АДДДДДЩ 1 АДДДДДЩ


0,1,2,3 - б®бв®п­Ёп  ўв®¬ в ,
y0,y1,y2,y3 - гЇа ў«пойЁҐ бЁЈ­ «л,
x0 - бЁЈ­ « бЎа®б ,
x1,x2 - ўе®¤­лҐ бЁЈ­ «л, ®Ў®§­ з ойЁҐ б®бв®п­ЁҐ
®ЎкҐЄв  гЇа ў«Ґ­Ёп,

“а ў­Ґ­Ёп ЇҐаҐе®¤ /ўл室 

q0'/y0 = x0+q3
q1'/y1 = q0x1+q1x1
q2'/y2 = q1/x1x2
q3'/y3 = q1/x1/x2+q2

‘вагЄвга  Їа®Ја ¬¬л
- ўў®¤ §­ зҐ­Ё© x c Ї®ав  P1(0-2)
- ўлзЁб«Ґ­ЁҐ б«Ґ¤гойЁе б®бв®п­Ё© Q'=(Q,x)
- Ё§¬Ґ­Ґ­ЁҐ б®бв®п­Ёп Ё гЇа ў«Ґ­Ёп Q/y=Q'
- ўлў®¤ гЇа ў«Ґ­Ёп ў Ї®ав P1(3-6)

- Їа®Ја ¬¬  ­   бᥬЎ«ҐаҐ AVA51

;  «Ј®аЁв¬ ­  ‘€  бᥬЎ«Ґа
; --------------- --------------------------


seg bit
bit char x0,x1,x2;
bit char q0,q1,q2,q3; x0 ds 1
x1 ds 1
x2 ds 1
q0 ds 1 ;y0
q1 ds 1 ;y1
q2 ds 1 ;y2
q3 ds 1 ;y3
bit char q2_,q3_; q0_ ds 1
bit char q0_,q1_; q1_ ds 1
q2_ ds 1
q3_ ds 1

seg code
start:
/* ўў®¤ Ё§ Ї®ав  P1 */ mov p1,#0ffh
x0=P1_0; mov c,p1.0 mov x0,c
x1=P1_1; mov c,p1.1 mov x0,c
x2=P1_2; mov c,p1.0 mov x0,c
/* ўлзЁб«Ґ­ЁҐ §­ зҐ­Ёп б«Ґ¤го饣® б®бв®п­Ёп */
q0_= x0|q3; mov c,x0 orl c,q3 mov q0_,c
q1_= q0&x1|q1&x1; mov c,q0 anl c,x1 mov acc.0
mov c,q1 anl c,x1 orl c,acc.0
mov q1_,c
q2_= q1&~x1&x2; mov c,q1 anl c,/x1 anl c,x2 mov q2_,c
q3_= q1&~x1&~x2|q2; mov c,q1 anl c,/x1 anl c,/x2
orl c,q2 mov q3_,c
/* ўлў®¤ ў Ї®ав P1 Ё гбв ­®ўЄ  ⥪г饣® б®бв®п­Ёп */
q0=P1_3=q1_; mov c,q0_ mov q0,c mov P1.3,c
q1=P1_4=q1_; mov c,q1_ mov q1,c mov P1.4,c
q2=P1_5=q2_; mov c,q2_ mov q2,c mov P1.5,c
q3=P1_6=q3_; mov c,q3_ mov q3,c mov P1.6,c
goto start jmp start
/* ЎҐбЄ®­Ґз­л© жЁЄ« */ end

4. ‚лзЁб«Ґ­Ёп дг­ЄжЁЁ
sinx =x-x^3/3! +x^5/5!
 аЈг¬Ґ­в x ў а ¤Ё ­ е, x<=pi/2.
ЏаҐ®Ўа §®ў ­ЁҐ д®а¬г«л б гзҐв®¬ ¬ бив ЎЁа®ў ­Ёп x=mx*x
x(1-x^2/6(1-x^2/20))-> x/mx(mx-x*x/mx/mx/6(mx-x*x/20/mx))

- Їа®Ја ¬¬  ў ¬ Єа® бᥬЎ«ҐаҐ AVA51
 «Ј®аЁв¬ гв®з­пҐвбп ¤«п Є®­ЄаҐв­®Ј® ¬ бив Ў  mx=1000
x/mx(mx-x^2/mx/mx/6(mx-x^2/20/mx)) ->
-> x/1000(1000-x^2/20000((1000-x^2/20000)/300)
б гзҐв®¬ ¬ Єа®Є®¬ ­¤

;и Ј ЇбҐў¤®Є®¤ ¬ Єа® бᥬЎ«Ґа
------------------------------------------------------
seg data
;int x,sinx,mx x ds 2
cc ds 2
y ds 2

seg code

;m1 б⥪,ўў®¤ ;mov sp,#бб+2
;гбв ­®ўЄ  б⥪  вॡгҐвбп в®«мЄ® ў бЁ¬г«пв®аҐ
x=52; ; mov_c x,#52h trd2 x ;¤ҐбпвЁз­®Ґ зЁб«® #52
;ЇаҐ®Ўа §гҐвбп ў ¤ў®Ёз­®Ґ
;m2 d1=x^2 ;mov_w y,x mul_w y,x ;d1-Їа®Ё§ўҐ¤Ґ­ЁҐ
;m3 x2=d1/20000 ;mov_c y,#20000 div_w x2,y ;d1/y->x2
;m4 1000-x2 ;mov_c cc,#1000 subb_w cc,x2
;m5 d1=x2*[4] ;mul_w cc,x2 ; d1-Їа®Ё§ўҐ¤Ґ­ЁҐ
;m6 y= d1/300 ;mov_c cc,#300 div_w y,cc
;m7 1000-y ;mov_c cc,#1000 subo_w cc,y
;m8 x*[7] ;mul_w y,x ; d1-Їа®Ё§ўҐ¤Ґ­ЁҐ
;m9 y=[8]/1000 ;div_w y,cc
;m10 ўлў®¤ ; tr2d y ;१г«мв в ЇаҐ®Ўа §гҐвбп ў
;¤ҐбпвЁз­го бЁб⥬г бзЁб«Ґ­Ёп


2.2. Ља®бб-б।бвў  Їа®Ја ¬¬Ёа®ў ­Ёп.

Ља®бб б।бвў  AVOCET ॠ«Ё§®ў ­л ў „Ћ‘, ў бЁ¬г«пв®аҐ AVSIM51
¤«п бЁ¬ў®«ЁзҐбЄ®© § Јаг§ЄЁ ¬®¦­® ЁбЇ®«м§®ў вм в®«мЄ® १г«мв вл
AVA51.

2.2.1. ЂбᥬЎ«Ґа

ЋЇЁб ­ЁҐ  бᥬЎ«Ґа  Ё Їа ўЁ«  ®д®а¬«Ґ­Ёп Їа®Ја ¬¬
ЇаЁўҐ¤Ґ­л ў д ©«Ґ 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,
¤ЁаҐЄвЁўл бЁ¬г«пв®а  ў д ©«Ґ avsim51.hlp

ЏаЁ Є®¬ЇЁ«пжЁЁ д ©«  name.asm д®а¬Ёаговбп Їа®¬Ґ¦гв®з­лҐ
⥪бв®ўлҐ д ©«л
name.prn - «ЁбвЁ­Ј Є®¬ЇЁ«пжЁЁ
name.obj - ®ЎкҐЄв­л© ЎЁ­ а­л© д ©«,
name.hex - д ©« ¤«п § Јаг§ЄЁ.
Ља®¬Ґ в®Ј® д®а¬Ёаговбп д ©«л, ­Ґ®Ўе®¤Ё¬лҐ ЇаЁ бЁ¬ў®«ЁзҐбЄ®©
®в« ¤ЄҐ ў бЁ¬г«пв®аҐ.

‚ д ©«Ґ .prn ¬®¦­® ­ ©вЁ ®иЁЎЄЁ Ё а бЇаҐ¤Ґ«Ґ­ЁҐ Ї ¬пвЁ,
­Ґ®Ўе®¤Ё¬лҐ ЇаЁ ®в« ¤ЄҐ.

2.2.2. ‘Ё¬г«пв®а.

‚맮ў бЁ¬г«пв®а  AVOCET ў „Ћ‘ avsim51.exe [bla<д ©«>]
- ўлў®¤Ёвбп ®Є­® Ё ¬Ґ­о, § Јаг¦ Ґвбп .hex д ©«.

1) ESC ўлЎЁа Ґв ¬Ґ­о Ё«Ё гбв ­®ўЄг §­ зҐ­Ё© ­  нЄа ­Ґ.

ЊҐ­о ( бв५ЄЁ Ё«Ё «ЁвҐал ўлЎЁа ов Є®¬ ­¤л ¬Ґ­о )
ќЄа ­ (бв५Є ¬Ё ўлЎЁа Ґвбп Ў ©в ў ®Є­Ґ Ё Ё§¬Ґ­пҐвбп,
«оЎ®© ॣЁбва ¬®¦­® Ё­ЄаҐ¬Ґ­вЁа®ў вм Ё«Ё
¤ҐЄаҐ¬Ґ­вЁа®ў вм Є« ўЁи ¬Ё +/- )

Ќ  нЄа ­Ґ :
- ®Є­® ॠбᥬЎ«Ёа®ў ­­®Ј® Є®¬ ­¤­®Ј® д ©« , Є®¬ ­¤л
ўлЎЁа овбп Ї® §­ зҐ­Ёо Їа®Ја ¬¬­®Ј® бзҐвзЁЄ  PC,
Ё§¬Ґ­Ґ­ЁҐ «оЎ®Ј® §­ зҐ­Ёп ў ®Є­Ґ (+)-Ё­ЄаҐ¬Ґ­в,
(-) -¤ҐЄаҐ¬Ґ­в, ў ⮬ зЁб«Ґ Ё PC.

- ¤ў  ®Є­  ( 1,2 ) ¤«п ®в®Ўа ¦Ґ­Ёп ў­гв७­Ґ© Ї ¬пвЁ
¤ ­­ле -  ¤аҐб  ўлЎЁа овбп дг­ЄжЁҐ© DUMP,

- ॣЁбвал бЇҐжЁ «м­ле дг­ЄжЁ©
(acc,b,psw,p0,p1,p2,p3)

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 Їаאַ© Ё«Ё Є®бўҐ­­®©  ¤аҐб жЁҐ© ў® ў­гв७­Ґ© Ї ¬пвЁ
ў Ї®бв®п­­®© Ї ¬пвЁ ‘: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 - ўлЄ«о祭ЁҐ ва ббЁа®ўЄЁ ЇаЁ ЁбЇ®«­Ґ­ЁЁ
Ї®¤Їа®Ја ¬¬ ў Ї®и Ј®ў®¬ ०Ё¬Ґ

---------------------------------------------------------------
‡ ¤ ­Ёп:
1. ‚лЇ®«­Ёвм Ё­¤ЁўЁ¤г «м­лҐ § ¤ ­Ёп Ї® ®Ўа §ж ¬ ­   бᥬЎ«ҐаҐ
ђ §а Ў®в вм Їа®Ја ¬¬л Ё ЁбЇ®«­Ёвм ў ‘Ё¬г«пв®аҐ.


III. €§¬ҐаҐ­ЁҐ Ё Є®­ва®«м ўаҐ¬Ґ­­ле Ё­вҐаў «®ў.

€§¬ҐаҐ­ЁҐ Ё Є®­ва®«м ўаҐ¬Ґ­­ле Ё­вҐаў «®ў,
®ЎҐбЇҐзЁў овбп в ©¬Ґа ¬Ё ЊЉЉ: ’Њ0,’Њ1.

ђҐЈЁбва гЇа ў«Ґ­Ёп в ©¬Ґа ¬Ё

TMOD=gate1.c/t1.mod1.gate0.c/t0.mod0,

mod0=01 гбв ­ ў«Ёў Ґв ०Ё¬ 16-ЎЁв®ў®Ј® бзҐвзЁЄ ,

c/t=0 ўлЎЁа Ґв ¤«п § Ї®«­Ґ­Ёп ўаҐ¬Ґ­­®Ј® Ё­вҐаў « 
ў­гв७­оо з бв®вг f0/12,

gate0=1 а §аҐи Ґв § Ї®«­Ґ­ЁҐ Ї® ў­Ґи­Ґ¬г бЁЈ­ «г int0,
=0 ў­Ґи­Ё© бЁЈ­ « int0 ­Ґ гзЁвлў Ґвбп.

ЃЁв а §аҐиҐ­Ёп бзҐв  TR0/TR1.
ЃЁв ЇҐаҐЇ®«­Ґ­Ёп TF0/TF1 - § Їа®б  ЇаҐалў ­Ёп.

ЏаЁ¬Ґа д®а¬Ёа®ў ­Ёп § ¤Ґа¦ЄЁ 65 ¬б б Їа®Ја ¬¬­л¬ ®¦Ё¤ ­ЁҐ¬
ЇҐаҐЇ®«­Ґ­Ёп в ©¬Ґа :
wait()
{ TMOD=TMOD|01;
TH0=TL0=0;TF0=0;TR0=1; while (~TF0); TR0=0; }

€§¬ҐаҐ­ЁҐ Ї® ЇаҐалў ­Ёо Ї®§ў®«пҐв а биЁаЁвм ¤Ё Ї §®­ Ё§¬ҐаҐ­Ёп
Ё Є®­ва®«п Ё­вҐаў « , ®аЈ ­Ё§®ў вм Ё§¬ҐаҐ­Ёп Ї а ««Ґ«м­® б
ЁбЇ®«­Ґ­ЁҐ¬ ЇаЁЄ« ¤­ле Їа®Ја ¬¬.

-----------------------------------------------------------
‡ ¤ ­Ёп:

1. €§¬ҐаЁвм ўаҐ¬п ўлЇ®«­Ґ­Ёп Їа®Ја ¬¬л б ЁбЇ®«м§®ў ­ЁҐ¬ в ©¬Ґа 

- €­ЁжЁ «Ё§ жЁп в ©¬Ґа  ’Њ0, ­ з «® бзҐв , § ЇгбЄ Їа®Ја ¬¬л,
- § ўҐа襭ЁҐ бзҐв  ўаҐ¬Ґ­Ё ЇаЁ § ўҐа襭ЁЁ Їа®Ја ¬¬л,
а ббзЁв вм ॠ«м­го § ¤Ґа¦Єг - з бв®в  § Ї®«­Ґ­Ёп в ©¬Ґа 
11.059/12 ¬ѓж
- Ё§¬ҐаЁвм Їа®Ја ¬¬­го § ¤Ґа¦Єг Ё Ї®бва®Ёвм Ја дЁЄ а бзҐв 
Є®­бв ­вл жЁЄ«  § ¤Ґа¦ЄЁ.

2. ‘д®а¬Ёа®ў вм § ¤Ґа¦Єг ­  0.1-60 ᥪ㭤 Ї® ЇаҐалў ­Ёо TM0.





‹€’…ђЂ’“ђЂ.

1. ‘в иЁ­ ‚.‚. Ё ¤а. Џа®ҐЄвЁа®ў ­ЁҐ жЁда®ўле гбва®©бвў ­ 
®¤­®ЄаЁбв «м­ле ¬ЁЄа®Є®­ва®««Ґа е, Њ:ќ­ҐаЈ® в®¬Ё§¤ в,1990
2. ‹ЁЇ®ўЁжЄЁ© ѓ.Џ. Ё ¤а. Ћ¤­®ЄаЁбв «м­лҐ Њќ‚Њ. ‘Ґ¬Ґ©бвў® ЊЉ51.
’Ґе­ЁзҐбЄ®Ґ ®ЇЁб ­ЁҐ Ё агЄ®ў®¤бмў® Ї® ЇаЁ¬Ґ­Ґ­Ёо.M.1992
3. ЌҐа®¤  ‚.џ. Ё ¤а. Ћ¤­®ЄаЁбв «м­лҐ Њќ‚Њ MCS-51. ЂаеЁвҐЄвгал. M.1995
4. ѓаҐЎ­Ґў ‘Ґ¬Ґ©бвў® MCS-51. 1994
5. Њ.ѓгЄ ЂЇЇ а в­лҐ б।бвў  IBM PC (com-Ї®авл)
6. P.„ ­Є ­ Џа®дҐббЁ®­ «м­ п а Ў®в  ў MS-DOS (Їа®Ја ¬¬Ёа®ў ­ЁҐ com-Ї®ав®ў)
7. ЊҐв®¤ЁзҐбЄ®Ґ агЄ®ў®¤бвў® Ї® ЇаЁ¬Ґ­Ґ­Ёо ЊЉЉ SAB515/535,
- д ©«л SABM,SABA



Соседние файлы в папке методическое пособие к лабораторным работам