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;

}