,,,
, . , .
AVR90S8515
ATMEL, . , AVR, RISC , , 8- . , Trondheim. , 1995 , Atmel. , Atmel .
10 10
1.
.
. |
. |
|
: |
10 |
10 |
|
1% |
|
|
1
|
|
|
2 - - |
|
|
4
2
|
|
|
+5 |
2. .
.1
.
-
.
.1.
.2. .
.3. .
AVR90S8515 - AVR90S8515
1.
- , .
- ( , /, / 80000, / 1 ( CTC1 / 1(TCCR1B), , / 1 , CS10, , , , ), ). (0 , 1 - ), (IMPULS_POLOGITELNAY , IMPULS_OTRICHATELNAY - ).
, IMPULS_POLOGITELNAY. PA0 / 1. / 1 ( 8000, 8 1± 1% ), 1. . 50 . PA0 , , / 1 - - bin16BCD5 ( - ). bin16BCD5, . ( ), 7 . , . ( D C) . .
-
- AVR- ( ) , . , ( ) . , , , .
- - (BCD-Binary-Coded Decimal).
BCD- - , 4- 8-4-2-1. . ( 3 : 0), - ( 7 : 4). BCD- . , BCD-
bin16bcd5 . , 16- ( 0 65535). , 5 . , , 10000, . 1000 . . . . , , .
3.
3.1
- AVR90S8515 Atmel.
- AVR90S8515:
AVR RISC -
120 ,
8 Flash , SPI , 1000 /
512 , SPI , 100000 /
512
32 x 8
32 /
16- 32-
2,7 6,0
- 0 8
: 125 , 8
8- 16- ( ) /
8, 9 10-
UART
: (idle) (power down)
(-40C...85C) (0C...70C)
40- PDIP 44- TQFP PLCC
AT90S8515 AVR RISC
( ) 8- AVR (AT90SXXX). , , 1 MIPS/. AVR 32 8- . 32 16- - . 4 . /. , . Flash SPI ( Flash SPI ( ) ( 12- ). 3,5 1 ( VCC =3 f=4 ). , , 50 . ) ( 12- ). 3,5 1 ( VCC =3 f=4 ). , , 50 .
3.1.1
XTAL1 XTAL2 (. )
( . 2 , ) , f=8
2
3.1.1.1
.
406 0.00001 ,
-
=0.00001*8000000=80
fBQ
3.2
5142
3.3
3224
3.4
2495 - . 2495 . 1.
1
2495
|
|
I=15 |
1.7 |
|
0.4 |
|
2.4 |
|
|
|
12 |
|
15 |
|
5(± 0.5) |
|
-60+85 ° |
4 .
, , , .
(d) , (t ) .. d=t . ( 1):
T=t *N
N , /1.
D =D t:
D t=T-Tx=N*t -Tx
Tx .
t (. .2) . , . D t (D t1 . .2) , , D t2 , . :
=N*t -(D t1-D t2)= N*t -D t1+D t2
P D t1 D t2 , [2, . 20]
5
- AVRSTUDIO 3.0
:
.include "8515def.inc".def fbinL=r22 ; , .def fbinH =r23 ; , .def tBCD0 =r23 ;BCD , 1
.def tBCD1 =r24 ;BCD , 3 2
.def tBCD2 =r25 ;BCD , 4
; :
; bit 0 -
;
;
; bit 1 -
;
; 0 -
;
; 1 -
;
; bit 2 -
; 0 - ( )
;
;
; 1 - ( )
;
;
; bit 3 -
;
;
; bit 4 -
;
;
; bit 5 -
;
;
; bit 6 -
;
;
.ORG 0
RJMP MET1
RJMP IMPULS
RJMP MET1
RJMP MET1
1:RJMP Prog
RJMP Prog
RJMP MET1
RJMP MET1
MET1:LDI R16,0x02
OUT SPH,R16;
LDI R16,0X10;
OUT SPL,R16
LDI R16,0B11100100
OUT DDRA,r16; b 0,1,3,4
; , 2,5,6,7
LDI R16,0B11111111;
OUT DDRC,R16; C
LDI R16,0B11111111;
OUT DDRD,R16; D
LDI R16,0B01000000 ;
OUT TIMSK,R16; T/C1
LDI R16,0B00000000;
OUT GIMSK,R16; INT0
LDI R16,0X1F ;
OUT OCR1AH,R16 ; - 8000
LDI R16,0X40
OUT OCR1AL,R16
LDI R16,0B00000000
OUT TCNT1L,R16
LDI R16,0B00001000 ;T/C1
OUT TCCR1B,R16 ;
LDI R16,0B10000000 ;
OUT SREG,R16
LDI R16,0X9
LDI R19,0X9 ;R19
; R16 ,
;
CLR R17
clr r22
OPROS_KEY_OF_INVERT: ;
SBIC PORTA,1 ;
RCALL IMPULS_POLOGITELNAY ; -
RCALL IMPULS_OTRICHATELNAY ; -
M2:
IMPULS_POLOGITELNAY:
SBI PORTA,2 ;
SBIC PORTA,0 ; PA0
RCALL IMPULS
SBIS PORTA,0 ; 1
RCALL IMPILS_1_TO_0; PA1, ,
M5:CPI R17,0xFF
BRCS M2 ; R17 ,
LDI R17,0XA; R17 10
RJMP M2;
Prog:INC R17 ;
CPI R17,0XA ;
BRCS M3 ; R17 10(DEX)( 10 )
INC R16 ; R17( R17>10)
BRBC 1,M3 ; R16
INC R18 ; R18(
;
M3:RETI ; R18(. ),R16(. )
IMPULS:
LDI R20, 0B00001001 ; T/C1
OUT TCCR1B,R20
RET
IMPILS_1_TO_0:
LDI R20,0B00000000 ; T/C1
OUT TCCR1B,R20
CPSE R16,R19 ;
RCALL TEST_OF_STOP_TC1 ; TEST_OF_STOP_TC1
SBIC PORTA,1 ;
RCALL IMPULS_POLOGITELNAY; -
RCALL IMPULS_OTRICHATELNAY ; -
RET
TEST_OF_STOP_TC1: ; ( T/C1
IN R21,TCCR1B ; )
ANDI R21,0B000000000 ; , bin16BCD5
BRNE ENDTEST_OF
RCALL bin16BCD5
ENDTEST_OF:
RET
M2OTR:
IMPULS_OTRICHATELNAY:
CBI PORTA,2 ;
SBIS PORTA,0 ; 0
RCALL IMPULS_OTR
SBIC PORTA,0
RCALL IMPILS_0_TO_1; PA1, ,
M5OTR:CPI R17,0xFF
BRCS M2OTR
LDI R17,0XA
RJMP M2OTR;
IMPULS_OTR:
;LDI R16,0X9
;LDI R17,0X0
LDI R20, 0B00001001 ; T/C1
OUT TCCR1B,R20
RET
IMPILS_0_TO_1:
LDI R20,0B00000000 ;T/C1
OUT TCCR1B,R20
CPSE R16,R19
RCALL TEST_OF_STOP_TC1_OTR
SBIC PORTA,1
RCALL IMPULS_POLOGITELNAY
RCALL IMPULS_OTRICHATELNAY
RET
TEST_OF_STOP_TC1_OTR:
IN R21,TCCR1B
ANDI R21,0B000000000
BRNE ENDTEST_OF_OTR
RCALL bin16BCD5
ENDTEST_OF_OTR:
RET
bin16BCD5: -
MOV R22,R16
MOV R23,R18
ldi tBCD2, -1
bin16BCD5_loop_1:
inc tBCD2;
subi fbinL, low(10000);
sbci fbinH, high(10000);
brsh bin16BCD5_loop_1;
subi fbinL, low(-10000)
sbci fbinH, high(-10000)
ldi tBCD1, -0x11
bin16BCD5_loop_2:
subi tBCD1, -0x10;
subi fbinL, low(1000);
sbci fbinH, high(1000);
brsh bin16BCD5_loop_2;
subi fbinL, low(-1000)
sbci fbinH, high(-1000)
bin16BCD5_loop_3:
inc tBCD1;
subi fbinL, low(100);
sbci fbinH, high(100);
brsh bin16BCD5_loop_3;
subi fbinL, -100
ldi tBCD0, -0x10
bin16BCD5_loop_4:
subi tBCD0, -0x10 ;
subi fbinL, 10;
brsh bin16BCD5_loop_4;
subi fbinL, -10;
add tBCD0, fbinL
LDI R16,0X9
LDI R17,0X0
ldi r18,0x0
LDI R27,0X0
WAIT_PRESS_KEY: ; ,
;
; :
;
; ,
SBRC R27,0
RJMP EXIT
SBIC PORTA,3 ;
RCALL FLASH_mC ; FLASH_mC
SBIC PORTA,4 ;
RCALL FLASH_C ; FLASH_C
RJMP WAIT_PRESS_KEY ;
;
SBIS PORTA,3 ;
RJMP EXIT
SBIC PORTA,4 ; ,
;
RJMP WAIT_PRESS_KEY
OUT PORTD,R23; D -
OUT PORTC,R24 ; C -
OUT TCNT1H,R18 ; NCNT1H (. T/C1)
OUT TCNT1L,R18 ; NCNT1L (. T/C1)
EXIT:RET
FLASH_mC:
SBI PORTA,5 ; ( )
CBI PORTA,6 ; ( )
CBI PORTA,7 ;
INC R27
RET
FLASH_C:
CBI PORTA,5 ; ( )
SBI PORTA,6 ; ( )
SBI PORTA,7 ;
INC R27
RET
Copyright (c) 2025 Stud-Baza.ru , , , .