单片机课程设计三人抢答器

上传人:沈*** 文档编号:67772876 上传时间:2022-04-01 格式:DOC 页数:28 大小:1.50MB
收藏 版权申诉 举报 下载
单片机课程设计三人抢答器_第1页
第1页 / 共28页
单片机课程设计三人抢答器_第2页
第2页 / 共28页
单片机课程设计三人抢答器_第3页
第3页 / 共28页
资源描述:

《单片机课程设计三人抢答器》由会员分享,可在线阅读,更多相关《单片机课程设计三人抢答器(28页珍藏版)》请在装配图网上搜索。

1、目录第1章 概述21.1 课题的要求21.2 课题的目的及意义2第2章 系统总体方案的说明32.1单片机芯片的选取32.2硬件设计框图32.3硬件电路工作原理3第3章 硬件电路设计53.1 I/O接口分配表53.2 时钟电路53.3 复位电路53.4 指示灯显示电路63.5按键电路73.7 数码管显示电路73.8蜂鸣报警电路8第4章 软件设计94.1主程序设计94.2 子程序设计9第5章 系统仿真与实物调试115.1仿真测试115.2 实物调试15第6章 课题总结16参考文献17附录A 系统原理图18附录B 程序19第1章 概述1.1 课题的要求本课题要求设计一个以单片机为核心的电子抢答器,电

2、子抢答器具有三个人的抢答控制盒答题时的倒计时显示功能。具体要求如下:一位主持人与3位抢答者,复位后,甲乙丙的绿、红灯全亮,开始键、复位键的指示灯全暗;主持人按复位键则仅复位指示灯亮,其他都暗,准备开始;主持人按开始键,开始灯亮,允许甲乙丙抢答,此时优先者则相应成功指示灯亮,如允许前抢就相应犯规灯亮;答题开始进行倒计时,到规定时间不允许答题,并返回复位状态。可以通过键盘操作修改答题限制时间和枪答限制时间。1.2 课题的目的及意义在许多竞赛活动汇总,为了准确,公正,直观地判断出第一抢答者,通常设置一台抢答器,通过数码显示管,灯管,及音响等多种手段指示出第一抢答者。同时可以设置计分,犯规等多种功能,

3、该系统是针对上述要求设计出的供3名选手参赛试用的数字式竞赛抢答器,而且可以通过本次的课程设计我们可以学到关于单片机在实际生活中的设计应用,也可以深入地学习到单片机的编程。通过该课程的学习使我们对计算机控制系统有一个全面的了解、掌握常规控制算法的使用方法、掌握简单微型计算机应用系统软硬的设计方法,进一步锻炼同学们在微型计算机应用方面的实际工作能力。第2章 系统总体方案的说明2.1单片机芯片的选取 采用STC89C52RC单片机作为硬件核心,该单片机指令代码完全兼容传统的8051单片机。STC89C52RC的工作电压为5.5-3.4V,工作频率范围0-80MHz,程序存储器flash容量为8KB,

4、随机存储器RAM空间为512字节。2.2硬件设计框图 根据设计要求,确定系统的设计方案,图2.2所示为该系统方案的硬件电路设计框图,硬件电路由6个部分组成,即晶振控制,按键电路,电源电路,数码管显示,指示灯显示,蜂鸣器报警电路。图2.2 硬件电路设计框图2.3硬件电路工作原理 系统由单片机最小系统、显示电路、按键和报警电路等组成本电路是由STC89C52RC单片机为控制核心,具有与8051系列单片机完全兼容,程序加密等功能,8KB字节可编程闪存,工作电压范围为2.76V,全静态工作频率为024MHZ。用查询式键盘进行抢答。采用动态显示组号。主持人按下开始抢答键才可以抢答。有人抢答则抢答违规,报

5、警并显示组号,主持人按下开始抢答开关重新抢答。主持人按下开始抢答按纽,对应的选手号及倒计时在数码管显示,相应选手号的灯亮。主持人按下复位开关为下一题的抢答做准备。单片机最小系统、抢答按键模块、显示模块、显示驱动模块、抢答开关模块、LED。工作时,用按键通过开关电路输入各路的抢答信号,经单片机的处理, 输出控制信号,单片机控制的智能抢答器。第3章 硬件电路设计3.1 I/O接口分配表P3.0开始按键P3.2置抢答时间按钮P3.1复位按键P3.3置答题时间按钮P3.4加时按键P3.7蜂鸣器P3.5减时按键P0数码管段选P1.3甲选手抢答灯P1.4乙选手抢答灯P1.5丙选手抢答灯P1.6复位灯P2.

6、0数码管位选P2.1数码管位选P2.2数码管位选P2.4甲抢答按键P2.5乙抢答按键P2.6丙抢答按键3.2 时钟电路单片机各功能部件的运行是以时钟控制信号为基准的。所以,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机的稳定性,常用的时钟电路设计有内部时钟方式和外部时钟方式,本设计采用内部时钟方式。警惕震荡频率是采用12MHZ的石英晶体。图3.2时钟电路3.3 复位电路 单片机的第9脚RST为硬件复位端,只要将该端持续4个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,该系统是采用的按键上电复位电路,其电路图如图3.4所示:图3.3按键上电复位电路3.4 指

7、示灯显示电路一开始3位选手的灯全亮,主使人按下开始键,开始灯亮,按下复位键复位灯亮,抢答选手按下抢答键,对应的3位抢答灯亮。P1.3,P1.4,P1.5做甲乙丙三位选手的抢答灯,P1.6,P1.7做复位灯和开始灯。其电路图如图3.5所示。图3.4 指示灯显示电路3.5按键电路主要用到89C52RC的P3.0和P3.1做开始和复位按键,用P2.5,P2.6,P2.7做3位选手的抢答按键,P3.2,P3.3做设置抢答时间以及答题时间的按键,P3.4和P3.5做加减时间的按键。其电路如图3.6所示。图3.6按键电路3.7 数码管显示电路LED显示器的驱动是一个非常重要的问题,显示电路由LED显示器,

8、段驱动电路和位驱动电路组成。由于单片机的并行接口不能直接驱动LED显示器,所以要加驱动,使之产生足够大的电流才能正常工作。本设计方案选择的是动态控制方式。由于一位数据的显示器的显示是由段码和位码信号共同配合完成的。图是本设计的显示数码管的驱动电路。图3.7 数码管显示电路3.8蜂鸣报警电路当选手犯规的时候,系统要求产生报警信号,可以选择一个蜂鸣器来实现这一功能。由P3.7引出,接蜂鸣器,当有选手犯规时,蜂鸣器会自动报警。图3.8为蜂鸣器报警电路.图3.8蜂鸣器报警电路第4章 软件设计4.1主程序设计 在抢答开始之前设置好抢答时间,以及答题时间,设置好时间之后,初始化。在主持人按下开始抢答键之前

9、判断是否有人犯规,没人犯规按下开始键,开始抢答,如果有人犯规,报警,并提醒犯规选手,然后复位继续操作。开始抢答,抢答倒计时,如果有人抢答,查询哪位选手最先抢答成功,然后该选手回答问题,答题倒计时,回答完毕,计时器复位;如果抢答时间到,没人抢答,计时器复位,继续下一道题抢答。主程序流程图如图4.1所示。图4.1 主程序流程图4.2 子程序设计4.2.1 时间程序设置根据规定,设置抢答时间和答题时间,流程图如图4.2.1所示。4.2.1 设置时间流程图4.2.2 犯规程序设计 在主持人未宣布开始抢答前,有选手按下抢答键,视为犯规,犯规后选手的抢答灯会亮,并在数码管显示该选手的编号,蜂鸣器会开始报警

10、。 流程图如图4.2.2所示。4.2.2 犯规程序流程图第5章 系统仿真与实物调试5.1仿真测试5.1.1初始化仿真 把keil编译产生的HEX文件导入Proteus里面的单片机中,初始化时,3位选手指示灯亮,复位灯,开始灯灭,数码管显示FFF。仿真图如图5.1.1所示。图5.1.1 复位电路5.1.2 犯规仿真在按下复位按钮以后主持人还没有按开始按钮,第三位选手抢答,选手犯规,他的指示灯亮,数码管显示他的序号,蜂鸣器报警。仿真图如图5.1.2所示。5.1.2 丙选手犯规仿真图5.1.3开始抢答主持人按下开始键,开始灯亮,数码管开始倒计时,仿真图如图5.1.3所示。5.1.3 开始抢答仿真图5

11、.1.4 抢答成功,答题开始抢答以后,乙选手抢答成功,答题倒计时,数码管显示选手编号及倒计时,仿真图如5.1.4所示。5.1.4 乙选手抢答成功开始答题仿真图5.1.5设置抢答时间与答题时间设置抢答时间,本次设计仿真是将抢答时间增加了至16秒,仿真图如5.1.5.1所示。设置答题时间,本次设计仿真是将答题时间减少了至24秒,仿真图如5.1.5.2所示。5.1.5.1 抢答时间增加了至16秒仿真图5.1.5.2 答题时间减少到26秒仿真图5.2 实物调试运行keil软件新建一个工程把程序输进去,然后进行编译,再点击工具条上的Debug按钮,程序被下载到单片机中,仿真如下图所示。图5.2.1 初始

12、化图5.2.2 乙选手倒计时答题5.2.3 乙选手犯规第6章 课题总结两周的课程设计转眼也要结束了,通过这次课程设计期间使我对单片机课上所学到的知识有了更深的认识,并且把我们平时在电子这一方面所学到的知识有了一个综合的运用。非常感谢王老师的悉心督促和耐心指导。本次电子课程设计实习将理论与实践有机地结合,既考查了同学对理论知识的掌握程度,由反映了实际动手能力,更主要的是考查了同学对知识的综合运用以及创新设计思维能力,为今后的发展提供了一次良好的学习环境。在完成单片机课程设计后,我们发现我们还有许多不足,所学到的知识还远远不够,以至于还有一些功能不能被动完成。思维局限性,编程语言可以用多种方式进行

13、实现,要充分利用书本知识进行发散性思维,创新的理念有待提高。不懂得将所学知识充分利用,要形成知识结构体系,这样不会将知识给孤立,从而不能得到太多的扩展。但通过学习这一次实践,增强了我们的动手能力,提高和巩固了单片机方面的知识,特别是软件方面。两周的课程设计转眼也要结束了,通过这次课程设计期间使我对单片机课上所学到的知识有了更深的认识,并且把我们平时在电子这一方面所学到的知识有了一个综合的运用。非常感谢王老师的悉心督促和耐心指导以及给予我帮助的同学们。参考文献1 王迎旭 单片机原理与应用 M 北京:机械工业出版社,20122 三恒星科技 MCS-51 单片机原理与应用实例 M 北京:电子工业出版

14、社,20083 王守中 51单片机开发入门与典型实例 M 北京:人民邮电出版社,20074 李全利 单片机原理及应用技术 M 北京:高等教育出版社,20045 林毓梁 单片机原理及应用 M 北京:机械工业出版社,2005附录A 系统原理图附录B 程序#includetypedef unsigned char uchar;sbit FW=P31; /复位按键sbit le1=P20; / 数码管位选sbit le2=P21; /数码管位选sbit le3=P22; /数码管位选sbit led1=P13; /甲选手指示灯sbit led2=P14; /乙选手指示灯sbit led3=P15; /

15、丙选手指示灯sbit kaishi=P16; /开始指示灯sbit fuwei=P17; /复位指示灯int daoshu=10,time=30; /初始化抢答和答题时间void chushi(); /定义初始化程序void display(uchar,ucahr,uchar); /定义动态扫描程序void delay(int); /定义延时程序void fangui(); /定义犯规程序void jishi(); /定义计时抢答程序void shezhi1(); /定义设置抢答时间程序void shezhi2(); /定义设置答题时间程序void display1(uchar); /定义答题

16、程序uchar tab12=0x0c0,0x0F9,0x0A4,0x0B0,0x099,0x092,0x082,0x0F8,0x080,0x090,0x0FF,0x8E;void main() uchar c; chushi(); /调用初始化程序 while(1) display(11,11,11); /动态扫描fangui();调用犯规程序,判断是否犯规 c=P3; if(c=0x0ff) continue; else delay(2); c=P3; if(c=0x0ff) continue; else switch(c) case 0x0fe: jishi();break; /开始抢答

17、case 0x0fd: P1=0xbf;break; /复位 case 0x0fb: shezhi1();break; /抢答时间设置 case 0x0f7: shezhi2();break; /答题时间设置 default:continue; void chushi() P0=0x0FF; P1=0x0FF; P2=0x0FF; P3=0x0FF; led1=0; /选手灯亮 led2=0; led3=0;void display(uchar a1,uchar a2,uchar a3) /P2=0xFB; /第3位数码管动态扫描显示 le3=0; P0=taba1; delay(0); le

18、3=1; /P2=0xFD; /第2位数码管动态扫描显示 le2=0; P0=taba2; delay(0); le2=1; /P2=0xFE; /第1位数码管动态扫描显示 le1=0; P0=taba3; delay(0); le1=1;void delay(int a) int i,j,k; for(k=a;k=0;k-) for(i=0;i=125;i+) for(j=0;j=0;i-) P1=0x7f; a=i/10;b=i%10;for(k=15;k=0;k-) if(FW=0) delay(2); if(FW=0) P1=0xbf; return; display(0,b,a);

19、key=P2; key=key&0xf0; if(key=0x0f0) continue; else delay(2); key=P2; key=key&0xf0; if(key=0x0f0) continue; else switch(key) case 0xd0:P1=0xf7;display1(1);return;break; /第1位选手抢答成功 case 0xb0:P1=0xef;display1(2);return;break; /第2位选手抢答成功 case 0x70:P1=0xdf;display1(3);return;break; /第3位选手抢答成功 default:; v

20、oid display1(uchar gg) int i,j,k,a,b; for(i=time;i=0;i-) a=i/10; /取十位b=i%10; /取个位for(k=15;k=0;k-) display(gg,b,a); /数码管显示 if(FW=0) P1=0xbf;return; void shezhi1() uchar key; int a,b; while(1) a=daoshu/10;b=daoshu%10;display(0,b,a); key=P3; if(key=0x0ff) continue;else if(key=0x0ff) continue; else swit

21、ch(key) case 0x0ef:if(daoshu5)daoshu-;while(P3=0x0df);break; /抢答时间减少,最少减少到5秒 case 0x0fd:P1=0xbf;return;break; default:continue; return;void shezhi2() uchar key; int a,b; while(1) a=time/10;b=time%10;display(0,b,a); key=P3; if(key=0x0ff) continue;else if(key=0x0ff) continue; else switch(key) case 0x0ef:if(time20)time-;while(P3=0x0df);break; /答题时间减少,最少减少到20秒 case 0x0fd:P1=0xbf;return;break; default:continue; return;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!