Diseño de simulación de calculadora simple basado en 51 microcontroladores (simulación proteus + programa + diagrama esquemático + PCB + informe de diseño + video explicativo)

Diseño de simulación de calculadora simple basado en 51 microcontroladores (simulación proteus + programa + diagrama esquemático + PCB + informe de diseño + video explicativo)

Diseño de simulación de calculadora simple basado en 51 microcontroladores (simulación proteus + programa + diagrama esquemático + PCB + informe de diseño + video explicativo)

Versión de simulación: proteus 7.8

PCB esquemático: Altium Designer

Compilador de programas: keil 4/keil 5

Lenguaje de programación: lenguaje C

Número de diseño: S0001

Vídeo explicativo

Diseño de simulación de proteus de calculadora simple basado en 51 microcontroladores

1.1 Requisitos funcionales

El chip se puede reemplazar con 51 chips de microcontrolador como STC89C52/STC89C51/AT89C52/AT89C51.

1. El circuito de hardware diseñado para esta sencilla calculadora se compone de tres módulos de circuito:

1. El circuito del módulo de teclado utiliza un teclado matricial de 4*4 como circuito de entrada;

2. Módulo de pantalla de cristal líquido LCD1602;

3. Utilice el microcontrolador 51 como núcleo de control.

2. El programa de software consta principalmente de tres partes: programa principal, programa de escaneo de claves y programa de visualización LCD1602.

3. Indicadores de desempeño

(1) Diseñe una calculadora simple usando 51 microcontroladores y use 1602 LCD para mostrar los datos correspondientes.

(2) Se pueden realizar operaciones simples de suma, resta, multiplicación y división.

(3) El valor máximo es 9999*9999.

(4) Puede simularse mediante proteus.

1.2 Diagrama de 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. Después de iniciar la simulación, el LCD1602 no tiene pantalla por el momento. Debe presionar el botón para mostrar los números.

Prueba de suma: presione el botón 123+456 y luego presione el signo =. La segunda línea muestra el resultado calculado 579.

imagenPrueba de resta: Presione las teclas 789-456 y luego presione el signo =. La segunda línea muestra el resultado calculado 333.

imagen

Prueba de división: presione el botón 9999*9999 y luego presione el signo =. La segunda línea muestra el resultado calculado 99980001.

imagen

Prueba de división: presione el botón 9999/9 y luego presione el signo =. La segunda línea muestra el resultado calculado 1111.

imagen

1.3 Diagrama esquemático:

anuncio dibujado

imagen

1.4 PCB:

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.

1.5 Programa fuente:

imagen
Parte del código

#include "reg52.h"
#include "string.h"
#include "stdio.h"
#include "lcd1602.h"
#include "keyboard.h"

#define keydeng		14
#define keyzuoyi    12

code unsigned char KeyDisPlaybuf[16] = 
{
    
    
    '1', '2', '3', '+',\
    '4', '5', '6', '-',\ 
    '7', '8', '9', '*',\
    '<', '0', '=', '/'
};

long Count(char *ch, char len)//简单计算器 仅支持加减乘除+-*/
{
    
    
    unsigned char i = 0;
    char Operation;
    long Num1=0,Num2=0;
    while(i<len && ch[i]!='+' && ch[i]!='-' && ch[i]!='*' && ch[i]!='/')	 //输入的数据 数值1
    {
    
    
        Num1*=10;
        Num1+=ch[i]-'0';
        i++;
    }
    Operation=ch[i++];
    while(i<len && ch[i]!='=')	   //输入的数据 数值2
    {
    
    
        Num2*=10;
        Num2+=ch[i]-'0';
        i++;
    }
    switch(Operation)	   //计算
    {
    
    
        case'+':return Num1+Num2;//加法
        case'-':return Num1-Num2;//减法
        case'*':return Num1*Num2;//乘法
        case'/':return Num1/Num2;//除法
    }
	return 0;
}

void EasyCounter(void)
{
    
    
	unsigned char buff[30];
	unsigned char text[30];
	unsigned char key;
	unsigned char i = 0;
	do
  {
    
    
			key = keycan();//读取键值	
			if(key!=0xff)//键值不等于0
			{
    
    
				text[i++]=KeyDisPlaybuf[key];//记录键值对应的字符
				text[i]='\0';
        		LCD_ShowStr(0,0,"                ");
				LCD_ShowStr(16-strlen(text),0,text); //第一行显示字符
			}
        if(key==keyzuoyi&&i>0)//按下"<"时删除一位
          i-=2;
	}while(key!=keydeng);//按下'='时结束输入
	sprintf(buff, "%ld", Count(text, strlen(text)));
  	LCD_ShowStr(0,1,"                ");
	LCD_ShowStr(16-strlen(buff),1,buff);	  //第二行显示字符
}

void main(void)	//主函数
{
    
    
  LCD_Init();
  while(1)
  {
    
    
    EasyCounter();	//按键扫描+计算+显示
  }
}

1.6 Informe de diseño:

imagen

Lista de materiales y enlace de descarga:

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

1.Procedimiento

2. Simulación

3. Esquema y PCB

4. Informe de propuesta de proyecto

5.Lista de componentes

6. Requisitos funcionales

7. Informe de diseño

8.Video explicativo

Grieta de instalación de Altium Designer

Tutorial de diseño de simulación de microcontrolador KEIL+proteus

Grieta de instalación KEIL

Búsqueda de componentes Proteus

instalación de proteus

Tutorial de uso sencillo de Proteus.

Materiales de aprendizaje sobre microcontroladores.

Hojas de datos relacionadas

Habilidades de defensa

Descripciones comunes para informes de diseño

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):

Supongo que te gusta

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