summaryrefslogtreecommitdiff
path: root/sim/ucsim/s51.src/test/timer.c
blob: 057644adc14bcea3ad88dda88193534a386ab82a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include "timer.h"


float Fosc= 11.0592; /* MHz, Oszcillator orajel */


/* Adott idoziteshez szukseges szamlalo kezdoerteket szamolja ki.
   A parametert msec-ben kell megadni (kb 0.02-71 kozott) */

unsigned int T_kezdoertek(float ido /* msec */)
{
  float tper;	/* szamlalo periodusideje */
  //float per;	/* szukseges periodusok szama */

  tper= 12.0/Fosc;
  /* atvaltas usec-be */
  ido*= 1000.0;
  /* Max 65529 lepes */
  if (ido > tper*65529.0)
    return 0;
  /* Min 20 lepes */
  if (ido < tper*20.0)
    return 0xffff-20;
  //per= ido/tper;
  return (unsigned int)(65541.0-ido/tper);
}