El microcontrolador 51 utiliza conteo de pulsos externos T0 y T1 ¿Cómo programar en lenguaje C?
1. Utilice el conteo de pulsos externo T0 y T1 para controlar dos motores. Cuando se alcanzan 1700 pulsos, el motor se detiene.
--Para contar el número de pulsos, es mejor. utilizar interrupciones externas.
——T0 y T1 están reservados para el cronometraje.
Utilice cuatro botones para controlar, el botón 1 controla la rotación hacia adelante del motor, el botón 2 controla la rotación inversa del motor, el botón 3 controla la rotación hacia adelante del motor 1 y el botón 4 controla el avance Rotación del motor 2.
2. Rutina: #include
sbit?k1?=?;?//Definido por usted mismo
sbit?k2? =?
sbit?k3?=?
sbit?k4?=?
sbit?DIAN1?=?
sbit? ¿DIAN2?=?
sbit?DIAN3?=?
sbit?DIAN4?=?
sbit?SEN1?=
sbit ?SEN2?=?
void?delay(unsigned?int?x)
{ unsigned?int?m,?n;? for(m?=?x;?m ?>?0;?m--)?for(n?=?115;?n?>?0;?n--);
}
void?main (void)
{? TMOD?=?0x55; IE?=?0x8a; while(1)?{ si?(!k1)?{ retraso(10); { mientras (!k1); TH0?=?(65536?-?1700)?/?256; TL0?=?(65536?-?1700)?%?256; ;?DIAN2?=?1; SEN1?=?1;? TR0?=?1; } } si?(!k2)?{ retraso(10); TH0?=?(65536?-?1700)?/?256; TL0?=?(65536?-?1700)?%?256; DIAN1?=?1;?DIAN2?=?0 ; SEN1?=?1;? TR0?=?1; } } si?(!k3)?{ retraso(10); si?(!k3)?{ mientras(!k3); -?1700)?/?256; TL1?=?(65536?-?1700)?%?256; DIAN3?=?0;?DIAN4?=?1; ? TR1?=?1; } } si?(!k4)?{ retraso(10); si?(!k4)?{ mientras(!k4); 256; TL1?=?(65536?-?1700)?%?256; ¿DIAN3?=?1;?DIAN4?=?0; } } }
}