Programación de archivos Vpk
# incluye ltREGX51.
H gt
#Definir carácter sin firmar uchar
#definir V_TH1 0XFE
#Definir V_TL1 0X0C
#Definir V_TMOD 0X11 p >
void init _ sys(void); /*Función de inicialización del sistema*/
Carbón sin firmar ZH ZL;
Administrador no válido (no válido)
{
init _ sys();
while(1)
{
Temporal int sin signo
int 16 zkb = 50;
temporal=2^16-5*zkb;
ZH = temp/256;
ZL = temp 256 ; p>
k();
}
}
Void init_sys(void) /*Función de inicialización del sistema*/
{
TMOD = TMOD; /*Inicialización del temporizador*/
TH0 = ZH
TL0 = ZL
th 1; = V_th 1;
TL 1 = V_TL 1;
tr 1 = 1;
et 1 = 1;
ET0 = 1; /*Permitir interrupción T0
EA = 1; /*Interrupción de CPU
}
Nulo k(int16 vk , ik)
{ static int 16 prek;
pk = vk * ik
prek = 0
vk = 0;
if(prvpk==pk)
{
Devolver
}
Otros
{
if(PK gt;preparatorio)
{ prek = pk
if(vk gt;prevk)
{ p>
ZK b;
prevk = vk
prepk = pk
}
Otros
p>{
ZK B-;
prevk = vk
prepk = pk
}
}
Otros
{
if(vk gt; prevk)
{
ZK b ;
prevk = vk
prepk = pk
}
Otros
{
ZK B-;
prevk = vk
prepk = pk
}
}
} p>
/*Función de interrupción*/
Temporizador no válido 0 (no válido) interrupción 1
{
P2_2=! P2_2;
TR0 = 0;
}
Temporizador 1 no válido (no válido) interrupción 2
{
th 1 = V _ th 1; /*Restaurar el valor inicial del temporizador T0*/
TL 1 = V _ TL 1;
P2_2=! P2 _ 2;
TH0 = ZH; /*Restaurar el valor inicial del temporizador T0*/
TL0 =
T;
R0 = 1;
}