【毕业设计】65-基于单片机的智能抢答器系统设计(原理图工程+仿真工程+源代码+答辩论文+visio流程图+实物图)


typora-root-url: ./

【毕业设计】65-基于单片机的智能抢答器系统设计(原理图工程+仿真工程+源代码+答辩论文+visio流程图+实物图)

文章目录

    • typora-root-url: ./
  • 【毕业设计】65-基于单片机的智能抢答器系统设计(原理图工程+仿真工程+源代码+答辩论文+visio流程图+实物图)
    • 资料链接
    • 任务书
    • 设计说明书
      • 摘要
      • 设计框架架构
      • 设计说明书及设计文件
      • 源码展示

资料链接

资料链接
资料包含:毕业设计全套资料(精品)
资料包含:毕业设计全套资料(精品)
原理图工程文件
原理图截图
PCB工程文件
仿真模型工程文件
源代码工程
仿真截图
实物图片
答辩论文低重复率文档,21947字
英文文献及翻译
答辩PPT
visio流程图工程

任务书

设计说明书

摘要

计算机科学的不断提供,微型计算机的生产制作以及相关研究与应用开始得到了广泛的使用。单片机的使用开始慢慢进入到了人们的生活中,单片机的应用现在已经被使用在工业控制场合、家庭家电以及消费电子中。现在已经成为了日常中使用较多的核心控制器件。

本次设计基于单片机的智能抢答器系统的设计,主要是针对目前社会上的日益剧增的竞争通过抢答器可以选择优秀人才并且通过评选选出优胜者。在许多电子竞赛以及知识竞赛中均经常使用抢答器作为选拔人才的的重要设备。现在抢答器在使用上有传统的模拟线路抢答,现在已经有先进的数字式抢答器。本文针对此系统进行研究,设计上通过对抢答器的研究背景以及国内外的研究情况分析当前抢答器的使用功能与应用场景。本文设计的抢答器主要由单片机最小系统电路、按键电路、数码管显示电路、蜂鸣器报警电路、总电路以及PCB板进行设计。根据需求确认系统的软件功能绘制出系统的软件运行流程图,根据各个电路的引脚接口实现对系统功能驱动编写完成系统的软件系统设计。使用EDA仿真软件Proteus搭建系统的仿真电路图,并且通过仿真软件测试系统的功能验证系统的完整性以及系统的软件与硬件的功能性、稳定性。

最后通过制作实物,对基于单片机的智能抢答器系统进行验证,使用实物再次对系统的功能性与稳定性进行测试,最后测试完成,完成整个系统的设计。

设计框架架构

前 言… 1

第一章 绪论… 2

第一节 研究背景… 2

第二节 研究背景及意义… 2

第三节 本文的主要研究内容… 3

第四节 本章小结… 4

第二章 智能抢答器方案设计… 5

第一节 抢答器实现原理… 5

第二节 智能抢答器需要实现的功能… 6

第三节 智能抢答器方案设计… 6

一、方案比较… 6

二、方案确认… 7

第四节 本章小结… 7

第三章 智能抢答器电路设计… 8

第一节 单片机最小系统电路设计… 8

一、单片机介绍… 8

二、单片机最小系统设计… 9

第二节 按键电路设计… 10

第三节 数码管显示电路设计… 11

第四节 蜂鸣器报警电路设计… 12

第五节 总电路设计… 13

一、总原理图设计… 13

二、PCB绘制… 13

第六节 本章小结… 14

第四章 智能抢答器软件设计… 16

第一节 Keil软件介绍… 16

第一节 软件总流程设计… 16

第二节 抢答逻辑流程设计… 18

第三节 报警模块流程设计… 19

第四节 控制模块流程设计… 19

第五节 本章小结… 22

第五章 智能抢答器仿真实现… 23

第一节 仿真软件介绍… 23

第二节 仿真电路搭建… 24

第三节 仿真电路测试… 25

第四节 本章小节… 29

第六章 智能抢答器实物制作… 30

第一节 硬件电路调试… 30

一、静态调试… 31

二、系统综合调试… 31

第二节 实物功能测试… 31

第三节 本章小结… 34

总 结… 35

致 谢… 36

参考文献… 37

附 录… 39

一、英文原文… 39

二、英文翻译… 42

三、工程图纸… 45

四、源代码… 46

设计说明书及设计文件

答辩论文低重复率文档,21947字


【毕业设计】65-基于单片机的智能抢答器系统设计(原理图工程+仿真工程+源代码+答辩论文+visio流程图+实物图)_第1张图片
【毕业设计】65-基于单片机的智能抢答器系统设计(原理图工程+仿真工程+源代码+答辩论文+visio流程图+实物图)_第2张图片
【毕业设计】65-基于单片机的智能抢答器系统设计(原理图工程+仿真工程+源代码+答辩论文+visio流程图+实物图)_第3张图片
【毕业设计】65-基于单片机的智能抢答器系统设计(原理图工程+仿真工程+源代码+答辩论文+visio流程图+实物图)_第4张图片
【毕业设计】65-基于单片机的智能抢答器系统设计(原理图工程+仿真工程+源代码+答辩论文+visio流程图+实物图)_第5张图片
【毕业设计】65-基于单片机的智能抢答器系统设计(原理图工程+仿真工程+源代码+答辩论文+visio流程图+实物图)_第6张图片

源码展示

#include
#include
sbit smg1=P2^0;		//定义数码管第一位
sbit smg2=P2^1;		//定义数码管第二位
sbit smg3=P2^2;		//定义数码管第三位
sbit keyks=P3^0;	//定义开始按键
sbit keytz=P3^1;	//定义停止按键
sbit keyqc=P3^2;	//定义清除按键
sbit key1=P1^0;		//定义1号抢答选手
sbit key2=P1^1;		//定义2号抢答选手
sbit key3=P1^2;		//定义3号抢答选手
sbit key4=P1^3;		//定义4号抢答选手
sbit spk=P3^7;		//定义蜂鸣器
int djs=60,js=0;		   //djs和bt是初始倒计时时间,可修改
//int table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
int table[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x40};
void delayms(int x)	   //延时函数
{
	char i;
	while(x--)
	{
		for(i=500;i>0;i--); 
	}
}
void Timer0_init()			//定时器0初始化
{
	js=0;
	TMOD=0x01;	  			//T0为定时器方式1
	TH0=0x3c;
	TL0=0xb0;			
	//TR0=1;//IT1=1;
	ET0=1;//EX1=1;
	EA=1;	
}
void timer0() interrupt 1 using 1	//定时器0中断服务函数
{
//	    TF0=0;
	 	TH0=0x3c;
		TL0=0xb0;					//赋初值
		js++;
		if(js>=20) 
		  { js=0;
		    djs--;					//产生1s的倒计时
			//led1=~led1;
		   }
}
void djsxs()				   //显示倒计时函数
 {	int b1,b2;
 	b1=djs/10;
	b2=djs%10;				  // 将倒计时时间分成高低位
	P0=table[b1];
    smg2=0;
    delayms(3);
    smg2=1;					 //显示十位数字
	P0=table[b2];
	smg3=0;
	delayms(3);				 //显示个位数字
	smg3=1;
}
void djsxs22()				 
 {	
 	P0=0x40;
    smg1=0;
    delayms(3);
    smg1=1;					//第一位数码管显示-
	P0=0x40;
    smg2=0;
    delayms(3);			   //第三位数码管显示-
    smg2=1;
	P0=0x40;
	smg3=0;
	delayms(3);
	smg3=1;				  //第四位数码管显示-
}
void djsxs1()
 {
	P0=table[1];
    smg1=0;
    delayms(3);
    smg1=1;				   //第一位数码管显示1
}
void djsxs2()
 {
	P0=table[2];
    smg1=0;
    delayms(3);
    smg1=1;				//第一位数码管显示2
}
void djsxs3()
 {
	P0=table[3];
    smg1=0;
    delayms(3);
    smg1=1;			  //第一位数码管显示3
}
void djsxs4()
 {
	P0=table[4];
    smg1=0;
    delayms(3);
    smg1=1;			 //第一位数码管显示4

}
void djsxs5()
 {
	P0=table[5];
    smg1=0;
    delayms(3);
    smg1=1;		   //第一位数码管显示5
}
void djsxs6()
 {
	P0=table[6];
    smg1=0;
    delayms(3);
    smg1=1;			//第一位数码管显示6
}
void djsxs7()
 {
	P0=table[7];
    smg1=0;
    delayms(3);
    smg1=1;		  //第一位数码管显示7
}
void djsxs8()
 {
	P0=table[8];
    smg1=0;
    delayms(3);
    smg1=1;		 //第一位数码管显示8
}


你可能感兴趣的:(单片机,流程图,嵌入式硬件)