Programme de retard 1sec pour 89C51

S

srinivasan2323

Guest
Salut je besoin d'un programme de retard 1sec pour mon programme 89C51
 
Ist font retard de 50ms en utilisant 16 bits minuterie puis appeler 20 fois
 
Salut, quand u la charge 00 en 16 bits minuterie qu'il faut pour atteindre 71.1msec FF et de débordement. afin 71.1msec * 14times boucle donne env 995msec. pour le bouclage de retour dans votre programme après dépassement correspond tout à retarder 1sec. Donc écrire un programme avec 00 de minuterie et de le répéter 14 fois. le mesurer, vous obtiendrez une retards sec. écrire dans l'assemblage ne pas en C.
 
delay1s (void) {compteur unsigned char = 50; while (count> 0) {TH0 = 183; TL0 = 255; TMOD = 1; TR0 = 1; (! TF0) alors {} TF0 = 0; TR0 = 0; count -;}}
 
Meilleur minuterie utiliser de manière u insted de la boucle for pour la date exacte. Premièrement u peut charger la valeur de 16 - bit pour minuterie de 50 ms. afin de charger le temporisateur pour 20 fois, u obtiendra une exacte délai sec.
 
Salut, vous pouvez décider d'utiliser des minuteurs ou un appel de routine, par exemple, mov r0, # 4 mov R1, # 250 mov r2, # 250 LOP: nop nop DJNZ R1, R2 DJNZ $, $ DJNZ r0, le programme de Lop fin de telles donner un délai isecond mais alternativement l'une peut décider d'utiliser les minuteries de l'89C51
 
abord dire moi la valeur de cristal dont ur aide pour le système
 

Welcome to EDABoard.com

Sponsor

Back
Top