Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo escribir un programa para el microcontrolador 89C51 en lenguaje C. El programa a escribir es: un cronómetro que va de 0 segundos a 99 segundos, se detiene a los 99 segundos y emite un pitido.

Cómo escribir un programa para el microcontrolador 89C51 en lenguaje C. El programa a escribir es: un cronómetro que va de 0 segundos a 99 segundos, se detiene a los 99 segundos y emite un pitido.

Se puede modificar según el siguiente procedimiento:

#include

#define uchar unsigned char

#define uint unsigned int

uchar a , b=0;

sbit wei1=P1.0;

sbit wei2=P1.1;

//* *** Código negativo de siete segmentos

tabla de códigos uchar[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f, 0x77};

void Delay1ms (uint i) //programa de retraso de 1ms

{

uint j;

for(;i>0;i--)

{

for(j=0;j<164;j++)

{ }

}

}

visualización vacía( uchar a)) //programa de visualización

{

P0= table[a/10];//ten

wei1=1;

Retraso1ms(2) ;

wei1=0 ;

P0= tabla[a%10];// único bit

wei2=1;

Retraso1ms(2) ;

wei2=0;

}

void main(void )//programa principal

{

TMOD= 0x01;//Temporizador/contador 1 modo de funcionamiento 1

ET0=1;

EA=1;

TH0=(65536-50000)/256;//Tiempo 50ms

TL0=(65536-50000)%256;

TR0=1;

mientras(1)

{

mostrar(b);

}

}

//Subrutina de interrupción

/Dado que el programa de interrupción es muy corto, solo toma menos de 1 milisegundo y el intervalo de interrupción es de 50 milisegundos, por lo que no es necesario desactivar la interrupción

void Timer0(void }

if(b==100)

{ b=0;}

}