1s programu opóźnienie 89C51

S

srinivasan2323

Guest
hi muszę 1s programu opóźnienia dla mojego 89C51 programu
 
Ist się opóźnienie 50ms przy użyciu 16-bitowy zegar a następnie wywołać ją 20 razy
 
Hi, kiedy u obciążenie 00 w 16-bitowy zegar zajmuje 71.1msec osiągnąć FF i przepełnienie. tak 71.1msec * 14times pętli daje appx 995msec. w pętli z powrotem w programie po przepełnieniu wszystkich odpowiada 1s opóźnienia. Tak więc napisać program z 00 w zegar i powtarzać do 14 razy. zmierzyć otrzymasz 1 sekundach. pisać w montażu tylko nie w C.
 
delay1s (void) {unsigned char count = 50; while (count> 0) {Th0 = 183; TL0 = 255; TMOD = 1; TR0 = 1; (! TF0), a {} TF0 = 0; TR0 = 0; licznik -;}}
 
[Quote = srinivasan2323] hi muszę 1s programu opóźnienia dla mojego 89C51 programu [/quote] Najlepsze u sposób czasowego użytkowania insted do pętli dokładnego terminu. Pierwszy u może załadować wartości 16 - bitowy zegar na 50 ms. więc ładowanie timer do 20 razy, u otrzymają dokładnie 1 sekundach.
 
hi, można podjąć decyzję o zastosowaniu liczniki lub rutynowe wezwanie na przykład, mov r0, # 4 mov r1, # 250 mov r2, # 250 lop: nop nop DJNZ r1, $ r2 DJNZ, $ DJNZ r0, koniec lop taki program będzie dać opóźnienie isecond ale alternatywnie można podjąć decyzję o zastosowaniu liczniki 89C51
 
najpierw powiedz mi wartość kryształów, które ur pomocą dla systemu
 

Welcome to EDABoard.com

Sponsor

Back
Top