51 마이크로컨트롤러의 간단한 계산기 디지털 튜브 디스플레이 시뮬레이션 설계(프로테우스 시뮬레이션 + 프로그램 + 회로도 + 보고서 + 설명 비디오)

51 마이크로컨트롤러의 간단한 계산기 디지털 튜브 디스플레이 시뮬레이션 설계


51 마이크로컨트롤러의 간단한 계산기 디지털 튜브 디스플레이 시뮬레이션 설계(프로테우스 시뮬레이션 + 프로그램 + 회로도 + 보고서 + 설명 비디오)

시뮬레이션 다이어그램 proteus7.8 이상

프로그램 컴파일러: keil 4/keil 5

프로그래밍 언어: C 언어

디자인 번호: S0049

1. 주요 기능:

본 설계는 51개의 마이크로컨트롤러를 기반으로 한 간단한 계산기 시뮬레이션 설계를 목표로 합니다.

기능적 요구사항: 디지털 튜브 디스플레이로 덧셈, 뺄셈, 곱셈, 나눗셈의 네 가지 간단한 연산을 실현합니다.

1. 매트릭스 키보드를 통해 정확한 키값을 입력하는 기능

2. 간단한 4가지 산술 연산을 수행할 수 있습니다.

3. 디지털 튜브를 이용하여 수치를 정확하게 표시하는 능력

4. 최대 지원은 999*999입니다.

5. 숫자를 반복해서 입력할 수 있으며 마지막 세 자리는 그대로 사용됩니다.

시뮬레이션의 51 마이크로 컨트롤러 칩은 범용이며 AT89C51 및 AT89C52는 51 마이크로 컨트롤러의 특정 모델이며 코어는 호환됩니다. stc, at에 관계없이 핀 기능도 동일하고 프로그램도 동일하며, 칩은 STC89C52/STC89C51/AT89C52/AT89C51 등 51개의 마이크로컨트롤러 칩으로 대체 가능하다.

다음은 이 설계 정보의 표시 다이어그램입니다.

2. 시뮬레이션

시뮬레이션 시작

시뮬레이션 프로젝트를 열고, proteus에서 마이크로 컨트롤러를 두 번 클릭하고, hex 파일 경로를 선택한 다음 시뮬레이션을 시작합니다. 시뮬레이션을 시작한 후 디지털 튜브에 000000이 표시됩니다.

시뮬레이션 프로젝트를 열고, proteus에서 마이크로 컨트롤러를 두 번 클릭하고, hex 파일 경로를 선택한 다음 시뮬레이션을 시작합니다. 시뮬레이션을 시작한 후 디지털 튜브에 000 000이 표시됩니다.

img

디지털 튜브 디스플레이의 한계로 인해 이 디자인의 덧셈, 뺄셈, 곱셈 및 나눗셈의 산술 기호는 아래 그림의 구두점에 따라 표시됩니다.

img

덧셈 확인: 매트릭스 키보드에서 123+456을 입력한 후 = 키를 누르면 연산 결과 00579가 표시됩니다. 클립은 아래와 같습니다:

img

뺄셈 검증: 매트릭스 키보드로 789-456을 입력한 후 = 키를 누르면 연산 결과 000333이 표시됩니다. 클립은 아래와 같습니다:

img

곱셈 검증: 매트릭스 키보드에서 999*999를 입력한 후 = 키를 누르면 연산 결과 998001이 표시됩니다. 클립은 아래와 같습니다:

img

나눗셈 확인: 매트릭스 키보드에서 666*3을 입력한 후 = 키를 누르면 연산 결과 000222가 표시됩니다. 클립은 아래와 같습니다:

img

위의 덧셈, 뺄셈, 곱셈 및 나눗셈 연산은 모두 수학적 연산 규칙을 ​​준수하고 설계 요구 사항을 충족합니다.

3. 프로그램 코드

keil4 또는 keil5를 사용하여 컴파일하면 코드에 주석이 있으며 보고서와 함께 코드의 의미를 이해할 수 있습니다.

img

주요 기능 코드

void main()//主函数
{
    
    
	unsigned char i;
	unsigned int m=0;
	while(1)
	{
    
    
		//显示
		if(fuhao<5)
		{
    
    
		P0=smgduan[a%1000/100];smg1=0;delay(100);smg1=1;
		P0=smgduan[a%100/10];smg2=0;delay(100);smg2=1;
		P0=smgduan[a%10];smg3=0;delay(100);smg3=1;	//显示第一个数

		switch(fuhao)//显示运算符号
		{
    
    
			case 1:P0=0x01;break;
			case 2:P0=0x40;break;
			case 3:P0=0x08;break;
			case 4:P0=0x80;break;
			default:P0=0;
		}
		smg4=0;delay(100);smg4=1;

		P0=smgduan[b%1000/100];smg5=0;delay(100);smg5=1; //显示第二个数
		P0=smgduan[b%100/10];smg6=0;delay(100);smg6=1;
		P0=smgduan[b%10];smg7=0;delay(100);smg7=1;
		}
		else//显示结果
		{
    
    
			P0=smgduan[c%1000000/100000];smg2=0;delay(100);smg2=1;
			P0=smgduan[c%100000/10000];smg3=0;delay(100);smg3=1;
			P0=smgduan[c%10000/1000];smg4=0;delay(100);smg4=1;
			P0=smgduan[c%1000/100];smg5=0;delay(100);smg5=1;
			P0=smgduan[c%100/10];smg6=0;delay(100);smg6=1;
			P0=smgduan[c%10];smg7=0;delay(100);smg7=1;
		}
		//==================================================
		i=key_scan();//检测
		if((i>0)&&(i<11))//输入数值
		{
    
    
			if(fuhao==0)//第1个输入
			{
    
    
				a=a*10+i-1;
				if(a>999)
					a=a%1000;				
			}
			else //第2个输入
			{
    
    
				b=b*10+i-1;
				if(b>999)
					b=b%1000;				
			}
		}
		if(i==13)//+	加法
		{
    
    
			fuhao=1;
		}
		if(i==14)//-	  减法
		{
    
    
			fuhao=2;
		}
		if(i==15)//*		乘法
		{
    
    
			fuhao=3;
		}
		if(i==16)// /	   除法
		{
    
    
			fuhao=4;
		}
		if(i==11)//ok		 等于
		{
    
    						
			switch(fuhao)	   //判断按下的运算法则是什么
			{
    
    
				case 1:c=a+b;break;		   //加
				case 2:c=a-b;break;		   //减
				case 3:c=a;c=c*b;break;	   //成
				case 4:c=a/b;			   //除法
			}
			fuhao=5;						
		}
		if(i==12)//清除
		{
    
    			 
			 a=0;
			 b=0;
			 c=0;
			 fuhao=0;
		}
	}
}

4. 개략도

회로도는 AD로 그려져 있어 실제 참고자료로 활용이 가능합니다.시뮬레이션은 실제와 다르기 때문에 경험이 없으신 분들은 쉽게 하지 마세요.

img

Proteus 시뮬레이션과 실제 작업의 차이점:

1. 실행 환경: Proteus 시뮬레이션은 컴퓨터에서 실행되는 반면 실제 시뮬레이션은 하드웨어 회로 기판에서 실행됩니다.

2. 디버깅 방법: Proteus 시뮬레이션에서는 쉽게 단일 단계 디버깅을 수행하고 변수 값의 변화를 관찰할 수 있지만 실제 개체에서는 디버거 또는 직렬 포트 출력을 통해 디버깅해야 합니다.

회로 연결 방법: Proteus 시뮬레이션에서는 소프트웨어 설정을 통해 회로 연결을 수정할 수 있지만 실제로는 하드웨어 회로 기판 및 연결 와이어를 통해 수정해야 합니다.

3. 실행 속도: Proteus 시뮬레이션은 컴퓨터 작동을 기반으로 하기 때문에 일반적으로 실제보다 빠르게 실행되는 반면, 실제는 회로 기판의 물리적 한계 및 장치의 응답 시간과 같은 요소를 고려해야 합니다.

4. 기능 실현: Proteus 시뮬레이션에서는 소프트웨어 설정을 통해 다양한 기능을 실현할 수 있지만 실제 물체에서는 회로 설계 및 장치 성능에 따라 실현되어야 합니다.

5. 설계 보고서

6249 단어 디자인 보고서

img

6. 디자인 정보 콘텐츠 목록 및 다운로드 링크

머티리얼 디자인 자료에는 시뮬레이션, 프로그램 코드, 설명 비디오, 기능 요구 사항, 디자인 보고서, 소프트웨어 및 하드웨어 디자인 블록 다이어그램 등이 포함됩니다.

0. 일반적인 사용 문제 및 해결 방법 - 꼭 읽어보세요! ! ! !

1. 시뮬레이션 다이어그램

2. 프로그램 소스코드

3. 제안보고서

4. 개략도

5. 기능적 요구사항

6. 구성품 목록

7. 설계 보고서

8. 소프트웨어 및 하드웨어 흐름도

9. 설명 영상

Altium Designer 소프트웨어 정보

파일명.bat

KEIL 소프트웨어 정보

프로테우스 소프트웨어 정보

마이크로컨트롤러 학습 자료

디렉토리 목록.txt

방어 기술

설계 보고서에 대한 일반적인 설명

마우스를 두 번 클릭하여 열고 더 많은 51 STM32 마이크로컨트롤러 과정 졸업 프로젝트.url을 찾아보세요.

img

데이터 다운로드 링크:

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

추천

출처blog.csdn.net/weixin_52733843/article/details/132796970