51 단일 칩 전자시계 6자리 디지털 튜브 디스플레이 시간별 알림 시뮬레이션 설계(프로테우스 시뮬레이션 + 프로그램 + 회로도 + 보고서 + 설명 비디오)

51 단일 칩 전자시계 6자리 디지털 튜브 디스플레이 시간별 알림 시뮬레이션 설계(프로테우스 시뮬레이션 + 프로그램 + 회로도 + 보고서 + 설명 비디오)

51 단일 칩 전자시계 6자리 디지털 튜브 디스플레이 시간별 알림 시뮬레이션 설계(프로테우스 시뮬레이션 + 프로그램 + 회로도 + 보고서 + 설명 비디오)

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

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

프로그래밍 언어: C 언어

디자인 번호: S0047

1. 주요 기능:

본 설계는 51개의 마이크로컨트롤러를 기반으로 전자시계 프로테우스 시뮬레이션 설계를 설계하는 것을 목표로 합니다.

1. 전원 켜기 제어 표시 버튼, 시간/분 전환 버튼 및 플러스 1 버튼을 설정합니다.

2. 부저가 매시간 울립니다.

3. 6자리 통합 디지털 튜브를 사용하여 시, 분, 초를 표시하고 전원을 켜면 12:00:00을 표시합니다.

주어진 마이크로 컨트롤러 주파수는 12MHz입니다. 하드웨어 회로도를 설계하고 도면을 사용하여 회로도를 그리고 Keil에서 코드를 작성하고 Proteus에서 시뮬레이션하고 코스 설계 지침을 작성합니다.

시뮬레이션의 51 마이크로 컨트롤러 칩은 범용이며 AT89C51 및 AT89C52는 51 마이크로 컨트롤러의 특정 모델이며 코어는 호환됩니다. 회로도가 동일할 때 이 디자인은 stc 및 at 모두와 호환되며 핀 기능도 동일하고 프로그램도 동일합니다.칩은 STC89C52/STC89C51/AT89C52/AT89C51과 같은 51개의 마이크로컨트롤러 칩으로 교체할 수 있습니다. .

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

2. 시뮬레이션

시뮬레이션 시작

시뮬레이션 프로젝트를 열고, proteus에서 마이크로 컨트롤러를 두 번 클릭하고, hex 파일 경로를 선택한 다음 시뮬레이션을 시작합니다. 시뮬레이션을 시작한 후 디지털 튜브가 표시되지 않으며 전원 켜기 표시 버튼을 눌러야 합니다.

img

전원 표시 버튼을 누르면 디지털 튜브에 정확한 시간인 12.00.00이 표시되고 2초 후에 부저가 대기 모드로 전환되며 시간은 초 단위로 증가합니다.

img

시간이 표시되면 시, 분 조정 버튼을 눌러 설정 모드로 들어갑니다. 시계가 깜박이면 현재 시계가 설정 중임을 나타냅니다. 플러스 버튼을 누르면 시계가 1씩 증가합니다. 23에 도달한 후 증가합니다. 다시 0으로. 시분 조정 키를 다시 눌러 분 설정 모드로 들어가면 분이 깜박이고, 시 분 조정 키를 다시 눌러 설정 모드로 들어가면 디지털 튜브가 정상적으로 표시됩니다.

img

3. 프로그램 코드

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

img

주요 기능 코드

//主函数
void main()
{
    
    
	uchar k=0;
	TMOD|=0X01;
	TH0=0X3C;
	TL0=0XB0;	
	ET0=1;//打开定时器0中断允许
	EA=1;//打开总中断
	TR0=1;//打开定时器
	while(1)
	{
    
    
		//按键检测
		if(!k1 &&(k!=1))//时分
		{
    
    
			k=1;
			if(mode<2)
				mode++;	   //设置模式变化
			else
				mode=0;
		} 
		if(!k2 &&(k!=2))//加按键
		{
    
    
			k=2;
			if(mode==1)//设置时间
			{
    
    
				if(shi<23)//时间+1
					shi++;
				else
					shi=0;//时间从0开始加
			}
			if(mode==2)//设置分钟
			{
    
    
				if(fen<59)//分钟+1
					fen++;
				else
					fen=0;//分钟从0开始加
			}
		}
		if(k1 && k2)
			k=0;
		if(!k3)//软件复位,时间回复到默认时间
		{
    
    
			shi=SETSHI;
			fen=SETFEN;
			miao=SETMIAO;
			mode=0;
		}
		//显示
		if(mode==0)
		{
    
    
			P0=smgduan0[shi/10];smg1=0;delay(100);smg1=1;
			//P0先给数据,位选给0,选中数据位,数据稳定后,位选给1取消位选
			P0=smgduan1[shi%10];smg2=0;delay(100);smg2=1;
			P0=smgduan0[fen/10];smg3=0;delay(100);smg3=1;
			P0=smgduan1[fen%10];smg4=0;delay(100);smg4=1;
			P0=smgduan0[miao/10];smg5=0;delay(100);smg5=1;
			P0=smgduan0[miao%10];smg6=0;delay(100);smg6=1;
		}
		if(mode==1)
		{
    
    
			if(time<11)//做闪烁效果,如果time小于11,显示时钟,否则时钟不显示
			{
    
    
			P0=smgduan0[shi/10];smg1=0;delay(100);smg1=1;
			P0=smgduan1[shi%10];smg2=0;delay(100);smg2=1;
			}
			P0=smgduan0[fen/10];smg3=0;delay(100);smg3=1;
			P0=smgduan1[fen%10];smg4=0;delay(100);smg4=1;
			P0=smgduan0[miao/10];smg5=0;delay(100);smg5=1;
			P0=smgduan0[miao%10];smg6=0;delay(100);smg6=1;
		}
		if(mode==2)
		{
    
    
			P0=smgduan0[shi/10];smg1=0;delay(100);smg1=1;
			P0=smgduan1[shi%10];smg2=0;delay(100);smg2=1;
			if(time<11)//做闪烁效果,如果time小于11,显示分钟,否则分钟不显示
			{
    
    
			P0=smgduan0[fen/10];smg3=0;delay(100);smg3=1;
			P0=smgduan1[fen%10];smg4=0;delay(100);smg4=1;
			}
			P0=smgduan0[miao/10];smg5=0;delay(100);smg5=1;
			P0=smgduan0[miao%10];smg6=0;delay(100);smg6=1;
		}
		//整点
		if(mode<3)
		{
    
    
		if((fen==0)&&(miao<1))//整点判断
			beep=0;
		else
			beep=1;
		}
	}
}

4. 개략도

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

img

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

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

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

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

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

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

참조 부품 목록

구성 요소 수 모델 마이크로컨트롤러
AT89C51 1
커패시터 10uf 1
커패시터 30pf 2
수정 발진기 12MHZ 1
저항기 10k 1
버튼 3
저항기 1k 1
트랜지스터 PNP 1 부저
활성 1
디지털 튜브 6비트 공통 음극 1 행
저항기 10k 1

전원부
핀헤더 2P 1
콘덴서 0.1uf 2
콘덴서 100uf 2
전압조정기 7805 1

5. 설계 보고서

설계 블록 다이어그램, 소개, 하드웨어 설계 소개, 소프트웨어 설계 소개, 시뮬레이션 디버깅, 요약 및 참조를 포함하는 7000단어 이상의 설계 보고서입니다.

img

6. 디자인 정보 내용 목록

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

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

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

2. 프로그램 소스코드

3. 제안보고서

4. 개략도

5. 기능적 요구사항

6. 구성품 목록

7. 설계 보고서

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

9. 설명 영상

Altium Designer 소프트웨어 정보

KEIL 소프트웨어 정보

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

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

방어 기술

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

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

img

데이터 다운로드 링크(클릭 가능):

추천

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