Red de conocimiento informático - Conocimiento de la instalación - Buscando curso de diseño de programa y diseño de microcontroladores

Buscando curso de diseño de programa y diseño de microcontroladores

//Oscilador de cristal de 12M. Tubo digital de cátodo * * * de 4 dígitos, código de segmento P0, control de bits P2.1 ~ P2.3.

//Pantalla 00.0~99.9

//2011 12 12 E:\ DPJ _ C \ 00.00 \ 00.0

# incluir & ltreg 51. h & gt;

#Definir uchar carácter sin firmar

//sbit p20=p2^0;

sbit p21=p2^1;

bit p22=p2^2;

bit p23=p2^3;

bit p07=p0^7;

bit ks=p1 ^ 0; //Iniciar

sbit kr=p1^1; //Restablecer

Tiempo de Wuqia, xs, Ge, piedra, blanco, dinero;

uchar pestaña de código[]= {

0x3F, /*0*/

0x06, /*1*/

0x5B, /*2 */

0x4F, /*3*/

0x66, /*4*/

0x6D, /*5*/

0x7D,/ *6*/

0x07,/*7*/

0x7F,/*8*/

0x6F,/*9*/

};

retraso nulo _ ms(unsigned int ms)//retraso de 1 milisegundo

{

uchar a;

uchar a;

p>

Cuando (milisegundos)

for(a = 123; a & gt0;a-); /p>

void display();

void t 0 intinit()////Inicialización del temporizador T0

{

TMOD = 0x 01 ;

TH0 = (65536-10000)/256; //tiempo de 10 ms

TL0 = (65536-10000)% 256;

EA = 1;

ET0 = 1 ;

}

void main()

{

t 0 intinit() ;

mientras( 1)

{

Mostrar ();

Y (!KS) //Tecla de inicio

{

display();

si (KS)

TR0 = 1;

}

while (!KR) // Borrar tecla

{

Display();

If (KR)

TR0 = 0;

Dinero = 0;

Blanco = 0;

Shi = 0; >

}

if(blanco==10)

{

Blanco=0;

Dinero++;

}

if(dinero==10)

{

dinero = 0;

TR0 = 0;

}

}

}

Pantalla vacía ( )

{

P23 = 0;

P0 = pestaña[Shi];

retraso _ ms(1); = 0;

P0 = pestaña[Bai];

p07 = 1;

retraso _ ms(1);

p22 = 1;

p 21 = 0;

P0 = tab[Qian];

retardo _ ms(1);

p 21 = 1;

//P20 = 0;<

/p>

P0 = pestaña[Qian];

retraso _ ms(1);

//P20 = 1;

}

Void T0int() interrupción 1 //Temporizador T0 modo de interrupción 1

{

TH0 =(65536-10000)/256 //Reinstalar la constante del temporizador de 10 ms; .

TL0 =(65536-10000)% 256

ge++;

if(ge==10)

{

ge = 0;

Shi++;

}

if(shi==10)

{

Shi = 0;

Blanco++;

}

}