, , ! Lcbclan.ru , , , ,

:

:

̳


: 5.091504


: ̳


:


2007


1

1.1

1.2

1.3

2

2.1

2.2 ²

2.3

3

3.1 ²

3.2

3.3

4

5 ˳


, , , . .

, () - - , , ( ) .

̳ () - , , ( ).

, , . , , , , . .

, , , . .

-. . 3, . : , . ֳ


1.

1.1

, .

-

²

-

̲

-

̳ :

-. , , , .

- .

() , ², : , ' , ' , .

:

-  , ;

-  , , ;

-  , , ;

-  ;

-  , .

, , , .

, . , , ' , .

, .

, : , .

璺 .

,


1.2

8- AT90S8515-8PI Atmel 8 . :

. . . , . 4 , . ϳ , ( - ).

, , . , , 0. . , 0 .

, 3 , . , 3 .

5 .

AT90S8515-8PI .

AT90S8515-8PI:

, 4,0-6,0

, 8

ʳ - 32

, 8

, 512

, 512

UART, SPI

ʳ 28

ʳ 116

1.3

1.3.1.

1.3.1

: , , .

: ( ), , , , .


2

2.1

:

̳ AT 90S8515 Atmel, 2 5503 1 819, - ( ) 5 . estar BT-5S, - 4,5 , 220 . 117147 PST 529.

̳ AT 90S8515 8- RISC- . AT 90S8515 2.1.1.

 2

2.1.1 AT 90S8515

Classic, 16 , Flash ROM 2-8 , EEPROM 64-512 , SRAM 128-512 . 쒿 쒿 .

AVR- , ( 1.2 ).

:

-  ;

-  , ;

-  16- ;

-  .

:

-  S-;

- - .

, , :

-  Flash-' , ;

-  .

2.2 ²

-  ( OSC1) Q1, Q2, Q3, Q4. Q1, Q4. Q1 Q4. 2.2.1.

: OSC2/
CLKOUT
:   (PC+1):   (PC+2):   (PC):   (PC+1):   (PC+1):   (PC): Q1: Q4: Q3: Q2: Q4: Q3: Q2: Q1: Q2: Q3: Q4: Q1: OSC1: PC: Q4: Q3: Q2: Q1

2.2.1 - ij

Q1, Q2, Q3 Q4. . PC ( GOTO) .

PC Q1. , , IR Q1. Q1, Q2 Q4. Q2, Q4.


2.3

2.3.1.

2.3.1

SB1 , , , 39 (PA0) 1. VT1, 1, 1.1 .

PD5 ( 2 ). , VT2VT3, 1. R5, 䳿 . 39 SB1.


3

3.1 ²

- . . .

3.2.

3.2

90S8515 :

bigpause equ 100 ;

pause1 egu 15 ;

pause2 equ 50 ; ,

pause2 equ 50 ; ,

portA equ 05h ;

portB equ 06h ;

org 0h ; 100 0h

reset:

mov r31, 1Fh ;

out portB, r31 ; PB0, PB1, PB2, PB3, PB4 - , PB5, PB6 -

mov r31, 61h ; ,

out portB, r31 ; 5, 6

mov r31, bigpause ; r31

call pause ;

jmp start ;

start:

mov r31, 00000011b ; 1 . 1,

out portB, r31 ;

mov r31, 00001011b ; 3 . 1,

out portB, r31 ;

mov r31, 00001010b ; 0 . 0,

out portb, r31 ;

scan:

in r31, portB ;

test r31, 01000000b ;

jz left ; , left

test r31, 00100000b ;

jz right ; , right

jmp scan ; ,

left:

mov r30, 63h ; r30 ,

call stop ; stop

jmp start ; start

right:

mov r30, 69h ; r30 ,

call stop ; stop

jmp start ; start

; --------------------------------------------------------------------------------------------------

; stop, - (, )

; --------------------------------------------------------------------------------------------------

stop proc

mov r31, 00001000b ; 1 . 0,

out portB, r31 ;

mov r31, 00000000b ; 3 . 0,

out portB, r31 ;

mov r31, pause1 ; r31

call pause ; pause

mov r31, 00000100b ; 2 . 1,

out portB, r31 ;

mov r31, 00010100b 4 . 1,

out portB, r31 ;

mov r31, 00010101b ; 0 . 1,

out portB, r31 ;

mov r31, pause2 ; r31 ,

call pause ; pause

mov r31, 00010101b ; 2 . 0,

out portB, r31 ;

mov r31, 00010001b 4 . 0,

out portB, r31 ;

mov r31, 00000000b 0 . 0,

out portB, r31 ;

mov r31, pause1 ; r31 ,

call pause ; pause

out portB, r30 ;

mov r31, pause3 ; r31 ,

call pause ; pause

out portB, r30 ;

mov r31, pause3 ; r31 ,

call pause ; pause

mov r31, 61h ; r31 ,

out portB, r31 ;

mov r31, pause1 ; r31 ,

call pause ; pause

stop endp ;

; ----------------------------------------------------------------

; , r31

; ----------------------------------------------------------------

pause proc

d3:

mov r29, FFh ; r29 FFh

d2:

mov r28, FFh ; r28 FFh

d1:

sub r28, 1 ; r28

test r28, 2

jz d1

sub r29, 1 ; r29

test r29, 3

jz d2

sub r31, 1 ; r31

test r31, 4

jz d3

pause endp ;

end ;

, 3.2.1.

3.2.1

3.3

, , , , .

:

1.  .

2.  .

3.  .

4.  .

, , .

, .

: , .

³ , .

³ :

() .

() , .

, .

:

1. .

2. 񳺿 .

3. .

4. :

5. 1. :

6. (3.3.1)

7. :

8. ni ;

9. li - ;

10.  m .

11.  .

12.  :

13.  (3.3.2)

14.  :

15.  l ;

16.  e ;

17.  .

18.  .

19.  2. , .

20.  :

21.  (3.3.3)

22.  :

23.  - ;

24.  t , ().

25.  .

26.  3. .

27.  :

28.  (3.3.4)

29.  .


: . , , , , . , .


˳

1.  .. .. .. ̳ // .: 2004 24 .

2.  .

3.  / . . . . - . , 1984.

4.  . ., . ., . . / . - .:, 1986

5.  .. // .: , 1986.

6.  2.708-81 " ".



?