16- - , .
:
- 16- ( .. 16- ).
- .
- (OCR).
- .
- .
- ( ).
- - OCR ( ) ().
- .
- .
- .
- 10 (TOV1, OCF1A, OCF1B, OCF1C, ICF1, TOV3, OCF3A, OCF3B, OCF3C ICF3).
1 3 . n - (1 3), x (A,B C). . , - 1 TCNT1.
-. - (TCNTn, n=1 3), (OCRnA/B/C), a (ICRn) 16- . , (TCCRnA/B/C) 8- , , CPU - . (TIFR) (ETIFR). (TIMSK) (ETIMSK).
- , Tn. , -. , - . (clkTn).
(OCRnA/B/C) . OCnA/B/C. (OCFnA/B/C), .
- ( ) ICPn . ( ) . - OCRnA, ICRn . OCRnA , -. , , . , ICRn, OCRnA - .
|
|
. 16- - . :
, 16- -, .. .
16- , .. .
.
, :
PW Mn0 WG Mn0.
PW Mn1 WG Mn1.
CT Cn WG Mn2.
, 16- -:
- (TCCRnC).
, OCRnCH OCRnCL ( OCRnC).
16- -:
COM1C1, COM1C0 TCCR1A.
FOCnA, FOCnB FOCnC TCCRnC.
WGMn3 TCCRnB.
. .
16- . TCNTn, OCRnA/B/C ICRn 16-, , 8- AVR CPU . 16- 8- . , 16- . / 16- /. 16- , CPU , . 16- , CPU 16- .
16- . 16- OCRnA/B/C .
, 16- , , . 16- , , , .
, 16- . , . OCRnA/B/C ICRn.
|
|
. , . - -, IN, OUT, SBIS, SBIC, CBI SBI - LDS STS SBRS, SBRC, SBR, CBR.
TCNTn r17:r16. , 16- . 16- , , . , , 16- .
TCNTn . OCRnA/B/C ICRn.
TIM16_ReadTCNTn:; in r18,SREG; cli; TCNTn r17:r16in r16,TCNTnLin r17,TCNTnHout SREG,r18; ; retTCNTn r17:r16. TCNTn. OCRnA/B/C ICRn.
TIM16_WriteTCNTn:; in r18,SREG; cli; TCNTn r17:r16out TCNTnH,r17out TCNTnL,r16; out SREG,r18ret, TCNTn r17:r16.
-. - , . (CSn2:0), - (TCCRnB).
. 16- - 16- . 2.23 .
(. 2.23):
TCNTn 1.
() ().
TCNTn.
clk Tn -.
TCNTn .
TCNTn ().
16- 8- , -: (TCNTnH), 8- , (TCNTnL), 8-. CPU TCNTnH. CPU TCNTnH, . TCNTnH, TCNTnL TCNTnH , TCNTnL. / 16- CPU 8- . , TCNTn .
|
|
clkTn , . clkTn , (CSn2:0). (CSn2:0 = 0), . TCNTn CPU clkTn. CPU TCNTn, ( ) : .
(WGMn3:0), - (TCCRnA TCCRnB). OCnx .
- (TOVn) WGMn3:0 . TOVn CPU.
. - , , , . / , ICPn. - 1 [4]. , . .
n -.
(ICPn) (ACO) (), , . 16- (TCNTn) (ICRn). (ICFn) CPU, TCNTn ICRn. TICIEn =1 . ICFn . ICFn , 1. 16- (ICRn) (ICRnL), (ICRnH). . CPU ICRnH, . ICRn , , ICRn . (WGMn3:0), ICRn. 16- ICRn ICRnH, ICRnL.
|
|
. , -, (ICPn). - 1 . (ACIC) (ACSR). , . , .
ICPn.
. 16- , , (WGMn3-0) (COMnx1:0). , .. . COMnx1:0 / - (.. ). COMnx1:0 , : ,
(. . 2.41). (WGMn3-0=0b0000). (), . 16- (0xFFFF) (0x0000). - TOVn , TCNTn .
2.41. -
WGMn3 | WGMn2 (CTCn) | WGMn1 (PWMn1) | WGMn0 (PWMn0) | - | OCRnx | TOVn : | ||
0xFFFF | ||||||||
8- | 0x00FF | |||||||
9- | 0x01FF | |||||||
10- | 0x03FF | |||||||
CTC ( OCxx ) | OCRnA | |||||||
8- | 0x00FF | |||||||
9- | 0x01FF | |||||||
10- | 0x03FF | |||||||
ICRn | ||||||||
OCRnA | ||||||||
ICRn | ||||||||
OCRnA | ||||||||
ICRn | . | |||||||
() | - | - | ||||||
ICRn | ||||||||
OCRnA |
, TOVn 17- - , . , , TOVn . - , .
. , . , - .
|
|
. OCnx , .. .