summaryrefslogtreecommitdiff
path: root/sim/ucsim/s51.src/test/t0.h
blob: 528bd91c68a70f04193e6ab3a6a4f82bd48ad0ff (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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
/*
  T0.h
  Segedlet a T0 idozito hasznalatahoz
  (c) Drotos Daniel, 2005
*/

#ifndef T0_HEADER
#define T0_HEADER

#ifndef bool
#define bool char
#endif

#ifndef FALSE
#define FALSE 0
#endif

#ifndef TRUE
#define TRUE 1
#endif


/*
  A megadott ideig tarto idoziteshez szukseges
  szamlalo kezdoerteket szamolja ki. Az idot
  msec-ben kell megadni, kb 0.02-71.1 kozott.
  Felhasznalja az Fosc erteket a szamitashoz.
*/
extern unsigned int T0kezdoertek(float ido);


/*
  Beallitja a T0-t idozito 1 uzemmodba (leallitja
  a szamlalot)
*/
extern void T0idozito1(bool kapuzott);


/*
  Beallitja a T0-t szamlalo uzemmodba (leallitja
  a szamlalot.
*/
extern void T0szamlalo(bool kapuzott);


/*
  Ez a ket fuggveny a szamlalo aktualis erteket
  modositja. Egyforma a ketto, az egyik pl a foprogrambol,
  mig a masik a megszakitas kezelobol hivhato.
*/
extern void T0beallit(unsigned int kezdoertek);
extern void T0ujratolt(unsigned int kezdoertek);

#define T0set(x) { TH0=(x)>>8;TL0=(x)&0xff; }


/*
  A szamlalo elinditasahoz es leallitasahoz hasznalhato
  makrok
*/
#define T0start() TR0=1
#define T0stop() TR0=0


/*
  A szamlalo aktualis allapota es a tulcsordulasig hatralevo
  ido usec-ben
*/
extern float T0eltelt_us(void);
extern float T0hatravan_us(void);

/*
  A szamlalo aktualis allapota es a tulcsordulasig hatralevo
  ido msec-ben
*/
#define T0eltelt() (T0eltelt_us()/1000.0)
#define T0hatravan() (T0hatravan_us()/1000.0)


#endif

/* End of T0.h */