Man palīdz saprast šo aizkavēšanos kodu!

G

Ghalebi

Guest
Salam visiem,Es lietoju PIC16F84A ar 4 MHz oscilatoru kādu mērķi ..
un kāds baro mani ar šādu kodu, lai izveidotu 5 sekundes kavēšanās ..Kods:

, 5 otrajā kavēšanās.

DELAY5

CLRF TMR0; START TMR0.

LOOPB

MOVF TMR0, W; READ TMR0 INTO W.

SUBLW ,160; LAIKS - 160

BTFSS STATUSS, ZEROBIT; Check diffrence

Goto LOOPB; atšķirība nav ZERO

RETLW 0; Time is 160, atgriešanos.
 
Please help ..

<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Bēdīgs" border="0" />
 
Iekšējais Fosc pulkstenis ir 32 768Hz, Prescaler 1:256

MCU pulksteni Fosc / 4 = 8192Hz

Izejas no Prescaler ir 8192Hz / 256 = 32Hz

Periods ir T = 1 / f = 1 / 32Hz = 0,03125 s

Kavēšanās ir T x 160 = 0,03125 s x 160 = 5s

Šī koda fragments ir slikts, tests Zero is'nt ieteicams.

 
Thanx daudz cilvēku, tik skaidra ..

bet u didn't kā fragments, varētu u dot ur ierosinājumu uzlabot ..

Many thanks

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Smaids" border="0" />
 
Šeit ir kods:

Kods:

, 5 otrajā kavēšanās Fosc 32 768Hz

DELAY5

CLRF TMR0; Clear TMR0.

LOOPB

MOVF TMR0, W; READ TMR0 INTO W.

SUBLW ,160; LAIKS - 160

BTFSS STATUSS, C; Check nevar aizņemties

Goto LOOPB;

RETLW 0; Time is 160, atgriešanos.
 
Thanks again sir,
bet whats atšķirība, salīdzinot ar kontroles Carry bitu vietā Zero bit!

Un kā tad, ja es strādāju par = 4 Fosc MHz ..

Sveicieni

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Smaids" border="0" />
 
Kods:

;--------- Rādītāja definīcijām,

# define RAM_Start 0x20

CBLOCK RAM_Start

counterLo

counterMi

counterHi

ENDC

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

; Fosc = 4MHz, kavēšanās 4,999994 s

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

delay5 2 (no call)

movlw 0x70, 3

movwf counterLo, 4

movlw 0x10, 5

movwf counterMi, 6

movlw 0xF9; 7

movwf counterHi; 8

loop

incf counterLo, F; 1

btfsc STATUSS, Z; 3

incf counterMi, F; 4

btfsc STATUSS, Z; 6

incf counterHi; 7

btfss STATUSS, Z; 9

goto loop; 11

retlw 0x00; 10
 

Welcome to EDABoard.com

Sponsor

Back
Top