--

:

: [1]   Word-104935.doc : 1











--



1.

2.

3. AT89C2051

4.

5.

6.

.



, . . . , , , , . . .

() , : , , .

. : , - ( , , ) , , , .

- -- .


1.


.

AT89C2051 "Atmel. 13-8/7-02. , , . . : , , . 18201. ".

, . , 12,0 15,0 , .

    1. 4
    2. ( )
    1. -


2.


. -- . 1.
















. 1. --

3. AT89C2051


AT89C2051 . Flash , MCS-51. Flash - 2 , - 128 . 15 /, 16- / , (UART) , , . Flash - 12 /. Flash . 12 15 6 5,5 3 . ( , , , / ) 5 1. 100 20 6 3 , . AT89C2051 .

U5 7805. , .

, . . . . , , .

AT89C2051 - 8- Flash


.2. AT89C2051


AT89C51 MCS-51, .. . INTEL INTEL , ( ) . ( ).

31 51 () MCS-51 (31 51, P0 P2 - 31 [,,...] = 51 - ). 80 , . 83,87 89 , , ( 1990- , ), 83 - ( - AT-XT), 87 - ( 100 ) . 89 - ( 10000 ) , . AT- ATMEL ( ATMEL). DS - Dallas, N- Intel, P-Philips... - ( ) , ( ) , . , ( UNIPRO).

.3. AT89C2051


4.


pp MPASM, p . MPASM Microchip MPLAB Microchip Technology.

p p p pp: * HEX - * LST - * ERR - pp * COD 16-p p p , p p. p pp p . pp pp, p p. p . p pp p "Assembly Successful", , p . .

.


5.


. 4. , , , . , .

" " . , . , - .

. , . . , "" , "". "", .

"" , . (. 5).

.

, . , . "", , . , .


. 4. ()

. 5. ()


. (.. ), .

, , N- . , : , , . (.. , ). , .

N-ro , . , , . " " .

: TMR0. 32 768 32, , 256, , 4, (4x32x256 = 32 768).


6.


18201 [1] 36- 3- . - 20- DIP-. , , ( ) ( ) 3- . 12 . , 36. 3 6 . 18201 1.


1. 18201.

1...3

COB1, COC3, COB3

1, 3, 3

4

CS

5

Ucc

-

6

GND

-

7

D

8...13

COA2, COB4, COB2, COA1, COC2, COC4

A2, B4, B2, A1, C2, C4

14

C

15

COA/G

( G)

16

COC/G

( G)

17

COB

18...20

COC1, COA3, COA4

B1, A3, A4


18201 : , , . 36- , . 36, - . D C (. 6).


. 6. 18201


, .


.7. .


. 7 , 2 .

2.

D0

COA1, COC/G

H1

D20

COB3, COC/G

D3

D1

COB1, COB

G1

D21

COA3,COB

C3

D2

COC1,COA/G

F1

D22

COA3, COA/G

B3

D3

COC1, COB

E1

D23

COB3, COA/G

A3

D4

COB1, COC/G

D1

D24

COA4, COC/G

H4

D5

COA1,COB

C1

D25

COB4, COB

G4

D6

COA1, COA/G

B1

D26

COC4,COA/G

F4

D7

COB1, COA/G

A1

D27

COC4, COB

E4

D8

COA2, COC/G

H2

D28

COB4, COC/G

D4

D9

COB2, COB

G2

D29

COA4,COB

C4

D10

COC2,COA/G

F2

D30

COA4, COA/G

B4

D11

COC2, COB

E2

D31

COB4, COA/G

A4

D12

COB2, COC/G

D2

D32

COC1, COC/G

P1

D13

COA2,COB

C2

D33

COC2, COC/G

P2

D14

COA2, COA/G

B2

D34

COC3, COC/G

P3

D15

COB2, COA/G

A2

D35

COC4, COC/G

P4

D16

COA3, COC/G

H3

D36

-

D17

COB3, COB

G3

D37

Q6

-

D18

COC3,COA/G

F3

D38

Q7

-

D19

COC3, COB

E3

D39

Q8

-


D0..D7 , D8..D15 - . . D32..D35 P1...P4. D36 . D37 D38 (Q6 Q7) 3. D39 (Q8) .

:

  • CS 0
  • -
  • : 0|0|1|1|P4|P3|P2|P1
  • CS 1


3.

D36 (Q7)

D37 (Q6)

COC/G

COA/G

1

1

0

1

1

0

-

-

0

0


40 . :

  • CS 0
  • 32 "
  • : 1|1|1|1|P4|P3|P2|P1 ( , COA/G . )
  • CS 1
  • CS " 0
  • 32
  • : 0|0|0|0||P4|P3|P2|P1 ( COA/G , COC/G - . COA/G , )
  • CS 1

- , : - . D39 , .

, 5. 3.3 - 4.0. , . TL431 . .

DS1302 Dallas. , . , " , . 31 , . . . Dallas, , 6 . .

DS1302 . CS RST. , DS1302 3- , . . , DS1307 I2C.

DS1821 Dallas. R11-R14, VD1-VD8, R10 . , , . . . , . , . , . . +55 , +99 .

8- . " 16- . . 8.

8.


AIN1 , , R2, R3 AIN0. C8 " . C9 , VT2, VD9, R6. C9 VT3. , P1.5 , VT3 , C9 . . , C9 ( R2, R3). , . , , . ( ) C9, , . , C9 , , 73-17. R6 , +B. 10. .

- . . . INA3010D SOIC. i-30. RC-5 - 1EH. , INA3010 (SAA3010) . , , . . .bin - . 7B8H - 7E3H . , ( ) ( ) 4.


4.

( )

( )

1

TIMER

0CH

00H

2

CLOCK

0DH

01H

3

ALARM

0EH

02H

4

LOCK

0FH

03H

5

7

08H

08H

6

8

09H

09H

7

9

0AH

0AH

8

LIST

10H

0BH

9

4

05H

10H

10

5

06H

11H

11

6

07H

12H

12

ESCAPE

11H

13H

13

ALARM DISABLE

14H

18H

14

TIMER CLEAR

13H

1AH

15

0

01H

20H

16

BACKSPACE

12H

22H

17

1

02H

28H

18

2

03H

29H

19

3

04H

2AH

20

ENTER

0BH

2BH


:

  • CLOCK -
  • ALARM -
  • ALARM DISABLE -
  • TIMER -
  • TIMER CLEAR -
  • LIST -
  • LOCK -
  • 0..9 -
  • ENTER -
  • ESCAPE -
  • BACKSPACE -

SFH-506 Siemens. , RC R15 C7.

, . HA1, VT1. .


. 9. Accel EDA.



- --. . . , .



1. .. VR - -, , 2007 - 352.

2. / .. [ .]. - .: , 1990. - 224 .

3. .. Microchip: /... - .: - , 2002. - 296 .

4. .. 10 AVR--. 1 - ., -1, -, 2008 - 224.

5. . , VR-: . - ., -, 2006 - 208.

6. . VR. /. . - ., -1, 2006 - 272.

7. AT89C2051 "Atmel. " -, , 2002.-184 .




; -- .

; = ABTO.ASM

; : 20-01-07.

; : MPLAB IDE, : 5.70.40.

LISTP=16F676

#INCLUDE P16F676.INC

__CONFIG 31D0H

;==============================================

; 32768 .

; 32,

; TMR0 (256) , 4

; 1 (432256=32768).

;==============================================

; RA1 - - , RA2 - - ,

; RA3 - ,

; RC5 - LOAD, RC3 - DIN,

; RC4 - DCLK

;===========================================

CBLOCK H'20'

;===========================================

; .

;===========================================

HOU; .

CL; .

CH; .

ML; .

MH; .

HL; .

HH; .

TCL; .

TCH;

TML;

TMH;

THL;

THH;

;===============================================

; .

;===============================================

ZPT; .

TZPT; .

COUZ; .

COU; .

KYPC; .

KYPCI;.

PEID; .

TEMP;.

EDI ; .

DEI ; .

COI ; .

;================================================

; .

;================================================

WTEMP; W .

STEMP; STATUS .

FTEMP; FSR.

TEKH;

EDA;

DEA;

YCTL;

YCTLI;

;===========================================

; .

;===========================================

FLAG

;

;0-> .

;1-> .

;2-> .

;3-> .

;4-> .

;5-> -.

;6-> .

;7-> .

;=============================================

FLAG1

;

;1-> 1 .

;2-> .

;4-> .

;5-> 1 .

;===========================================

ENDC

;===========================================

; .

;===========================================

R1EQU50H; .

R2EQU51H;

R3EQU52H;

R4EQU53H;

R5EQU54H;

R6EQU55H;

R7EQU56H;

R8EQU57H; .

TEKLEQU58H;

;===========================================

; /.

;===========================================

YCEQU1;/.

KYEQU2;/.

LOADEQU5;.

DINEQU3;.

DCLKEQU4;.

;===========================================

; 1. .

;===========================================

ORG0

GOTOINIT

ORG4

GOTOPRER

;===========================================

; 2. .

;===========================================

INIT

BSFSTATUS,5; 1.

MOVLW0FFH;

MOVWFADCON1^80H ; 500 .

MOVLWB'00000100';=32.

MOVWFOPTION_REG^80H ; .

MOVLWB'10100000' ; TMR0.

MOVWFINTCON ;

CLRFPIE1^80H ; .

MOVLWB'00001111' ; . 0 - .

MOVWFTRISA^80H ;

CLRFTRISC^80H ; .

CLRFVRCON^80H ; .

CLRFPCON^80H ; .

MOVLWB'00000110' ;

MOVWFWPUA^80H ; .

CLRFIOCA^80H ; .

MOVLW.1

MOVWFANSEL^80H ; RA0/AN0.

BCFSTATUS,5 ; 0.

CLRFPORTC ; .

CLRFT1CON ; 1 .

MOVLW.7

MOVWFCMCON ; .

CLRFFLAG ; .

CLRFFLAG1

CLRFEDI

CLRFDEI

CLRFCOI

CLRFCL

CLRFCH

CLRFML

CLRFMH

CLRFHL

CLRFHH

CLRFTCL

CLRFTCH

CLRFTML

CLRFTMH

CLRFTHL

CLRFTHH

CLRFPEID

CLRFZPT

CLRFCOUZ

CLRFCOU

CLRFHOU

MOVLW96H

MOVWFYCTL; = 15,0 B.

MOVLW78H

MOVWFYCTLI; = 12,0 B.

CLRFKYPC

BSFFLAG,4

GOTOPAC

;==========================================

; 3. .

;==========================================

SEG

;D E G F A B C K

ADDWFPCL,1;

RETLWB'11011110';0

RETLWB'00000110';1

RETLWB'11101100';2

RETLWB'10101110';3

RETLWB'00110110';4

RETLWB'10111010';5

RETLWB'11111010';6

RETLWB'00001110';7

RETLWB'11111110';8

RETLWB'10111110';9

RETLWB'00000000';10-> .

RETLWB'00100000';11-> .

RETLWB'10000000';12-> .

;=================================================

; 4. .

;=================================================

KYPCY

MOVFWKYPC;

ADDWFPCL,1;

RETURN; .

RETLWB'00000100';3

RETLWB'00001000';4

RETLWB'00010000';5

RETLWB'00100000';6

RETLWB'01000000';7

;===================================================

; 5. .

;===================================================

VUBOR

MOVFWPEID; .

ADDWFPCL,1;

GOTOINDH; .

GOTOINDT;.

GOTOINDU;.

;======================================================

; 6. .

;======================================================

YCT

BTFSCPORTA,YC; "" ,

RETURN

MOVFWKYPC;

ADDWFPCL,1; .

RETURN; .

GOTOYC0;.

GOTOYC1; .

GOTOYCE;.

GOTOYC2;.

GOTOYC3; .

;=====================================================

; 7. .

;=====================================================

DEBIN

ADDWFPCL,1;

RETLW.0

RETLW.10

RETLW.20

RETLW.30

RETLW.40

RETLW.50

RETLW.60

RETLW.70

RETLW.80

RETLW.90

;======================================================

; 8. .

;======================================================

KHOP

BTFSSFLAG,1; ,

GOTO$+5; .

BTFSSPORTA,KY;

CALLKYPCOP; .

BTFSCFLAG,7; ,

GOTOVUBOR; .

BTFSCPORTA,YC; "" ,

GOTOVUBOR; .

INCFPEID,1; .

MOVLW.3;3 .

SUBWFPEID,0; ,

BTFSSSTATUS,2; .

GOTOVUBOR; .

CLRFPEID; .

GOTOVUBOR; .

RETURN

;=================================================

; 9. ( ).

;=================================================

KYPCOP

BSFFLAG,7;.

BCFFLAG,4; .

INCFKYPC,1; .

MOVLW.6; 5.

SUBWFKYPC,0;

SKPC; 6,

RETURN;

CLRFKYPC;.

BSFFLAG,4; .

BCFFLAG,7; .

RETURN;

;=========================================

; 10. . .

;=========================================

KYPVO

BTFSCFLAG,4; ,

RETURN; .

CALLKYPCY; .

MOVWFKYPCI; .

RRFKYPCI,1; "".

ADDCFR1,1; .

RRFKYPCI,1; "".

ADDCFR2,1; .

RRFKYPCI,1;

ADDCFR3,1; .

RRFKYPCI,1;

ADDCFR4,1;

RRFKYPCI,1;

ADDCFR5,1;

RRFKYPCI,1;

ADDCFR6,1;

RRFKYPCI,1;

ADDCFR7,1;

RRFKYPCI,1;

ADDCFR8,1;

RETURN;

;=============================================

; 11. .

;=============================================

IND

CALLKYPVO; .

MOVFWZPT;

MOVWFTZPT; .

BSFFLAG1,2; .

BCFPORTC,DIN; .

BCFPORTC,LOAD; (LOAD=0).

RRFTZPT,1; .

CALLVUV0;

BCFFLAG1,2; .

MOVLWR1; .

MOVWFFSR;

MOVFWINDF;

MOVWFTEMP; .

BCFPORTC,LOAD; (LOAD=0).

CALLVUVOD; .

POVT

BSFFLAG1,2; .

RRFTZPT,1; .

CALLVUV0;

BCFFLAG1,2; .

INCFFSR,1; .

MOVFWINDF;

MOVWFTEMP; .

CALLVUVOD; .

INCFCOUZ,1;

MOVLW.7;

SUBWFCOUZ,0;.

BTFSCSTATUS,2;

CLRFCOUZ; .

BTFSSSTATUS,2;

GOTOPOVT; .

BSFPORTC,LOAD; .

RETURN;

CUNX

BSFPORTC,DCLK; = 1.

CALLPAUS;.

BCFPORTC,DCLK; = 0.

RETURN;.

PAUS

MOVLW .5; .

ADDLW -1; = 4 .

BTFSS STATUS,2;

GOTO $-2;.

RETURN;.

VUVOD

RRFTEMP,1; .

VUV0

BTFSSSTATUS,0;

BCFPORTC,DIN;

BTFSCSTATUS,0; 0 1.

BSFPORTC,DIN;

CALLCUNX; .

BTFSCFLAG1,2; ,

RETURN; .

INCFCOU,1; .

MOVLW.8;

SUBWFCOU,0;

BTFSSSTATUS,2; ,

GOTOVUVOD; .

CLRFCOU; .

RETURN;

;======================================================

; 12. .

;======================================================

PRER

MOVWFWTEMP; W,

MOVFWSTATUS;STATUS,

MOVWFSTEMP;

MOVFWFSR;FSR.

MOVWFFTEMP;

BSFFLAG1,1;1 .

CALLS1; .

BTFSCFLAG,2;

CALLTAIM;

REPER ; .

MOVFWSTEMP; :

MOVWFSTATUS;STATUS,

MOVFWFTEMP;

MOVWFFSR;FSR,

MOVFWWTEMP;W.

BCFINTCON,2; TMR0.

RETFIE; .

;=============================================

; 13. .

;=============================================

S1

BTFSCFLAG1,5;

GOTO$+8;

BTFSSFLAG1,4;

GOTO$+6;

BTFSCPORTC,0; .

GOTO$+3;

BSFPORTC,0; .

GOTO$+2;

BCFPORTC,0;

MOVLW.9; 9 ,

SUBWFCL,0;

BCSH; .

INCFCL,1; .

RETURN

SH

CLRFCL; .

MOVFWCH;

ADDLW-5H; 5,

BZMIL; .

INCFCH,1; .

RETURN

MIL

CLRFCH; .

MOVFWML;

ADDLW-9H; 9,

BZMIH; .

INCFML,1; .

RETURN

MIH

BSFFLAG1,4; 10 .

BCFFLAG,7; .

CLRFKYPC; .

CLRFML; .

MOVFWMH;

ADDLW-5H; 5,

BZHOL; .

INCFMH,1; .

RETURN

HOL

BCFFLAG1,5; .

CLRFMH; .

MOVFWHH;

ADDLW-2H; 2,

BZHL4; .

MOVFWHL; 9,

ADDLW-9H;

BZ$+3; .

INCFHL,1; .

RETURN

CLRFHL;

INCFHH,1;

RETURN

HL4

MOVFWHL;

ADDLW-3H; 3,

BZHOH; .

INCFHL,1; .

RETURN

HOH

CLRFHL;

CLRF HH; .

RETURN;

;=============================================

; 14. .

;=============================================

TAIM

BSFFLAG,5; .

MOVLW.9; 9 ,

SUBWFTCL,0;

BC$+3; .

INCFTCL,1; .

RETURN

CLRFTCL; .

MOVFWTCH;

ADDLW-5H; 5,

BZ$+3; .

INCFTCH,1; .

RETURN

CLRFTCH; .

MOVFWTML;

ADDLW-9H; 9,

BZ$+3; .

INCFTML,1; .

RETURN

CLRFTML; .

MOVFWTMH;

ADDLW-5H; 5,

BZ$+3; .

INCFTMH,1; .

RETURN

CLRFTMH; .

MOVFWTHL; 9,

ADDLW-9H;

BZ$+3; .

INCFTHL,1; .

RETURN

CLRFTHL; .

MOVFWTHH; 9,

ADDLW-9H;

BZ$+3;.

INCFTHH,1; .

RETURN

CLRFTHH;

RETURN

T00

BTFSSFLAG,5;

GOTO$+4;

BCFFLAG,2; .

BCFFLAG,5; .

RETURN;

CLRFTCL; .

CLRFTCH;

CLRFTML;

CLRFTMH;

CLRFTHL;

CLRFTHH;

BSFFLAG,2; .

RETURN

;===================================================

; 15. - ( ).

;===================================================

ADP

MOVLWB'10000001'; RC

MOVWFADCON0;, 0, (YBX).

CALLZAD;

BSFADCON0,1; .

BTFSCADCON0,1;

GOTO$-1 ;.

MOVFWADRESH ;

MOVWFTEKH; .

BSFSTATUS,5; 1.

MOVLW58;

MOVWFFSR;

MOVFWADRESL; .

MOVWFINDF; TEKL.

BCFSTATUS,5; 0.

CALLCOMPA;

GOTOBINDEC; 2_10 .

ZAD

MOVLW.5; 20 .

ADDLW-1;

BTFSSSTATUS,2;

GOTO$-2;

RETURN

;===========================

; 16. .

;===========================

COMPA

TSTFTEKL;

BTFSCSTATUS,2;

GOTOVUKL;

MOVFWYCTL; .

SUBWFTEKL,0;,

BTFSCSTATUS,0; ,

GOTOVUKL; .

MOVFWYCTLI; .

SUBWFTEKL,0;,

BTFSSSTATUS,0; ,

GOTOVUKL; .

BTFSCSTATUS,2; ,

GOTOVUKL; .

BCFFLAG1,4; .

BCFFLAG1,5; .

BCFPORTC,0; .

RETURN

VUKL

BTFSCPORTA,KY;

GOTO$+5;

BSFFLAG1,5; 1 .

BCFPORTC,0; .

BTFSCFLAG1,5; 1 , .

RETURN

BTFSCFLAG1,4; ,

RETURN; .

BSFPORTC,0; .

BSFFLAG1,4; .

RETURN

;======================================================

; 17. 16- 2- 5- 2-10-.

; 3

; . 1 3 (10=7+3),

; . 16 .

;======================================================

BINDEC

MOVLW .16 ;

MOVWF COU ; .

BIDE

BCF STATUS,0 ; "".

RLF TEKL,1 ;

RLF TEKH,1 ;

RLF EDA,1 ;

RLF DEA,1 ;.

DECFSZ COU,1 ; .

GOTO RASDEC ; .

GOTO MESTO ; , .

RASDEC

MOVLW EDA ;

MOVWF FSR ; .

CALL BCD ; 7.

MOVLW DEA ;

MOVWF FSR ; .

CALL BCD ;

GOTO BIDE ; .

BCD

MOVLW 3 ;0000 0011

ADDWF 0,0 ; 3

MOVWF TEMP ; .

BTFSC TEMP,3 ; 3 ,

MOVWF 0 ; .

MOVLW 30 ;48=0011 0000

ADDWF 0,0 ; 3

MOVWF TEMP ; .

BTFSC TEMP,7 ; ,

MOVWF 0 ; .

RETURN ; .

;======================================================

; 18. .

;======================================================

MESTO

MOVLWB'00001111';

ANDWFDEA,0; .

MOVWFCOI;

MOVLWB'11110000';

ANDWFEDA,0 ;

MOVWFDEI ;

SWAPFDEI,1 ;

MOVLWB'00001111';

ANDWFEDA,0;

MOVWFEDI;

CLRFEDA;

CLRFDEA;

RETURN;

;==================================================

; 19. .

;==================================================

INDH

BTFSCFLAG,7; ,

CALLYCT; .

MOVLW.10;.

CALLSEG; .

MOVWFR1;

MOVWFR2;

MOVWFR8;

BTFSSFLAG,6;

GOTO$+6;

MOVLW.11; .

CALLSEG;

MOVWFR5;

BCFFLAG,6;

GOTO$+5;

MOVLW.12; .

CALLSEG;

MOVWFR5;

BSFFLAG,6;

MOVFWML;

CALLSEG;

MOVWFR3;

MOVFWMH;

CALLSEG;

MOVWFR4;

MOVFWHL;

CALLSEG;

MOVWFR6;

MOVFWHH;

CALLSEG;

MOVWFR7;

BSFFLAG,1; .

CLRFZPT;

RETURN;

INDT

BTFSSPORTA,KY; ,

CALLT00; .

MOVFWTCL;

CALLSEG; .

MOVWFR1;

MOVFWTCH;

CALLSEG;

MOVWFR2;

MOVFWTML;

CALLSEG;

MOVWFR4;

MOVFWTMH;

CALLSEG;

MOVWFR5;

MOVLW.11;.

CALLSEG;

MOVWFR3;

MOVWFR6;

MOVFWTHL;

CALLSEG;

MOVWFR7;

MOVFWTHH;

CALLSEG;

MOVWFR8;

BCFFLAG,1; .

BCFFLAG,7; .

RETURN;

INDU

MOVLW.10;.

CALLSEG; .

MOVWFR1;

MOVWFR2;

MOVWFR3;

MOVWFR7;

MOVWFR8;

MOVFW COI;

CALLSEG;

MOVWFR6;

MOVFW DEI;

CALLSEG;

MOVWFR5;

MOVFW EDI;

CALLSEG;

MOVWFR4;

BSFZPT,4;

RETURN;

;===================================================

; 20. .

;===================================================

PAC

BTFSSFLAG1,1; 1 .

GOTO$-1;

CALLADP;

CALLKHOP; .

CALLIND; .

BCFFLAG1,1;

GOTOPAC;.

;=====================================================

; 21. .

;=====================================================

YC0

INCFML,1; .

MOVLW.10; 9.

SUBWFML,0;

SKPNC; 10,

CLRFML; .

RETURN

YC1

INCFMH,1; .

MOVLW.6; 5.

SUBWFMH,0;

SKPNC; 6,

CLRFMH; .

RETURN

YC2

INCFHL,1; .

MOVLW.10; 9.

SUBWFHL,0;

SKPNC;

CLRFHL; , .

MOVFWHH;

CALLDEBIN; .

ADDWFHL,0;

MOVWFHOU;

ADDLW-18H; - 24.

SKPC; 24,

RETURN

CLRFHOU;

CLRFHL;

CLRFHH; .

RETURN

YC3

INCFHH,1; .

MOVLW.3; 2.

SUBWFHH,0;

SKPNC;

CLRFHH; , .

MOVFWHH;

CALLDEBIN; .

ADDWFHL,0;

MOVWFHOU; .

ADDLW-18H;

SKPC; 24,

RETURN

CLRFHOU;

CLRFHL;

CLRFHH; .

RETURN;.

YCE

CLRFCL;.

CLRFCH;

CLRFML;

RETURN;

;=====================================================

END

;=====================================================


: 1