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이 표시됩니다.
디지털 튜브 디스플레이의 한계로 인해 이 디자인의 덧셈, 뺄셈, 곱셈 및 나눗셈의 산술 기호는 아래 그림의 구두점에 따라 표시됩니다.
덧셈 확인: 매트릭스 키보드에서 123+456을 입력한 후 = 키를 누르면 연산 결과 00579가 표시됩니다. 클립은 아래와 같습니다:
뺄셈 검증: 매트릭스 키보드로 789-456을 입력한 후 = 키를 누르면 연산 결과 000333이 표시됩니다. 클립은 아래와 같습니다:
곱셈 검증: 매트릭스 키보드에서 999*999를 입력한 후 = 키를 누르면 연산 결과 998001이 표시됩니다. 클립은 아래와 같습니다:
나눗셈 확인: 매트릭스 키보드에서 666*3을 입력한 후 = 키를 누르면 연산 결과 000222가 표시됩니다. 클립은 아래와 같습니다:
위의 덧셈, 뺄셈, 곱셈 및 나눗셈 연산은 모두 수학적 연산 규칙을 준수하고 설계 요구 사항을 충족합니다.
3. 프로그램 코드
keil4 또는 keil5를 사용하여 컴파일하면 코드에 주석이 있으며 보고서와 함께 코드의 의미를 이해할 수 있습니다.
주요 기능 코드
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로 그려져 있어 실제 참고자료로 활용이 가능합니다.시뮬레이션은 실제와 다르기 때문에 경험이 없으신 분들은 쉽게 하지 마세요.
Proteus 시뮬레이션과 실제 작업의 차이점:
1. 실행 환경: Proteus 시뮬레이션은 컴퓨터에서 실행되는 반면 실제 시뮬레이션은 하드웨어 회로 기판에서 실행됩니다.
2. 디버깅 방법: Proteus 시뮬레이션에서는 쉽게 단일 단계 디버깅을 수행하고 변수 값의 변화를 관찰할 수 있지만 실제 개체에서는 디버거 또는 직렬 포트 출력을 통해 디버깅해야 합니다.
회로 연결 방법: Proteus 시뮬레이션에서는 소프트웨어 설정을 통해 회로 연결을 수정할 수 있지만 실제로는 하드웨어 회로 기판 및 연결 와이어를 통해 수정해야 합니다.
3. 실행 속도: Proteus 시뮬레이션은 컴퓨터 작동을 기반으로 하기 때문에 일반적으로 실제보다 빠르게 실행되는 반면, 실제는 회로 기판의 물리적 한계 및 장치의 응답 시간과 같은 요소를 고려해야 합니다.
4. 기능 실현: Proteus 시뮬레이션에서는 소프트웨어 설정을 통해 다양한 기능을 실현할 수 있지만 실제 물체에서는 회로 설계 및 장치 성능에 따라 실현되어야 합니다.
5. 설계 보고서
6249 단어 디자인 보고서
6. 디자인 정보 콘텐츠 목록 및 다운로드 링크
머티리얼 디자인 자료에는 시뮬레이션, 프로그램 코드, 설명 비디오, 기능 요구 사항, 디자인 보고서, 소프트웨어 및 하드웨어 디자인 블록 다이어그램 등이 포함됩니다.
0. 일반적인 사용 문제 및 해결 방법 - 꼭 읽어보세요! ! ! !
1. 시뮬레이션 다이어그램
2. 프로그램 소스코드
3. 제안보고서
4. 개략도
5. 기능적 요구사항
6. 구성품 목록
7. 설계 보고서
8. 소프트웨어 및 하드웨어 흐름도
9. 설명 영상
Altium Designer 소프트웨어 정보
파일명.bat
KEIL 소프트웨어 정보
프로테우스 소프트웨어 정보
마이크로컨트롤러 학습 자료
디렉토리 목록.txt
방어 기술
설계 보고서에 대한 일반적인 설명
마우스를 두 번 클릭하여 열고 더 많은 51 STM32 마이크로컨트롤러 과정 졸업 프로젝트.url을 찾아보세요.
데이터 다운로드 링크:
https://docs.qq.com/doc/DS2RTaGxZUktTRnRE