.


:




:

































 

 

 

 


4.




;

CAPTURE_0 DATA 30H

CAPTURE_1 DATA 32H

PHASE DATA 34H

FLAG_0 BIT 20H.0

FLAG_1 BIT 20H.1

;

ORG 0000H

JMP PCA_INIT

ORG 0033H

JMP PCA_INTERRUPT

;

PCA_INIT:

;

; 1. :

;

MOV CCAPM0, #21H; 0

MOV CCAPM1, #21H; 1

;

;*******************************************************************************

;

;*******************************************************************************

; 0 1.

PCA INTERRUPT:

JB CCF0, MODULE_0; ,

JB CCF1, MODULE_1;

;

MODULE_0:

CLR CCF0;

MOV CAPTURE_0, CCAP0L; 16-

MOV CAPTURE_0+1, CCAP0H

JB FLAG_1, CALCULATE_PHASE;

; 1,

SETB FLAG_ 0; 0

RETI

MODULE_1:

CLR CCF1; 1

MOV CAPTURE_1, CCAP1L

MOV CAPTURE_1+1, CCAP1H

JB FLAG_0, CALCULATE_PHASE;

; 0,

SETB FLAG_1; 1

RETI

;

CALCULATE_PHASE:

PUSH ACC;

PUSH PSW;

CLR C;

;

JB FLAG_0, MOD0_ LEADING

JB FLAG_1, MOD1_LEADING

;

MOD0_LEADING:

MOV A, CAPTURE_1

SUBB A, CAPTURE_0

MOV PHASE, A

MOV A, CAPTURE_1+1

SUBB A, CAPTURE_0+1

MOV PHASE+1, A

CLR FLAG_0

JMP EXIT

;

MOD1_LEADING:

MOV A, CAPTURE_0

SUBB A, CAPTURE_1

MOV PHASE, A

MOV A, CAPTURE_0+1

SUBB A, CAPTURE_1+1

MOV PHASE+1, A

CLR FLAG_1

EXIT:

POP PSW

POP ACC

RETI

- .

 

(COMPARE MODE)

 

 

2.

, .

16- . , , .

, 16- CCAP0H, CCAP0L . , , , .

, CCAP0L , CCAP0H .

, .

, .

 

20 .

; = 12

; CA = 1/12 Fosc -> 1

;

; :

; 20

; ------------- = 20,000

; 1 /

;

ORG 0000H

JMP PCA_INIT

ORG 0033H

JMP PCA_INTERRUPT

;

PCA_INIT:

; , 1

;

MOV CCAPM0, #49H; 0

MOV CCAP0L, #LOW(20000);

MOV CCAP0H, #HIGH(20000)

;

SETB EC;

SETB EA

SETB CR;

;

; ***************************************************************************

;

; ***************************************************************************

;

PCA_INTERRUPT:

CLR CCF0; 0

PUSH ACC

PUSH PSW

CLR EA;

MOV A, #LOW(20000); 16-

ADD A, CCAP0L;

MOV CCAP0L, A; 20000

MOV A, #HIGH(20000)

ADDC A, CCAP0H

MOV CCAP0H, A

SETB EA

;.

;.

;

;.

;.

POP PSW

POP ACC

RETI

2b. (HSO - High Speed Output) , , .

( ), (30.5 ) 16 .

 

3. 0 1

 

 

l 0 1 GATE TRx INTx#.

, INTx#.

l 1 1 - :

1. 4 TMOD :

- 1 1;

- /1# = 0 FOSC/12 ;

- GATE1 = 1 INT1 .

2. 16- T1/L1 .

3. TR1 CON, IN1

4. , , INT1. , .

5. TR1, INT1.

6. TH1/TL1.

7. ,

12T OSC x ( - )

8. : F OSC = 16 12osc =750 c.

TH1=0 TL1 = 0000 1010 b, = 0, = 750 10,000 = 7,5 .

( )





:


: 2016-12-17; !; : 313 |


:

:

- , .
==> ...

1891 - | 1681 -


© 2015-2024 lektsii.org - -

: 0.016 .