51 microcomputadora de un solo chip reloj despertador musical cronómetro cuenta regresiva timbre por hora reloj electrónico multifunción calendario perpetuo pantalla de tubo digital (simulación proteus + programa + esquema + informe + video explicativo)

51 microcomputadora de un solo chip reloj despertador musical cronómetro cuenta regresiva timbre por hora reloj electrónico multifunción calendario perpetuo pantalla de tubo digital (simulación proteus + programa + esquema + informe + video explicativo)

51 microcomputadora de un solo chip reloj despertador musical cronómetro cuenta regresiva timbre por hora reloj electrónico multifunción calendario perpetuo pantalla de tubo digital (simulación proteus + programa + esquema + informe + video explicativo)

Diagrama de simulación proteus7.8 y superior

Compilador de programas: keil 4/keil 5

Lenguaje de programación: lenguaje C

Número de diseño: S0053

Vídeo explicativo

51 microcomputadora de un solo chip reloj despertador musical cronómetro cuenta regresiva timbre por hora reloj electrónico multifunción calendario perpetuo pantalla de tubo digital (simulación proteus + programa + esquema + informe + video explicativo)

1. Funciones principales:

Diseño de simulación de fecha y hora despertador cronómetro cuenta regresiva reloj electrónico multifuncional y calendario perpetuo basado en 51 microcontroladores

1. El tubo digital muestra la fecha y hora actuales, y la fecha y hora se pueden modificar presionando los botones;

2. Configure la hora de la alarma y reproduzca música cuando se acabe el tiempo;

3. Con función de cronómetro;

4. Con función de cuenta regresiva;

5. Tiene función de informe horario cada hora y el timbre sonará tantas veces como sea posible;

6. Tiene la función de evaluación de año bisiesto y sigue las reglas normales de mes y mes al configurar la fecha.

Cabe señalar que el chip del microcontrolador 51 en la simulación es universal, AT89C51 y AT89C52 son modelos específicos del microcontrolador 51 y los núcleos son compatibles. En el mismo diagrama esquemático, ya sea stc o at, las funciones del pin son las mismas y el programa es el mismo. El chip se puede reemplazar con 51 chips de microcontrolador como STC89C52/STC89C51/AT89C52/AT89C51.

El siguiente es un diagrama de visualización de esta información de diseño:

2. Simulación

Iniciar simulación

Abra el proyecto de simulación, haga doble clic en el microcontrolador en proteus, seleccione la ruta del archivo hexadecimal y luego inicie la simulación. Al iniciar la simulación, ingresa al modo de visualización de la hora de forma predeterminada y muestra la hora actual de la computadora.

imagen

Cuando se muestre la hora, presione la tecla de configuración para ingresar al modo de configuración y la luz indicadora de hora se iluminará. Habrá un timbre a la hora, que sonará tantas veces como la hora.

Presione el botón de configuración para configurar el reloj, minutos y segundos respectivamente, las variables correspondientes en el modo de configuración parpadearán para facilitar la configuración del usuario. Configure en segundos y presione el botón de configuración para salir del modo de configuración. Utilice los botones más y menos para ajustar las horas, minutos y segundos establecidos.

imagen

Cambie al modo de fecha real presionando el botón de fecha, el tubo digital muestra el año, mes y día, y la luz indicadora de fecha se enciende.

Presione el botón de configuración para ingresar al modo de configuración. Configure el año primero. El año parpadeará. Complete la configuración del año presionando los botones más y menos. Después de configurar el año, configure el mes. La operación es la misma que el ajuste del año. Luego presione el botón de configuración para configurar el día. Después de configurar la fecha, presione el botón de configuración para salir de la configuración.

imagen

Ingrese al modo de visualización de alarma presionando el botón de alarma y la luz indicadora de alarma se encenderá. Muestra la hora de alarma predeterminada 16.30. Si necesita modificar la hora de la alarma, presione el botón de configuración. La hora parpadea para indicar que está configurando el reloj. Al presionarla nuevamente indica que está configurando los minutos. Después de configurar los minutos, presione el botón de configuración para salir del modo de configuración de la alarma. Cuando llegue la hora de la alarma, el tono de alarma se reproducirá a través del timbre. Si desea detener la alarma durante este período, puede presionar el botón de detener la alarma.

imagen

Ingrese al modo de visualización de alarma presionando el botón de alarma y la luz indicadora del cronómetro se enciende. Presione el botón de inicio para iniciar el cronómetro y presione el botón de pausa para pausar el cronómetro actual y mostrar la hora. Presione el botón de reinicio para restablecer el temporizador a 0.

imagen

Ingrese al modo de cuenta regresiva presionando el botón de cuenta regresiva y la luz indicadora de cuenta regresiva se encenderá. Presione el botón de inicio para iniciar la cuenta regresiva y presione el botón de pausa para pausar el tiempo de cuenta regresiva actual y mostrarlo en el tubo digital. Presione el botón de reinicio para restablecer el temporizador a 0.

Los resultados de la simulación anteriores están en línea con los requisitos de diseño.

3. Código de programa

Utilice keil4 o keil5 para compilar, el código tiene comentarios y puede comprender el significado del código junto con el informe.

imagen

  
//主函数
void main()
{
    
    
	uchar i=0;

	TMOD=0X11;//定时器0,工作方式1。
	TH0=0XFC;	//定时1ms
	TL0=0X18;
	TH1=(65536-10000)/256;
	TL1=(65536-10000)%256;
	ET1=1;
	TR1=1;	
	ET0=1;//打开定时器0中断允许
	EA=1;//打开总中断
//	Ds1302Init();   //解注释 显示初始时间	2023年9月3日星期天12点00分00秒 可到ds1302.c修改
while(1)
{
    
    	
	disp();//显示
	switch(mode)//LED
	{
    
    
		case 0:led1=0;led2=1;led3=1;led4=1;led5=1;break;
		case 1:led1=1;led2=0;led3=1;led4=1;led5=1;break;
		case 2:led1=1;led2=1;led3=0;led4=1;led5=1;break;
		case 3:led1=1;led2=1;led3=1;led4=0;led5=1;break;
		case 4:led1=1;led2=1;led3=1;led4=1;led5=0;
	}
	i=key_scan();//按键检测
	if(i==1)//日期
	{
    
    
		mode=0;flag=0;
	}
	if(i==2)//时间
	{
    
    
		mode=1;flag=0;
	}
	if(i==3)//闹钟
	{
    
    
		mode=2;flag=0;
	}
	if(i==4)//秒表
	{
    
    
		mode=3;flag=0;
	}
	if(i==5)//倒计时
	{
    
    
		mode=4;flag=0;
	}
	if(i==9)//停止响铃
	{
    
    
		TR0=0;num=0;
	}
	if(i==6)//设置
	{
    
    
		if(mode<2)
		{
    
    
		if(flag<3)
			flag++;
		else
			flag=0;
		}
		if(mode==2)
		{
    
    
		if(flag<2)
			flag++;
		else
			flag=0;
		}
		if(mode==4)
		{
    
    
		if(flag<3)
			flag++;
		else
			flag=0;
		}
	}
	if(i==7)//加
	{
    
    
		if(mode==0)//日期设置// ds1302_time[7] = {秒, 分, 时, 日, 月, 星期, 年};
		{
    
    
			if(flag==1)	//年
			{
    
    
				if(ds1302_time[6]<99)
					ds1302_time[6]++;					
				Ds1302Init();
			}
			if(flag==2)	//月
			{
    
    
				if(ds1302_time[4]<12){
    
    
					ds1302_time[4]++;
				}else{
    
    
					ds1302_time[4] = 1;
				}
									
				Ds1302Init();
			}
			if(flag==3)	//日
			{
    
    
				if(ds1302_time[3]<MonthDays(ds1302_time[6],ds1302_time[4])){
    
    
					ds1302_time[3]++;//如果日期小于于当前月份最后一天 
				}else{
    
    
					ds1302_time[3] = 1;
				}
										
				Ds1302Init();
			}
		}
		if(mode==1)//时间设置
		{
    
    
			if(flag==1)	//时
			{
    
    
				if(ds1302_time[2]<99)
					ds1302_time[2]++;					
				Ds1302Init();
			}
			if(flag==2)	//分
			{
    
    
				if(ds1302_time[1]<59)
					ds1302_time[1]++;					
				Ds1302Init();
			}
			if(flag==3)	//秒
			{
    
    
				if(ds1302_time[0]<59)
					ds1302_time[0]++;					
				Ds1302Init();
			}
		}
		if(mode==2)//闹钟设置
		{
    
    
			if(flag==1)	//时
			{
    
    
				if(shi<23)
					shi++;					
//				At24c02Write(0,shi);
			}
			if(flag==2)	//分
			{
    
    
				if(fen<59)
					fen++;					
//				At24c02Write(1,fen);
			}
		}
		if(mode==4)//倒计时设置
		{
    
    
			if(flag==1)	//时
			{
    
    
				if(shi1<23)
					shi1++;		
			}
			if(flag==2)	//分
			{
    
    
				if(fen1<59)
					fen1++;	
			}
			if(flag==3)	//秒
			{
    
    
				if(miao1<59)
					miao1++;
			}
		}
	}
	if(i==8)//减
	{
    
    
		if(mode==0)//日期设置
		{
    
    
			if(flag==1)	//年
			{
    
    
				if(ds1302_time[6]>0)
					ds1302_time[6]--;					
				Ds1302Init();
			}
			if(flag==2)	//月
			{
    
    
				if(ds1302_time[4]>1){
    
    
					ds1302_time[4]--;
				}else{
    
    
					ds1302_time[4] = 12;
				}					
				Ds1302Init();
			}
			if(flag==3)	//日
			{
    
    
				if(ds1302_time[3]>1){
    
    
					ds1302_time[3]--;		
				}else{
    
    
					ds1302_time[3] =MonthDays(ds1302_time[6],ds1302_time[4]);//日期从1变为当前月份最后一天 
				}
								
				Ds1302Init();
			}
		}
		if(mode==1)//时间设置
		{
    
    
			if(flag==1)	//时
			{
    
    
				if(ds1302_time[2]>0)
					ds1302_time[2]--;					
				Ds1302Init();
			}
			if(flag==2)	//分
			{
    
    
				if(ds1302_time[1]>0)
					ds1302_time[1]--;					
				Ds1302Init();
			}
			if(flag==3)	//秒
			{
    
    
				if(ds1302_time[0]>0)
					ds1302_time[0]--;					
				Ds1302Init();
			}
		}
		if(mode==2)//闹钟设置
		{
    
    
			if(flag==1)	//时
			{
    
    
				if(shi>0)
					shi--;					
//				At24c02Write(0,shi);
			}
			if(flag==2)	//分
			{
    
    
				if(fen>0)
					fen--;					
//				At24c02Write(1,fen);
			}
		}
		if((mode==4)&&(start==0))//倒计时设置
		{
    
    
			if(flag==1)	//时
			{
    
    
				if(shi1>0)
					shi1--;		
			}
			if(flag==2)	//分
			{
    
    
				if(fen1>0)
					fen1--;	
			}
			if(flag==3)	//秒
			{
    
    
				if(miao1>0)
					miao1--;
			}
		}
	}
	//倒计时,秒表控制
	if(mode>2)
	{
    
    
		if(i==10)//开始
		{
    
    
			start=1;
			flag=0;
		}
		if(i==11)//暂停
			start=!start;
		if(i==12)//复位
		{
    
    
			start=0;
			fen2=0;miao2=0;haomiao=0;
			shi1=0;fen1=0;miao1=0;
		}
	}
	
}
}

4. Diagrama esquemático

El diagrama esquemático se dibuja usando AD y puede usarse como referencia física.

imagen

La diferencia entre la simulación Proteus y los trabajos físicos:

1. Entorno de ejecución: la simulación de Proteus se ejecuta en la computadora, mientras que la simulación real se ejecuta en la placa de circuito del hardware.

2. Método de depuración: en la simulación de Proteus, puede realizar fácilmente una depuración en un solo paso y observar cambios en los valores de las variables, mientras que en objetos reales, debe depurar a través de un depurador o una salida de puerto serie.

Método de conexión del circuito: en la simulación de Proteus, la conexión del circuito se puede modificar mediante la configuración del software, pero en la realidad, debe modificarse a través de la placa de circuito del hardware y los cables de conexión.

3. Velocidad de ejecución: la simulación de Proteus generalmente se ejecuta más rápido que la real, porque la simulación se basa en la operación de la computadora, mientras que la real debe considerar factores como las limitaciones físicas de la placa de circuito y el tiempo de respuesta del dispositivo.

4. Realización de funciones: en la simulación de Proteus, se pueden realizar diferentes funciones a través de la configuración del software, pero en objetos reales, deben realizarse de acuerdo con el diseño del circuito y el rendimiento del dispositivo.

Lista de piezas de referencia

elemento modelo cantidad
Microcontrolador AT89C51 1
capacidad 10uf 1
capacidad 30pf 2
Oscilador de cristal 12MHZ 1
resistencia 10k 1
botón 17
descifrador 74LS138 1
memoria 24C02 1
Reloj en tiempo real DS1302 1
CONDUJO verde 2
CONDUJO amarillo 2
CONDUJO rojo 3
resistencia 100 euros 5
resistencia 1k 1
triodo PNP 1
zumbador Pasivo 1
tubo digital cátodo común de 8 bits 1
exclusión 10k 1
Oscilador de cristal 32,768 kHz 1

5. Informe de diseño

Informe de diseño de 7027 palabras, que incluye introducción, diseño de hardware, diseño de software, diagrama de bloques de software y hardware, depuración, resumen y perspectivas, etc.

imagen

6. Lista de contenidos de información de diseño.

Los materiales de diseño de materiales incluyen simulación, código de programa, videos explicativos, requisitos funcionales, informes de diseño, diagramas de bloques de diseño de software y hardware, etc.

0. Problemas de uso comunes y soluciones: ¡una lectura obligada! ! ! !

1. Diagrama de simulación

2. Código fuente del programa

3. Informe de propuesta

3. Diagrama esquemático

5. Requisitos funcionales

6. Lista de componentes

7. Informe de diseño

8. Diagrama de flujo de software y hardware

9. Vídeo explicativo

Información del software de diseño Altium

nombre de archivo.bat

Información del software KEIL

Información del software Proteo

Materiales de aprendizaje sobre microcontroladores.

listado de directorio.txt

Habilidades de defensa

Descripciones comunes para informes de diseño

74HC138(información china).pdf

Haga doble clic con el mouse para abrir y encontrar más Proyecto de graduación del curso de microcontrolador 51 STM32.url

imagen

Enlace de descarga de datos (en el que se puede hacer clic):

https://docs.qq.com/doc/DS0NsTWlHRFRSWmNM

Para obtener más recursos, haga clic en el siguiente enlace:

https://docs.qq.com/sheet/DS0xIa0llTmtNakRW

Cuenta pública de WeChat: Jiasheng MCU

imagen

(se puede hacer clic):

https://docs.qq.com/doc/DS0NsTWlHRFRSWmNM

Para obtener más recursos, haga clic en el siguiente enlace:

https://docs.qq.com/sheet/DS0xIa0llTmtNakRW

Cuenta pública de WeChat: Jiasheng MCU

[Las imágenes del enlace externo se están transfiriendo...(img-KgN9htrx-1695978329675)]

Supongo que te gusta

Origin blog.csdn.net/weixin_52733843/article/details/133419005
Recomendado
Clasificación