Buscando un programa para 51 microcontroladores para controlar dos tubos digitales
Los dos códigos de segmento de tubo digital están controlados por las salidas P0 y P2 respectivamente. P0 es el dígito de las decenas y P2 es el dígito de las unidades. P3.2 y P3.4 están conectados a dos botones respectivamente. P32 se pone a 0 y se cuenta P3.4.
El programa anterior proviene de "100 ejemplos de capacitación en programación en lenguaje C de microcontroladores: basado en la simulación 8051+Proteus"
#include
# define uchar unsigned char
#define uint unsigned int
uchar DSY_CODE[]=
{
0x3f,0x06,0x5b, 0x4f ,0x66,0x6d,0x7d,0x07,0x7f,0x6f
};
uchar Count = 0;
void main()
{
P0 = 0x00;
P2 = 0x00;
TMOD = 0x06;
TH0=255;
TL0=255;
ET0=1;
EX0=1;
EA=1;
IP= 0x02 ;
IT0=1;
TR0=1;
mientras(1)
{
P0 = DSY_CODE[Conteo/10];
P2 = DSY_CODE[Conteo%10];
}
}
void Clear_Counter ( ) interrupción 0
{
Conteo = 0;
}
void Key_Counter() interrupción 1
{
Conteo = (Conteo + 1) %100;
}