单片机课程设计 八路抢答器(C语言)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机课程设计
8路抢答器
指导老师:宋*
******学号:************ 班级:12电子卓越班
目录
一绪论 (3)
二基本设计方案 (4)
三具体设计 (5)
四电路板的制作 (7)
五电路功能测试与调试 (7)
六心得体会 (8)
附录 (9)
一绪论
1.1单片机抢答器的背景
二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。
在知识竞赛中,特别是做抢答题时,在抢答过程中,为了更确切的知道哪一组或哪一位选手先抢答到题,必须要有一个系统来完成这个任务。若在抢答中,只靠人的视觉(或者是听觉)是很难判断出哪一组(或哪一个选手)先抢答到题的。利用单片机编程来设计抢答器,可以使以上问题得以解决,即使两组的抢答时间相差几微秒,也能轻松的分辨出哪一组(或哪个选手)先抢答到题的。本文主要介绍了抢答器的工作原理及设计,以及它的实际用途。
1.2设计要求:
一、基本功能:
1、六路抢答,抢答有效时相应的灯亮,并有音乐提示;
2、每轮抢答需主持人按“开始”后,抢答才有效;
3、抢答无效时,有相应的灯及音乐提示;
二、扩展功能:
1、扩展到8路或以上;
2、抢答倒计时提示;
3、各路的参赛者有得分显示;
4、其他自行增加的功能;
二基本设计方案
2.1 单片机的选择
我选择STC89C52单片机芯片的理由如下:
1、在设计过程中可能会出现很多问题,89C52可重复烧程序;
2、是80C51的增强型,功能与我们所学的51单片机基本相同;
3、学校配套发的单片机开发板用的就是89C52,有很多相关教程,程序的测试与烧写都十分方便;
4、器材室很方便就能领到。
89C52单片机,是增强型RISC内载Flash的单片机,芯片上的Flash存储器附在用户的产品中,可随时编程,再编程,使用户的产品设计容易,更新换代方便。89C52单片机采用增强的RISC结构,使其具有高速处理能力,在一个时钟周期内可执行复杂的指令,每MHz可实现1MIPS的处理能力。89C52单片机工作电压为2.7~6.0V,可以实现耗电最优化。89C52的单片机广泛应用于计算机外部设备,工业实时控制,仪器仪表,通讯设备,家用电器,宇航设备等各个领域.
2.2单片机的基本结构
MCS-52的引脚说明:
MCS-52系列单片机中的8032、8052及8752均采用40Pin封装的双列直接DIP 结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。具体引脚功能不做赘述了(详细请参见《单片机原理与接口技术》宋跃)。
图2-2-1 STC89C52的引脚图
2.3基本设计思路
因为之前做过单片机最小系统的电路,这次为了节约时间,采取在最小系统的板旁边再焊一块电路。
一看到题目我的基本思路就差不多了,我要实现基本功能好说,倒是拓展不太难,于是选择了拓展到8路和抢答倒计时。最小系统已经包括了手动复位电路,时钟电路,电源电路和89C52的I/O口排插,这块板上可以用的地方不多,只能焊一个蜂鸣器及其驱动电路了。在另一块板上需要有8个按键、8个LED灯和一个数码管,并分别对应三个插排。两块电路板之间高低电平用两根导线连通。
2.4相关功能器材的选择
整体电路需要开关的地方:电源的启动,主持人的开始与复位,8名抢答选手用的抢答按钮。
考虑到电源需长时间保持开启或断开状态,故采用可保持按下或不按下状态的开关。同理主持人的“开始”和“未开始”也需要这样的开关。8名抢答选手用的抢答按钮,只需用4脚的按键即可,按下即接通,松开就断路。
8个LED灯来显示选手的抢答状况,1个LED灯用来显示电源的状况;一个数码管来显示主持人说“开始”后的倒计时;一个有源蜂鸣器,用一个NPN管来驱动;其他电容和电阻用最小系统的。
三具体设计
3.1硬件设计
如上所述,该电路部分电路采用之前做出来的单片机最小系统,根据前面的思路可以在ISIS中摆出电路,如下图所示:
图3.1 仿真电路图
3.2软件设计
在ISIS中的89C52可以仿真烧录程序运行,这样可以先在Keil中编程然后烧录看仿真结果,省时省力。
我采用C语言编写程序,详细程序及分析请看附录。
3.3仿真测试
在ISIS中调入hex文件后即可开始仿真,仿真结果如下图所示:
图3.3 仿真测试结果
主持人按下“开始”按钮后,数码管开始倒计时,从9到0一秒减一下,也就是抢答倒计时,在数码管显示0之前,8个开关无论哪一个先按下,对应的灯就会亮(蜂鸣器没响,因为仿真不出来),当这个灯亮起后,不论其他的开关怎样按都不能改变灯亮的情况,也就是实现了抢答的功能。如果数码管减到0了都没人抢答,则抢答作废,这时无论再怎样抢答都不会有灯亮,实现抢答倒计时的功能。在主持人再次按下“复位”按钮(和“开始”是同一个)时,数码管和LED都熄灭,同时所有人都不能抢答,实现清零功能。